Version

REST API Quickstart

Mint a token, call your first endpoint, receive your first webhook — all in under five minutes.

By the end of this page you'll have a working sbt_ API token, a successful GET /v1/teams/current call, and a webhook endpoint receiving subscription.created events.

Prerequisites

  • A Subscriby account (any tier — Free, Starter, or Growth)
  • Access to a terminal with curl or an HTTP client of your choice

Mint an API token

Open Settings → Developer → API Tokens at https://app.subscriby.net/settings/tokens. Click Create Token.

Tick these abilities:

  • team:view — lets the token identify the team it is scoped to
  • project:view-any + project:view — read-only project access
  • webhook-endpoint:manage — so the same token can also create webhook endpoints

Leave scope:team:<uuid> on "current team" (default).

Click Create. The plain-text token (sbt_live_...) is shown once — copy it now; it is not retrievable later.

Confirm the token works

curl

curl https://api.subscriby.net/v1/teams/current \
  -H "Authorization: Bearer sbt_live_..."

PHP (Laravel Http)

use Illuminate\Support\Facades\Http;

$response = Http::withToken('sbt_live_...')
    ->get('https://api.subscriby.net/v1/teams/current');

$team = $response->json('data');

Node (fetch)

const response = await fetch("https://api.subscriby.net/v1/teams/current", {
  headers: { Authorization: "Bearer sbt_live_..." },
});

const { data: team } = await response.json();

Python (requests)

import requests

response = requests.get(
    "https://api.subscriby.net/v1/teams/current",
    headers={"Authorization": "Bearer sbt_live_..."},
)
team = response.json()["data"]

Expected response:

{
  "data": {
    "id": "a83f0d51-4c92-4b7e-8615-2fd9e70a3c86",
    "name": "Your Team",
    "owner_user_id": "2a91c4e7-6f38-4b52-8e0d-9c1a7b3f5d80",
    "personal": true,
    "created_at": "2026-02-14T07:12:33+00:00"
  }
}

Register a webhook endpoint

Point a webhook.site URL (or any HTTPS endpoint you control) at subscription.created:

curl https://api.subscriby.net/v1/webhook-endpoints \
  -X POST \
  -H "Authorization: Bearer sbt_live_..." \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "name": "First webhook",
    "url": "https://webhook.site/<your-uuid>",
    "events": ["subscription.created"]
  }'

Expected response (201 Created):

{
  "data": {
    "id": "c62a08f4-1b7d-4e35-9860-a37f5d21e0b9",
    "name": "First webhook",
    "events": ["subscription.created"],
    "is_active": true
  },
  "secret": "whsec_abc123..."
}

Copy the secret now. Subsequent GET /v1/webhook-endpoints calls never include it. Use it to verify every incoming SB-Signature: t=...,v1=... header — see signature verification.

Trigger an event

In your Subscriby dashboard, create a test access code against any plan and redeem it from an incognito bot chat. Within a few seconds the webhook.site URL should receive a POST with a subscription.created envelope.

Next steps

How is this guide?

Version

On this page

Subscriby is a product
designed by you — for you.
No boardroom full of executives deciding what we ships next. Our roadmap always shaped by you with your feedback.

Share feedback or a request