Brix Account API

The account API from Brix — 60 operation(s) for account.

Operations 71

GET /v1/account Get account overview #
POST /v1/account/about-you Answer the first-sign-in questions #
GET /v1/account/billing-address Get billing address #
PUT /v1/account/billing-address Set billing address #
POST /v1/account/billing-mode Switch billing mode #
POST /v1/account/brix-plan Choose a plan #
PUT /v1/account/brix-plan/cadence Switch plan cadence #
GET /v1/account/brix-plan/playing List screens on the plan #
PUT /v1/account/brix-plan/playing Choose which screens play #
GET /v1/account/brix-plan/pool Get plan screen counts #
GET /v1/account/brix-plan/quote Quote a plan #
PUT /v1/account/brix-plan/screens Change plan screens #
POST /v1/account/brix-plan/screens/estimate Price a screen change #
POST /v1/account/brix-plan/screens/request Request more screens #
DELETE /v1/account/brix-plan/trial-plan Remove the plan for the trial's end #
PUT /v1/account/brix-plan/trial-plan Set the plan for the trial's end #
POST /v1/account/cancel Cancel subscription #
POST /v1/account/cancel-deletion Cancel pending account deletion #
GET /v1/account/content-scope The workspace default content scope (all | shared): what people see when… #
PUT /v1/account/content-scope Set the workspace default content scope ({ contentScope: all | shared }) #
PATCH /v1/account/contract/renewal Set contract auto-renewal #
GET /v1/account/data-inventory Get data inventory #
POST /v1/account/downgrade-monthly Switch to monthly billing #
DELETE /v1/account/encryption-key Disable customer-managed key #
GET /v1/account/encryption-key Get encryption key status #
PUT /v1/account/encryption-key Enable customer-managed key #
POST /v1/account/encryption-key/verify Verify encryption key #
GET /v1/account/export Download full data export #
GET /v1/account/export/manifest Get export manifest #
GET /v1/account/export/part/{part} Download one export part #
PATCH /v1/account/invoice-email Set invoice email #
GET /v1/account/invoices List invoices #
GET /v1/account/invoices/{id}/file Download invoice file #
GET /v1/account/invoices/{id}/pdf Get invoice PDF link #
POST /v1/account/invoices/pay-links-outstanding Create links for outstanding invoices #
GET /v1/account/limits Get API limits #
GET /v1/account/location-payment Get who pays for new locations #
PUT /v1/account/location-payment Set whether new locations pay for themselves #
GET /v1/account/me-prefs Get my preferences #
GET /v1/account/onboarding Get welcome details #
POST /v1/account/onboarding Complete onboarding #
GET /v1/account/payers List payers #
POST /v1/account/payers Add a payer #
DELETE /v1/account/payers/{id} Remove a payer #
PATCH /v1/account/payers/{id} Edit a payer #
POST /v1/account/payers/resolve Preview a payer change #
GET /v1/account/payers/search Search payer targets #
DELETE /v1/account/payment-card Remove saved card #
POST /v1/account/payment-card/complete Complete card setup #
POST /v1/account/payment-card/setup Start card setup #
POST /v1/account/payment-card/swap Swap card and backup card #
GET /v1/account/payment-methods List payment methods #
POST /v1/account/payment-methods/{id}/role Set payment method role #
POST /v1/account/payment-methods/manage-url Get payment methods management link #
PATCH /v1/account/payment-option Set payment option #
PATCH /v1/account/prefs Update workspace preferences #
GET /v1/account/provider Get the workspace provider #
POST /v1/account/reactivate Reactivate account #
GET /v1/account/retention Get retention settings #
PATCH /v1/account/retention Set retention window #
POST /v1/account/screen-pool Buy screen licences #
POST /v1/account/screen-pool/estimate Estimate screen-pool change #
DELETE /v1/account/screen-pool/scheduled Cancel scheduled screen-pool change #
GET /v1/account/support-access Get support access status #
PATCH /v1/account/support-access/policy Set support access policy #
POST /v1/account/support-access/revoke Revoke support access #
POST /v1/account/upgrade-annual Switch to annual billing #
GET /v1/account/upgrade-annual/estimate Estimate annual upgrade cost #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/brixsignage-com:brixsignage-com-account-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

brixsignage-com-account-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Brix Account API
  version: '1'
  summary: 'Control plane for Brix digital signage: screens, content, playlists, schedules, casts and emergencies.'
  description: 'Generated from the route table the API actually mounts

    (`apps/api/routes.snapshot.json`), the description each route is required to

    carry (`tests/contracts/route-registry.json`), and request/response schemas

    (`apps/api/src/openapi/`). CI enforces all three, so this document cannot list a

    route that does not exist or omit one that does.


    **Schemas.** 447 operations carry request and response schemas

    (`x-brix-schema: verified`). Each is checked in CI against the response the

    real handler returns — a missing, mistyped or undeclared field fails the build.

    The remaining operations are route-level only (`x-brix-schema: none`): their

    path, method, permission and purpose are exact, but the shape of `data` is not

    yet modelled, and we would rather say so than publish a schema that validates

    against nothing. Objects are open: a new field is not a breaking change.


    **Envelope.** Success bodies are `{ "data": … }`. Failures are

    `{ "error": "", "message": "…" }`, plus `requestId` on a 5xx.

    Many list routes page opt-in (see each operation): pass `?limit=` and

    follow `nextCursor` via `?cursor=` until it is null.


    **Authentication.** `Authorization: Bearer ` with an API key

    (`ak_…`, created in the console under Settings → API & MCP) or a user session. An

    API key carries a creator-chosen set of `resource.verb` permissions and may be

    pinned to one location''s subtree; a key can never be granted a permission its

    creator does not hold. The permission an operation needs is in

    `x-brix-permission` and in its security requirement.


    **Tenancy.** Every request resolves to one workspace. A resource belonging to

    another tenant returns 404, never 403, so a response never confirms that an

    account exists.


    **Rate limits.** A 429 carries `Retry-After`; a 503 `database_busy` means retry

    after the `Retry-After` interval.'
servers:
- url: https://api.brixsignage.com
  description: Production
security:
- bearerAuth: []
tags:


# --- truncated at 32 KB (242 KB total) ---
# Full source: https://artifacts.apis.io/brixsignage-com/openapi/brixsignage-com-account-api-openapi.yml