> ## 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 an alert topic

> Creates a topic on an agreement and moves the given alerts into it, out of any other topic. The topic stays, with or without alerts, until it is deleted or merged away, or its last alerts are deleted while it is unlocked. Categorization does not put alerts into an empty topic; fill it with alert_ids or POST /v1/alert-topics/{id}/alerts. Lock it (PATCH is_locked: true) to keep automatic categorization from rewriting its text.



## OpenAPI

````yaml /openapi.json post /v1/alert-topics
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/alert-topics:
    post:
      tags:
        - Alerts
      summary: Create an alert topic
      description: >-
        Creates a topic on an agreement and moves the given alerts into it, out
        of any other topic. The topic stays, with or without alerts, until it is
        deleted or merged away, or its last alerts are deleted while it is
        unlocked. Categorization does not put alerts into an empty topic; fill
        it with alert_ids or POST /v1/alert-topics/{id}/alerts. Lock it (PATCH
        is_locked: true) to keep automatic categorization from rewriting its
        text.
      operationId: createAlertTopic
      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
                description:
                  type:
                    - string
                    - 'null'
                  maxLength: 100000
                  description: >-
                    Markdown. A new topic has no sources yet, so inline
                    citations such as [1] are rejected.
                key_questions:
                  type: array
                  items:
                    type: string
                    minLength: 1
                    maxLength: 20000
                  maxItems: 100
                  description: Questions the supplier or reviewer should answer.
                alert_ids:
                  type: array
                  items:
                    type: string
                    format: uuid
                  minItems: 1
                  maxItems: 5000
                  description: >-
                    Alerts of the agreement to move into the topic, out of any
                    other topic. Move more later with POST
                    /v1/alert-topics/{id}/alerts.
              required:
                - agreement_id
                - title
              additionalProperties: false
            example:
              agreement_id: b3f4c2d1-0a9e-4c6b-8f7d-5e4a3b2c1d0e
              title: Order size discount
              description: >-
                Orders above the threshold were billed without the agreed
                discount.
              key_questions:
                - Was the discount applied on a later credit note?
              alert_ids:
                - 6f1d2c1e-8b6a-4a51-9d7e-2f0c7b1f4a10
      responses:
        '201':
          description: The new topic with its alert counts.
          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: false
              description: Relative URL of the created or accepted resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertTopicDetail'
        '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 resource does not exist in the current organization.
          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 resource does not exist in the current organization.
                  request_id: req_example
        '409':
          description: An alert is invalidated and cannot be put in a topic.
          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: An alert is invalidated and cannot be put in a topic.
                  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:
    AlertTopicDetail:
      allOf:
        - $ref: '#/components/schemas/AlertTopic'
        - type: object
          properties:
            key_questions:
              type: array
              items:
                type: string
            evidence:
              type: object
              properties:
                citations:
                  type: array
                  items:
                    anyOf:
                      - type: object
                        properties:
                          source_ref:
                            type: integer
                            exclusiveMinimum: 0
                          citation_id:
                            type:
                              - string
                              - 'null'
                            format: uuid
                          available:
                            type: boolean
                            enum:
                              - true
                          source_type:
                            type: string
                            enum:
                              - document
                          document_id:
                            type: string
                            format: uuid
                          document_name:
                            type:
                              - string
                              - 'null'
                            maxLength: 10000
                          section_title:
                            type:
                              - string
                              - 'null'
                            maxLength: 10000
                          quote:
                            type:
                              - string
                              - 'null'
                            maxLength: 10000
                            description: >-
                              The cited text as found in the document. Null when
                              only context_before and context_after locate it.
                          context_before:
                            type:
                              - string
                              - 'null'
                            maxLength: 10000
                            description: Only with citation_context=true.
                          context_after:
                            type:
                              - string
                              - 'null'
                            maxLength: 10000
                            description: Only with citation_context=true.
                          verification:
                            type:
                              - string
                              - 'null'
                            enum:
                              - verified
                              - corrected
                              - recovered
                              - unverified
                              - null
                            description: >-
                              verified: the quote was found in the document.
                              corrected: found after fixing the document or
                              wording. recovered: located by its context only.
                              unverified: not found.
                          original_quote:
                            type:
                              - string
                              - 'null'
                            maxLength: 10000
                            description: >-
                              The check's wording when the quote was not found
                              verbatim (quote is null); null otherwise.
                        required:
                          - source_ref
                          - citation_id
                          - available
                          - source_type
                          - document_id
                          - document_name
                          - section_title
                          - quote
                          - verification
                          - original_quote
                      - type: object
                        properties:
                          source_ref:
                            type: integer
                            exclusiveMinimum: 0
                          citation_id:
                            type:
                              - string
                              - 'null'
                            format: uuid
                          available:
                            type: boolean
                            enum:
                              - true
                          source_type:
                            type: string
                            enum:
                              - web
                          url:
                            type:
                              - string
                              - 'null'
                            maxLength: 10000
                          title:
                            type:
                              - string
                              - 'null'
                            maxLength: 10000
                          quote:
                            type:
                              - string
                              - 'null'
                            maxLength: 10000
                          text:
                            type:
                              - string
                              - 'null'
                            maxLength: 10000
                          cited_at:
                            type:
                              - string
                              - 'null'
                            maxLength: 10000
                        required:
                          - source_ref
                          - citation_id
                          - available
                          - source_type
                          - url
                          - title
                          - quote
                          - text
                          - cited_at
                      - type: object
                        properties:
                          source_ref:
                            type: integer
                            exclusiveMinimum: 0
                          citation_id:
                            type:
                              - string
                              - 'null'
                            format: uuid
                          available:
                            type: boolean
                            enum:
                              - true
                          source_type:
                            type: string
                            enum:
                              - agreement_items
                          item_ids:
                            type: array
                            items:
                              type: string
                              format: uuid
                        required:
                          - source_ref
                          - citation_id
                          - available
                          - source_type
                          - item_ids
                      - type: object
                        properties:
                          source_ref:
                            type: integer
                            exclusiveMinimum: 0
                          citation_id:
                            type:
                              - string
                              - 'null'
                            format: uuid
                          available:
                            type: boolean
                            enum:
                              - true
                          source_type:
                            type: string
                            enum:
                              - user_context
                          text:
                            type:
                              - string
                              - 'null'
                            maxLength: 10000
                        required:
                          - source_ref
                          - citation_id
                          - available
                          - source_type
                          - text
                      - type: object
                        properties:
                          source_ref:
                            type:
                              - integer
                              - 'null'
                            exclusiveMinimum: 0
                          citation_id:
                            type:
                              - string
                              - 'null'
                            format: uuid
                          source_type:
                            type:
                              - string
                              - 'null'
                          available:
                            type: boolean
                            enum:
                              - false
                          reason:
                            type: string
                            enum:
                              - source_unavailable
                        required:
                          - source_ref
                          - citation_id
                          - source_type
                          - available
                          - reason
                truncated:
                  type: boolean
                  description: True when excerpts were cut at 10,000 characters.
              required:
                - citations
                - truncated
          required:
            - key_questions
            - evidence
    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
    AlertTopic:
      type: object
      properties:
        id:
          type: string
          format: uuid
        agreement:
          type:
            - object
            - 'null'
          properties:
            id:
              type: string
              format: uuid
            title:
              type:
                - string
                - 'null'
          required:
            - id
            - title
        title:
          type:
            - string
            - 'null'
        description:
          type:
            - string
            - 'null'
        is_locked:
          type: boolean
        counts:
          type: object
          properties:
            pending:
              type: object
              properties:
                credited:
                  type: integer
                  minimum: 0
                uncredited:
                  type: integer
                  minimum: 0
              required:
                - credited
                - uncredited
            accepted:
              type: object
              properties:
                credited:
                  type: integer
                  minimum: 0
                uncredited:
                  type: integer
                  minimum: 0
              required:
                - credited
                - uncredited
            dismissed:
              type: object
              properties:
                credited:
                  type: integer
                  minimum: 0
                uncredited:
                  type: integer
                  minimum: 0
              required:
                - credited
                - uncredited
          required:
            - pending
            - accepted
            - dismissed
          description: Alerts by verdict, each split into credited and uncredited alerts.
        organization_currency:
          type: object
          properties:
            currency_code:
              type: string
              description: The organization's reporting currency from its settings.
            impact_amount:
              type: string
              pattern: ^-?\d+(?:\.\d+)?$
            by_verdict:
              type: object
              properties:
                pending:
                  type: object
                  properties:
                    credited:
                      type: object
                      properties:
                        alert_count:
                          type: integer
                        impact_amount:
                          type: string
                          pattern: ^-?\d+(?:\.\d+)?$
                          description: >-
                            Sum of the alerts’ impacts; alerts without an impact
                            add nothing.
                      required:
                        - alert_count
                        - impact_amount
                    uncredited:
                      type: object
                      properties:
                        alert_count:
                          type: integer
                        impact_amount:
                          type: string
                          pattern: ^-?\d+(?:\.\d+)?$
                          description: >-
                            Sum of the alerts’ impacts; alerts without an impact
                            add nothing.
                      required:
                        - alert_count
                        - impact_amount
                  required:
                    - credited
                    - uncredited
                accepted:
                  type: object
                  properties:
                    credited:
                      type: object
                      properties:
                        alert_count:
                          type: integer
                        impact_amount:
                          type: string
                          pattern: ^-?\d+(?:\.\d+)?$
                          description: >-
                            Sum of the alerts’ impacts; alerts without an impact
                            add nothing.
                      required:
                        - alert_count
                        - impact_amount
                    uncredited:
                      type: object
                      properties:
                        alert_count:
                          type: integer
                        impact_amount:
                          type: string
                          pattern: ^-?\d+(?:\.\d+)?$
                          description: >-
                            Sum of the alerts’ impacts; alerts without an impact
                            add nothing.
                      required:
                        - alert_count
                        - impact_amount
                  required:
                    - credited
                    - uncredited
                dismissed:
                  type: object
                  properties:
                    credited:
                      type: object
                      properties:
                        alert_count:
                          type: integer
                        impact_amount:
                          type: string
                          pattern: ^-?\d+(?:\.\d+)?$
                          description: >-
                            Sum of the alerts’ impacts; alerts without an impact
                            add nothing.
                      required:
                        - alert_count
                        - impact_amount
                    uncredited:
                      type: object
                      properties:
                        alert_count:
                          type: integer
                        impact_amount:
                          type: string
                          pattern: ^-?\d+(?:\.\d+)?$
                          description: >-
                            Sum of the alerts’ impacts; alerts without an impact
                            add nothing.
                      required:
                        - alert_count
                        - impact_amount
                  required:
                    - credited
                    - uncredited
              required:
                - pending
                - accepted
                - dismissed
              description: >-
                Counts and impact by verdict, each split into credited and
                uncredited alerts.
          required:
            - currency_code
            - impact_amount
            - by_verdict
          description: >-
            Impact in the organization currency: the sum of the alerts’
            converted impacts.
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
      required:
        - id
        - agreement
        - title
        - description
        - is_locked
        - counts
        - organization_currency
        - created_at
        - updated_at
  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.