> ## 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.

# Descartar sugestão

> Descarta a sugestão; o par não volta pela mesma evidência.



## OpenAPI

````yaml openapi/pt/cell.json POST /v1/identity/suggestions/{suggestion_id}/dismiss
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-1
        description: A região do espaço, que também vem na chave.
security: []
paths:
  /v1/identity/suggestions/{suggestion_id}/dismiss:
    post:
      tags:
        - identity
      summary: Descartar sugestão
      description: >-
        Descarta uma sugestão. O par não volta pela mesma evidência.


        **Autenticação.** Token de pessoa do Console com o papel `security`,
        `integration` (ou admin), ou chave de fonte com o escopo `admin`.
      operationId: dismiss_suggestion_v1_identity_suggestions__suggestion_id__dismiss_post
      parameters:
        - in: path
          name: suggestion_id
          required: true
          schema:
            format: uuid
            title: Suggestion Id
            type: string
        - in: header
          name: Idempotency-Key
          required: true
          schema:
            maxLength: 256
            minLength: 1
            title: Idempotency-Key
            type: string
          description: >-
            Obrigatório. Fica guardado 24 horas com o hash do corpo: repetir com
            a mesma chave devolve a primeira resposta, e a mesma chave com outro
            corpo devolve 409 `conflict`.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuggestionOut'
              example:
                suggestion_id: 0192f7a1-5b10-7c3a-8e21-4d2f8a4c0e09
                handle_a: 0192f7a1-5b10-7c3a-8e21-4d2f8a4c0e02
                handle_b: 0192f7a1-5b10-7c3a-8e21-4d2f8a4c0e0c
                profile_a: 0192f7a1-5b10-7c3a-8e21-4d2f8a4c0e01
                profile_b: 0192f7a1-5b10-7c3a-8e21-4d2f8a4c0e0d
                identifier_a:
                  handle_id: 0192f7a1-5b10-7c3a-8e21-4d2f8a4c0e02
                  type: phone_e164
                  value: +1415555****
                  scope: ''
                  subject_kind: person
                  status: active
                  level: V1
                  first_seen: '2021-04-06T13:20:00Z'
                  last_seen: '2026-09-22T17:07:03Z'
                identifier_b:
                  handle_id: 0192f7a1-5b10-7c3a-8e21-4d2f8a4c0e0c
                  type: email
                  value: m***@example.com
                  scope: ''
                  subject_kind: person
                  status: active
                  level: V0
                  first_seen: '2026-09-20T10:15:00Z'
                  last_seen: '2026-09-22T17:07:03Z'
                score: 0.93
                features:
                  same_name: true
                  same_postal_code: true
                  co_occurrences: 2
                status: rejected
                created_at: '2026-09-22T03:00:00Z'
          description: A sugestão, agora `rejected`.
        '422':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
          description: O pedido não bate com o contrato.
      security:
        - sourceKey: []
        - personToken: []
components:
  schemas:
    SuggestionOut:
      additionalProperties: false
      description: >-
        Um par candidato, encontrado fora do caminho da conversa, para revisão;
        nunca aplicado sem uma pessoa. Cada lado vem com o perfil e o
        identificador, mascarados pelo papel de quem chama, como em `GET
        /v1/profiles/{id}`.
      properties:
        created_at:
          format: date-time
          title: Created At
          type: string
        features:
          additionalProperties: true
          title: Features
          type: object
        handle_a:
          format: uuid
          title: Handle A
          type: string
        handle_b:
          format: uuid
          title: Handle B
          type: string
        identifier_a:
          anyOf:
            - $ref: '#/components/schemas/HandleOut'
            - type: 'null'
        identifier_b:
          anyOf:
            - $ref: '#/components/schemas/HandleOut'
            - type: 'null'
        profile_a:
          anyOf:
            - format: uuid
              type: string
            - type: 'null'
          description: Nulo quando o handle não existe mais.
          title: Profile A
        profile_b:
          anyOf:
            - format: uuid
              type: string
            - type: 'null'
          title: Profile B
        score:
          title: Score
          type: number
        status:
          enum:
            - open
            - accepted
            - rejected
          title: Status
          type: string
        suggestion_id:
          format: uuid
          title: Suggestion Id
          type: string
      required:
        - suggestion_id
        - handle_a
        - handle_b
        - profile_a
        - profile_b
        - identifier_a
        - identifier_b
        - score
        - features
        - status
        - created_at
      title: SuggestionOut
      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
    HandleOut:
      additionalProperties: false
      properties:
        first_seen:
          format: date-time
          title: First Seen
          type: string
        handle_id:
          format: uuid
          title: Handle Id
          type: string
        last_seen:
          format: date-time
          title: Last Seen
          type: string
        level:
          $ref: '#/components/schemas/Verification'
        scope:
          title: Scope
          type: string
        status:
          $ref: '#/components/schemas/HandleStatus'
        subject_kind:
          $ref: '#/components/schemas/SubjectKind'
        type:
          $ref: '#/components/schemas/HandleType'
        value:
          description: Mascarado conforme o papel de quem chama.
          title: Value
          type: string
      required:
        - handle_id
        - type
        - scope
        - subject_kind
        - value
        - status
        - level
        - first_seen
        - last_seen
      title: HandleOut
      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
    HandleStatus:
      enum:
        - active
        - ambiguous
        - blocked
        - suspected_recycled
      title: HandleStatus
      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_...
    personToken:
      type: http
      scheme: bearer
      bearerFormat: JWT

````