Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.offthehook.dev/llms.txt

Use this file to discover all available pages before exploring further.

Use this endpoint to fetch a single subscription by its ID. The response includes up to 200 address filters inlined in the filters.addresses array. If you have attached more than 200 addresses to the subscription, filters.hasMore will be true and you should paginate the full list using the dedicated addresses endpoint.

Request

GET /v1/subscriptions/:id

Headers

HeaderRequiredDescription
AuthorizationYesBearer oth_YOUR_API_KEY

Path parameters

id
string
required
The subscription ID to retrieve. Always starts with sub_.

Example request

curl https://api.offthehook.dev/v1/subscriptions/sub_2QkP9aB7xN... \
  -H "Authorization: Bearer oth_YOUR_API_KEY"

Response

200 OK
{
  "id": "sub_2QkP9aB7xN...",
  "destination": { "type": "https", "url": "https://your-server.example.com/webhooks" },
  "events": ["wallet.transfer.broadcasted"],
  "filters": {
    "addresses": [
      { "chainId": "tron:mainnet", "address": "TLsV52sRDL79HXGGm9yzwKibb6BeruhUzy" }
    ],
    "hasMore": false
  },
  "status": "enabled",
  "description": "Production wallet monitor",
  "dateCreated": "2026-05-08T12:00:00Z",
  "dateUpdated": "2026-05-08T12:00:00Z"
}
When filters.hasMore is true, there are more than 200 addresses attached to this subscription. Use GET /v1/subscriptions/:id/filters/addresses to paginate the full list.

Response fields

id
string
required
Unique subscription identifier, prefixed with sub_.
destination
object
required
Webhook delivery target.
destination.secret is never returned by this endpoint. To retrieve a new secret, use POST /v1/subscriptions/:id/secrets/rotate.
events
string[]
required
Event kinds this subscription is subscribed to.
filters
object
required
Address filters attached to this subscription.
status
string
required
"enabled" or "disabled".
description
string
required
Human-readable label. Empty string if none was set.
dateCreated
string
required
ISO 8601 timestamp of when the subscription was created.
dateUpdated
string
required
ISO 8601 timestamp of the most recent update.

Errors

CodeDescription
not_foundNo subscription with the given ID exists under your API key.
unauthorizedThe Authorization header is missing or the API key is invalid.