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

# Read one verification

> Where the process is: the named diagnosis of the last run, when the next one lands, and the deadline it is running against.



## OpenAPI

````yaml /openapi.json get /api/verifications/{id}
openapi: 3.1.0
info:
  title: ownsi API
  description: >-
    Prove ownership of a domain with a TXT record, and read a zone before anyone
    signs in.


    Two surfaces, and they behave differently on purpose:


    - `GET /api/zones/:name` is public. It streams what DNS answers, in the
    order DNS answers it,
      and writes nothing. No account, no key.
    - Everything under `/api/domains`, `/api/claims` and `/api/verifications`
    belongs to an
      account and needs a session cookie.

    A lookup that failed never carries records, and a claim that has not been
    checked never carries a

    diagnosis: both are tagged unions, so the shape tells you which case you are
    in. Errors are always

    `{ error: { code, message, docsUrl } }` with a stable `code`.
  version: 0.1.0
servers:
  - url: https://ownsi.dev
    description: The origin the front end and the API share
security: []
tags:
  - name: Zones
    description: >-
      Reading a zone the way a visitor sees it: the delegation first, so the
      provider can be named, then how long publishing is likely to take. Public,
      rate limited per IP.
  - name: Domains
    description: >-
      A name on an account, and nothing else — no status, no token. It is what a
      claim is opened against. Session required.
  - name: Claims
    description: >-
      The episode: one token, one seven-day window, one outcome. A claim is
      never reopened, so the list of them is the account's history. Session
      required.
  - name: Events
    description: >-
      One stream per open tab, telling an account's screens what moved. It
      carries no state: a message names the resource, the client reads it back.
      Session required.
  - name: Proof
    description: >-
      A proved claim, shared. A link carries its own slug — never the DNS token
      — and resolves for seven days at `/p/:slug`, where the page states one
      moment and reads no DNS. Session required to publish one.
  - name: Verifications
    description: >-
      The process behind a claim: the runs it has made, the named diagnosis of
      the last one, and when the next lands. Session required.
