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

# Create a claim

> Creates a pending claim for an active or archived agreement, optionally with up to 5000 alerts added as in POST /v1/claims/{id}/alerts: their pending verdicts become accepted, and dismissed ones stay dismissed unless claim_resolved is true. Not idempotent: if the response is lost, list the agreement's claims before retrying.



## OpenAPI

````yaml /openapi.json post /v1/claims
openapi: 3.1.0
info:
  title: Watchdog API
  version: 1.0.0
  description: >-
    The Watchdog API is served from https://api.watchdog.no. Request bodies are
    limited to 2 MiB unless an endpoint says otherwise. Files are uploaded
    directly to storage, not through the API.
servers:
  - url: https://api.watchdog.no
    description: Watchdog API
security: []
paths:
  /v1/claims:
    post:
      tags:
        - Claims
      summary: Create a claim
      description: >-
        Creates a pending claim for an active or archived agreement, optionally
        with up to 5000 alerts added as in POST /v1/claims/{id}/alerts: their
        pending verdicts become accepted, and dismissed ones stay dismissed
        unless claim_resolved is true. Not idempotent: if the response is lost,
        list the agreement's claims before retrying.
      operationId: createClaim
      parameters:
        - name: X-Organization-Id
          in: header
          required: false
          schema:
            type: string
          description: >-
            The organization to act in. Required for personal API keys; list the
            organizations you can access with GET /v1/organizations.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                agreement_id:
                  type: string
                  format: uuid
                title:
                  type: string
                  minLength: 1
                  maxLength: 200
                alerts:
                  type: object
                  properties:
                    alert_ids:
                      type: array
                      items:
                        type: string
                        format: uuid
                      minItems: 1
                      maxItems: 5000
                      description: >-
                        Alerts to change. If any is unknown (404) or cannot be
                        changed (409), nothing changes.
                    filter:
                      $ref: '#/components/schemas/AlertFilter'
                    excluded_alert_ids:
                      type: array
                      items:
                        type: string
                        format: uuid
                      minItems: 1
                      maxItems: 5000
                      description: >-
                        Alerts to leave out of a filter selection. Only valid
                        with filter.
                    move_from_open_claims:
                      type: boolean
                      description: >-
                        Move alerts from pending or in-progress claims in the
                        same transaction. Completed and cancelled claims are not
                        moved.
                    claim_resolved:
                      type: boolean
                      description: >-
                        true also accepts alerts that were dismissed, so the
                        whole selection is claimed. Credit is always kept.
                  additionalProperties: false
                  description: Add or move alerts atomically with claim creation.
              required:
                - agreement_id
                - title
              additionalProperties: false
      responses:
        '201':
          description: The created claim with its current counts and amounts.
          headers:
            X-Request-Id:
              schema:
                type: string
              required: true
              description: >-
                Request ID, also included in error bodies. Include it when
                contacting support.
            Cache-Control:
              schema:
                type: string
                enum:
                  - private, no-store
                  - private, no-store, no-transform
              required: false
              description: API responses are private and must not be cached.
            X-RateLimit-Limit:
              schema:
                type: string
                example: '500'
              required: false
              description: >-
                Requests allowed per minute for this credential, or failed API
                key attempts allowed per minute from this IP address.
            Location:
              schema:
                type: string
              required: true
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Claim'
        '400':
          description: >-
            The request is invalid. details lists up to 20 field errors. Request
            bodies are limited to 2 MiB.
          headers:
            X-Request-Id:
              schema:
                type: string
              required: true
              description: >-
                Request ID, also included in error bodies. Include it when
                contacting support.
            Cache-Control:
              schema:
                type: string
                enum:
                  - private, no-store
                  - private, no-store, no-transform
              required: false
              description: API responses are private and must not be cached.
            X-RateLimit-Limit:
              schema:
                type: string
                example: '500'
              required: false
              description: >-
                Requests allowed per minute for this credential, or failed API
                key attempts allowed per minute from this IP address.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_validation_error'
              example:
                error:
                  code: validation_error
                  message: >-
                    The request is invalid. details lists up to 20 field errors.
                    Request bodies are limited to 2 MiB.
                  request_id: req_example
        '401':
          description: The bearer token is missing or invalid.
          headers:
            X-Request-Id:
              schema:
                type: string
              required: true
              description: >-
                Request ID, also included in error bodies. Include it when
                contacting support.
            Cache-Control:
              schema:
                type: string
                enum:
                  - private, no-store
                  - private, no-store, no-transform
              required: false
              description: API responses are private and must not be cached.
            X-RateLimit-Limit:
              schema:
                type: string
                example: '500'
              required: false
              description: >-
                Requests allowed per minute for this credential, or failed API
                key attempts allowed per minute from this IP address.
            WWW-Authenticate:
              schema:
                type: string
              required: false
              description: Bearer authentication challenge, when supplied.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_invalid_token'
              example:
                error:
                  code: invalid_token
                  message: The bearer token is missing or invalid.
                  request_id: req_example
        '403':
          description: >-
            Access denied. The error code says why: forbidden, token_disabled,
            organization_required, insufficient_role or mfa_required.
          headers:
            X-Request-Id:
              schema:
                type: string
              required: true
              description: >-
                Request ID, also included in error bodies. Include it when
                contacting support.
            Cache-Control:
              schema:
                type: string
                enum:
                  - private, no-store
                  - private, no-store, no-transform
              required: false
              description: API responses are private and must not be cached.
            X-RateLimit-Limit:
              schema:
                type: string
                example: '500'
              required: false
              description: >-
                Requests allowed per minute for this credential, or failed API
                key attempts allowed per minute from this IP address.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Error_forbidden_token_disabled_organization_required_insufficient_role_mfa_required
              example:
                error:
                  code: forbidden
                  message: >-
                    Access denied. The error code says why: forbidden,
                    token_disabled, organization_required, insufficient_role or
                    mfa_required.
                  request_id: req_example
        '404':
          description: >-
            The agreement, an alert in alerts.alert_ids or a selected team was
            not found. No claim was created.
          headers:
            X-Request-Id:
              schema:
                type: string
              required: true
              description: >-
                Request ID, also included in error bodies. Include it when
                contacting support.
            Cache-Control:
              schema:
                type: string
                enum:
                  - private, no-store
                  - private, no-store, no-transform
              required: false
              description: API responses are private and must not be cached.
            X-RateLimit-Limit:
              schema:
                type: string
                example: '500'
              required: false
              description: >-
                Requests allowed per minute for this credential, or failed API
                key attempts allowed per minute from this IP address.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_not_found'
              example:
                error:
                  code: not_found
                  message: >-
                    The agreement, an alert in alerts.alert_ids or a selected
                    team was not found. No claim was created.
                  request_id: req_example
        '409':
          description: >-
            The agreement is not active or archived, an alert in
            alerts.alert_ids cannot be added, the filter selects too many
            alerts, or a selected team has invalid saved filters. No claim was
            created.
          headers:
            X-Request-Id:
              schema:
                type: string
              required: true
              description: >-
                Request ID, also included in error bodies. Include it when
                contacting support.
            Cache-Control:
              schema:
                type: string
                enum:
                  - private, no-store
                  - private, no-store, no-transform
              required: false
              description: API responses are private and must not be cached.
            X-RateLimit-Limit:
              schema:
                type: string
                example: '500'
              required: false
              description: >-
                Requests allowed per minute for this credential, or failed API
                key attempts allowed per minute from this IP address.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_conflict'
              example:
                error:
                  code: conflict
                  message: >-
                    The agreement is not active or archived, an alert in
                    alerts.alert_ids cannot be added, the filter selects too
                    many alerts, or a selected team has invalid saved filters.
                    No claim was created.
                  request_id: req_example
        '429':
          description: Too many requests. Wait for the Retry-After delay before retrying.
          headers:
            X-Request-Id:
              schema:
                type: string
              required: true
              description: >-
                Request ID, also included in error bodies. Include it when
                contacting support.
            Cache-Control:
              schema:
                type: string
                enum:
                  - private, no-store
                  - private, no-store, no-transform
              required: false
              description: API responses are private and must not be cached.
            X-RateLimit-Limit:
              schema:
                type: string
                example: '500'
              required: false
              description: >-
                Requests allowed per minute for this credential, or failed API
                key attempts allowed per minute from this IP address.
            Retry-After:
              schema:
                type: string
                example: '60'
              required: true
              description: Seconds to wait before retrying the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_rate_limit_exceeded'
              example:
                error:
                  code: rate_limit_exceeded
                  message: >-
                    Too many requests. Wait for the Retry-After delay before
                    retrying.
                  request_id: req_example
        '500':
          description: >-
            Unexpected server failure. Include the request ID when contacting
            support.
          headers:
            X-Request-Id:
              schema:
                type: string
              required: true
              description: >-
                Request ID, also included in error bodies. Include it when
                contacting support.
            Cache-Control:
              schema:
                type: string
                enum:
                  - private, no-store
                  - private, no-store, no-transform
              required: false
              description: API responses are private and must not be cached.
            X-RateLimit-Limit:
              schema:
                type: string
                example: '500'
              required: false
              description: >-
                Requests allowed per minute for this credential, or failed API
                key attempts allowed per minute from this IP address.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_internal_error'
              example:
                error:
                  code: internal_error
                  message: >-
                    Unexpected server failure. Include the request ID when
                    contacting support.
                  request_id: req_example
        '503':
          description: >-
            Temporarily unavailable. Retry after the Retry-After delay, when
            provided.
          headers:
            X-Request-Id:
              schema:
                type: string
              required: true
              description: >-
                Request ID, also included in error bodies. Include it when
                contacting support.
            Cache-Control:
              schema:
                type: string
                enum:
                  - private, no-store
                  - private, no-store, no-transform
              required: false
              description: API responses are private and must not be cached.
            X-RateLimit-Limit:
              schema:
                type: string
                example: '500'
              required: false
              description: >-
                Requests allowed per minute for this credential, or failed API
                key attempts allowed per minute from this IP address.
            Retry-After:
              schema:
                type: string
                example: '60'
              required: true
              description: Seconds to wait before retrying the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_service_unavailable'
              example:
                error:
                  code: service_unavailable
                  message: >-
                    Temporarily unavailable. Retry after the Retry-After delay,
                    when provided.
                  request_id: req_example
      security:
        - ApiKeyBearer: []
