---
title: "Get the business profile (business)"
method: GET
path: "/compliance/kyb/business_profile"
tags: ["compliance", "kyb", "customer-session"]
---

# Get the business profile (business)

`GET /compliance/kyb/business_profile`

## Request

- Base URL: `https://api.stablesea.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.stablesea.com/compliance/kyb/business_profile`
- Auth: none declared

Returns the session business's legal name, tax ID (last four digits only), registered address, and authorized signatory, taken from its compliance form. Each fact carries an `availability`, so a client never has to infer whether an answer is missing, was never asked for, or cannot be read. `editable` reports whether the business's compliance form is open for the business to edit.

## Response `200`

OK

- KybGetKYBBusinessProfileOutput
  - `editable` boolean, required: Whether the business's compliance form is open for the business to edit. It describes the form, not the facts beside it: it is true until the form is submitted for review, including for a business that has no form yet, and false once the form is submitted or approved.
  - `legal_name` KybBusinessProfileLegalName, required: The business's legal name.
    - `availability` 'provided' | 'not_provided' | 'not_collected' | 'unreadable', required: Whether a business profile fact is available. `provided`: the compliance form asks for it and holds a readable answer. `not_provided`: the form asks for it and holds no answer. `not_collected`: this business's form does not ask for it. `unreadable`: the server cannot say what this fact is. The causes are a stored answer that will not open or decode, a tax ID that does not have nine digits, two fields that disagree, or a form that shows the question only under a display condition, which this read does not evaluate. A fact's other members are present only when its availability is `provided`.
    - `value` string, nullable: The legal business name. Present only when availability is provided.
  - `registered_address` KybBusinessProfileAddress, required: The business's registered address, as far as it is on file. It is `provided` when the business gave at least one of its parts and none is unreadable, and it then carries exactly the parts the business gave, so a provided address can be incomplete. It is `unreadable` when any part is. Otherwise it is `not_provided` when the form asks for at least one part, and `not_collected` when it asks for none.
    - `availability` 'provided' | 'not_provided' | 'not_collected' | 'unreadable', required: Whether a business profile fact is available. `provided`: the compliance form asks for it and holds a readable answer. `not_provided`: the form asks for it and holds no answer. `not_collected`: this business's form does not ask for it. `unreadable`: the server cannot say what this fact is. The causes are a stored answer that will not open or decode, a tax ID that does not have nine digits, two fields that disagree, or a form that shows the question only under a display condition, which this read does not evaluate. A fact's other members are present only when its availability is `provided`.
    - `city` string, nullable: City. Present only when availability is provided and the business gave one.
    - `state` string, nullable: State or region as the business entered it, for example a full state name such as New York. Present only when availability is provided and the business gave one.
    - `street` string, nullable: Street line. Present only when availability is provided and the business gave one.
    - `street_2` string, nullable: Second street line. Present only when availability is provided and the business gave one.
    - `zip` string, nullable: Postal code. Present only when availability is provided and the business gave one.
  - `signatory` KybBusinessProfileSignatory, required: The business's authorized signatory, as far as it is on file. It is `provided` when the business gave at least one of name, job title, and email and none is unreadable, and it then carries exactly the parts the business gave. It is `unreadable` when any part is. Otherwise it is `not_provided` when the form asks for at least one part, and `not_collected` when it asks for none.
    - `availability` 'provided' | 'not_provided' | 'not_collected' | 'unreadable', required: Whether a business profile fact is available. `provided`: the compliance form asks for it and holds a readable answer. `not_provided`: the form asks for it and holds no answer. `not_collected`: this business's form does not ask for it. `unreadable`: the server cannot say what this fact is. The causes are a stored answer that will not open or decode, a tax ID that does not have nine digits, two fields that disagree, or a form that shows the question only under a display condition, which this read does not evaluate. A fact's other members are present only when its availability is `provided`.
    - `email` string, nullable: Email address. Present only when availability is provided and the business gave one.
    - `job_title` string, nullable: Job title. Present only when availability is provided and the business gave one.
    - `name` string, nullable: The signatory's name: the first and last name on file, whichever the business gave, joined by one space, or the single full name some older forms hold when neither was given. Present only when availability is provided and the business gave a name.
  - `tax_id` KybBusinessProfileTaxID, required: The business's tax ID, reduced to its last four digits. No member carries the full number. A tax ID on file is presented only when it has exactly nine digits, counted as the compliance form's own check counts them: every character that is not a digit is ignored. `last_four` is the last four of those nine. Any other stored value is reported as `unreadable`.
    - `availability` 'provided' | 'not_provided' | 'not_collected' | 'unreadable', required: Whether a business profile fact is available. `provided`: the compliance form asks for it and holds a readable answer. `not_provided`: the form asks for it and holds no answer. `not_collected`: this business's form does not ask for it. `unreadable`: the server cannot say what this fact is. The causes are a stored answer that will not open or decode, a tax ID that does not have nine digits, two fields that disagree, or a form that shows the question only under a display condition, which this read does not evaluate. A fact's other members are present only when its availability is `provided`.
    - `last_four` string, nullable: The last four of the tax ID's nine digits. Present only when availability is provided. It is never the full number.

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `default`: Error response.

## Changes

- **2026-10-29** `e003c8a67b62`: 4 info
  - added the optional property `error/authorization` to the response with the `400` status
  - added the optional property `error/authorization` to the response with the `401` status
  - added the optional property `error/authorization` to the response with the `403` status
  - added the optional property `error/authorization` to the response with the `default` status
- **2026-10-16** `d8ab48e744d6`: 1 info
  - api tag `customer-session` added
- **2026-10-14** `e8862dc94b6d`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/stablesea/apis/stable-sea-backend/changes/compliance/kyb/business_profile/get.md)

---

[API](https://skmtc.dev/stablesea/apis/stable-sea-backend.md) - [All operations](https://skmtc.dev/stablesea/apis/stable-sea-backend/llms.txt) - [OpenAPI document](https://skmtc.dev/stablesea/apis/stable-sea-backend/revisions/772c80d83658?raw)
