Documentation

Admin API

Automate betool from your systems — pipeline creation, execution history, organisation management.

Admin API

The entire betool admin is accessible via an authenticated REST API. This is the channel for automation: on-the-fly organisation provisioning, pipeline sync from your Git repo, custom dashboards, ITSM integration.

Authentication

Bearer token issued from Administration → Tokens within your organisation.

curl -H "Authorization: Bearer $BETOOL_TOKEN" \
  https://platform.betool.ai/api/admin/me

The token is scoped to one organisation and one role. The role determines what you can read and write.

Pagination & filtering

All list endpoints follow the same convention:

  • ?limit=50 (default 25, max 200)
  • ?offset=0
  • ?sort=-created_at (- prefix for descending)
  • Ad-hoc filters: ?status=ok&created_after=2026-05-01

The response includes an X-Total-Count header for cursor-less pagination.

Key endpoints

EndpointDescription
GET /api/admin/meIdentity, current organisation, role
GET /api/admin/pipelinesList pipelines
POST /api/admin/pipelinesCreate a pipeline
PATCH /api/admin/pipelines/{id}Update a pipeline
GET /api/admin/pipelines/{id}/executionsExecution history
GET /api/admin/billing/balanceCredit balance
POST /api/admin/billing/topupManual top-up
GET /api/admin/me/content-readsCross-tenant access audit log

The full OpenAPI documentation is available at /api/admin/openapi.json once authenticated.

Idempotency

POST endpoints accept an Idempotency-Key header. If you resend the same request with the same key, you get the same response — useful for caller-side retry strategies.

Outbound webhooks

Configure betool to notify you on key events (failed execution, low balance, new user). See Outbound webhooks.

Rate limiting

By default:

  • 1,000 requests / minute per token
  • 100 requests / minute for costly write endpoints (pipeline creation, batch import)

On the Enterprise plan, limits are configurable.

SDKs

There are no official SDKs (yet). The API is simple enough to consume from any language with an HTTP client.

If you write an SDK for your organisation, let us know — we will list it.