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

# Preparar a leitura de um turno

> Memória v2: a transcrição parcial enquanto o cliente fala; a leitura com a mesma pergunta responde do trabalho já feito. 202 na hora, sem comprovante.



## OpenAPI

````yaml openapi/pt/cell.json POST /v1/context/prefetch
openapi: 3.1.0
info:
  title: API de dados da Niadra
  version: '1'
  description: >-
    Escrita, contexto, histórico, objetos, identidade, privacidade e governança
    de um espaço. Cada espaço tem um endereço estável, com o espaço e a região
    no nome.
servers:
  - url: https://{space}.{region}.api.niadra.com
    variables:
      space:
        default: acme-prod
        description: O espaço, que vem na chave de fonte.
      region:
        default: us-east-2
        description: A região do espaço, que também vem na chave.
security: []
paths:
  /v1/context/prefetch:
    post:
      tags:
        - read
      summary: Preparar a leitura de um turno
      description: >-
        Para um turno feito só de formas fechadas (agradecimento, confirmação
        curta, pedido de repetição, saudação), o portão de intenção não prepara
        nada: a resposta 202 diz isso e a leitura serve só o esqueleto fixado.
        Memória v2: mande a transcrição parcial enquanto o cliente fala; o
        servidor abre a memória do cliente e calcula os encaixes do turno em
        segundo plano, então o `POST /v1/context` com a mesma `query` responde
        desse trabalho. Responde 202 na hora e nunca muda o que uma leitura
        devolve. Sem comprovante: só a leitura que usa o trabalho deixa um.
        Contado à parte no limite de pedidos da chave, então um prefetch nunca
        tira a vez de uma leitura.


        **Autenticação.** Chave de fonte: `Authorization: Bearer nia_sk_...`.
        Escopo exigido: `context`.
      operationId: prefetch_v1_context_prefetch_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PrefetchRequest'
        required: true
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrefetchResponse'
          description: Resposta de sucesso.
        '422':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
          description: O pedido não bate com o contrato.
      security:
        - sourceKey: []
components:
  schemas:
    PrefetchRequest:
      additionalProperties: false
      description: >-
        `POST /v1/context/prefetch`: o turno do cliente até aqui, enviado
        enquanto ele ainda fala, para a leitura que responde o turno achar o
        trabalho feito (memória v2). O mesmo alvo, view e nível dessa leitura.
      properties:
        about:
          anyOf:
            - $ref: '#/components/schemas/Handle'
            - type: 'null'
          description: A conta ou o parceiro em nome de quem a pessoa age.
        conversation_id:
          anyOf:
            - maxLength: 512
              minLength: 1
              type: string
            - type: 'null'
          title: Conversation Id
        object:
          anyOf:
            - $ref: '#/components/schemas/ObjectRef'
            - type: 'null'
        query:
          description: >-
            A transcrição parcial. A leitura com esta mesma `query` é servida do
            prefetch; uma transcrição mais longa ainda acha a memória do cliente
            já aberta.
          maxLength: 2000
          minLength: 1
          title: Query
          type: string
        subject:
          anyOf:
            - $ref: '#/components/schemas/Handle'
            - type: 'null'
        task_id:
          anyOf:
            - maxLength: 512
              minLength: 1
              type: string
            - type: 'null'
          title: Task Id
        verification:
          $ref: '#/components/schemas/Verification'
          default: V0
        view:
          default: voice
          pattern: >-
            ^(voice|chat|brief|full|custom|account|partner|task:[a-z0-9_]{1,40})$
          title: View
          type: string
      required:
        - query
      title: PrefetchRequest
      type: object
    PrefetchResponse:
      additionalProperties: false
      properties:
        queued:
          description: >-
            Falso quando não há o que preparar: o espaço não tem a memória v2
            ligada, ou o servidor está no limite de prefetches. A leitura
            responde igual nos dois casos.
          title: Queued
          type: boolean
      required:
        - queued
      title: PrefetchResponse
      type: object
    Problem:
      additionalProperties: false
      description: >-
        Detalhes do problema no formato da RFC 9457; `code` vem do catálogo de
        erros versionado.
      properties:
        code:
          title: Code
          type: string
        detail:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Detail
        request_id:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Request Id
        status:
          title: Status
          type: integer
        title:
          title: Title
          type: string
        type:
          default: about:blank
          title: Type
          type: string
      required:
        - title
        - status
        - code
      title: Problem
      type: object
    Handle:
      additionalProperties: false
      description: >-
        Um identificador de um sujeito num canal ou sistema: um telefone, um
        e-mail, um id do CRM.
      properties:
        scope:
          anyOf:
            - maxLength: 256
              minLength: 1
              type: string
            - type: 'null'
          description: >-
            Espaço de nomes dos identificadores com escopo: a conta do WhatsApp
            Business para `wa_bsuid`, o sistema para `system_id`, o país para
            `gov_id_hmac`.
          title: Scope
        subject_kind:
          anyOf:
            - $ref: '#/components/schemas/SubjectKind'
            - type: 'null'
          description: >-
            O padrão é `person`, exceto nos tipos de handle que só identificam
            organizações.
        type:
          $ref: '#/components/schemas/HandleType'
        value:
          maxLength: 320
          minLength: 1
          title: Value
          type: string
          description: >-
            O identificador. Normalizado no servidor: E.164 para telefone,
            minúsculas para e-mail.
      required:
        - type
        - value
      title: Handle
      type: object
    ObjectRef:
      additionalProperties: false
      description: Um objeto de negócio num sistema de registro.
      properties:
        id:
          maxLength: 512
          minLength: 1
          title: Id
          type: string
          description: O id nesse sistema.
        namespace:
          maxLength: 256
          minLength: 1
          title: Namespace
          type: string
          description: O sistema onde ele vive, como `erp`.
        type:
          maxLength: 256
          minLength: 1
          title: Type
          type: string
          description: Tipo do objeto, como `invoice`, `order` ou `ticket`.
      required:
        - type
        - namespace
        - id
      title: ObjectRef
      type: object
    Verification:
      description: >-
        Nível de verificação da sessão. V0 autodeclarado, V1 plausível pelo
        canal, V2 atestado pelo canal, V3 desafiado (OTP ou login), V4 conferido
        com um sistema de registro ou por um atendente. `no_customer` vale para
        tarefas sem cliente presente e só é aceito de fontes de agente interno.
      enum:
        - V0
        - V1
        - V2
        - V3
        - V4
        - no_customer
      title: Verification
      type: string
    SubjectKind:
      enum:
        - person
        - account
        - partner
      title: SubjectKind
      type: string
      description: >-
        Uma pessoa, uma organização cliente (`account`) ou uma organização que
        participa sem ser cliente (`partner`).
    HandleType:
      enum:
        - phone_e164
        - wa_id
        - wa_jid
        - wa_lid
        - wa_bsuid
        - email
        - gov_id_hmac
        - app_user_id
        - system_id
        - org_registry_hmac
        - email_domain
        - anon_id
      title: HandleType
      type: string
      description: >-
        O tipo de identificador. O valor é classificado pelo formato, nunca pelo
        campo de onde veio.
  securitySchemes:
    sourceKey:
      type: http
      scheme: bearer
      description: nia_sk_...

````