billing

GET /v1/trials/lines

Every hosting line's free trial, and this organization's state on each.

All billing endpoints

All developer docs →

Authentication

Send an API key as a bearer token. The endpoint checks billing.view; a key without it is refused with 403, not 404.

Where your organisation id goes

This endpoint takes org_id as a query parameter. Leave it out and the call covers your whole tenancy subtree; send it to narrow the call to one organisation.

Your organisation id is on the API keys screen in your dashboard, beside the key itself. It is the same id in every call you make.

Try it

Replace anything in angle brackets with your own values, and the key placeholder with a key from your dashboard.

curl -X GET https://api.zinndigital.com/v1/trials/lines \
  -H "Authorization: Bearer zdk_live_…"

Signed in? The API console in your dashboard fills in your real organisation id and your own key, and runs the request against the live API so you can see the actual response. Open this endpoint in the API console

Details

s1014 L58. ⚖️ Owner 2026-10-16: "make it CLEAR in the app: 'Try (product) free for 14 days' on every line the account has not trialled; trial status + switch option visible". One answer for the dashboard's per-line cards, the assistants and the cross-sell sequence (engine.billing.trials.trial_lines_for_org). Lines whose trial has no plan on sale are not listed. ⛔ The cross-account abuse guard is NOT applied here — a person who trialled a line on another account learns it when they start.

Parameters

NameTypeRequiredWhat it is
org_id (query)stringNo—

Response

NameTypeRequiredWhat it is
dataLineTrial[]Yes—

Errors this endpoint can return

401 · 403 · 422