---
title: "Register Webhook"
method: POST
path: "/v2/webhooks/register"
tags: ["B2B Webhooks"]
---

# Register Webhook

`POST /v2/webhooks/register`

## Request body

- object
  - `company_nanoid` string, required — Unique identifier of the company.
  - `team_nanoid` string — Unique identifier of the team.
  - `url` string, uri, required
  - `webhook_version` 'v1' | 'v2' — v2: HMAC-signed payloads (requires secret and events). v1: Ethereum-signed legacy payloads (omit secret; receives all events).
  - `events` string[] — Required for v2: non-empty list of subscribed event types. For v1 omit or use []; v1 always receives all events.
  - `secret` string — Required for v2 (minimum 16 characters). Must be omitted for v1.
  - `is_active` boolean
  - `name` string — Optional display name for the webhook.
  - `description` string — Optional description for the webhook.

## Response `201`

Default Response

- object
  - `success` true, required
  - `data` object, required
    - `webhook_nanoid` string, required — Unique identifier of the Webhook.
    - `company_nanoid` string, required — Unique identifier of the company.
    - `team_nanoid` string — Unique identifier of the team, if applicable.
    - `webhook_version` 'v1' | 'v2', required — Whether this endpoint uses v1 (Ethereum-signed) or v2 (HMAC) delivery.
    - `url` string, uri, required
    - `events` string[], required
    - `is_active` boolean, required
    - `name` string, nullable, required
    - `description` string, nullable, required

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `500` — Internal Server Error

---

[API](https://skmtc.net/riseworks/apis/b2b-api-v1-legacy.md) · [All operations](https://skmtc.net/riseworks/apis/b2b-api-v1-legacy/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/riseworks/b2b-api-v1-legacy/versions/6f6941749255/schema)
