---
title: "Register the agent client's signing public key"
method: POST
path: "/signer/register"
tags: ["auth"]
---

# Register the agent client's signing public key

`POST /signer/register`

## Request

- Base URL: `https://api.catena.com/v1/agent-api`
- URL: `https://api.catena.com/v1/agent-api/signer/register`
- Auth: HTTP bearer

## Request body

- object
  - `signer` object, required
    - `algorithm` 'p256', required
    - `publicKeyHex` string, required

## Response `200`

Signer registration state

- object
  - `signer` object, required
    - `status` 'registered' | 'already_registered' | 'not_applicable' | 'registration_failed', required
    - `publicKeyHex` string
    - `reason` string

## Other responses

- `401`: Session token missing, unknown, or expired
- `403`: Client unlinked or agent inactive
- `409`: Agent already has a different signer
- `422`: Agent already holds as many signing keys as the signing provider allows

---

[API](https://skmtc.dev/catena/apis/catena-agent-api.md) - [All operations](https://skmtc.dev/catena/apis/catena-agent-api/llms.txt) - [OpenAPI document](https://skmtc.dev/catena/apis/catena-agent-api/revisions/9b72e32d21f1?raw)
