Settings API reference

Settings 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 Settings 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 /settings: List settings areas
  • GET /settings/{area}: Get a settings area
  • PATCH /settings/{area}: Change a settings area
  • POST /settings/receipts/{receiptId}/undo: Undo a settings change

List settings areas

GET /api/v1/settings

Returns the settings areas the key may read, each with its risk, revision and gates. Requires the read:settings scope.

Response 200: returns id, title, description, risk, revision, locked, gates.

Get a settings area

GET /api/v1/settings/{area}

Returns the value, revision and locked fields of one area. The revision is also the ETag. Secrets only say whether they are set. Requires the read:settings scope.

Parameters

Name

In

Type

Required

Description

area

path

string (branding, portal, messenger, modules, office_hours, changelog)

Yes

Settings area

Response 200: returns id, title, description, risk, revision, locked, gates, value, secrets.

Change a settings area

PATCH /api/v1/settings/{area}

Applies a merge patch. If-Match must carry the revision you read: 428 when missing, 412 when stale, 423 when the patch changes a locked field. A low-risk area applies at once and returns 200 with a receipt. A medium-risk or higher area files an approval and returns 202. Add ?dry_run=true to preview without writing; If-Match is then optional. Requires the write:settings scope.

Parameters

Name

In

Type

Required

Description

area

path

string (branding, portal, messenger, modules, office_hours, changelog)

Yes

Settings area

If-Match

header

string

No

The revision from the last read. Required unless dry_run=true.

dry_run

query

boolean

No

Preview the change without writing it

Request body

Field

Type

Required

Description

themeMode

string (light, dark, user)

No

light

object

No

dark

object

No

Response 200: returns status, receipt, area, risk, revision, requiresApproval, changes.

Undo a settings change

POST /api/v1/settings/receipts/{receiptId}/undo

Restores what a receipt recorded while the values have not moved since (409 otherwise). A receipt is the id returned by an applied change, or the id of an approval a person decided. Requires the write:settings scope.

Parameters

Name

In

Type

Required

Description

receiptId

path

string

Yes

Receipt id

Response 200: returns id, area, undone, undoneAt.

Was this helpful?

Your feedback shapes what we write next.