components:
  schemas:
    AlertFilter:
      type: object
      properties:
        mine:
          type: boolean
          description: >-
            Only records matched by the filters of teams you belong to. Teams
            combine with OR; other filters combine with AND. Cannot be combined
            with team_ids.
        team_ids:
          type: array
          items:
            type: string
          minItems: 1
          maxItems: 50
          description: >-
            Only records matched by the filters of these teams: at most 50,
            comma-separated in a query string or an array in a JSON body. Teams
            combine with OR. Unknown teams return 404.
        claim_ids:
          type: array
          items:
            type: string
          minItems: 1
          maxItems: 50
          description: >-
            Match alerts in any of these claims; null matches alerts in no
            claim.
        has_claim:
          type: boolean
          description: >-
            Use false to select alerts that are not currently attached to any
            claim.
        claim_statuses:
          type: array
          items:
            type: string
            enum:
              - pending
              - in_progress
              - completed
              - cancelled
          minItems: 1
          maxItems: 50
          description: >-
            Match alerts whose current claim has any of these statuses: pending,
            in_progress, completed, cancelled.
        join_operator:
          type: string
          enum:
            - and
            - or
          description: >-
            Combine invoice, agreement, supplier, recipient and topic ID filters
            with AND (default) or OR. Tenant, validity, search and other filters
            always apply.
        invoice_operator:
          type: string
          enum:
            - is
            - is_not
        agreement_operator:
          type: string
          enum:
            - is
            - is_not
        supplier_operator:
          type: string
          enum:
            - is
            - is_not
        recipient_operator:
          type: string
          enum:
            - is
            - is_not
        topic_operator:
          type: string
          enum:
            - is
            - is_not
        invoice_ids:
          type: array
          items:
            type: string
            format: uuid
          minItems: 1
          maxItems: 50
        agreement_ids:
          type: array
          items:
            type: string
            format: uuid
          minItems: 1
          maxItems: 50
        agreement_statuses:
          type: array
          items:
            type: string
            enum:
              - draft
              - active
              - archived
          minItems: 1
          maxItems: 50
          description: >-
            Match alerts whose agreement has any of these statuses: draft,
            active, archived.
        supplier_ids:
          type: array
          items:
            type: string
            format: uuid
          minItems: 1
          maxItems: 50
        recipient_ids:
          type: array
          items:
            type: string
            format: uuid
          minItems: 1
          maxItems: 50
        tag_ids:
          type: array
          items:
            type: string
            format: uuid
          minItems: 1
          maxItems: 50
        topic_ids:
          type: array
          items:
            type: string
          minItems: 1
          maxItems: 50
          description: >-
            Match alerts in any selected topic; null matches uncategorized
            alerts.
        has_topic:
          type: boolean
          description: Use false to select uncategorized alerts.
        verdicts:
          type: array
          items:
            type: string
            enum:
              - pending
              - accepted
              - dismissed
          minItems: 1
          maxItems: 50
          description: >-
            Match alerts with any of these verdicts, whatever their credit:
            pending, accepted, dismissed. pending means no decision yet.
        credited:
          type: boolean
          description: Match alerts with or without a credit, regardless of verdict.
        credit_sources:
          type: array
          items:
            type: string
            enum:
              - credit_note
              - user
              - 'null'
          minItems: 1
          maxItems: 50
          description: >-
            Match credit provenance: credit_note, user. null selects alerts
            without a credit.
        confidence_levels:
          type: array
          items:
            type: string
            enum:
              - certain
              - uncertain
              - 'null'
          minItems: 1
          maxItems: 50
          description: >-
            Match any listed confidence level: certain, uncertain. null matches
            alerts without one.
        currency_codes:
          type: array
          items:
            type: string
            pattern: ^[A-Z]{3}$
          minItems: 1
          maxItems: 50
        correction_types:
          type: array
          items:
            type: string
            enum:
              - modify_item
              - modify_invoice
              - add_item
          minItems: 1
          maxItems: 50
          description: >-
            Match any of these correction types: modify_item, modify_invoice,
            add_item.
        changed_since_check:
          type: boolean
          description: >-
            true matches alerts whose agreement or invoice changed after the
            check that found them; false matches alerts whose inputs are
            unchanged. Alerts that do not record what they assessed match
            neither.
        validity:
          type: string
          enum:
            - live
            - invalidated
            - all
          description: >-
            live (default) returns alerts that count; invalidated returns alerts
            that stopped counting, for example because their invoice no longer
            matches the agreement. Alerts in claims named by claim_ids are
            included either way.
        impact_min:
          type: string
          maxLength: 100
          pattern: ^-?\d+(?:\.\d+)?$
          description: >-
            Minimum impact in the organization currency, inclusive. Alerts
            without an impact never match.
        impact_max:
          type: string
          maxLength: 100
          pattern: ^-?\d+(?:\.\d+)?$
          description: >-
            Maximum impact in the organization currency, inclusive. Alerts
            without an impact never match.
        issued_from:
          type: string
          pattern: ^\d{4}-\d{2}-\d{2}$
          description: Invoice issued on or after this date.
        issued_through:
          type: string
          pattern: ^\d{4}-\d{2}-\d{2}$
          description: Invoice issued on or before this date.
        created_from:
          type: string
          pattern: ^\d{4}-\d{2}-\d{2}$
          description: >-
            Created on or after this calendar date in the organization's
            timezone.
        created_through:
          type: string
          pattern: ^\d{4}-\d{2}-\d{2}$
          description: >-
            Created on or before this calendar date in the organization's
            timezone.
        search:
          type: string
          minLength: 1
          maxLength: 200
          description: >-
            Case-insensitive search across alert, invoice, supplier, agreement
            and topic text. A UUID matches the alert, invoice, supplier or
            agreement ID.
      additionalProperties: false
      description: >-
        Change every alert matching these filters: the listAlerts filters, given
        as JSON lists and booleans. Matching alerts that cannot be changed are
        skipped and counted in skipped_count.
    Claim:
      type: object
      properties:
        id:
          type: string
          format: uuid
        agreement:
          type: object
          properties:
            id:
              type: string
              format: uuid
            title:
              type:
                - string
                - 'null'
          required:
            - id
            - title
        suppliers:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                format: uuid
              name:
                type: string
            required:
              - id
              - name
        title:
          type:
            - string
            - 'null'
        status:
          type: string
          enum:
            - pending
            - in_progress
            - completed
            - cancelled
        creator:
          type:
            - object
            - 'null'
          properties:
            user_id:
              type:
                - string
                - 'null'
            label:
              type:
                - string
                - 'null'
            deleted:
              type: boolean
              description: >-
                The creator account was deleted. The label keeps their name, or
                is null once the account is anonymised.
          required:
            - user_id
            - label
            - deleted
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        refund_summary:
          type: object
          properties:
            refund_count:
              type: integer
            amount_by_currency:
              type: array
              items:
                type: object
                properties:
                  currency_code:
                    type: string
                  amount:
                    type: string
                    pattern: ^-?\d+(?:\.\d+)?$
                required:
                  - currency_code
                  - amount
          required:
            - refund_count
            - amount_by_currency
          description: >-
            Refunds recorded on the claims: the money recovered, per refund
            currency. When a list or totals read sets refunded_from or
            refunded_through, only refunds recorded in that window.
        summary:
          type: object
          properties:
            total:
              type: object
              properties:
                alert_count:
                  type: integer
                invoice_count:
                  type: integer
                  description: >-
                    Distinct invoices. An invoice counts once in total, and once
                    in each part it has alerts in.
                topic_count:
                  type: integer
                  description: >-
                    Distinct topics. A topic counts once in total, and once in
                    each part it has alerts in.
                impact_by_currency:
                  type: array
                  items:
                    type: object
                    properties:
                      currency_code:
                        type: string
                      amount:
                        type: string
                        pattern: ^-?\d+(?:\.\d+)?$
                    required:
                      - currency_code
                      - amount
                  description: Alert impact per original currency.
              required:
                - alert_count
                - invoice_count
                - topic_count
                - impact_by_currency
              description: All alerts in the claim.
            by_verdict:
              type: object
              properties:
                pending:
                  type: object
                  properties:
                    credited:
                      type: object
                      properties:
                        alert_count:
                          type: integer
                        invoice_count:
                          type: integer
                          description: >-
                            Distinct invoices. An invoice counts once in total,
                            and once in each part it has alerts in.
                        topic_count:
                          type: integer
                          description: >-
                            Distinct topics. A topic counts once in total, and
                            once in each part it has alerts in.
                        impact_by_currency:
                          type: array
                          items:
                            type: object
                            properties:
                              currency_code:
                                type: string
                              amount:
                                type: string
                                pattern: ^-?\d+(?:\.\d+)?$
                            required:
                              - currency_code
                              - amount
                          description: Alert impact per original currency.
                      required:
                        - alert_count
                        - invoice_count
                        - topic_count
                        - impact_by_currency
                    uncredited:
                      type: object
                      properties:
                        alert_count:
                          type: integer
                        invoice_count:
                          type: integer
                          description: >-
                            Distinct invoices. An invoice counts once in total,
                            and once in each part it has alerts in.
                        topic_count:
                          type: integer
                          description: >-
                            Distinct topics. A topic counts once in total, and
                            once in each part it has alerts in.
                        impact_by_currency:
                          type: array
                          items:
                            type: object
                            properties:
                              currency_code:
                                type: string
                              amount:
                                type: string
                                pattern: ^-?\d+(?:\.\d+)?$
                            required:
                              - currency_code
                              - amount
                          description: Alert impact per original currency.
                      required:
                        - alert_count
                        - invoice_count
                        - topic_count
                        - impact_by_currency
                  required:
                    - credited
                    - uncredited
                accepted:
                  type: object
                  properties:
                    credited:
                      type: object
                      properties:
                        alert_count:
                          type: integer
                        invoice_count:
                          type: integer
                          description: >-
                            Distinct invoices. An invoice counts once in total,
                            and once in each part it has alerts in.
                        topic_count:
                          type: integer
                          description: >-
                            Distinct topics. A topic counts once in total, and
                            once in each part it has alerts in.
                        impact_by_currency:
                          type: array
                          items:
                            type: object
                            properties:
                              currency_code:
                                type: string
                              amount:
                                type: string
                                pattern: ^-?\d+(?:\.\d+)?$
                            required:
                              - currency_code
                              - amount
                          description: Alert impact per original currency.
                      required:
                        - alert_count
                        - invoice_count
                        - topic_count
                        - impact_by_currency
                    uncredited:
                      type: object
                      properties:
                        alert_count:
                          type: integer
                        invoice_count:
                          type: integer
                          description: >-
                            Distinct invoices. An invoice counts once in total,
                            and once in each part it has alerts in.
                        topic_count:
                          type: integer
                          description: >-
                            Distinct topics. A topic counts once in total, and
                            once in each part it has alerts in.
                        impact_by_currency:
                          type: array
                          items:
                            type: object
                            properties:
                              currency_code:
                                type: string
                              amount:
                                type: string
                                pattern: ^-?\d+(?:\.\d+)?$
                            required:
                              - currency_code
                              - amount
                          description: Alert impact per original currency.
                      required:
                        - alert_count
                        - invoice_count
                        - topic_count
                        - impact_by_currency
                  required:
                    - credited
                    - uncredited
                dismissed:
                  type: object
                  properties:
                    credited:
                      type: object
                      properties:
                        alert_count:
                          type: integer
                        invoice_count:
                          type: integer
                          description: >-
                            Distinct invoices. An invoice counts once in total,
                            and once in each part it has alerts in.
                        topic_count:
                          type: integer
                          description: >-
                            Distinct topics. A topic counts once in total, and
                            once in each part it has alerts in.
                        impact_by_currency:
                          type: array
                          items:
                            type: object
                            properties:
                              currency_code:
                                type: string
                              amount:
                                type: string
                                pattern: ^-?\d+(?:\.\d+)?$
                            required:
                              - currency_code
                              - amount
                          description: Alert impact per original currency.
                      required:
                        - alert_count
                        - invoice_count
                        - topic_count
                        - impact_by_currency
                    uncredited:
                      type: object
                      properties:
                        alert_count:
                          type: integer
                        invoice_count:
                          type: integer
                          description: >-
                            Distinct invoices. An invoice counts once in total,
                            and once in each part it has alerts in.
                        topic_count:
                          type: integer
                          description: >-
                            Distinct topics. A topic counts once in total, and
                            once in each part it has alerts in.
                        impact_by_currency:
                          type: array
                          items:
                            type: object
                            properties:
                              currency_code:
                                type: string
                              amount:
                                type: string
                                pattern: ^-?\d+(?:\.\d+)?$
                            required:
                              - currency_code
                              - amount
                          description: Alert impact per original currency.
                      required:
                        - alert_count
                        - invoice_count
                        - topic_count
                        - impact_by_currency
                  required:
                    - credited
                    - uncredited
              required:
                - pending
                - accepted
                - dismissed
              description: >-
                Alerts by verdict, each split into credited and uncredited
                alerts. Credited amounts are alert impact, not recorded refunds.
          required:
            - total
            - by_verdict
      required:
        - id
        - agreement
        - suppliers
        - title
        - status
        - creator
        - created_at
        - updated_at
        - refund_summary
        - summary
    Error_validation_error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - validation_error
            message:
              type: string
            request_id:
              type: string
            description:
              type: string
            details:
              type: array
              items:
                type: object
                properties:
                  code:
                    type: string
                  field:
                    type: string
                  message:
                    type: string
                required:
                  - code
                  - field
                  - message
              maxItems: 20
            workflow_run_id:
              type: string
              format: uuid
            import_id:
              type: string
              format: uuid
            existing_party:
              type: object
              properties:
                type:
                  type: string
                  enum:
                    - supplier
                    - recipient
                id:
                  type: string
                  format: uuid
              required:
                - type
                - id
          required:
            - code
            - message
            - request_id
      required:
        - error
    Error_invalid_token:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - invalid_token
            message:
              type: string
            request_id:
              type: string
            description:
              type: string
            details:
              type: array
              items:
                type: object
                properties:
                  code:
                    type: string
                  field:
                    type: string
                  message:
                    type: string
                required:
                  - code
                  - field
                  - message
              maxItems: 20
            workflow_run_id:
              type: string
              format: uuid
            import_id:
              type: string
              format: uuid
            existing_party:
              type: object
              properties:
                type:
                  type: string
                  enum:
                    - supplier
                    - recipient
                id:
                  type: string
                  format: uuid
              required:
                - type
                - id
          required:
            - code
            - message
            - request_id
      required:
        - error
    Error_forbidden_token_disabled_organization_required_insufficient_role_mfa_required:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - forbidden
                - token_disabled
                - organization_required
                - insufficient_role
                - mfa_required
            message:
              type: string
            request_id:
              type: string
            description:
              type: string
            details:
              type: array
              items:
                type: object
                properties:
                  code:
                    type: string
                  field:
                    type: string
                  message:
                    type: string
                required:
                  - code
                  - field
                  - message
              maxItems: 20
            workflow_run_id:
              type: string
              format: uuid
            import_id:
              type: string
              format: uuid
            existing_party:
              type: object
              properties:
                type:
                  type: string
                  enum:
                    - supplier
                    - recipient
                id:
                  type: string
                  format: uuid
              required:
                - type
                - id
          required:
            - code
            - message
            - request_id
      required:
        - error
    Error_not_found:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - not_found
            message:
              type: string
            request_id:
              type: string
            description:
              type: string
            details:
              type: array
              items:
                type: object
                properties:
                  code:
                    type: string
                  field:
                    type: string
                  message:
                    type: string
                required:
                  - code
                  - field
                  - message
              maxItems: 20
            workflow_run_id:
              type: string
              format: uuid
            import_id:
              type: string
              format: uuid
            existing_party:
              type: object
              properties:
                type:
                  type: string
                  enum:
                    - supplier
                    - recipient
                id:
                  type: string
                  format: uuid
              required:
                - type
                - id
          required:
            - code
            - message
            - request_id
      required:
        - error
    Error_conflict:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - conflict
            message:
              type: string
            request_id:
              type: string
            description:
              type: string
            details:
              type: array
              items:
                type: object
                properties:
                  code:
                    type: string
                  field:
                    type: string
                  message:
                    type: string
                required:
                  - code
                  - field
                  - message
              maxItems: 20
            workflow_run_id:
              type: string
              format: uuid
            import_id:
              type: string
              format: uuid
            existing_party:
              type: object
              properties:
                type:
                  type: string
                  enum:
                    - supplier
                    - recipient
                id:
                  type: string
                  format: uuid
              required:
                - type
                - id
          required:
            - code
            - message
            - request_id
      required:
        - error
    Error_rate_limit_exceeded:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - rate_limit_exceeded
            message:
              type: string
            request_id:
              type: string
            description:
              type: string
            details:
              type: array
              items:
                type: object
                properties:
                  code:
                    type: string
                  field:
                    type: string
                  message:
                    type: string
                required:
                  - code
                  - field
                  - message
              maxItems: 20
            workflow_run_id:
              type: string
              format: uuid
            import_id:
              type: string
              format: uuid
            existing_party:
              type: object
              properties:
                type:
                  type: string
                  enum:
                    - supplier
                    - recipient
                id:
                  type: string
                  format: uuid
              required:
                - type
                - id
          required:
            - code
            - message
            - request_id
      required:
        - error
    Error_internal_error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - internal_error
            message:
              type: string
            request_id:
              type: string
            description:
              type: string
            details:
              type: array
              items:
                type: object
                properties:
                  code:
                    type: string
                  field:
                    type: string
                  message:
                    type: string
                required:
                  - code
                  - field
                  - message
              maxItems: 20
            workflow_run_id:
              type: string
              format: uuid
            import_id:
              type: string
              format: uuid
            existing_party:
              type: object
              properties:
                type:
                  type: string
                  enum:
                    - supplier
                    - recipient
                id:
                  type: string
                  format: uuid
              required:
                - type
                - id
          required:
            - code
            - message
            - request_id
      required:
        - error
    Error_service_unavailable:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - service_unavailable
            message:
              type: string
            request_id:
              type: string
            description:
              type: string
            details:
              type: array
              items:
                type: object
                properties:
                  code:
                    type: string
                  field:
                    type: string
                  message:
                    type: string
                required:
                  - code
                  - field
                  - message
              maxItems: 20
            workflow_run_id:
              type: string
              format: uuid
            import_id:
              type: string
              format: uuid
            existing_party:
              type: object
              properties:
                type:
                  type: string
                  enum:
                    - supplier
                    - recipient
                id:
                  type: string
                  format: uuid
              required:
                - type
                - id
          required:
            - code
            - message
            - request_id
      required:
        - error
  securitySchemes:
    ApiKeyBearer:
      type: http
      scheme: bearer
      description: >-
        Personal API key sent as a bearer token, together with
        X-Organization-Id. The key must have at least the access level the
        endpoint requires (read, write or admin).

````

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