> ## Documentation Index
> Fetch the complete documentation index at: https://docs.finhub.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# Organization Registration

> Register a new B2B organization customer

export function RequiredRunnerHeaders() {
  return <>
      <ParamField header="X-Forwarded-For" type="string" required>
        Client source IP (runner default: `127.0.0.1`)
      </ParamField>
      <ParamField header="X-Tenant-ID" type="string" required>
        Tenant identifier
      </ParamField>
      <ParamField header="X-Forwarded-From" type="string" required>
        Client source identifier (runner default: `integration-client`)
      </ParamField>
      <ParamField header="platform" type="string" required>
        Client platform (runner default: `web`)
      </ParamField>
      <ParamField header="deviceId" type="string" required>
        Device identifier (runner default: `integration-device`)
      </ParamField>
      <ParamField header="Authorization" type="string" required>
        Bearer token
      </ParamField>
    </>;
}

# Organization Registration

Creates an organization customer and initial admin user.

## Endpoint

`POST /api/v2.1/customer/organization/registration`

## Key Defaults (from B2B runner)

* Passwords: `SecurePass123!`
* Category example: `fs-cat-b2b-small-001` (`Small Business`)
* Legal form: `LIMITED_LIABILITY_COMPANY`
* Industry: `TECHNOLOGY`

## Required Headers

<RequiredRunnerHeaders />

## Request Example

```json theme={null}
{
  "email": "admin@acmecorp-20260331115443-27f5ae.com",
  "password": "SecurePass123!",
  "matchingPassword": "SecurePass123!",
  "roleIds": ["ACCOUNT_OWNER", "ADMIN"],
  "customerCategory": {
    "id": "fs-cat-b2b-small-001",
    "name": "Small Business"
  },
  "organizationCustomer": {
    "customerName": "My Company",
    "organization": {
      "legalName": "My Company Ltd.",
      "tradingName": "My Company",
      "registrationNumber": "REG-20260331115443",
      "taxId": "TAX-20260331115443"
    }
  }
}
```

## Response Example

```json 200 theme={null}
{
  "code": 200,
  "data": {
    "organizationId": "f458d016-56bb-43a6-856c-4d0456b2c38c",
    "customerId": "f458d016-56bb-43a6-856c-4d0456b2c38c",
    "email": "admin@acmecorp-20260331115443-27f5ae.com"
  },
  "message": "Organization registered successfully. Default admin will be created automatically."
}
```

<Note>
  Used in B2B step runner Step 3 and mirrored in `organization-playground.crx.js`.
</Note>


## OpenAPI

````yaml fincheck.yaml POST /api/v2.1/customer/organization/registration
openapi: 3.0.3
info:
  title: Fincheck Endpoint Set
  version: 1.1.0
  description: |
    Focused API spec for Customer APIs and Verification & Compliance endpoints,
    aligned to business-bff B2C/B2B runners and dump payloads.
servers:
  - url: https://sandbox.finhub.cloud
security: []
paths:
  /api/v2.1/customer/organization/registration:
    post:
      operationId: registerOrganizationCustomer
      parameters:
        - $ref: '#/components/parameters/XForwardedFor'
        - $ref: '#/components/parameters/XTenantId'
        - $ref: '#/components/parameters/XForwardedFrom'
        - $ref: '#/components/parameters/Platform'
        - $ref: '#/components/parameters/DeviceId'
        - $ref: '#/components/parameters/Authorization'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrganizationRegistration'
      responses:
        '200':
          description: Registered
