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

# Get the error dictionary

> Returns the whole Observe error dictionary of this deployment at its current revision: every code,
ordered by code, with the revision that last changed it. The dictionary is the same for every
project; `revision` is the highest revision of any code (0 while the dictionary is empty).

Required API key permission: `observe:errorCodes:read`.



## OpenAPI

````yaml /api-reference/openapi/observe.yaml get /observe/errorCodes
openapi: 3.1.1
info:
  version: 1.0.0
  title: Corbado API
  description: >
    # Introduction

    This documentation gives an overview of all Corbado API calls to implement
    authentication observe.
  contact:
    name: Corbado team
    email: support@corbado.com
    url: https://www.corbado.com
servers:
  - url: https://api.cloud.corbado.io/v1
security:
  - bearerAuth: []
tags:
  - name: ObserveFlow
    description: Flow search and related APIs
    x-group: Journeys and users
  - name: ObserveSubFlow
    description: Subflow search and related APIs
    x-group: Journeys and users
  - name: ObserveUser
    description: User search and related APIs
    x-group: Journeys and users
  - name: ObserveIdentifier
    description: Identifier search over submitted identifiers
    x-group: Journeys and users
  - name: ObservePasskeyIntelligence
    description: Passkey login predictions and support diagnosis
    x-group: Passkey Intelligence
  - name: ObserveClientEnv
    description: Client environment search APIs
    x-group: Journeys and users
  - name: ObserveTimeSeries
    description: Time series query APIs
    x-group: Metrics and funnels
  - name: ObserveFunnel
    description: Historical funnel metrics, dictionaries and coverage.
    x-group: Metrics and funnels
  - name: ObserveEvent
    description: Event ingestion and event feed APIs
    x-group: Events
  - name: ObserveError
    description: Named authentication errors and recommendations.
    x-group: Error management
  - name: ObserveErrorFlavour
    description: Error variants and their impact on authentication outcomes.
    x-group: Error management
  - name: ObserveErrorCode
    description: The Observe error dictionary (Corbado internal)
  - name: ObserveFinding
    description: Curated findings that explain errors, their impact and who has to act.
    x-group: Error management
  - name: ObserveAlert
    description: Authentication alert rules, instances and history.
    x-group: Alert management
  - name: ObserveAnnotation
    description: >-
      Annotations, the project's memory (what is true about the data and how to
      read it)
    x-group: Annotations
  - name: ObserveTableExport
    description: Table export file listing and download APIs
    x-group: Data exports
  - name: ObserveTimeSeriesExport
    description: Time-series export generation and downloads.
    x-group: Data exports
  - name: ObserveDataExport
    description: Data export APIs
    x-group: User data
  - name: ObserveDataDeletionJob
    description: Data deletion job APIs
    x-group: User data
  - name: ObserveFlowTypeDefinition
    description: Flow type definitions used in authentication journeys.
    x-group: Catalogs and labels
  - name: ObserveCatalog
    description: Catalog APIs
    x-group: Catalogs and labels
  - name: ObserveSavedFilter
    description: >-
      Saved filters, named flow filters a project stores once and applies by
      reference
    x-group: Saved filters
  - name: OpenAPI
    description: Downloadable API specification
  - name: ProjectOperationExecution
    description: Project-scoped operation history and pipeline health
  - name: ObserveClassification
    description: Flow and subflow classification APIs
  - name: ObserveIntegrationStats
    description: Integration stats APIs
  - name: ObserveTimeSeriesPrecalculation
    description: Time series precalculation APIs
  - name: ObserveIDList
    x-group: Saved ID lists
    description: Stored ID-list selection APIs
  - name: ObserveDataContext
    description: Schema-loose data context APIs for agent and debugging tooling
  - name: ObserveData
    description: Observe data administration APIs
  - name: ObserveTrackingStats
    description: Tracking ingestion stats APIs
  - name: ObserveProbe
    description: Raw probe capture items (internal autocapture diagnostics)
  - name: ObserveTelemetry
    description: Raw SDK/integration diagnostic telemetry
  - name: ObserveExperiment
    x-group: Experiments
    description: Experiment catalog and run APIs
  - name: ObserveDataPolicy
    description: >-
      Project data policy catalogue (retention selected by the SDK's
      meta.dataPolicy code)
  - name: ObserveMetadata
    x-group: Metadata
    description: Authenticator metadata APIs (FIDO MDS + passkey AAGUID)
  - name: ObserveSri
    description: Subresource Integrity hashes of the scripts Corbado hosts for a project
  - name: ObserveAutocapture
    description: >-
      Autocapture builds, candidates and releases, registered by Corbado's
      delivery pipeline
  - name: ObserveNotification
    description: >-
      Who is notified about what happens in a project, e.g. autocapture
      releases, and how it was delivered
  - name: ObservePasskey
    x-group: Passkey analysis
    description: Observed passkey search and cohort analysis.
