---
title: "Generate a signing key pair"
method: POST
path: "/keygen"
tags: ["Signing"]
---

# Generate a signing key pair

`POST /keygen`

Creates a new ES256 (ECDSA P-256) key pair for signing and verification.

## Response `200`

Generated key pair

- KeygenResponse
  - `private` JWK — JSON Web Key (RFC 7517) — ES256 / P-256.
    - `kty` string
    - `crv` string
    - `alg` string
    - `use` string
    - `kid` string, uuid
    - `x` string — Base64url-encoded X coordinate.
    - `y` string — Base64url-encoded Y coordinate.
    - `d` string — Base64url-encoded private exponent (private keys only).
  - `public` JWK — JSON Web Key (RFC 7517) — ES256 / P-256.
    - `kty` string
    - `crv` string
    - `alg` string
    - `use` string
    - `kid` string, uuid
    - `x` string — Base64url-encoded X coordinate.
    - `y` string — Base64url-encoded Y coordinate.
    - `d` string — Base64url-encoded private exponent (private keys only).

---

[API](https://skmtc.dev/gobl/apis/gobl-api.md) · [All operations](https://skmtc.dev/gobl/apis/gobl-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/gobl/gobl-api/revisions/66ef451fe34b/schema)
