Skip to content

List endpoints

GET/v1/webhook-endpoints

Requires webhooks:read. Returns endpoints owned by the key organization, or the organization selected with X-Affinity-Organization-Id. Platform delegation requires a webhook grant in the key's mode.

Request example

curl -X GET 'https://api.affinityrx.com/v1/webhook-endpoints' \
  -H "Authorization: Bearer $AFFINITY_API_KEY" \
  -H 'Affinity-Version: 2026-09-28'

Response example

These examples show the body structure. Values can differ. Select a status code to see its response.

{
  "data": [
    {
      "organizationId": "acct_01j2y8m6jcc9tt24af5pw9x1bc",
      "practiceIds": [
        "prac_01j2y8m6jcc9tt24af5pw9x1bc"
      ],
      "apiVersion": "<string>",
      "consecutiveFailures": 0,
      "createdAt": "<string>",
      "description": "<string>",
      "id": "whe_01j2y8m6jcc9tt24af5pw9x1bc",
      "livemode": false,
      "object": "webhook_endpoint",
      "payloadStyle": "thin",
      "status": "active",
      "subscribedEvents": [
        "<string>"
      ],
      "updatedAt": "<string>",
      "url": "<string>"
    }
  ],
  "hasMore": false,
  "object": "list",
  "url": "/v1/webhook-endpoints"
}
{
  "code": "<string>",
  "data": "<string>",
  "detail": "<string>",
  "instance": "<string>",
  "requestId": "<string>",
  "status": 400,
  "title": "<string>",
  "traceId": "<string>",
  "type": "<string>"
}
{
  "code": "<string>",
  "data": "<string>",
  "detail": "<string>",
  "instance": "<string>",
  "requestId": "<string>",
  "status": 401,
  "title": "<string>",
  "traceId": "<string>",
  "type": "<string>"
}
{
  "code": "<string>",
  "data": "<string>",
  "detail": "<string>",
  "instance": "<string>",
  "requestId": "<string>",
  "status": 403,
  "title": "<string>",
  "traceId": "<string>",
  "type": "<string>"
}
{
  "code": "<string>",
  "data": "<string>",
  "detail": "<string>",
  "instance": "<string>",
  "requestId": "<string>",
  "status": 404,
  "title": "<string>",
  "traceId": "<string>",
  "type": "<string>"
}
{
  "code": "<string>",
  "data": "<string>",
  "detail": "<string>",
  "instance": "<string>",
  "requestId": "<string>",
  "status": 409,
  "title": "<string>",
  "traceId": "<string>",
  "type": "<string>"
}
{
  "code": "<string>",
  "data": "<string>",
  "detail": "<string>",
  "instance": "<string>",
  "requestId": "<string>",
  "status": 422,
  "title": "<string>",
  "traceId": "<string>",
  "type": "<string>"
}
{
  "code": "<string>",
  "data": "<string>",
  "detail": "<string>",
  "instance": "<string>",
  "requestId": "<string>",
  "status": 429,
  "title": "<string>",
  "traceId": "<string>",
  "type": "<string>"
}

Implementation specification

Use these field types and limits to build your integration. Download the OpenAPI document for the complete contract.

Query parameters

endingBeforestring

Pattern: ^whe_[0-7][0-9a-hjkmnp-tv-z]{25}$

limitinteger

Default: 25

Minimum: 1

Maximum: 100

startingAfterstring

Pattern: ^whe_[0-7][0-9a-hjkmnp-tv-z]{25}$

Headers

Affinity-Versionstring

Selects the HTTP API contract for this request only. When omitted, API-key requests use their service account’s stored version. Does not change the stored default.

Pin requests to 2026-09-28.

X-Affinity-Organization-Idstring

Defaults to the API key organization. A platform may select a practice or pharmacy only with an explicit webhook grant in this mode. This changes the webhook owner, not the caller or event subscriptions.

Response specifications

200Successful response

application/json

dataobject[]required
Show data fields

Array items · object

organizationIdstringrequired

Pattern: ^acct_[0-7][0-9a-hjkmnp-tv-z]{25}$

practiceIdsany[]required
Show practiceIds fields

Array items · any

All of · 1: any

any

Pattern: ^prac_[0-7][0-9a-hjkmnp-tv-z]{25}$

apiVersionstringrequired
consecutiveFailuresintegerrequired

Minimum: 0

createdAtstringrequired
descriptionstringrequired
idstringrequired

Pattern: ^whe_[0-7][0-9a-hjkmnp-tv-z]{25}$

livemodebooleanrequired
objectstringrequired

Allowed: "webhook_endpoint"

payloadStylestringrequired

Allowed: "thin", "snapshot"

statusstringrequired

Allowed: "active", "suspended", "disabled"

subscribedEventsstring[]required
Show subscribedEvents fields

Array items · string

string

updatedAtstringrequired
urlstringrequired
hasMorebooleanrequired
objectstringrequired

Allowed: "list"

urlstringrequired

Allowed: "/v1/webhook-endpoints"

400HTTP 400

application/json

codestringrequired
dataobject
detailstringrequired
instancestringrequired
requestIdstringrequired
statusintegerrequired

Minimum: 400

Maximum: 599

titlestringrequired
traceIdstring
typestringrequired

Format: uri

401Unauthorized

application/json

codestringrequired
dataobject
detailstringrequired
instancestringrequired
requestIdstringrequired
statusintegerrequired

Minimum: 400

Maximum: 599

titlestringrequired
traceIdstring
typestringrequired

Format: uri

403Forbidden

application/json

codestringrequired
dataobject
detailstringrequired
instancestringrequired
requestIdstringrequired
statusintegerrequired

Minimum: 400

Maximum: 599

titlestringrequired
traceIdstring
typestringrequired

Format: uri

404Not found

application/json

codestringrequired
dataobject
detailstringrequired
instancestringrequired
requestIdstringrequired
statusintegerrequired

Minimum: 400

Maximum: 599

titlestringrequired
traceIdstring
typestringrequired

Format: uri

409Conflict

application/json

codestringrequired
dataobject
detailstringrequired
instancestringrequired
requestIdstringrequired
statusintegerrequired

Minimum: 400

Maximum: 599

titlestringrequired
traceIdstring
typestringrequired

Format: uri

422Validation error

application/json

codestringrequired
dataobject
detailstringrequired
instancestringrequired
requestIdstringrequired
statusintegerrequired

Minimum: 400

Maximum: 599

titlestringrequired
traceIdstring
typestringrequired

Format: uri

429Too many requests

application/json

codestringrequired
dataobject
detailstringrequired
instancestringrequired
requestIdstringrequired
statusintegerrequired

Minimum: 400

Maximum: 599

titlestringrequired
traceIdstring
typestringrequired

Format: uri

Type to search…

↑↓ navigate↵ selectEsc close