paths:
  /observe/errorCodes:
    get:
      tags:
        - ObserveErrorCode
      summary: Get the error dictionary
      description: >-
        Returns the whole Observe error dictionary of this deployment at its
        current revision: every code,

        ordered by code, with the revision that last changed it. The dictionary
        is the same for every

        project; `revision` is the highest revision of any code (0 while the
        dictionary is empty).


        Required API key permission: `observe:errorCodes:read`.
      operationId: ObserveErrorCodeList
      responses:
        '200':
          description: The dictionary.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/observeErrorDictionary'
        default:
          $ref: '#/components/responses/error'
      security:
        - bearerAuth:
            - observe:errorCodes:read
components:
  schemas:
    observeErrorDictionary:
      type: object
      required:
        - schemaVersion
        - revision
        - codes
      properties:
        schemaVersion:
          type: string
          description: Always `1`.
        revision:
          type: integer
          description: The highest revision of any code; 0 while the dictionary is empty.
        codes:
          type: array
          description: Every code, ordered by code.
          items:
            $ref: '#/components/schemas/observeErrorCode'
    observeErrorCode:
      type: object
      description: One code of the dictionary as it is stored.
      required:
        - code
        - parentCode
        - level
        - scope
        - status
        - successorCode
        - category
        - subFlowTypes
        - defaultSeverity
        - silentProbe
        - inferred
        - inferredMatch
        - refinements
        - durationBuckets
        - qualifier
        - title
        - matchingDescription
        - customerName
        - customerDescription
        - revision
        - createdMs
        - updatedMs
      properties:
        code:
          type: string
        parentCode:
          type:
            - string
            - 'null'
          x-omitempty: false
        level:
          $ref: '#/components/schemas/observeErrorCodeLevel'
        scope:
          $ref: '#/components/schemas/observeErrorCodeScope'
        status:
          $ref: '#/components/schemas/observeErrorCodeStatus'
        successorCode:
          type:
            - string
            - 'null'
          x-omitempty: false
        category:
          type: string
        subFlowTypes:
          type: array
          items:
            type: string
        defaultSeverity:
          $ref: '#/components/schemas/observeErrorCodeSeverity'
        silentProbe:
          type: boolean
        inferred:
          type: boolean
        inferredMatch:
          type:
            - array
            - 'null'
          x-omitempty: false
          items:
            $ref: '#/components/schemas/observeErrorCodeInferredMatch'
        refinements:
          type:
            - array
            - 'null'
          x-omitempty: false
          description: >-
            The ordered refinement rules of a base code; null for every other
            code.
          items:
            $ref: '#/components/schemas/observeErrorCodeRefinement'
        durationBuckets:
          type:
            - object
            - 'null'
          deprecated: true
          x-omitempty: false
          description: >-
            Deprecated, use `refinements` (kept for one release): the
            refinements that match on buckets only, as

            bucket to child code; null when there are none.
          additionalProperties:
            type: string
        bucketOf:
          $ref: '#/components/schemas/observeErrorCodeBucketOf'
          description: >-
            Deprecated, use `refinements` (kept for one release): for a child
            that a base's bucket-only refinements

            resolve to, the base and those buckets; null for every other code.
          x-omitempty: false
        qualifier:
          type:
            - string
            - 'null'
          x-omitempty: false
        title:
          type: string
        matchingDescription:
          $ref: '#/components/schemas/observeErrorCodeMatchingDescription'
        customerName:
          type: string
        customerDescription:
          type: string
        revision:
          type: integer
          description: The dictionary revision that last changed the code.
        createdMs:
          type: integer
          format: int64
        updatedMs:
          type: integer
          format: int64
    errorRspV2:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - message
          properties:
            message:
              description: Error message
              type: string
              example: Validation failed
            details:
              description: Validation error details per field
              type: array
              items:
                type: object
                required:
                  - field
                  - message
                properties:
                  field:
                    description: Field name that failed validation
                    type: string
                    example: projectID
                  message:
                    description: Validation error message
                    type: string
                    example: required
    observeErrorCodeLevel:
      type: string
      enum:
        - generic
        - specific
      description: >-
        `generic`: a stage code, a root of the hierarchy. `specific`: a child of
        another code.
    observeErrorCodeScope:
      type: string
      enum:
        - cross-cutting
        - method-bound
      description: >-
        `cross-cutting`: valid in every subflow type, including future ones
        (`subFlowTypes` is `["*"]`).

        `method-bound`: valid only in the subflow types listed in
        `subFlowTypes`.
    observeErrorCodeStatus:
      type: string
      enum:
        - proposed
        - active
        - deprecated
      description: >-
        Lifecycle state. A deprecated code names its successor; codes are never
        deleted.
    observeErrorCodeSeverity:
      type: string
      enum:
        - error
        - warn
        - info
    observeErrorCodeInferredMatch:
      type: object
      required:
        - trigger
        - subFlowTypes
      properties:
        trigger:
          type: string
          description: '`step-incomplete`, `step-missing` or `no-followup`.'
          x-oapi-codegen-extra-tags:
            validate: required,oneof=step-incomplete step-missing no-followup
        subFlowTypes:
          type: array
          maxItems: 50
          items:
            type: string
          x-oapi-codegen-extra-tags:
            validate: required,min=1,max=50,dive,max=50
        steps:
          type: array
          maxItems: 50
          items:
            type: string
          x-oapi-codegen-extra-tags:
            validate: omitempty,max=50,dive,max=64
        specTypes:
          type: array
          description: Spec types covered; `""` = flavours without spec type.
          maxItems: 50
          items:
            type: string
          x-oapi-codegen-extra-tags:
            validate: omitempty,max=50,dive,max=64
    observeErrorCodeRefinement:
      type: object
      description: >-
        One refinement rule of a base code: a flavour sent with the base code
        that matches `match` gets `code`,

        which must be an active direct child of the base (its `parentCode` is
        the base). Rules are evaluated in

        order and the first match wins; no match keeps the base code. Evaluation
        is one pass: the target's own

        refinements are not applied. A code without refinements is never
        refined.
      required:
        - match
        - code
      properties:
        match:
          $ref: '#/components/schemas/observeErrorCodeRefinementMatch'
        code:
          type: string
          maxLength: 64
          x-oapi-codegen-extra-tags:
            validate: required,max=64
    observeErrorCodeBucketOf:
      type: object
      description: >-
        Deprecated (use `refinements`). Marks a duration-bucket child of a base
        code.
      required:
        - base
        - buckets
      properties:
        base:
          type: string
          x-oapi-codegen-extra-tags:
            validate: required,max=64
        buckets:
          type: array
          maxItems: 6
          items:
            type: string
          x-oapi-codegen-extra-tags:
            validate: required,min=1,max=6,dive,oneof=0 le100 le2000 le30000 gt30000 na
    observeErrorCodeMatchingDescription:
      type: object
      required:
        - is
        - isNot
      properties:
        is:
          type: string
          x-oapi-codegen-extra-tags:
            validate: required,max=4000
        isNot:
          type: string
          x-oapi-codegen-extra-tags:
            validate: max=4000
    observeErrorCodeRefinementMatch:
      type: object
      description: >-
        The condition of a refinement rule. Every key that is present must hold;
        a key holds when any of its

        values matches. At least one key is required.
      properties:
        messageIncludes:
          type: array
          description: >-
            Case-insensitive substrings (no regex) of the flavour's error name
            and message, matched against

            `<name>` + newline + `<message>`. Any entry matches. At most 20
            entries of at most 100 characters,

            none empty.
          maxItems: 100
          items:
            type: string
            maxLength: 1000
          x-oapi-codegen-extra-tags:
            validate: omitempty,max=100,dive,max=1000
        buckets:
          type: array
          description: >-
            Frozen duration buckets (`0`, `le100`, `le2000`, `le30000`,
            `gt30000`, `na`); any entry matches.
          maxItems: 50
          items:
            type: string
            maxLength: 64
          x-oapi-codegen-extra-tags:
            validate: omitempty,max=50,dive,max=64
        specTypes:
          type: array
          description: Spec types; any entry matches, `""` = flavours without spec type.
          maxItems: 50
          items:
            type: string
            maxLength: 64
          x-oapi-codegen-extra-tags:
            validate: omitempty,max=50,dive,max=64
  responses:
    error:
      description: Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errorRspV2'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Use an Observe API key from the management console. The key selects the
        project and must grant the permission listed on the operation. Keep this
        key on your server.

````

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