Approvals API reference

Approvals endpoints of the Quackback REST API: paths, parameters, request fields and responses.

JM
James Morton
Written By James MortonLast updated 3 days ago

This is the reference for the Approvals endpoints of the Quackback REST API: every endpoint, its parameters, request fields and response fields. It is generated from the API's OpenAPI description, so it matches what the API accepts.

All paths are relative to /api/v1 on your workspace's address (for example https://feedback.example.com/api/v1). Authenticate with an API key in the Authorization: Bearer qb_... header. For keys, errors, pagination and rate limits, see API overview. Every workspace also serves an interactive reference at /api/v1/docs.

Endpoints

  • GET /approvals: List approvals
  • GET /approvals/{approvalId}: Get an approval

List approvals

GET /api/v1/approvals

Returns the approvals this key follows, newest first. A key reads the requests it filed. It also reads the requests its creator could decide, judged with the creator's current permissions narrowed to the key's own role and scopes, so a creator who loses a permission takes those requests with them. Any other approval answers 404, the same as an id that does not exist. Requires the read:settings scope (write:settings includes it). One call reads a bounded number of requests, so a page can hold fewer items than limit, even none, while meta.pagination.hasMore is true; keep following the cursor. Nothing here decides an approval: a person decides it in the app, at its url.

Parameters

Name

In

Type

Required

Description

status

query

string (pending, approved, rejected, expired, superseded, applied, undone, failed)

No

Only approvals in this state

cursor

query

string

No

Pagination cursor from the previous response (meta.pagination.cursor)

limit

query

integer

No

Items per page (max 100)

Response 200: returns id, status, risk, toolName, title, summary, changes, conversationId, ticketId, requestedVia, requestedById, onBehalfOfPrincipalId, clientName, createdAt, expiresAt, decidedById, decidedAt, decidedVia, reason, undoneAt, url.

Get an approval

GET /api/v1/approvals/{approvalId}

Returns where one request stands, with the url a person opens to decide it. A key reads the requests it filed. It also reads the requests its creator could decide, judged with the creator's current permissions narrowed to the key's own role and scopes, so a creator who loses a permission takes those requests with them. Any other approval answers 404, the same as an id that does not exist. Requires the read:settings scope (write:settings includes it).

Parameters

Name

In

Type

Required

Description

approvalId

path

string

Yes

Approval ID

Response 200: returns id, status, risk, toolName, title, summary, changes, conversationId, ticketId, requestedVia, requestedById, onBehalfOfPrincipalId, clientName, createdAt, expiresAt, decidedById, decidedAt, decidedVia, reason, undoneAt, url.

Was this helpful?

Your feedback shapes what we write next.