components:
  parameters:
    XForwardedFor:
      in: header
      name: X-Forwarded-For
      required: true
      schema:
        type: string
      example: 127.0.0.1
    XTenantId:
      in: header
      name: X-Tenant-ID
      required: true
      schema:
        type: string
      example: 97e7ff29-15f3-49ef-9681-3bbfcce4f6cd
    XForwardedFrom:
      in: header
      name: X-Forwarded-From
      required: true
      schema:
        type: string
      example: integration-client
    Platform:
      in: header
      name: platform
      required: true
      schema:
        type: string
      example: web
    DeviceId:
      in: header
      name: deviceId
      required: true
      schema:
        type: string
      example: integration-device
    Authorization:
      in: header
      name: Authorization
      required: true
      schema:
        type: string
      example: Bearer YOUR_ACCESS_TOKEN
  schemas:
    OrganizationRegistration:
      type: object
      required:
        - email
        - password
        - matchingPassword
        - roleIds
        - customerCategory
        - organizationCustomer
      properties:
        email:
          type: string
          example: admin@acmecorp-20260331115443-27f5ae.com
        password:
          type: string
          example: SecurePass123!
        matchingPassword:
          type: string
          example: SecurePass123!
        roleIds:
          type: array
          items:
            type: string
          example:
            - ACCOUNT_OWNER
            - ADMIN
        customerCategory:
          type: object
          required:
            - id
            - name
          properties:
            id:
              type: string
              example: fs-cat-b2b-small-001
            name:
              type: string
              example: Small Business
        organizationCustomer:
          type: object
          required:
            - customerName
            - organization
            - user
          properties:
            customerName:
              type: string
              example: My Company
            organization:
              type: object
              required:
                - legalName
                - tradingName
                - registrationNumber
                - taxId
                - incorporationDate
                - legalForm
                - industry
                - businessDescription
                - website
                - email
                - phone
                - addresses
                - representatives
              properties:
                legalName:
                  type: string
                  example: My Company Ltd.
                tradingName:
                  type: string
                  example: My Company
                registrationNumber:
                  type: string
                  example: REG-20260331115443
                taxId:
                  type: string
                  example: TAX-20260331115443
                incorporationDate:
                  type: string
                  example: '2015-03-20'
                legalForm:
                  type: string
                  example: LIMITED_LIABILITY_COMPANY
                industry:
                  type: string
                  example: TECHNOLOGY
                businessDescription:
                  type: string
                  example: Software development
                website:
                  type: string
                  example: https://acmecorp-20260331115443.com
                email:
                  type: string
                  example: admin@acmecorp-20260331115443-27f5ae.com
                phone:
                  type: string
                  example: '+37065401488'
                addresses:
                  type: array
                  items:
                    type: object
                    required:
                      - type
                      - street
                      - city
                      - postalCode
                      - country
                      - isPrimary
                    properties:
                      type:
                        type: string
                        example: REGISTERED
                      street:
                        type: string
                        example: 123 Business Avenue
                      city:
                        type: string
                        example: Vilnius
                      postalCode:
                        type: string
                        example: LT-01001
                      country:
                        type: string
                        example: Lithuania
                      isPrimary:
                        type: boolean
                        example: true
                representatives:
                  type: array
                  items:
                    type: object
                    required:
                      - firstName
                      - lastName
                      - position
                      - email
                      - phone
                      - dateOfBirth
                      - nationality
                      - isPrimaryOwner
                      - ownershipShare
                    properties:
                      firstName:
                        type: string
                        example: John
                      lastName:
                        type: string
                        example: Director
                      position:
                        type: string
                        example: MANAGING_DIRECTOR
                      email:
                        type: string
                        example: director.20260331115443@acmecorp.com
                      phone:
                        type: string
                        example: '+37067895948'
                      dateOfBirth:
                        type: string
                        example: '1980-01-15'
                      nationality:
                        type: string
                        example: Lithuania
                      isPrimaryOwner:
                        type: boolean
                        example: false
                      ownershipShare:
                        type: number
                        example: 0
            user:
              type: object
              required:
                - username
                - email
                - password
                - status
                - roles
              properties:
                username:
                  type: string
                  example: admin@acmecorp-20260331115443-27f5ae.com
                email:
                  type: string
                  example: admin@acmecorp-20260331115443-27f5ae.com
                password:
                  type: string
                  example: SecurePass123!
                status:
                  type: string
                  example: PENDING_ACTIVATION
                roles:
                  type: array
                  items:
                    type: string
                  example:
                    - ACCOUNT_OWNER
                    - ADMIN
      example:
        email: admin@acmecorp-20260331115443-27f5ae.com
        password: SecurePass123!
        matchingPassword: SecurePass123!
        roleIds:
          - ACCOUNT_OWNER
          - ADMIN
        customerCategory:
          id: fs-cat-b2b-small-001
          name: Small Business
        organizationCustomer:
          customerName: My Company
          organization:
            legalName: My Company Ltd.
            tradingName: My Company
            registrationNumber: REG-20260331115443
            taxId: TAX-20260331115443

````