Create a webhook subscription

POST
/hooks/subscriptions

Returns the signing secret alongside the subscription. Created unconfirmed, so it receives nothing until you call the confirm endpoint and Terac's ping to target_url returns 2xx.

Authorization<token>

API key as Bearer token: Authorization: Bearer

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://terac.com/api/external/v2/hooks/subscriptions" \  -H "Content-Type: application/json" \  -d '{    "target_url": "http://example.com",    "event_types": [      "submission.status.change"    ]  }'
{
  "id": "string",
  "target_url": "string",
  "event_types": [
    "submission.status.change"
  ],
  "is_enabled": true,
  "confirmed_at": "string",
  "disabled_at": "string",
  "disabled_reason": "string",
  "created_at": "string",
  "updated_at": "string",
  "secret": "string"
}
{
  "code": "BAD_REQUEST",
  "message": "Invalid input data",
  "issues": []
}
{
  "code": "UNAUTHORIZED",
  "message": "Authorization not provided",
  "issues": []
}
{
  "code": "FORBIDDEN",
  "message": "Insufficient access",
  "issues": []
}
{
  "code": "NOT_FOUND",
  "message": "Not found",
  "issues": []
}
{
  "code": "INTERNAL_SERVER_ERROR",
  "message": "Internal server error",
  "issues": []
}