Graine AI
API referencePhone numbers

List configured telephony providers

List the telephony providers configured for your organisation.

List the telephony providers configured for your organisation.

A provider appears here only when credentials for it resolve successfully, so this is the honest answer to "can my organisation place calls right now", not a catalogue of what the platform supports. An empty list means no carrier is currently usable for you.

Entries are distinct. Carriers are published under a single public name, so a configured organisation sees exactly one entry however many routes sit behind it — the routing itself is ours to manage and is not something to branch on.

This is scoped to your organisation. The platform-wide provider inventory is operator surface and is not exposed on this API.

Rate limit: 1000 requests per minute per organization (bucket default). Exceeding it returns 429 with Retry-After; the X-RateLimit-* response headers report your remaining allowance on every call.

GET
/v2/providers
/v2/providers

The Authorization access token

Authorization

Authorization
Required
Bearer <token>

Your Graine API key. Create one in the dashboard under Developers, or via POST /v2/api-keys. Send it as Authorization: Bearer <key>.

In: header

Query Parameters

organization_idOrganization Id

Must match the organisation the API key belongs to.

Response Body

200

The provider names this organisation has working credentials for.

dataData

Distinct provider names with usable credentials on this organisation. A configured organisation sees a single entry: how calls are routed behind it is ours to manage and is not something to branch on. Empty means no carrier is currently usable for you.

countCount

How many entries are in data. Zero means calls cannot be placed.

Default: 0

400

1000 — malformed or contradictory input (bad transfer target, bad timeout).

error
Required
Error

Stable integer code from the /v2 error table.

message
Required
Message

Human-readable single sentence.

401

1100 — missing, unknown or inactive API key. 1101 — a browser session token was presented.

error
Required
Error

Stable integer code from the /v2 error table.

message
Required
Message

Human-readable single sentence.

402

1400 — the organisation has insufficient credits for this request.

error
Required
Error

Stable integer code from the /v2 error table.

message
Required
Message

Human-readable single sentence.

403

1102 — the key is valid but lacks the scope this endpoint requires, or names another organisation. GET /v2/scopes reports which scopes the key holds.

error
Required
Error

Stable integer code from the /v2 error table.

message
Required
Message

Human-readable single sentence.

422

1001 — the body or query failed validation; the message names the first offending field.

error
Required
integer

Stable integer code from the error table. Branch on this, not on the message.

message
Required
string

One human-readable sentence. Wording may change; the code will not.

429

1300 — per-organisation rate limit exceeded. Carries Retry-After.

error
Required
Error

Stable integer code from the /v2 error table.

message
Required
Message

Human-readable single sentence.

503

1501 — the telephony service is unreachable or returned a 5xx.

error
Required
Error

Stable integer code from the /v2 error table.

message
Required
Message

Human-readable single sentence.

504

1502 — the telephony service did not respond in time.

error
Required
Error

Stable integer code from the /v2 error table.

message
Required
Message

Human-readable single sentence.

curl -X GET "https://api.graine.ai/v2/providers?organization_id=string" \
  -H "Authorization: Bearer <token>"

The provider names this organisation has working credentials for.

{
  "data": [
    "custom"
  ],
  "count": 1
}