Skip to main content

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.

ParameterInType
qquerystring
takequeryinteger int32

POST /api/admin/tenants​

Creates a tenant for an existing LoginLink organization. Needs Tenants and LoginLink.

Body (JSON):

FieldType
namestring
slugstring
loginLinkobject
loginLink.organizationstring
loginLink.clientIdstring
loginLink.clientSecretstring
databaseobjectMode sqlite, auto or byo; for byo, Engine mysql (default) or postgresql and its connection string.
database.modestring
database.connectionStringstring
database.enginestring

GET /api/admin/tenants/{id}​

One tenant.

ParameterInType
idpathinteger int64required

PATCH /api/admin/tenants/{id}​

Suspends ("suspended") or reactivates ("active") a tenant.

ParameterInType
idpathinteger int64required

Body (JSON):

FieldType
statusstring

GET /api/admin/tenants/{id}/keys​

A tenant's keys (secret keys for /api/v1, developer keys for /api/tenant). Secrets are never listed.

ParameterInType
idpathinteger int64required

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.

ParameterInType
idpathinteger int64required

Body (JSON):

FieldType
namestring
kindstring
livemodeboolean
capabilitiesarray of string
expires_atstring

DELETE /api/admin/tenants/{id}/keys/{keyId}​

Revokes one of a tenant's keys.

ParameterInType
idpathinteger int64required
keyIdpathinteger int64required

/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):

FieldType
organizationstring
notestring

DELETE /api/admin/auto-provisioning/approvals/{organization}​

Removes an approval.

ParameterInType
organizationpathstringrequired

/audit​

GET /api/admin/audit​

The platform audit log, newest first.

ParameterInType
takequeryinteger int32
skipqueryinteger int32