---
title: "Complete card setup"
method: POST
path: "/v1/account/payment-card/complete"
tags: ["account"]
---

# Complete card setup

`POST /v1/account/payment-card/complete`

## Request

- Base URL: `https://api.brixsignage.com`
- URL: `https://api.brixsignage.com/v1/account/payment-card/complete`
- Auth: HTTP bearer

Saves the card from a finished hosted card-setup session, given its `sessionId`. Brix re-reads the session from the payment provider and confirms it belongs to the calling workspace, returning 404 otherwise. The same result also happens automatically when the payment provider notifies Brix that the session completed.

## Request body

- object
  - `sessionId` string, required: The `card_session` value from the return URL (`cs_…`).

## Response `200`

Success.

- object
  - `data` object, required
    - `outcome` 'saved' | 'already_saved' | 'incomplete', required
    - `payment` AccountPayment, required: Payment settings of an account that Brix invoices directly.
      - `option` 'card' | 'invoice', required: How issued invoices are paid: charged to the saved card, or paid from the invoice email.
      - `card` object, nullable, required
        - `brand` string, required
        - `last4` string, nullable, required
        - `expMonth` integer, nullable, required
        - `expYear` integer, nullable, required
        - `savedAt` string, nullable, required: ISO-8601 timestamp (UTC).
      - `backupCard` object, nullable, required: Charged once when the card is declined.
        - `brand` string, required
        - `last4` string, nullable, required
        - `expMonth` integer, nullable, required
        - `expYear` integer, nullable, required
        - `savedAt` string, nullable, required: ISO-8601 timestamp (UTC).
      - `lastPaid` object, nullable, required: The card the last invoice was paid with.
        - `label` string, required: `Visa •••• 5278`.
        - `brand` string, required
        - `last4` string, required
        - `invoiceNumber` string, required
        - `paidAt` string, nullable, required: ISO-8601 timestamp (UTC).
      - `cardAvailable` boolean, required: Card payment can be set up for this workspace.
      - `invoiceEmail` string, nullable, required: One more address that gets every invoice. The owners always get them.

## Other responses

- `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).
- `404`: Not a card session of this workspace.
- `409`: `not_brix_billed`.
- `422`: `sessionId` missing or malformed.
- `502`: The session could not be read.
- `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)
