Platform API reference
Routes under /api/admin, for running PayLink itself. Authenticate with a platform key: Authorization: Bearer pdk_…; each route needs the capability shown. Guide: platform API.
OpenAPI document: platform.json. Every PayLink also serves it at /docs/api/platform/openapi.json, with Swagger UI at /docs/api.
/dashboard
GET /api/admin/dashboard
Platform counts: tenants, admins, approvals, keys, and live payments in the last 7 days.
/tenants
GET /api/admin/tenants
Tenants in this key's reach; q searches name, address and LoginLink organization.
| Parameter | In | Type | |
|---|---|---|---|
q | query | string | |
take | query | integer int32 |
POST /api/admin/tenants
Creates a tenant for an existing LoginLink organization. Needs Tenants and LoginLink.
Body (JSON):
| Field | Type | |
|---|---|---|
name | string | |
slug | string | |
loginLink | object | |
loginLink.organization | string | |
loginLink.clientId | string | |
loginLink.clientSecret | string | |
database | object | Mode sqlite, auto or byo; for byo, Engine mysql (default) or postgresql and its connection string. |
database.mode | string | |
database.connectionString | string | |
database.engine | string |
GET /api/admin/tenants/{id}
One tenant.
| Parameter | In | Type | |
|---|---|---|---|
id | path | integer int64 | required |
PATCH /api/admin/tenants/{id}
Suspends ("suspended") or reactivates ("active") a tenant.
| Parameter | In | Type | |
|---|---|---|---|
id | path | integer int64 | required |
Body (JSON):
| Field | Type | |
|---|---|---|
status | string |
GET /api/admin/tenants/{id}/keys
A tenant's keys (secret keys for /api/v1, developer keys for /api/tenant). Secrets are never listed.
| Parameter | In | Type | |
|---|---|---|---|
id | path | integer int64 | required |
POST /api/admin/tenants/{id}/keys
Creates a key for a tenant, e.g. to hand a product built on PayLink its own sk_ key, or a tdk_ key with chosen capabilities. The secret is returned once. Recorded in the tenant's and the platform's audit logs.
| Parameter | In | Type | |
|---|---|---|---|
id | path | integer int64 | required |
Body (JSON):
| Field | Type | |
|---|---|---|
name | string | |
kind | string | |
livemode | boolean | |
capabilities | array of string | |
expires_at | string |
DELETE /api/admin/tenants/{id}/keys/{keyId}
Revokes one of a tenant's keys.
| Parameter | In | Type | |
|---|---|---|---|
id | path | integer int64 | required |
keyId | path | integer int64 | required |
/auto-provisioning
GET /api/admin/auto-provisioning/approvals
LoginLink organizations approved for an auto-provisioned database at signup.
POST /api/admin/auto-provisioning/approvals
Approves an organization for an auto-provisioned database at signup.
Body (JSON):
| Field | Type | |
|---|---|---|
organization | string | |
note | string |
DELETE /api/admin/auto-provisioning/approvals/{organization}
Removes an approval.
| Parameter | In | Type | |
|---|---|---|---|
organization | path | string | required |
/audit
GET /api/admin/audit
The platform audit log, newest first.
| Parameter | In | Type | |
|---|---|---|---|
take | query | integer int32 | |
skip | query | integer int32 |