---
title: "Set billing details"
method: PUT
path: "/v1/billing-details"
tags: ["Payment"]
---

# Set billing details

`PUT /v1/billing-details`

## Request

- Base URL: `https://console-api-sandbox.akash.network`
- URL: `https://console-api-sandbox.akash.network/v1/billing-details`
- Auth: one of:
  - HTTP bearer
  - API key in header `x-api-key`

Replaces the legal name, billing address and tax ID printed on the invoices of the active account or organization

## Headers

- `x-organization-id` string
- `x-project-id` string, uuid

## Request body

- object
  - `data` object, required
    - `legalName` string, required: The payer's full legal name, printed on invoices
    - `companyName` string, nullable: The company invoices are billed to, with the legal name as its billing contact. Null or omitted bills the legal name
    - `address` object, required
      - `line1` string, required
      - `line2` string, nullable, required
      - `city` string, nullable, required
      - `state` string, nullable, required
      - `postalCode` string, nullable, required
      - `country` string, required: Two-letter ISO 3166-1 country code
    - `taxId` object, nullable: Replaces every tax ID on file, removes them all when null, and leaves them untouched when omitted
      - `type` 'eu_vat' | 'gb_vat' | 'ch_vat' | 'no_vat' | 'us_ein' | 'ca_bn' | 'au_abn' | 'nz_gst' | 'in_gst' | 'sg_gst' | 'jp_cn' | 'kr_brn' | 'br_cnpj' | 'mx_rfc' | 'ae_trn' | 'za_vat', required: Stripe tax ID type, such as eu_vat for an EU VAT number
      - `value` string, required

## Response `200`

The saved billing details

- object
  - `data` object, required
    - `legalName` string, nullable, required
    - `companyName` string, nullable, required
    - `address` object, nullable, required
      - `line1` string, nullable, required
      - `line2` string, nullable, required
      - `city` string, nullable, required
      - `state` string, nullable, required
      - `postalCode` string, nullable, required
      - `country` string, nullable, required
    - `taxId` object, nullable, required
      - `type` string, required
      - `value` string, required
      - `verificationStatus` 'pending' | 'verified' | 'unverified' | 'unavailable', nullable, required: Whether the tax authority confirmed the number, or null for a type Stripe does not verify

## Other responses

- `400`: A field is missing or malformed, or the tax ID is not valid for its type
- `401`: Unauthorized
- `403`: The caller cannot manage the billing of this organization
- `404`: Invoices are not enabled for the caller
- `409`: Another request is still setting up the team's payments (`organization_payments_setup_in_progress`). Worth retrying

## Changes

- **2026-10-26** `4879767ba90d`: 1 breaking, 2 info
  - the `data/legalName` request property's maxLength was decreased to `140`
  - added the new optional request property `data/companyName`
  - added the required property `data/companyName` to the response with the `200` status
- **2026-10-15** `bb97e5bacb6f`: 3 info
  - added the new optional `header` request parameter `x-organization-id`
  - added the new optional `header` request parameter `x-project-id`
  - added the non-success response with the status `409`
- **2026-10-14** `29008d7afb50`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/akash-network/apis/akash-network-console-api/changes/v1/billing-details/put.md)

---

[API](https://skmtc.dev/akash-network/apis/akash-network-console-api.md) - [All operations](https://skmtc.dev/akash-network/apis/akash-network-console-api/llms.txt) - [OpenAPI document](https://skmtc.dev/akash-network/apis/akash-network-console-api/revisions/b959efa6d493?raw)
