---
title: "Set billing address"
method: PUT
path: "/v1/account/billing-address"
tags: ["account"]
---

# Set billing address

`PUT /v1/account/billing-address`

## Request

- Base URL: `https://api.brixsignage.com`
- URL: `https://api.brixsignage.com/v1/account/billing-address`
- Auth: HTTP bearer

Sets the workspace billing address. `country` is required and validated against the ISO 3166-1 country list. For the United States and Canada, `stateCode` and `zip` are also required. This replaces the entire address on file; you cannot update a single field.

**Notes.**
- Answers 400 (not 422) for an invalid address, unlike most validation errors.

## Request body

- object
  - `country` string, required: Country code or name.
  - `stateCode` string: Required for US and Canada. Stored in upper case.
  - `zip` string: Required for US and Canada.
  - `city` string
  - `line1` string

## Response `200`

Success.

- object
  - `data` object, required
    - `configured` true, required
    - `address` object, required
      - `country` string, nullable, required: ISO 3166-1 alpha-2.
      - `stateCode` string, nullable, required: State or province, without the country prefix (`CA`, `ON`).
      - `zip` string, nullable, required
      - `city` string, nullable, required
      - `line1` string, nullable, required
    - `needsState` boolean, required

## Other responses

- `400`: `invalid_country` or `state_required` (400, not 422).
- `401`: Missing, expired or revoked bearer token.
- `403`: You do not hold the permission for the whole workspace (a grant at one location is not enough).
- `409`: `no_customer`: billing is not set up yet.
- `502`: The billing provider did not answer; nothing changed.
- `5XX`: Server error. The body carries a `requestId` to quote to support.

---

[API](https://skmtc.dev/brixsignage/apis/brix-api.md) · [All operations](https://skmtc.dev/brixsignage/apis/brix-api/llms.txt) · [OpenAPI document](https://skmtc.dev/brixsignage/apis/brix-api/revisions/02fd3665dc7d?raw)
