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

# Onboard a company

> Create a company managed by this partner. Requires an `Idempotency-Key` header (a retry with the same key replays the original response without setup URLs). Requires the `partner:companies:write` scope. Select required `onboarding_mode` (`api_only` or `web_flow`). Missing mode returns 400 `onboarding_mode_required`; a mode without the exact live Partner entitlement returns 403 `onboarding_mode_not_allowed`.



## OpenAPI

````yaml /api-docs/partner-api/openapi.json post /partner/v2/companies/
openapi: 3.0.3
info:
  description: >-
    Onboard and manage companies and their memberships through the current API
    at the `/partner/v2/` HTTP path.
  title: paywise Partner API
  version: current
servers:
  - description: Production environment
    url: https://api.paywise.de
  - description: Sandbox environment
    url: https://api-sandbox.paywise.de
security: []
tags:
  - description: Client companies managed by the partner.
    name: Companies
  - description: Memberships and invitations of a managed company.
    name: Company users
  - description: Webhook endpoints and their signing secrets.
    name: Webhooks
  - description: Delivery log and redelivery of webhook events.
    name: Webhook deliveries
  - description: Ordered feed of the events webhooks deliver.
    name: Events
  - description: Reference catalog of legal forms.
    name: Legal forms
  - description: The authenticated credential and API availability.
    name: Meta
  - description: Rate-limit headroom of the credential.
    name: Usage
externalDocs:
  url: https://docs.paywise.de/api-docs/partner-api/introduction
paths:
  /partner/v2/companies/:
    post:
      tags:
        - Companies
      summary: Onboard a company
      description: >-
        Create a company managed by this partner. Requires an `Idempotency-Key`
        header (a retry with the same key replays the original response without
        setup URLs). Requires the `partner:companies:write` scope. Select
        required `onboarding_mode` (`api_only` or `web_flow`). Missing mode
        returns 400 `onboarding_mode_required`; a mode without the exact live
        Partner entitlement returns 403 `onboarding_mode_not_allowed`.
      operationId: onboard-a-company
      parameters:
        - description: >-
            Required client-supplied key scoped to the Partner owner, method,
            operation and path. An exact retry replays the original response
            while it is retained, including after credential rotation or
            replacement. Current permissions are required.
          in: header
          name: Idempotency-Key
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            examples:
              CreateCompany:
                summary: Create company
                value:
                  address:
                    city: Berlin
                    country: DE
                    postal_code: '10115'
                    street: Example Avenue 5
                  data_sharing_basis: self_authorized
                  default_claim_type: H11
                  external_reference: crm-4711
                  legal_form: gmbh
                  legal_representatives:
                    - name: Taylor Example
                      type: managing_director
                  name: Example Manufacturing GmbH
                  notification_channels:
                    - notifications:
                        - requests_to_client
                        - status_updates
                        - statements
                      type: email
                      value: operations@example.test
                  onboarding_mode: api_only
                  payout_bank_account:
                    account_holder: Example Manufacturing GmbH
                    iban: DE89370400440532013000
                  phone: '+49301234567'
                  tax_treatment: input_tax_deductible
                  users:
                    - email: admin@example.test
                      first_name: Taylor
                      last_name: Example
                      role: admin
                      skip_email_verification: false
                  vat_number: DE129273398
              company-create-inline-users:
                value:
                  address:
                    city: Berlin
                    country: DE
                    postal_code: '10115'
                    street: Example Avenue 5
                  data_sharing_basis: self_authorized
                  default_claim_type: H11
                  external_reference: crm-4711
                  legal_form: gmbh
                  legal_representatives:
                    - name: Taylor Example
                      type: managing_director
                  name: Example Manufacturing GmbH
                  notification_channels:
                    - notifications:
                        - requests_to_client
                        - status_updates
                        - statements
                      type: email
                      value: operations@example.test
                  onboarding_mode: api_only
                  payout_bank_account:
                    account_holder: Example Manufacturing GmbH
                    iban: DE89370400440532013000
                  phone: '+49301234567'
                  tax_treatment: input_tax_deductible
                  users:
                    - email: admin@example.test
                      first_name: Taylor
                      last_name: Example
                      role: admin
                      skip_email_verification: false
                  vat_number: DE129273398
            schema:
              $ref: '#/components/schemas/CompanyCreateRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              examples:
                Company:
                  value:
                    address:
                      city: Berlin
                      country: DE
                      postal_code: '10115'
                      street: Example Avenue 5
                    case_access: available
                    case_submission_readiness:
                      issues: []
                      ready: true
                    created_at: '2026-07-18T10:00:00Z'
                    customer_number: 5G0123
                    default_claim_type: H11
                    external_reference: crm-4711
                    id: 12000000-0000-4000-8000-000000000001
                    legal_form: gmbh
                    legal_representatives:
                      - name: Taylor Example
                        type: managing_director
                    name: Example Manufacturing GmbH
                    notification_channels:
                      - notifications:
                          - requests_to_client
                          - status_updates
                          - statements
                        type: email
                        value: operations@example.test
                    onboarding_mode: api_only
                    onboarding_status: confirmation_not_required
                    payout_bank_account:
                      account_holder: Example Manufacturing GmbH
                      iban: DE89370400440532013000
                    phone: '+49301234567'
                    sandbox_origin: unclassified
                    tax_treatment: input_tax_deductible
                    updated_at: '2026-07-18T10:00:00Z'
                    users:
                      - created_at: '2026-07-18T10:00:00Z'
                        email: admin@example.test
                        first_name: Taylor
                        id: 13000000-0000-4000-8000-000000000001
                        invite_expires_at: '2026-07-28T10:00:00Z'
                        last_name: Example
                        revocation_reason: ''
                        revoked_at: null
                        revoked_by_token_id: null
                        role: admin
                        sandbox_origin: unclassified
                        setup_url: >-
                          https://app.paywise.de/account/einladung/14000000-0000-4000-8000-000000000001/
                        status: pending_setup
                        updated_at: '2026-07-18T10:00:00Z'
                    vat_number: DE129273398
                company-incomplete:
                  value:
                    address:
                      city: Berlin
                      country: DE
                      postal_code: '10115'
                      street: Example Avenue 5
                    case_access: available
                    case_submission_readiness:
                      issues:
                        - code: active_payout_account_required
                          field: company.payout_bank_account
                          message: An active payout bank account is required.
                      ready: false
                    created_at: '2026-07-18T10:00:00Z'
                    customer_number: 5G0123
                    default_claim_type: H11
                    external_reference: crm-4711
                    id: 12000000-0000-4000-8000-000000000001
                    legal_form: gmbh
                    legal_representatives:
                      - name: Taylor Example
                        type: managing_director
                    name: Example Manufacturing GmbH
                    notification_channels:
                      - notifications:
                          - requests_to_client
                          - status_updates
                          - statements
                        type: email
                        value: operations@example.test
                    onboarding_mode: api_only
                    onboarding_status: confirmation_not_required
                    payout_bank_account: null
                    phone: '+49301234567'
                    sandbox_origin: unclassified
                    tax_treatment: input_tax_deductible
                    updated_at: '2026-07-18T10:00:00Z'
                    users:
                      - created_at: '2026-07-18T10:00:00Z'
                        email: admin@example.test
                        first_name: Taylor
                        id: 13000000-0000-4000-8000-000000000001
                        invite_expires_at: '2026-07-28T10:00:00Z'
                        last_name: Example
                        revocation_reason: ''
                        revoked_at: null
                        revoked_by_token_id: null
                        role: admin
                        sandbox_origin: unclassified
                        status: pending_setup
                        updated_at: '2026-07-18T10:00:00Z'
                    vat_number: DE129273398
                company-ready:
                  value:
                    address:
                      city: Berlin
                      country: DE
                      postal_code: '10115'
                      street: Example Avenue 5
                    case_access: available
                    case_submission_readiness:
                      issues: []
                      ready: true
                    created_at: '2026-07-18T10:00:00Z'
                    customer_number: 5G0123
                    default_claim_type: H11
                    external_reference: crm-4711
                    id: 12000000-0000-4000-8000-000000000001
                    legal_form: gmbh
                    legal_representatives:
                      - name: Taylor Example
                        type: managing_director
                    name: Example Manufacturing GmbH
                    notification_channels:
                      - notifications:
                          - requests_to_client
                          - status_updates
                          - statements
                        type: email
                        value: operations@example.test
                    onboarding_mode: api_only
                    onboarding_status: confirmation_not_required
                    payout_bank_account:
                      account_holder: Example Manufacturing GmbH
                      iban: DE89370400440532013000
                    phone: '+49301234567'
                    sandbox_origin: unclassified
                    tax_treatment: input_tax_deductible
                    updated_at: '2026-07-18T10:00:00Z'
                    users:
                      - created_at: '2026-07-18T10:00:00Z'
                        email: admin@example.test
                        first_name: Taylor
                        id: 13000000-0000-4000-8000-000000000001
                        invite_expires_at: '2026-07-28T10:00:00Z'
                        last_name: Example
                        revocation_reason: ''
                        revoked_at: null
                        revoked_by_token_id: null
                        role: admin
                        sandbox_origin: unclassified
                        setup_url: >-
                          https://app.paywise.de/account/einladung/14000000-0000-4000-8000-000000000001/
                        status: pending_setup
                        updated_at: '2026-07-18T10:00:00Z'
                    vat_number: DE129273398
                idempotent-replay:
                  value:
                    address:
                      city: Berlin
                      country: DE
                      postal_code: '10115'
                      street: Example Avenue 5
                    case_access: available
                    case_submission_readiness:
                      issues: []
                      ready: true
                    created_at: '2026-07-18T10:00:00Z'
                    customer_number: 5G0123
                    default_claim_type: H11
                    external_reference: crm-4711
                    id: 12000000-0000-4000-8000-000000000001
                    legal_form: gmbh
                    legal_representatives:
                      - name: Taylor Example
                        type: managing_director
                    name: Example Manufacturing GmbH
                    notification_channels:
                      - notifications:
                          - requests_to_client
                          - status_updates
                          - statements
                        type: email
                        value: operations@example.test
                    onboarding_mode: api_only
                    onboarding_status: confirmation_not_required
                    payout_bank_account:
                      account_holder: Example Manufacturing GmbH
                      iban: DE89370400440532013000
                    phone: '+49301234567'
                    sandbox_origin: unclassified
                    tax_treatment: input_tax_deductible
                    updated_at: '2026-07-18T10:00:00Z'
                    users:
                      - created_at: '2026-07-18T10:00:00Z'
                        email: admin@example.test
                        first_name: Taylor
                        id: 13000000-0000-4000-8000-000000000001
                        invite_expires_at: '2026-07-28T10:00:00Z'
                        last_name: Example
                        revocation_reason: ''
                        revoked_at: null
                        revoked_by_token_id: null
                        role: admin
                        sandbox_origin: unclassified
                        status: pending_setup
                        updated_at: '2026-07-18T10:00:00Z'
                    vat_number: DE129273398
              schema:
                $ref: '#/components/schemas/CompanyCreateResponse'
          description: ''
          headers:
            Cache-Control:
              description: >-
                Cacheability directive. Authenticated responses use `private,
                no-store`; the legal-form catalog may use `private,
                max-age=86400`.
              schema:
                type: string
            X-Paywise-Environment:
              description: Environment that produced the response.
              schema:
                enum:
                  - production
                  - sandbox
                type: string
            X-Paywise-Request-Id:
              description: >-
                Fresh server-assigned correlation id for this response.
                Caller-provided request ids are ignored.
              schema:
                format: uuid
                type: string
        '400':
          content:
            application/json:
              examples:
                validation-error:
                  value:
                    code: validation_error
                    detail: The request contains invalid data.
                    errors:
                      - code: invalid
                        field: users[0].email
                        message: Enter a valid email address.
              schema:
                $ref: '#/components/schemas/Error'
          description: ''
          headers:
            Cache-Control:
              description: >-
                Cacheability directive. Authenticated responses use `private,
                no-store`; the legal-form catalog may use `private,
                max-age=86400`.
              schema:
                type: string
            X-Paywise-Environment:
              description: Environment that produced the response.
              schema:
                enum:
                  - production
                  - sandbox
                type: string
            X-Paywise-Request-Id:
              description: >-
                Fresh server-assigned correlation id for this response.
                Caller-provided request ids are ignored.
              schema:
                format: uuid
                type: string
        '401':
          content:
            application/json:
              examples:
                authentication-error:
                  value:
                    code: not_authenticated
                    detail: Authentication credentials were not provided.
              schema:
                $ref: '#/components/schemas/Error'
          description: ''
          headers:
            Cache-Control:
              description: >-
                Cacheability directive. Authenticated responses use `private,
                no-store`; the legal-form catalog may use `private,
                max-age=86400`.
              schema:
                type: string
            X-Paywise-Environment:
              description: Environment that produced the response.
              schema:
                enum:
                  - production
                  - sandbox
                type: string
            X-Paywise-Request-Id:
              description: >-
                Fresh server-assigned correlation id for this response.
                Caller-provided request ids are ignored.
              schema:
                format: uuid
                type: string
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: ''
          headers:
            Cache-Control:
              description: >-
                Cacheability directive. Authenticated responses use `private,
                no-store`; the legal-form catalog may use `private,
                max-age=86400`.
              schema:
                type: string
            X-Paywise-Environment:
              description: Environment that produced the response.
              schema:
                enum:
                  - production
                  - sandbox
                type: string
            X-Paywise-Request-Id:
              description: >-
                Fresh server-assigned correlation id for this response.
                Caller-provided request ids are ignored.
              schema:
                format: uuid
                type: string
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyExistsError'
          description: Standard error response.
          headers:
            Cache-Control:
              description: >-
                Cacheability directive. Authenticated responses use `private,
                no-store`; the legal-form catalog may use `private,
                max-age=86400`.
              schema:
                type: string
            X-Paywise-Environment:
              description: Environment that produced the response.
              schema:
                enum:
                  - production
                  - sandbox
                type: string
            X-Paywise-Request-Id:
              description: >-
                Fresh server-assigned correlation id for this response.
                Caller-provided request ids are ignored.
              schema:
                format: uuid
                type: string
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Standard error response.
          headers:
            Cache-Control:
              description: >-
                Cacheability directive. Authenticated responses use `private,
                no-store`; the legal-form catalog may use `private,
                max-age=86400`.
              schema:
                type: string
            Retry-After:
              description: Integer seconds to wait before retrying a throttled request.
              schema:
                minimum: 1
                type: integer
            X-Paywise-Environment:
              description: Environment that produced the response.
              schema:
                enum:
                  - production
                  - sandbox
                type: string
            X-Paywise-Request-Id:
              description: >-
                Fresh server-assigned correlation id for this response.
                Caller-provided request ids are ignored.
              schema:
                format: uuid
                type: string
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Standard error response.
          headers:
            Cache-Control:
              description: >-
                Cacheability directive. Authenticated responses use `private,
                no-store`; the legal-form catalog may use `private,
                max-age=86400`.
              schema:
                type: string
            X-Paywise-Environment:
              description: Environment that produced the response.
              schema:
                enum:
                  - production
                  - sandbox
                type: string
            X-Paywise-Request-Id:
              description: >-
                Fresh server-assigned correlation id for this response.
                Caller-provided request ids are ignored.
              schema:
                format: uuid
                type: string
      security:
        - partnerBearerAuth: []
