> ## 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.

# Update a company

> Partially update a managed company. A company disconnected by this partner is inaccessible and returns `404 not_found`. An empty or unchanged PATCH is a no-op that leaves `updated_at` and the ETag untouched. Sending `onboarding_mode` returns 409 `onboarding_mode_immutable`.



## OpenAPI

````yaml /api-docs/partner-api/openapi.json patch /partner/v2/companies/{id}/
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/{id}/:
    patch:
      tags:
        - Companies
      summary: Update a company (PATCH)
      description: >-
        Partially update a managed company. A company disconnected by this
        partner is inaccessible and returns `404 not_found`. An empty or
        unchanged PATCH is a no-op that leaves `updated_at` and the ETag
        untouched. Sending `onboarding_mode` returns 409
        `onboarding_mode_immutable`.
      operationId: update-a-company-patch
      parameters:
        - description: UUID of the managed company in this request.
          in: path
          name: id
          required: true
          schema:
            format: uuid
            type: string
        - description: >-
            Apply the change only while the current `ETag` matches one of the
            supplied validators (or `*`); otherwise the request fails with `412
            precondition_failed` and nothing is written.
          in: header
          name: If-Match
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            examples:
              PatchCompany:
                summary: Patch company
                value:
                  notification_channels:
                    - notifications:
                        - requests_to_client
                        - status_updates
                        - statements
                      type: email
                      value: operations@example.test
                  phone: '+49307654321'
            schema:
              $ref: '#/components/schemas/PatchedCompanyRequest'
      responses:
        '200':
          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
                        status: pending_setup
                        updated_at: '2026-07-18T10:00:00Z'
                    vat_number: DE129273398
              schema:
                $ref: '#/components/schemas/Company'
          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
            ETag:
              description: >-
                Strong validator of this representation. Send it back as
                `If-None-Match` to skip an unchanged re-read (304) or as
                `If-Match` on PATCH/PUT/DELETE to fail with 412 when the
                resource changed.
              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: 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
        '404':
          content:
            application/json:
              examples:
                not-found-error:
                  value:
                    code: not_found
                    detail: The requested resource was not found.
              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: ''
          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
        '412':
          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
        '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:
    PatchedCompanyRequest:
      description: Detail and mutation representation of a Partner-managed company.
      properties:
        address:
          allOf:
            - $ref: '#/components/schemas/CompanyAddressPatchRequest'
          description: >-
            Postal address of the company. Supplied address fields update the
            existing address; omitted fields retain their values. When the
            company has no address, supply all four fields: street, postal_code,
            city, and country. Omit the address to preserve it or set null to
            remove it.
          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. Set null to clear it; omit it to keep the
            current value.
          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, using the stored form when legal_form is
            omitted. Omit to preserve them; a supplied array replaces them. They
            cannot be changed once company data submission is complete, even
            before the first case submission. Maximum 3 entries in the
            replacement list; 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 to preserve the recipients; a supplied array replaces them,
            and [] removes them. After the first case submission, required
            recipients for requests to client and statements must remain.
            Maximum 10 recipients in the replacement list; exceeding this limit
            returns 400 validation_error.
          items:
            $ref: '#/components/schemas/PartnerCompanyNotificationChannelRequest'
          type: array
        payout_bank_account:
          allOf:
            - $ref: '#/components/schemas/PayoutBankAccountRequest'
          description: >-
            Account to which collected funds are transferred. Omit to preserve
            the current account; before the first case submission, provide an
            account to replace it or null to remove it. After submission,
            changes must use the secured payout-account change process in the
            paywise UI. Resubmitting the unchanged account is allowed.
          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
        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
      type: object
    Company:
      description: Detail and mutation representation of a Partner-managed company.
      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: >-
            User memberships in the managed company. Each entry identifies a
            membership and its current onboarding or revocation state.
          items:
            $ref: '#/components/schemas/Membership'
          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
      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
    CompanyAddressPatchRequest:
      description: >-
        Postal address of the company. Supplied address fields update the
        existing address; omitted fields retain their values. When the company
        has no address, supply all four fields: street, postal_code, city, and
        country. Omit the address to preserve it or set null to remove it.
      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
      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
    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
    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
    OnboardingModeEnum:
      enum:
        - api_only
        - web_flow
      type: string
    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
    Membership:
      description: A user's membership in a managed company.
      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
        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
    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
    RoleEnum:
      description: |-
        * `admin` - admin
        * `tax_consultant` - tax_consultant
        * `member` - member
        * `readonly` - readonly
        * `developer` - developer
      enum:
        - admin
        - tax_consultant
        - member
        - readonly
        - developer
      type: string
    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.