Skip to main content

API Overview

This page groups the externally relevant APIs by workflow.

Entitlement and run lifecycle API

These endpoints are used by the customer job during a normal entitled run:

EndpointPurposeTypical caller
POST /api/entitlement/checkConfirms entitlement availability for a proposed run_idRunner
POST /api/entitlement/consumeConsumes one run from the entitlement balanceRunner
POST /api/entitlement/run_startRecords run-start metadata such as hashes, image, and project IDRunner
POST /api/entitlement/run_completeMarks successful completion and returns the seal bundleRunner

Seal verification API

These endpoints support verification and controlled reruns:

EndpointPurposeTypical caller
POST /api/seal/verifyVerifies an uploaded seal.svg and returns verification dataUser, operator, portal
POST /api/entitlement/redeem_seal_onceGrants a one-time rerun for a verified (principal, seal_id) pairAuthenticated user or operator

The one-time redemption flow is replay-resistant. A second attempt for the same (principal, seal_id) pair should return 409.

Admin issuance API

This endpoint is used by the partner or publisher side of the workflow:

EndpointPurposeTypical caller
POST /api/entitlement/issueIssues entitlement runs to a customer principalPartner or admin operator

Authentication model

The current customer deployment path is identity-only:

  • The job authenticates with Google identity
  • The service uses the caller identity as the principal
  • Customers do not manage long-lived entitlement tokens in the normal flow

For admin issuance, the current customer docs also reference an admin token header:

  • X-GBX-ADMIN-TOKEN

What belongs in API docs versus product docs

Use the API docs to define:

  • Endpoint purpose
  • Auth expectations
  • Required sequencing
  • Expected status codes

Use product and trust docs to explain:

  • Why the entitlement model exists
  • What the seal means
  • How rerun policy works in user terms

For status codes, see Error Codes.