components:
  schemas:
    CompanyCreateRequest:
      description: Explicit create input; the selected mode belongs to the authorization.
      properties:
        address:
          allOf:
            - $ref: '#/components/schemas/AddressRequest'
          description: >-
            Postal address of the company. Omit or set null to create the
            company without an address.
          nullable: true
        data_sharing_basis:
          allOf:
            - $ref: '#/components/schemas/DataSharingBasisEnum'
          description: >-
            Legal basis on which the partner may share this company's data. The
            declaration is optional here; once recorded, repeating the same
            value is allowed but replacing it returns 409
            data_sharing_basis_already_declared.
          writeOnly: true
        default_claim_type:
          allOf:
            - $ref: '#/components/schemas/DefaultClaimTypeEnum'
          description: |-
            Default contract or transaction type for new principal claims.

            * `H05` - Dienstleistungsvertrag
            * `H43` - Warenlieferung/-en
            * `H22` - Mitgliedsbeitrag
            * `H21` - Miete
            * `H11` - Kaufvertrag
            * `H44` - Werkvertrag/Werklieferungsvertrag
            * `H08` - Handwerkerleistung
            * `H41` - Versicherungsprämie/-beitrag
            * `H16` - Lehrgangs-/Unterrichtskosten
            * `H10` - Hotelkosten
            * `H02` - Ärztliche oder zahnärztliche Leistung
            * `H28` - Schadenersatz aus Vertrag
            * `H26` - Reparaturleistung
            * `H24` - Rechtsanwalts-/Rechtsbeistandshonorar
            * `H06` - Frachtkosten
            * `H18` - Miete für Kraftfahrzeug
            * `H34` - Speditionskosten
            * `H19` - Miete für Wohnraum einschl. Nebenkosten
            * `H42` - Versorgungsleistung - Strom, Wasser, Gas, Wärme-
            * `H17` - Miete für Geschäftsraum einschl. Nebenkosten
            * `H45` - Zeitungs-/Zeitschriftenbezug
            * `H37` - Ungerechtfertigte Bereicherung
            * `H29` - Schadenersatz aus Unfall/Vorfall
            * `H01` - Anzeigen in Zeitungen u.a.
            * `H78` - Tierärztliche Leistung
            * `H14` - Lagerkosten
            * `H77` - Krankentransportkosten
            * `H40` - Vermittlungs-/Maklerprovision
            * `H15` - Leasing/Mietkauf
            * `H23` - Pacht
            * `H04` - Darlehensrückzahlung
            * `H20` - Mietnebenkosten - auch Renovierungskosten-
            * `H79` - Verpflegungskosten
            * `H75` - Reisevertrag
            * `H33` - Schuldanerkenntnis
            * `H39` - Vergleich, außergerichtlicher
            * `H70` - Kindertagesstättenbeitrag
            * `H90` - Wohngeld/Hausgeld für Wohnungseigentümergemeinschaft
            * `H09` - Heimunterbringung
            * `H03` - Bürgschaft
            * `H07` - Geschäftsbesorgung durch Selbständige
            * `H12` - Kontokorrentabrechnung
            * `H13` - Krankenhauskosten-Pflege/Behandlung
            * `H36` - Überziehung des Bankkontos
            * `H61` - Wahlleistungen bei stationärer Behandlung
            * `H76` - Telekommunikationsleistungen
          nullable: true
        external_reference:
          description: >-
            Your identifier for this company, unique within your partner
            organization. A duplicate returns 409 company_exists with the
            existing company_id. Omit or set null if you do not assign one.
            Filter by ?external_reference= on the company list.
          maxLength: 120
          minLength: 1
          nullable: true
          type: string
        legal_form:
          description: >-
            Permanent public code from GET /legal-forms/, or null when not set.
            A non-null legal_form is required when legal_representatives is
            nonempty. On PATCH, omission preserves the current form; it cannot
            be cleared while retaining representatives. Changes follow the
            paywise UI identity lock: after transfer for processing, or once
            company data is complete and a case has been submitted.
          nullable: true
          type: string
        legal_representatives:
          description: >-
            People or organizations legally representing the company, up to
            three, with roles matching legal_form. A nonempty array requires a
            non-null legal_form. They cannot be changed once company data
            submission is complete, even before the first case submission.
            Maximum 3 entries; exceeding this limit returns 400
            validation_error.
          items:
            $ref: '#/components/schemas/LegalRepresentativeRequest'
          type: array
        name:
          description: >-
            Registered or trading name of the company. Changes follow the
            paywise UI identity lock: after transfer for processing, or once
            company data is complete and a case has been submitted.
          maxLength: 255
          minLength: 1
          type: string
        notification_channels:
          description: >-
            Company-level email recipients for operational notifications, up to
            10. Omit or send [] if no company-level recipients are supplied yet.
            Each recipient has its own notification selection.
          items:
            $ref: '#/components/schemas/PartnerCompanyNotificationChannelRequest'
          maxItems: 10
          type: array
        onboarding_mode:
          allOf:
            - $ref: '#/components/schemas/OnboardingModeEnum'
          description: >-
            Required choice of api_only or web_flow for this company. paywise
            must enable the exact corresponding Partner entitlement; wildcard
            scopes grant neither. Missing mode returns 400
            onboarding_mode_required; an unentitled mode returns 403
            onboarding_mode_not_allowed. The selected mode cannot be changed by
            PATCH (409 onboarding_mode_immutable).
        payout_bank_account:
          allOf:
            - $ref: '#/components/schemas/PayoutBankAccountRequest'
          description: >-
            Account to which collected funds are transferred. Omit or set null
            if no account is provided yet. After the first case submission,
            changes must use the secured payout-account change process in the
            paywise UI.
          nullable: true
        phone:
          description: >-
            Primary telephone number of the company in E.164 format; `null`
            clears it.
          maxLength: 50
          minLength: 1
          nullable: true
          type: string
        tax_treatment:
          allOf:
            - $ref: '#/components/schemas/TaxTreatmentEnum'
          description: >-
            Company VAT treatment, consistent with the address country.
            reverse_charge requires vat_number. Changes follow the paywise UI
            identity lock: after transfer for processing, or once company data
            is complete and a case has been submitted.
          nullable: true
        users:
          description: >-
            Users to invite to the managed company during creation, up to 10.
            Omit or send [] to create the company without users. A nonempty
            array must include at least one entry with role admin; its position
            in the array does not matter. Each is created as pending_setup and
            gains access only after accepting the setup invitation. Manage
            memberships through the company users endpoints after creation. Each
            inline membership also consumes one of the Partner-wide 60
            membership additions per hour; company creation consumes one of 30
            company creations per hour. All credentials share these allowances.
            Only successful non-replay commands count. If either allowance is
            exceeded, the entire command returns 429 throttled with Retry-After
            and creates nothing.
          items:
            $ref: '#/components/schemas/MembershipRequest'
          maxItems: 10
          type: array
        vat_number:
          description: >-
            Company VAT identification number. Required when tax_treatment is
            reverse_charge. Changes follow the paywise UI identity lock: after
            transfer for processing, or once company data is complete and a case
            has been submitted.
          maxLength: 64
          nullable: true
          type: string
      required:
        - name
        - onboarding_mode
      type: object
    CompanyCreateResponse:
      description: The live 201 can reveal only setup links issued by this command.
      properties:
        address:
          allOf:
            - $ref: '#/components/schemas/Address'
          description: Postal address of the company.
          nullable: true
        case_access:
          allOf:
            - $ref: '#/components/schemas/CaseAccessEnum'
          description: >-
            Whether the partner may operate the Case Management API for this
            company.
          readOnly: true
        case_submission_readiness:
          allOf:
            - $ref: '#/components/schemas/CaseSubmissionReadiness'
          description: Whether company data is complete enough to submit a case.
          readOnly: true
        created_at:
          description: Time at which the managed company was created.
          format: date-time
          readOnly: true
          type: string
        customer_number:
          description: paywise customer number assigned to the managed company.
          readOnly: true
          type: string
        default_claim_type:
          allOf:
            - $ref: '#/components/schemas/DefaultClaimTypeEnum'
          description: |-
            Default contract or transaction type for new principal claims.

            * `H05` - Dienstleistungsvertrag
            * `H43` - Warenlieferung/-en
            * `H22` - Mitgliedsbeitrag
            * `H21` - Miete
            * `H11` - Kaufvertrag
            * `H44` - Werkvertrag/Werklieferungsvertrag
            * `H08` - Handwerkerleistung
            * `H41` - Versicherungsprämie/-beitrag
            * `H16` - Lehrgangs-/Unterrichtskosten
            * `H10` - Hotelkosten
            * `H02` - Ärztliche oder zahnärztliche Leistung
            * `H28` - Schadenersatz aus Vertrag
            * `H26` - Reparaturleistung
            * `H24` - Rechtsanwalts-/Rechtsbeistandshonorar
            * `H06` - Frachtkosten
            * `H18` - Miete für Kraftfahrzeug
            * `H34` - Speditionskosten
            * `H19` - Miete für Wohnraum einschl. Nebenkosten
            * `H42` - Versorgungsleistung - Strom, Wasser, Gas, Wärme-
            * `H17` - Miete für Geschäftsraum einschl. Nebenkosten
            * `H45` - Zeitungs-/Zeitschriftenbezug
            * `H37` - Ungerechtfertigte Bereicherung
            * `H29` - Schadenersatz aus Unfall/Vorfall
            * `H01` - Anzeigen in Zeitungen u.a.
            * `H78` - Tierärztliche Leistung
            * `H14` - Lagerkosten
            * `H77` - Krankentransportkosten
            * `H40` - Vermittlungs-/Maklerprovision
            * `H15` - Leasing/Mietkauf
            * `H23` - Pacht
            * `H04` - Darlehensrückzahlung
            * `H20` - Mietnebenkosten - auch Renovierungskosten-
            * `H79` - Verpflegungskosten
            * `H75` - Reisevertrag
            * `H33` - Schuldanerkenntnis
            * `H39` - Vergleich, außergerichtlicher
            * `H70` - Kindertagesstättenbeitrag
            * `H90` - Wohngeld/Hausgeld für Wohnungseigentümergemeinschaft
            * `H09` - Heimunterbringung
            * `H03` - Bürgschaft
            * `H07` - Geschäftsbesorgung durch Selbständige
            * `H12` - Kontokorrentabrechnung
            * `H13` - Krankenhauskosten-Pflege/Behandlung
            * `H36` - Überziehung des Bankkontos
            * `H61` - Wahlleistungen bei stationärer Behandlung
            * `H76` - Telekommunikationsleistungen
          nullable: true
        external_reference:
          description: >-
            Your own identifier for this company (for example a CRM id). Unique
            per partner, compared byte-exact after trimming surrounding
            whitespace (case-sensitive): creating a second company with the same
            value returns 409 company_exists with the existing company_id.
            Filter with ?external_reference= on the list endpoint.
          maxLength: 120
          nullable: true
          type: string
        id:
          description: Stable identifier for this resource.
          format: uuid
          readOnly: true
          type: string
        legal_form:
          description: Permanent public code from GET /legal-forms/.
          nullable: true
          type: string
        legal_representatives:
          description: People or organizations legally representing the company.
          items:
            $ref: '#/components/schemas/LegalRepresentative'
          type: array
        name:
          description: Registered or trading name of the company.
          maxLength: 255
          type: string
        notification_channels:
          description: Company-level email recipients for operational notifications.
          items:
            $ref: '#/components/schemas/PartnerCompanyNotificationChannel'
          type: array
        onboarding_mode:
          allOf:
            - $ref: '#/components/schemas/OnboardingModeEnum'
          description: >-
            Selected mode for this Partner-company relationship. Read-only after
            creation.
          readOnly: true
        onboarding_status:
          allOf:
            - $ref: '#/components/schemas/OnboardingStatusEnum'
          description: >-
            Administrator confirmation status: confirmation_not_required for
            api_only; confirmation_pending for provisional web_flow; confirmed
            for confirmed web_flow. Poll this field independently of membership
            setup or email delivery.
          readOnly: true
        payout_bank_account:
          allOf:
            - $ref: '#/components/schemas/PayoutBankAccount'
          description: Account to which collected funds are transferred.
          nullable: true
        phone:
          description: >-
            Primary telephone number of the company in E.164 format; `null`
            clears it.
          maxLength: 50
          nullable: true
          type: string
        sandbox_origin:
          allOf:
            - $ref: '#/components/schemas/SandboxOriginEnum'
          description: >-
            Provenance of this record. `sandbox_native` — created inside the
            sandbox and therefore a test resource you fully own.
            `production_mirror` — a read-only copy of a production record.
            `unclassified` — everything else, including every record in
            production. Determines what may be changed in the sandbox, so it is
            published rather than left to guesswork.


            * `production_mirror` - Production mirror

            * `sandbox_native` - Sandbox native

            * `unclassified` - Unclassified
          readOnly: true
        tax_treatment:
          allOf:
            - $ref: '#/components/schemas/TaxTreatmentEnum'
          description: |-
            Company's input-VAT or reverse-charge treatment.

            * `input_tax_deductible` - input_tax_deductible
            * `not_input_tax_deductible` - not_input_tax_deductible
            * `reverse_charge` - reverse_charge
            * `third_country_non_taxable` - third_country_non_taxable
          nullable: true
        updated_at:
          description: Time at which the managed company was last updated.
          format: date-time
          readOnly: true
          type: string
        users:
          description: >-
            Inline memberships created by this command. A freshly issued
            invitation includes a secret setup_url only in the first live 201
            response. Reused memberships, idempotent replay, list and detail
            omit the URL. Use membership resend to replace a lost setup token
            and receive a fresh URL once.
          items:
            $ref: '#/components/schemas/MembershipWithSetupUrl'
          readOnly: true
          type: array
        vat_number:
          description: VAT identification number of the company.
          maxLength: 64
          nullable: true
          type: string
      required:
        - case_access
        - case_submission_readiness
        - created_at
        - customer_number
        - id
        - name
        - onboarding_mode
        - onboarding_status
        - sandbox_origin
        - updated_at
        - users
      type: object
    Error:
      properties:
        code:
          description: Machine-readable error category.
          type: string
        detail:
          description: Short human-readable summary of the error.
          type: string
        errors:
          description: Field-level validation errors, when applicable.
          items:
            $ref: '#/components/schemas/ErrorItem'
          type: array
      required:
        - detail
        - code
      type: object
    CompanyExistsError:
      properties:
        code:
          description: Machine-readable error category.
          type: string
        company_id:
          description: Identifier of the existing company with this external_reference.
          format: uuid
          type: string
        detail:
          description: Short human-readable summary of the error.
          type: string
        errors:
          description: Field-level validation errors, when applicable.
          items:
            $ref: '#/components/schemas/ErrorItem'
          type: array
      required:
        - detail
        - code
      type: object
    AddressRequest:
      description: |-
        Canonical company postal address.

        A supplied `address` replaces the company address; when the company
        already has one, omitted keys keep their stored value (merge). A company
        without an address must receive the complete object.
      properties:
        city:
          description: City or locality of the company address.
          maxLength: 100
          minLength: 1
          type: string
        country:
          allOf:
            - $ref: '#/components/schemas/CountryEnum'
          description: |-
            Country as a two-letter ISO 3166-1 code.

            * `AF` - Afghanistan
            * `AX` - Åland Islands
            * `AL` - Albania
            * `DZ` - Algeria
            * `AS` - American Samoa
            * `AD` - Andorra
            * `AO` - Angola
            * `AI` - Anguilla
            * `AQ` - Antarctica
            * `AG` - Antigua and Barbuda
            * `AR` - Argentina
            * `AM` - Armenia
            * `AW` - Aruba
            * `AU` - Australia
            * `AT` - Austria
            * `AZ` - Azerbaijan
            * `BS` - Bahamas
            * `BH` - Bahrain
            * `BD` - Bangladesh
            * `BB` - Barbados
            * `BY` - Belarus
            * `BE` - Belgium
            * `BZ` - Belize
            * `BJ` - Benin
            * `BM` - Bermuda
            * `BT` - Bhutan
            * `BO` - Bolivia
            * `BQ` - Bonaire, Sint Eustatius and Saba
            * `BA` - Bosnia and Herzegovina
            * `BW` - Botswana
            * `BV` - Bouvet Island
            * `BR` - Brazil
            * `IO` - British Indian Ocean Territory
            * `BN` - Brunei
            * `BG` - Bulgaria
            * `BF` - Burkina Faso
            * `BI` - Burundi
            * `CV` - Cabo Verde
            * `KH` - Cambodia
            * `CM` - Cameroon
            * `CA` - Canada
            * `KY` - Cayman Islands
            * `CF` - Central African Republic
            * `TD` - Chad
            * `CL` - Chile
            * `CN` - China
            * `CX` - Christmas Island
            * `CC` - Cocos (Keeling) Islands
            * `CO` - Colombia
            * `KM` - Comoros
            * `CG` - Congo
            * `CD` - Congo (the Democratic Republic of the)
            * `CK` - Cook Islands
            * `CR` - Costa Rica
            * `CI` - Côte d'Ivoire
            * `HR` - Croatia
            * `CU` - Cuba
            * `CW` - Curaçao
            * `CY` - Cyprus
            * `CZ` - Czechia
            * `DK` - Denmark
            * `DJ` - Djibouti
            * `DM` - Dominica
            * `DO` - Dominican Republic
            * `EC` - Ecuador
            * `EG` - Egypt
            * `SV` - El Salvador
            * `GQ` - Equatorial Guinea
            * `ER` - Eritrea
            * `EE` - Estonia
            * `SZ` - Eswatini
            * `ET` - Ethiopia
            * `FK` - Falkland Islands (Malvinas)
            * `FO` - Faroe Islands
            * `FJ` - Fiji
            * `FI` - Finland
            * `FR` - France
            * `GF` - French Guiana
            * `PF` - French Polynesia
            * `TF` - French Southern Territories
            * `GA` - Gabon
            * `GM` - Gambia
            * `GE` - Georgia
            * `DE` - Germany
            * `GH` - Ghana
            * `GI` - Gibraltar
            * `GR` - Greece
            * `GL` - Greenland
            * `GD` - Grenada
            * `GP` - Guadeloupe
            * `GU` - Guam
            * `GT` - Guatemala
            * `GG` - Guernsey
            * `GN` - Guinea
            * `GW` - Guinea-Bissau
            * `GY` - Guyana
            * `HT` - Haiti
            * `HM` - Heard Island and McDonald Islands
            * `VA` - Holy See
            * `HN` - Honduras
            * `HK` - Hong Kong
            * `HU` - Hungary
            * `IS` - Iceland
            * `IN` - India
            * `ID` - Indonesia
            * `IR` - Iran
            * `IQ` - Iraq
            * `IE` - Ireland
            * `IM` - Isle of Man
            * `IL` - Israel
            * `IT` - Italy
            * `JM` - Jamaica
            * `JP` - Japan
            * `JE` - Jersey
            * `JO` - Jordan
            * `KZ` - Kazakhstan
            * `KE` - Kenya
            * `KI` - Kiribati
            * `XK` - Kosovo
            * `KW` - Kuwait
            * `KG` - Kyrgyzstan
            * `LA` - Laos
            * `LV` - Latvia
            * `LB` - Lebanon
            * `LS` - Lesotho
            * `LR` - Liberia
            * `LY` - Libya
            * `LI` - Liechtenstein
            * `LT` - Lithuania
            * `LU` - Luxembourg
            * `MO` - Macao
            * `MG` - Madagascar
            * `MW` - Malawi
            * `MY` - Malaysia
            * `MV` - Maldives
            * `ML` - Mali
            * `MT` - Malta
            * `MH` - Marshall Islands
            * `MQ` - Martinique
            * `MR` - Mauritania
            * `MU` - Mauritius
            * `YT` - Mayotte
            * `MX` - Mexico
            * `FM` - Micronesia
            * `MD` - Moldova
            * `MC` - Monaco
            * `MN` - Mongolia
            * `ME` - Montenegro
            * `MS` - Montserrat
            * `MA` - Morocco
            * `MZ` - Mozambique
            * `MM` - Myanmar
            * `NA` - Namibia
            * `NR` - Nauru
            * `NP` - Nepal
            * `NL` - Netherlands
            * `NC` - New Caledonia
            * `NZ` - New Zealand
            * `NI` - Nicaragua
            * `NE` - Niger
            * `NG` - Nigeria
            * `NU` - Niue
            * `NF` - Norfolk Island
            * `KP` - North Korea
            * `MK` - North Macedonia
            * `MP` - Northern Mariana Islands
            * `NO` - Norway
            * `OM` - Oman
            * `PK` - Pakistan
            * `PW` - Palau
            * `PS` - Palestine, State of
            * `PA` - Panama
            * `PG` - Papua New Guinea
            * `PY` - Paraguay
            * `PE` - Peru
            * `PH` - Philippines
            * `PN` - Pitcairn
            * `PL` - Poland
            * `PT` - Portugal
            * `PR` - Puerto Rico
            * `QA` - Qatar
            * `RE` - Réunion
            * `RO` - Romania
            * `RU` - Russia
            * `RW` - Rwanda
            * `BL` - Saint Barthélemy
            * `SH` - Saint Helena, Ascension and Tristan da Cunha
            * `KN` - Saint Kitts and Nevis
            * `LC` - Saint Lucia
            * `MF` - Saint Martin (French part)
            * `PM` - Saint Pierre and Miquelon
            * `VC` - Saint Vincent and the Grenadines
            * `WS` - Samoa
            * `SM` - San Marino
            * `ST` - Sao Tome and Principe
            * `SA` - Saudi Arabia
            * `SN` - Senegal
            * `RS` - Serbia
            * `SC` - Seychelles
            * `SL` - Sierra Leone
            * `SG` - Singapore
            * `SX` - Sint Maarten (Dutch part)
            * `SK` - Slovakia
            * `SI` - Slovenia
            * `SB` - Solomon Islands
            * `SO` - Somalia
            * `ZA` - South Africa
            * `GS` - South Georgia and the South Sandwich Islands
            * `KR` - South Korea
            * `SS` - South Sudan
            * `ES` - Spain
            * `LK` - Sri Lanka
            * `SD` - Sudan
            * `SR` - Suriname
            * `SJ` - Svalbard and Jan Mayen
            * `SE` - Sweden
            * `CH` - Switzerland
            * `SY` - Syria
            * `TW` - Taiwan
            * `TJ` - Tajikistan
            * `TZ` - Tanzania
            * `TH` - Thailand
            * `TL` - Timor-Leste
            * `TG` - Togo
            * `TK` - Tokelau
            * `TO` - Tonga
            * `TT` - Trinidad and Tobago
            * `TN` - Tunisia
            * `TR` - Türkiye
            * `TM` - Turkmenistan
            * `TC` - Turks and Caicos Islands
            * `TV` - Tuvalu
            * `UG` - Uganda
            * `UA` - Ukraine
            * `AE` - United Arab Emirates
            * `GB` - United Kingdom
            * `UM` - United States Minor Outlying Islands
            * `US` - United States of America
            * `UY` - Uruguay
            * `UZ` - Uzbekistan
            * `VU` - Vanuatu
            * `VE` - Venezuela
            * `VN` - Vietnam
            * `VG` - Virgin Islands (British)
            * `VI` - Virgin Islands (U.S.)
            * `WF` - Wallis and Futuna
            * `EH` - Western Sahara
            * `YE` - Yemen
            * `ZM` - Zambia
            * `ZW` - Zimbabwe
        postal_code:
          description: Postal code of the company address.
          maxLength: 100
          minLength: 1
          type: string
        street:
          description: Street and house number of the company address.
          maxLength: 255
          minLength: 1
          type: string
      required:
        - city
        - country
        - postal_code
        - street
      type: object
    DataSharingBasisEnum:
      description: |-
        * `not_secret_carrier` - not_secret_carrier
        * `self_authorized` - self_authorized
      enum:
        - not_secret_carrier
        - self_authorized
      type: string
    DefaultClaimTypeEnum:
      description: |-
        * `H05` - Dienstleistungsvertrag
        * `H43` - Warenlieferung/-en
        * `H22` - Mitgliedsbeitrag
        * `H21` - Miete
        * `H11` - Kaufvertrag
        * `H44` - Werkvertrag/Werklieferungsvertrag
        * `H08` - Handwerkerleistung
        * `H41` - Versicherungsprämie/-beitrag
        * `H16` - Lehrgangs-/Unterrichtskosten
        * `H10` - Hotelkosten
        * `H02` - Ärztliche oder zahnärztliche Leistung
        * `H28` - Schadenersatz aus Vertrag
        * `H26` - Reparaturleistung
        * `H24` - Rechtsanwalts-/Rechtsbeistandshonorar
        * `H06` - Frachtkosten
        * `H18` - Miete für Kraftfahrzeug
        * `H34` - Speditionskosten
        * `H19` - Miete für Wohnraum einschl. Nebenkosten
        * `H42` - Versorgungsleistung - Strom, Wasser, Gas, Wärme-
        * `H17` - Miete für Geschäftsraum einschl. Nebenkosten
        * `H45` - Zeitungs-/Zeitschriftenbezug
        * `H37` - Ungerechtfertigte Bereicherung
        * `H29` - Schadenersatz aus Unfall/Vorfall
        * `H01` - Anzeigen in Zeitungen u.a.
        * `H78` - Tierärztliche Leistung
        * `H14` - Lagerkosten
        * `H77` - Krankentransportkosten
        * `H40` - Vermittlungs-/Maklerprovision
        * `H15` - Leasing/Mietkauf
        * `H23` - Pacht
        * `H04` - Darlehensrückzahlung
        * `H20` - Mietnebenkosten - auch Renovierungskosten-
        * `H79` - Verpflegungskosten
        * `H75` - Reisevertrag
        * `H33` - Schuldanerkenntnis
        * `H39` - Vergleich, außergerichtlicher
        * `H70` - Kindertagesstättenbeitrag
        * `H90` - Wohngeld/Hausgeld für Wohnungseigentümergemeinschaft
        * `H09` - Heimunterbringung
        * `H03` - Bürgschaft
        * `H07` - Geschäftsbesorgung durch Selbständige
        * `H12` - Kontokorrentabrechnung
        * `H13` - Krankenhauskosten-Pflege/Behandlung
        * `H36` - Überziehung des Bankkontos
        * `H61` - Wahlleistungen bei stationärer Behandlung
        * `H76` - Telekommunikationsleistungen
      enum:
        - H05
        - H43
        - H22
        - H21
        - H11
        - H44
        - H08
        - H41
        - H16
        - H10
        - H02
        - H28
        - H26
        - H24
        - H06
        - H18
        - H34
        - H19
        - H42
        - H17
        - H45
        - H37
        - H29
        - H01
        - H78
        - H14
        - H77
        - H40
        - H15
        - H23
        - H04
        - H20
        - H79
        - H75
        - H33
        - H39
        - H70
        - H90
        - H09
        - H03
        - H07
        - H12
        - H13
        - H36
        - H61
        - H76
      type: string
    LegalRepresentativeRequest:
      description: |-
        Legal representative embedded in the company aggregate.

        `type` uses the stable public role codes returned by
        `GET /partner/v2/legal-forms/`.
      properties:
        name:
          description: Full name of the person or organization representing the company.
          maxLength: 255
          minLength: 1
          type: string
        type:
          allOf:
            - $ref: '#/components/schemas/LegalRepresentativeTypeEnum'
          description: >-
            Role of the representative. GET /legal-forms/ lists, per legal form,
            the roles a company must name (representative_requirements).


            * `managing_director` - managing_director

            * `director` - director

            * `board_member` - board_member

            * `chairperson` - chairperson

            * `general_partner` - general_partner

            * `shareholder` - shareholder

            * `owner` - owner

            * `partner` - partner

            * `supervisory_board` - supervisory_board

            * `other` - other
      required:
        - name
        - type
      type: object
    PartnerCompanyNotificationChannelRequest:
      description: Public company-level email notification channel.
      properties:
        notifications:
          description: >-
            Business events delivered to this email address. Omitted, null, or
            empty selections default to requests_to_client, status_updates,
            statements, and advance_requests. Nonempty selections are preserved.
          items:
            $ref: '#/components/schemas/NotificationsEnum'
          nullable: true
          type: array
        type:
          allOf:
            - $ref: '#/components/schemas/PartnerCompanyNotificationChannelTypeEnum'
          description: |-
            Communication channel used for notifications.

            * `email` - email
        value:
          description: Email address receiving the selected notifications.
          format: email
          maxLength: 128
          minLength: 1
          type: string
      required:
        - type
        - value
      type: object
    OnboardingModeEnum:
      enum:
        - api_only
        - web_flow
      type: string
    PayoutBankAccountRequest:
      description: |-
        The company's current payout bank account.

        Any IBAN that passes the shared European IBAN validation is accepted,
        SEPA membership is not enforced here (payout eligibility is a
        settlement concern, see docs/domains/partner/partners.md).
      properties:
        account_holder:
          description: Name of the payout-account holder.
          maxLength: 255
          minLength: 1
          type: string
        bic:
          description: BIC/SWIFT code; required for non-German IBANs.
          maxLength: 11
          nullable: true
          type: string
        iban:
          description: IBAN to which collected funds are transferred.
          maxLength: 34
          minLength: 1
          type: string
      required:
        - account_holder
        - iban
      type: object
    TaxTreatmentEnum:
      description: |-
        * `input_tax_deductible` - input_tax_deductible
        * `not_input_tax_deductible` - not_input_tax_deductible
        * `reverse_charge` - reverse_charge
        * `third_country_non_taxable` - third_country_non_taxable
      enum:
        - input_tax_deductible
        - not_input_tax_deductible
        - reverse_charge
        - third_country_non_taxable
      type: string
    MembershipRequest:
      description: A user's membership in a managed company.
      properties:
        email:
          description: Email address used to identify and invite the user.
          format: email
          maxLength: 128
          minLength: 1
          type: string
        first_name:
          description: Given name of the user.
          maxLength: 128
          minLength: 1
          type: string
        last_name:
          description: Family name of the user.
          maxLength: 128
          minLength: 1
          type: string
        role:
          allOf:
            - $ref: '#/components/schemas/RoleEnum'
          description: >-
            Permissions the user receives within the managed company. The first
            nonterminal company membership must have role admin; cancelled and
            revoked memberships do not count as existing memberships for this
            rule.
        skip_email_verification:
          default: false
          description: >-
            Assert that a newly created global user's email ownership was
            verified out of band. Defaults to false and requires a
            staff-controlled Partner entitlement. The membership still remains
            pending_setup until the invitation is accepted.
          type: boolean
          writeOnly: true
      required:
        - email
        - first_name
        - last_name
        - role
      type: object
    Address:
      description: |-
        Canonical company postal address.

        A supplied `address` replaces the company address; when the company
        already has one, omitted keys keep their stored value (merge). A company
        without an address must receive the complete object.
      properties:
        city:
          description: City or locality of the company address.
          maxLength: 100
          type: string
        country:
          allOf:
            - $ref: '#/components/schemas/CountryEnum'
          description: |-
            Country as a two-letter ISO 3166-1 code.

            * `AF` - Afghanistan
            * `AX` - Åland Islands
            * `AL` - Albania
            * `DZ` - Algeria
            * `AS` - American Samoa
            * `AD` - Andorra
            * `AO` - Angola
            * `AI` - Anguilla
            * `AQ` - Antarctica
            * `AG` - Antigua and Barbuda
            * `AR` - Argentina
            * `AM` - Armenia
            * `AW` - Aruba
            * `AU` - Australia
            * `AT` - Austria
            * `AZ` - Azerbaijan
            * `BS` - Bahamas
            * `BH` - Bahrain
            * `BD` - Bangladesh
            * `BB` - Barbados
            * `BY` - Belarus
            * `BE` - Belgium
            * `BZ` - Belize
            * `BJ` - Benin
            * `BM` - Bermuda
            * `BT` - Bhutan
            * `BO` - Bolivia
            * `BQ` - Bonaire, Sint Eustatius and Saba
            * `BA` - Bosnia and Herzegovina
            * `BW` - Botswana
            * `BV` - Bouvet Island
            * `BR` - Brazil
            * `IO` - British Indian Ocean Territory
            * `BN` - Brunei
            * `BG` - Bulgaria
            * `BF` - Burkina Faso
            * `BI` - Burundi
            * `CV` - Cabo Verde
            * `KH` - Cambodia
            * `CM` - Cameroon
            * `CA` - Canada
            * `KY` - Cayman Islands
            * `CF` - Central African Republic
            * `TD` - Chad
            * `CL` - Chile
            * `CN` - China
            * `CX` - Christmas Island
            * `CC` - Cocos (Keeling) Islands
            * `CO` - Colombia
            * `KM` - Comoros
            * `CG` - Congo
            * `CD` - Congo (the Democratic Republic of the)
            * `CK` - Cook Islands
            * `CR` - Costa Rica
            * `CI` - Côte d'Ivoire
            * `HR` - Croatia
            * `CU` - Cuba
            * `CW` - Curaçao
            * `CY` - Cyprus
            * `CZ` - Czechia
            * `DK` - Denmark
            * `DJ` - Djibouti
            * `DM` - Dominica
            * `DO` - Dominican Republic
            * `EC` - Ecuador
            * `EG` - Egypt
            * `SV` - El Salvador
            * `GQ` - Equatorial Guinea
            * `ER` - Eritrea
            * `EE` - Estonia
            * `SZ` - Eswatini
            * `ET` - Ethiopia
            * `FK` - Falkland Islands (Malvinas)
            * `FO` - Faroe Islands
            * `FJ` - Fiji
            * `FI` - Finland
            * `FR` - France
            * `GF` - French Guiana
            * `PF` - French Polynesia
            * `TF` - French Southern Territories
            * `GA` - Gabon
            * `GM` - Gambia
            * `GE` - Georgia
            * `DE` - Germany
            * `GH` - Ghana
            * `GI` - Gibraltar
            * `GR` - Greece
            * `GL` - Greenland
            * `GD` - Grenada
            * `GP` - Guadeloupe
            * `GU` - Guam
            * `GT` - Guatemala
            * `GG` - Guernsey
            * `GN` - Guinea
            * `GW` - Guinea-Bissau
            * `GY` - Guyana
            * `HT` - Haiti
            * `HM` - Heard Island and McDonald Islands
            * `VA` - Holy See
            * `HN` - Honduras
            * `HK` - Hong Kong
            * `HU` - Hungary
            * `IS` - Iceland
            * `IN` - India
            * `ID` - Indonesia
            * `IR` - Iran
            * `IQ` - Iraq
            * `IE` - Ireland
            * `IM` - Isle of Man
            * `IL` - Israel
            * `IT` - Italy
            * `JM` - Jamaica
            * `JP` - Japan
            * `JE` - Jersey
            * `JO` - Jordan
            * `KZ` - Kazakhstan
            * `KE` - Kenya
            * `KI` - Kiribati
            * `XK` - Kosovo
            * `KW` - Kuwait
            * `KG` - Kyrgyzstan
            * `LA` - Laos
            * `LV` - Latvia
            * `LB` - Lebanon
            * `LS` - Lesotho
            * `LR` - Liberia
            * `LY` - Libya
            * `LI` - Liechtenstein
            * `LT` - Lithuania
            * `LU` - Luxembourg
            * `MO` - Macao
            * `MG` - Madagascar
            * `MW` - Malawi
            * `MY` - Malaysia
            * `MV` - Maldives
            * `ML` - Mali
            * `MT` - Malta
            * `MH` - Marshall Islands
            * `MQ` - Martinique
            * `MR` - Mauritania
            * `MU` - Mauritius
            * `YT` - Mayotte
            * `MX` - Mexico
            * `FM` - Micronesia
            * `MD` - Moldova
            * `MC` - Monaco
            * `MN` - Mongolia
            * `ME` - Montenegro
            * `MS` - Montserrat
            * `MA` - Morocco
            * `MZ` - Mozambique
            * `MM` - Myanmar
            * `NA` - Namibia
            * `NR` - Nauru
            * `NP` - Nepal
            * `NL` - Netherlands
            * `NC` - New Caledonia
            * `NZ` - New Zealand
            * `NI` - Nicaragua
            * `NE` - Niger
            * `NG` - Nigeria
            * `NU` - Niue
            * `NF` - Norfolk Island
            * `KP` - North Korea
            * `MK` - North Macedonia
            * `MP` - Northern Mariana Islands
            * `NO` - Norway
            * `OM` - Oman
            * `PK` - Pakistan
            * `PW` - Palau
            * `PS` - Palestine, State of
            * `PA` - Panama
            * `PG` - Papua New Guinea
            * `PY` - Paraguay
            * `PE` - Peru
            * `PH` - Philippines
            * `PN` - Pitcairn
            * `PL` - Poland
            * `PT` - Portugal
            * `PR` - Puerto Rico
            * `QA` - Qatar
            * `RE` - Réunion
            * `RO` - Romania
            * `RU` - Russia
            * `RW` - Rwanda
            * `BL` - Saint Barthélemy
            * `SH` - Saint Helena, Ascension and Tristan da Cunha
            * `KN` - Saint Kitts and Nevis
            * `LC` - Saint Lucia
            * `MF` - Saint Martin (French part)
            * `PM` - Saint Pierre and Miquelon
            * `VC` - Saint Vincent and the Grenadines
            * `WS` - Samoa
            * `SM` - San Marino
            * `ST` - Sao Tome and Principe
            * `SA` - Saudi Arabia
            * `SN` - Senegal
            * `RS` - Serbia
            * `SC` - Seychelles
            * `SL` - Sierra Leone
            * `SG` - Singapore
            * `SX` - Sint Maarten (Dutch part)
            * `SK` - Slovakia
            * `SI` - Slovenia
            * `SB` - Solomon Islands
            * `SO` - Somalia
            * `ZA` - South Africa
            * `GS` - South Georgia and the South Sandwich Islands
            * `KR` - South Korea
            * `SS` - South Sudan
            * `ES` - Spain
            * `LK` - Sri Lanka
            * `SD` - Sudan
            * `SR` - Suriname
            * `SJ` - Svalbard and Jan Mayen
            * `SE` - Sweden
            * `CH` - Switzerland
            * `SY` - Syria
            * `TW` - Taiwan
            * `TJ` - Tajikistan
            * `TZ` - Tanzania
            * `TH` - Thailand
            * `TL` - Timor-Leste
            * `TG` - Togo
            * `TK` - Tokelau
            * `TO` - Tonga
            * `TT` - Trinidad and Tobago
            * `TN` - Tunisia
            * `TR` - Türkiye
            * `TM` - Turkmenistan
            * `TC` - Turks and Caicos Islands
            * `TV` - Tuvalu
            * `UG` - Uganda
            * `UA` - Ukraine
            * `AE` - United Arab Emirates
            * `GB` - United Kingdom
            * `UM` - United States Minor Outlying Islands
            * `US` - United States of America
            * `UY` - Uruguay
            * `UZ` - Uzbekistan
            * `VU` - Vanuatu
            * `VE` - Venezuela
            * `VN` - Vietnam
            * `VG` - Virgin Islands (British)
            * `VI` - Virgin Islands (U.S.)
            * `WF` - Wallis and Futuna
            * `EH` - Western Sahara
            * `YE` - Yemen
            * `ZM` - Zambia
            * `ZW` - Zimbabwe
        postal_code:
          description: Postal code of the company address.
          maxLength: 100
          type: string
        street:
          description: Street and house number of the company address.
          maxLength: 255
          type: string
      required:
        - city
        - country
        - postal_code
        - street
      type: object
    CaseAccessEnum:
      enum:
        - available
        - unavailable
      type: string
    CaseSubmissionReadiness:
      description: >-
        Deterministic company readiness report for Case Management API
        finalization.
      properties:
        issues:
          description: Missing or invalid data that must be resolved before submission.
          items:
            $ref: '#/components/schemas/ReadinessIssue'
          readOnly: true
          type: array
        ready:
          description: Whether the company currently has all data needed to submit cases.
          readOnly: true
          type: boolean
      required:
        - issues
        - ready
      type: object
    LegalRepresentative:
      description: |-
        Legal representative embedded in the company aggregate.

        `type` uses the stable public role codes returned by
        `GET /partner/v2/legal-forms/`.
      properties:
        name:
          description: Full name of the person or organization representing the company.
          maxLength: 255
          type: string
        type:
          allOf:
            - $ref: '#/components/schemas/LegalRepresentativeTypeEnum'
          description: >-
            Role of the representative. GET /legal-forms/ lists, per legal form,
            the roles a company must name (representative_requirements).


            * `managing_director` - managing_director

            * `director` - director

            * `board_member` - board_member

            * `chairperson` - chairperson

            * `general_partner` - general_partner

            * `shareholder` - shareholder

            * `owner` - owner

            * `partner` - partner

            * `supervisory_board` - supervisory_board

            * `other` - other
      required:
        - name
        - type
      type: object
    PartnerCompanyNotificationChannel:
      description: Public company-level email notification channel.
      properties:
        notifications:
          description: >-
            Business events delivered to this email address. Omitted, null, or
            empty selections default to requests_to_client, status_updates,
            statements, and advance_requests. Nonempty selections are preserved.
          items:
            $ref: '#/components/schemas/NotificationsEnum'
          nullable: true
          type: array
        type:
          allOf:
            - $ref: '#/components/schemas/PartnerCompanyNotificationChannelTypeEnum'
          description: |-
            Communication channel used for notifications.

            * `email` - email
        value:
          description: Email address receiving the selected notifications.
          format: email
          maxLength: 128
          type: string
      required:
        - type
        - value
      type: object
    OnboardingStatusEnum:
      enum:
        - confirmation_not_required
        - confirmation_pending
        - confirmed
      type: string
    PayoutBankAccount:
      description: |-
        The company's current payout bank account.

        Any IBAN that passes the shared European IBAN validation is accepted,
        SEPA membership is not enforced here (payout eligibility is a
        settlement concern, see docs/domains/partner/partners.md).
      properties:
        account_holder:
          description: Name of the payout-account holder.
          maxLength: 255
          type: string
        bic:
          description: BIC/SWIFT code; required for non-German IBANs.
          maxLength: 11
          nullable: true
          type: string
        iban:
          description: IBAN to which collected funds are transferred.
          maxLength: 34
          type: string
      required:
        - account_holder
        - iban
      type: object
    SandboxOriginEnum:
      description: |-
        * `production_mirror` - Production mirror
        * `sandbox_native` - Sandbox native
        * `unclassified` - Unclassified
      enum:
        - production_mirror
        - sandbox_native
        - unclassified
      type: string
    MembershipWithSetupUrl:
      description: |-
        Create/resend response: the membership plus its one-time `setup_url`.

        Same rule as the webhook signing secret: the link is the invite token,
        shown exactly once on the response of the command that issued it. Reads
        use `MembershipSerializer` (no such field) and the view redacts the
        field from the idempotency snapshot, so replays omit it as well.
      properties:
        created_at:
          description: Time at which the membership was created.
          format: date-time
          readOnly: true
          type: string
        email:
          description: >-
            Email address submitted with the invitation while it is unaccepted;
            after acceptance, reflects the user's current profile.
          format: email
          maxLength: 128
          type: string
        first_name:
          description: >-
            Given name submitted with the invitation while it is unaccepted;
            after acceptance, reflects the user's current profile.
          maxLength: 128
          type: string
        id:
          description: >-
            Stable identifier of this user's membership in the managed company.
            Use it as membership_id in the company users endpoints.
          format: uuid
          readOnly: true
          type: string
        invite_expires_at:
          description: >-
            Expiry time of the setup invitation while the membership is
            pending_setup; null when no pending setup invitation is attached.
          format: date-time
          nullable: true
          readOnly: true
          type: string
        last_name:
          description: >-
            Family name submitted with the invitation while it is unaccepted;
            after acceptance, reflects the user's current profile.
          maxLength: 128
          type: string
        revocation_reason:
          description: Reason recorded when the membership was revoked.
          readOnly: true
          type: string
        revoked_at:
          description: Time at which the membership was revoked.
          format: date-time
          nullable: true
          readOnly: true
          type: string
        revoked_by_token_id:
          description: Partner credential that revoked the membership, when applicable.
          format: uuid
          nullable: true
          readOnly: true
          type: string
        role:
          allOf:
            - $ref: '#/components/schemas/RoleEnum'
          description: |-
            Permissions the user receives within the managed company.

            * `admin` - admin
            * `tax_consultant` - tax_consultant
            * `member` - member
            * `readonly` - readonly
            * `developer` - developer
        sandbox_origin:
          allOf:
            - $ref: '#/components/schemas/SandboxOriginEnum'
          description: >-
            Provenance of the user behind this membership — `sandbox_native` for
            a subject created inside the sandbox (a test resource),
            `production_mirror` for a read-only copy of a production user,
            `unclassified` otherwise (always so in production).


            * `production_mirror` - Production mirror

            * `sandbox_native` - Sandbox native

            * `unclassified` - Unclassified
          readOnly: true
        setup_url:
          description: >-
            One-time setup invitation link. Returned on a fresh membership
            invitation or resend; omitted from idempotent replays. Treat the
            link as a secret.
          format: uri
          nullable: true
          readOnly: true
          type: string
        status:
          allOf:
            - $ref: '#/components/schemas/StatusEnum'
          description: >-
            Membership lifecycle state: pending_setup awaits invitation
            acceptance; active grants access; cancelled ends a pending
            invitation; revoked removes an active membership's access.
          readOnly: true
        updated_at:
          description: Time at which the membership was last updated.
          format: date-time
          readOnly: true
          type: string
      required:
        - created_at
        - email
        - first_name
        - id
        - invite_expires_at
        - last_name
        - revocation_reason
        - revoked_at
        - revoked_by_token_id
        - role
        - sandbox_origin
        - status
        - updated_at
      type: object
    ErrorItem:
      properties:
        code:
          description: Machine-readable field error code.
          type: string
        field:
          description: >-
            Path to the field that caused the error, using dots for objects and
            brackets for list indexes, for example `claims[0].amount`; null for
            an error without a field path.
          nullable: true
          type: string
        message:
          description: Human-readable explanation of the field error.
          type: string
      required:
        - field
        - code
        - message
      type: object
    CountryEnum:
      description: |-
        * `AF` - Afghanistan
        * `AX` - Åland Islands
        * `AL` - Albania
        * `DZ` - Algeria
        * `AS` - American Samoa
        * `AD` - Andorra
        * `AO` - Angola
        * `AI` - Anguilla
        * `AQ` - Antarctica
        * `AG` - Antigua and Barbuda
        * `AR` - Argentina
        * `AM` - Armenia
        * `AW` - Aruba
        * `AU` - Australia
        * `AT` - Austria
        * `AZ` - Azerbaijan
        * `BS` - Bahamas
        * `BH` - Bahrain
        * `BD` - Bangladesh
        * `BB` - Barbados
        * `BY` - Belarus
        * `BE` - Belgium
        * `BZ` - Belize
        * `BJ` - Benin
        * `BM` - Bermuda
        * `BT` - Bhutan
        * `BO` - Bolivia
        * `BQ` - Bonaire, Sint Eustatius and Saba
        * `BA` - Bosnia and Herzegovina
        * `BW` - Botswana
        * `BV` - Bouvet Island
        * `BR` - Brazil
        * `IO` - British Indian Ocean Territory
        * `BN` - Brunei
        * `BG` - Bulgaria
        * `BF` - Burkina Faso
        * `BI` - Burundi
        * `CV` - Cabo Verde
        * `KH` - Cambodia
        * `CM` - Cameroon
        * `CA` - Canada
        * `KY` - Cayman Islands
        * `CF` - Central African Republic
        * `TD` - Chad
        * `CL` - Chile
        * `CN` - China
        * `CX` - Christmas Island
        * `CC` - Cocos (Keeling) Islands
        * `CO` - Colombia
        * `KM` - Comoros
        * `CG` - Congo
        * `CD` - Congo (the Democratic Republic of the)
        * `CK` - Cook Islands
        * `CR` - Costa Rica
        * `CI` - Côte d'Ivoire
        * `HR` - Croatia
        * `CU` - Cuba
        * `CW` - Curaçao
        * `CY` - Cyprus
        * `CZ` - Czechia
        * `DK` - Denmark
        * `DJ` - Djibouti
        * `DM` - Dominica
        * `DO` - Dominican Republic
        * `EC` - Ecuador
        * `EG` - Egypt
        * `SV` - El Salvador
        * `GQ` - Equatorial Guinea
        * `ER` - Eritrea
        * `EE` - Estonia
        * `SZ` - Eswatini
        * `ET` - Ethiopia
        * `FK` - Falkland Islands (Malvinas)
        * `FO` - Faroe Islands
        * `FJ` - Fiji
        * `FI` - Finland
        * `FR` - France
        * `GF` - French Guiana
        * `PF` - French Polynesia
        * `TF` - French Southern Territories
        * `GA` - Gabon
        * `GM` - Gambia
        * `GE` - Georgia
        * `DE` - Germany
        * `GH` - Ghana
        * `GI` - Gibraltar
        * `GR` - Greece
        * `GL` - Greenland
        * `GD` - Grenada
        * `GP` - Guadeloupe
        * `GU` - Guam
        * `GT` - Guatemala
        * `GG` - Guernsey
        * `GN` - Guinea
        * `GW` - Guinea-Bissau
        * `GY` - Guyana
        * `HT` - Haiti
        * `HM` - Heard Island and McDonald Islands
        * `VA` - Holy See
        * `HN` - Honduras
        * `HK` - Hong Kong
        * `HU` - Hungary
        * `IS` - Iceland
        * `IN` - India
        * `ID` - Indonesia
        * `IR` - Iran
        * `IQ` - Iraq
        * `IE` - Ireland
        * `IM` - Isle of Man
        * `IL` - Israel
        * `IT` - Italy
        * `JM` - Jamaica
        * `JP` - Japan
        * `JE` - Jersey
        * `JO` - Jordan
        * `KZ` - Kazakhstan
        * `KE` - Kenya
        * `KI` - Kiribati
        * `XK` - Kosovo
        * `KW` - Kuwait
        * `KG` - Kyrgyzstan
        * `LA` - Laos
        * `LV` - Latvia
        * `LB` - Lebanon
        * `LS` - Lesotho
        * `LR` - Liberia
        * `LY` - Libya
        * `LI` - Liechtenstein
        * `LT` - Lithuania
        * `LU` - Luxembourg
        * `MO` - Macao
        * `MG` - Madagascar
        * `MW` - Malawi
        * `MY` - Malaysia
        * `MV` - Maldives
        * `ML` - Mali
        * `MT` - Malta
        * `MH` - Marshall Islands
        * `MQ` - Martinique
        * `MR` - Mauritania
        * `MU` - Mauritius
        * `YT` - Mayotte
        * `MX` - Mexico
        * `FM` - Micronesia
        * `MD` - Moldova
        * `MC` - Monaco
        * `MN` - Mongolia
        * `ME` - Montenegro
        * `MS` - Montserrat
        * `MA` - Morocco
        * `MZ` - Mozambique
        * `MM` - Myanmar
        * `NA` - Namibia
        * `NR` - Nauru
        * `NP` - Nepal
        * `NL` - Netherlands
        * `NC` - New Caledonia
        * `NZ` - New Zealand
        * `NI` - Nicaragua
        * `NE` - Niger
        * `NG` - Nigeria
        * `NU` - Niue
        * `NF` - Norfolk Island
        * `KP` - North Korea
        * `MK` - North Macedonia
        * `MP` - Northern Mariana Islands
        * `NO` - Norway
        * `OM` - Oman
        * `PK` - Pakistan
        * `PW` - Palau
        * `PS` - Palestine, State of
        * `PA` - Panama
        * `PG` - Papua New Guinea
        * `PY` - Paraguay
        * `PE` - Peru
        * `PH` - Philippines
        * `PN` - Pitcairn
        * `PL` - Poland
        * `PT` - Portugal
        * `PR` - Puerto Rico
        * `QA` - Qatar
        * `RE` - Réunion
        * `RO` - Romania
        * `RU` - Russia
        * `RW` - Rwanda
        * `BL` - Saint Barthélemy
        * `SH` - Saint Helena, Ascension and Tristan da Cunha
        * `KN` - Saint Kitts and Nevis
        * `LC` - Saint Lucia
        * `MF` - Saint Martin (French part)
        * `PM` - Saint Pierre and Miquelon
        * `VC` - Saint Vincent and the Grenadines
        * `WS` - Samoa
        * `SM` - San Marino
        * `ST` - Sao Tome and Principe
        * `SA` - Saudi Arabia
        * `SN` - Senegal
        * `RS` - Serbia
        * `SC` - Seychelles
        * `SL` - Sierra Leone
        * `SG` - Singapore
        * `SX` - Sint Maarten (Dutch part)
        * `SK` - Slovakia
        * `SI` - Slovenia
        * `SB` - Solomon Islands
        * `SO` - Somalia
        * `ZA` - South Africa
        * `GS` - South Georgia and the South Sandwich Islands
        * `KR` - South Korea
        * `SS` - South Sudan
        * `ES` - Spain
        * `LK` - Sri Lanka
        * `SD` - Sudan
        * `SR` - Suriname
        * `SJ` - Svalbard and Jan Mayen
        * `SE` - Sweden
        * `CH` - Switzerland
        * `SY` - Syria
        * `TW` - Taiwan
        * `TJ` - Tajikistan
        * `TZ` - Tanzania
        * `TH` - Thailand
        * `TL` - Timor-Leste
        * `TG` - Togo
        * `TK` - Tokelau
        * `TO` - Tonga
        * `TT` - Trinidad and Tobago
        * `TN` - Tunisia
        * `TR` - Türkiye
        * `TM` - Turkmenistan
        * `TC` - Turks and Caicos Islands
        * `TV` - Tuvalu
        * `UG` - Uganda
        * `UA` - Ukraine
        * `AE` - United Arab Emirates
        * `GB` - United Kingdom
        * `UM` - United States Minor Outlying Islands
        * `US` - United States of America
        * `UY` - Uruguay
        * `UZ` - Uzbekistan
        * `VU` - Vanuatu
        * `VE` - Venezuela
        * `VN` - Vietnam
        * `VG` - Virgin Islands (British)
        * `VI` - Virgin Islands (U.S.)
        * `WF` - Wallis and Futuna
        * `EH` - Western Sahara
        * `YE` - Yemen
        * `ZM` - Zambia
        * `ZW` - Zimbabwe
      enum:
        - AF
        - AX
        - AL
        - DZ
        - AS
        - AD
        - AO
        - AI
        - AQ
        - AG
        - AR
        - AM
        - AW
        - AU
        - AT
        - AZ
        - BS
        - BH
        - BD
        - BB
        - BY
        - BE
        - BZ
        - BJ
        - BM
        - BT
        - BO
        - BQ
        - BA
        - BW
        - BV
        - BR
        - IO
        - BN
        - BG
        - BF
        - BI
        - CV
        - KH
        - CM
        - CA
        - KY
        - CF
        - TD
        - CL
        - CN
        - CX
        - CC
        - CO
        - KM
        - CG
        - CD
        - CK
        - CR
        - CI
        - HR
        - CU
        - CW
        - CY
        - CZ
        - DK
        - DJ
        - DM
        - DO
        - EC
        - EG
        - SV
        - GQ
        - ER
        - EE
        - SZ
        - ET
        - FK
        - FO
        - FJ
        - FI
        - FR
        - GF
        - PF
        - TF
        - GA
        - GM
        - GE
        - DE
        - GH
        - GI
        - GR
        - GL
        - GD
        - GP
        - GU
        - GT
        - GG
        - GN
        - GW
        - GY
        - HT
        - HM
        - VA
        - HN
        - HK
        - HU
        - IS
        - IN
        - ID
        - IR
        - IQ
        - IE
        - IM
        - IL
        - IT
        - JM
        - JP
        - JE
        - JO
        - KZ
        - KE
        - KI
        - XK
        - KW
        - KG
        - LA
        - LV
        - LB
        - LS
        - LR
        - LY
        - LI
        - LT
        - LU
        - MO
        - MG
        - MW
        - MY
        - MV
        - ML
        - MT
        - MH
        - MQ
        - MR
        - MU
        - YT
        - MX
        - FM
        - MD
        - MC
        - MN
        - ME
        - MS
        - MA
        - MZ
        - MM
        - NA
        - NR
        - NP
        - NL
        - NC
        - NZ
        - NI
        - NE
        - NG
        - NU
        - NF
        - KP
        - MK
        - MP
        - 'NO'
        - OM
        - PK
        - PW
        - PS
        - PA
        - PG
        - PY
        - PE
        - PH
        - PN
        - PL
        - PT
        - PR
        - QA
        - RE
        - RO
        - RU
        - RW
        - BL
        - SH
        - KN
        - LC
        - MF
        - PM
        - VC
        - WS
        - SM
        - ST
        - SA
        - SN
        - RS
        - SC
        - SL
        - SG
        - SX
        - SK
        - SI
        - SB
        - SO
        - ZA
        - GS
        - KR
        - SS
        - ES
        - LK
        - SD
        - SR
        - SJ
        - SE
        - CH
        - SY
        - TW
        - TJ
        - TZ
        - TH
        - TL
        - TG
        - TK
        - TO
        - TT
        - TN
        - TR
        - TM
        - TC
        - TV
        - UG
        - UA
        - AE
        - GB
        - UM
        - US
        - UY
        - UZ
        - VU
        - VE
        - VN
        - VG
        - VI
        - WF
        - EH
        - YE
        - ZM
        - ZW
      type: string
    LegalRepresentativeTypeEnum:
      description: |-
        * `managing_director` - managing_director
        * `director` - director
        * `board_member` - board_member
        * `chairperson` - chairperson
        * `general_partner` - general_partner
        * `shareholder` - shareholder
        * `owner` - owner
        * `partner` - partner
        * `supervisory_board` - supervisory_board
        * `other` - other
      enum:
        - managing_director
        - director
        - board_member
        - chairperson
        - general_partner
        - shareholder
        - owner
        - partner
        - supervisory_board
        - other
      type: string
    NotificationsEnum:
      description: |-
        * `status_updates` - status_updates
        * `requests_to_client` - requests_to_client
        * `statements` - statements
        * `advance_requests` - advance_requests
      enum:
        - status_updates
        - requests_to_client
        - statements
        - advance_requests
      type: string
    PartnerCompanyNotificationChannelTypeEnum:
      description: '* `email` - email'
      enum:
        - email
      type: string
    RoleEnum:
      description: |-
        * `admin` - admin
        * `tax_consultant` - tax_consultant
        * `member` - member
        * `readonly` - readonly
        * `developer` - developer
      enum:
        - admin
        - tax_consultant
        - member
        - readonly
        - developer
      type: string
    ReadinessIssue:
      description: Stable client-actionable issue in a company readiness report.
      properties:
        code:
          description: Machine-readable readiness issue code.
          readOnly: true
          type: string
        field:
          description: Company field that prevents case submission.
          readOnly: true
          type: string
        message:
          description: Human-readable action needed to resolve the issue.
          readOnly: true
          type: string
      required:
        - code
        - field
        - message
      type: object
    StatusEnum:
      enum:
        - pending_setup
        - active
        - cancelled
        - revoked
      type: string
  securitySchemes:
    partnerBearerAuth:
      description: >-
        Partner API Bearer key: `Authorization: Bearer <key>`. Keys are created
        only through authorized portal or staff flows.
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.