Consent administration
Use the account API to automate Agent Consent Flow client registration and revoke user grants. These operations require an account API token.
Consent administration is separate from the public authorization and token protocol documented in Agent Consent Flow.
List clients
GET /api/v1/consent/clients
The response contains the account's registered clients, exact redirect URIs, allowed scopes, public JWK, active status, and creation time.
Register a client
POST /api/v1/consent/clients
curl https://app.gazebohq.com/api/v1/consent/clients \
-X POST \
-H "Authorization: Bearer YOUR_ACCOUNT_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Support agent",
"redirectUris": ["https://agent.example.com/consent/callback"],
"allowedScopes": ["issues.read", "issues.create"],
"publicKeyJwk": "{\"kty\":\"EC\",\"crv\":\"P-256\",\"x\":\"...\",\"y\":\"...\"}"
}'
Redirect URIs must be exact HTTPS URLs without fragments or wildcards. localhost is allowed for local development. The public key must be an ES256 P-256 public JWK. Keep the private key outside Gazebo.
Update a client
PATCH /api/v1/consent/clients/{client_id}
Send any subset of name, redirectUris, allowedScopes, and publicKeyJwk. Expanding allowed scopes does not expand an existing grant; the user must approve a new authorization request.
Deactivate a client
DELETE /api/v1/consent/clients/{client_id}
Deactivation immediately revokes the client's grants and active Consent access tokens.
List grants
GET /api/v1/consent/grants
Each grant includes its client ID, approved scopes, status, creation time, and optional expiry.
For SDK runtime connections, grant revocation also revokes the linked agent and prevents token renewal. Credential release requires explicit user approval of named service keys. Previously retrieved provider keys remain usable until revoked or rotated at their provider.
Revoke a grant
POST /api/v1/consent/grants/{grant_id}/revoke
Revocation immediately invalidates every active Consent access token issued under that grant.