paths:
  /api/verifications/{id}:
    get:
      tags:
        - Verifications
      summary: Read one verification
      description: >-
        Where the process is: the named diagnosis of the last run, when the next
        one lands, and the deadline it is running against.
      operationId: getApiVerificationsById
      parameters:
        - name: id
          in: path
          required: true
          schema:
            minLength: 1
            type: string
      responses:
        '200':
          description: Response for status 200
          content:
            application/json:
              schema:
                type: object
                required:
                  - id
                  - claimId
                  - method
                  - status
                  - lastOutcome
                  - diagnosis
                  - waitEstimate
                  - lastRunAt
                  - nextRunAt
                  - deadline
                  - createdAt
                properties:
                  id:
                    type: string
                  claimId:
                    type: string
                  method:
                    const: dns_txt
                    type: string
                  status:
                    default: checking
                    type: string
                    enum:
                      - checking
                      - propagating
                      - needs_attention
                      - proved
                      - exhausted
                      - stopped
                  lastOutcome:
                    anyOf:
                      - default: found
                        type: string
                        enum:
                          - found
                          - absent
                          - unresolvable
                      - type: 'null'
                  diagnosis:
                    anyOf:
                      - anyOf:
                          - type: object
                            required:
                              - code
                              - cause
                              - fix
                              - observed
                            properties:
                              code:
                                const: domain_appended
                                type: string
                              cause:
                                type: string
                              fix:
                                type: string
                              observed:
                                type: object
                                required:
                                  - name
                                properties:
                                  name:
                                    type: string
                          - type: object
                            required:
                              - code
                              - cause
                              - fix
                              - observed
                            properties:
                              code:
                                const: record_at_apex
                                type: string
                              cause:
                                type: string
                              fix:
                                type: string
                              observed:
                                type: object
                                required:
                                  - name
                                  - value
                                properties:
                                  name:
                                    type: string
                                  value:
                                    type: string
                          - type: object
                            required:
                              - code
                              - cause
                              - fix
                              - observed
                            properties:
                              code:
                                const: foreign_token
                                type: string
                              cause:
                                type: string
                              fix:
                                type: string
                              observed:
                                type: object
                                required:
                                  - value
                                properties:
                                  value:
                                    type: string
                          - type: object
                            required:
                              - code
                              - cause
                              - fix
                              - observed
                            properties:
                              code:
                                const: expired_token
                                type: string
                              cause:
                                type: string
                              fix:
                                type: string
                              observed:
                                type: object
                                required:
                                  - value
                                properties:
                                  value:
                                    type: string
                          - type: object
                            required:
                              - code
                              - cause
                              - fix
                              - observed
                            properties:
                              code:
                                const: value_formatted
                                type: string
                              cause:
                                type: string
                              fix:
                                type: string
                              observed:
                                type: object
                                required:
                                  - value
                                properties:
                                  value:
                                    type: string
                          - type: object
                            required:
                              - code
                              - cause
                              - fix
                              - observed
                            properties:
                              code:
                                const: no_matching_record
                                type: string
                              cause:
                                type: string
                              fix:
                                type: string
                              observed:
                                type: object
                                required:
                                  - values
                                properties:
                                  values:
                                    type: array
                                    items:
                                      type: string
                          - type: object
                            required:
                              - code
                              - cause
                              - fix
                              - observed
                            properties:
                              code:
                                const: cname_conflict
                                type: string
                              cause:
                                type: string
                              fix:
                                type: string
                              observed:
                                type: object
                                required:
                                  - target
                                properties:
                                  target:
                                    type: string
                          - type: object
                            required:
                              - code
                              - cause
                              - fix
                              - observed
                            properties:
                              code:
                                const: record_absent
                                type: string
                              cause:
                                type: string
                              fix:
                                type: string
                              observed:
                                type: object
                                required:
                                  - answer
                                properties:
                                  answer:
                                    anyOf:
                                      - type: object
                                        required:
                                          - type
                                        properties:
                                          type:
                                            const: nxdomain
                                            type: string
                                      - type: object
                                        required:
                                          - type
                                          - types
                                        properties:
                                          type:
                                            const: nodata
                                            type: string
                                          types:
                                            type: array
                                            items:
                                              type: string
                          - type: object
                            required:
                              - code
                              - cause
                              - fix
                              - observed
                            properties:
                              code:
                                const: record_on_www
                                type: string
                              cause:
                                type: string
                              fix:
                                type: string
                              observed:
                                type: object
                                required:
                                  - name
                                  - value
                                properties:
                                  name:
                                    type: string
                                  value:
                                    type: string
                          - type: object
                            required:
                              - code
                              - cause
                              - fix
                              - observed
                            properties:
                              code:
                                const: not_published
                                type: string
                              cause:
                                type: string
                              fix:
                                type: string
                              observed:
                                type: object
                                required:
                                  - nameservers
                                properties:
                                  nameservers:
                                    type: array
                                    items:
                                      type: string
                          - type: object
                            required:
                              - code
                              - cause
                              - fix
                              - observed
                            properties:
                              code:
                                const: negative_cache
                                type: string
                              cause:
                                type: string
                              fix:
                                type: string
                              observed:
                                type: object
                                required:
                                  - secondsRemaining
                                properties:
                                  secondsRemaining:
                                    type: number
                          - type: object
                            required:
                              - code
                              - cause
                              - fix
                              - observed
                            properties:
                              code:
                                const: servfail
                                type: string
                              cause:
                                type: string
                              fix:
                                type: string
                              observed:
                                type: object
                                required:
                                  - resolvers
                                properties:
                                  resolvers:
                                    type: array
                                    items:
                                      type: string
                          - type: object
                            required:
                              - code
                              - cause
                              - fix
                              - observed
                            properties:
                              code:
                                const: lame_delegation
                                type: string
                              cause:
                                type: string
                              fix:
                                type: string
                              observed:
                                type: object
                                required:
                                  - nameservers
                                properties:
                                  nameservers:
                                    type: array
                                    items:
                                      type: string
                      - type: 'null'
                  waitEstimate:
                    anyOf:
                      - type: object
                        required:
                          - reason
                          - secondsRemaining
                        properties:
                          reason:
                            default: first_check
                            type: string
                            enum:
                              - first_check
                              - negative_cache
                          secondsRemaining:
                            type: number
                      - type: 'null'
                  lastRunAt:
                    anyOf:
                      - type: string
                      - type: 'null'
                  nextRunAt:
                    anyOf:
                      - type: string
                      - type: 'null'
                  deadline:
                    type: string
                  createdAt:
                    type: string
        '401':
          description: Response for status 401
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - code
                      - message
                      - docsUrl
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      docsUrl:
                        type: string
        '404':
          description: Response for status 404
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - code
                      - message
                      - docsUrl
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      docsUrl:
                        type: string

````