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

> ## Agent Instructions
> A API Nomos tem base em https://api.nomos.pro e autentica pelo header `x-api-key`.
> Todos os endpoints de busca são POST. Parâmetros de consulta (page, limit, sort, q, modes) vão na query string; palavras-chave e filtros vão no corpo JSON.
> `limit` é limitado a 20 resultados por página. Para conjuntos maiores, itere sobre `page`.
> Filtros de data exigem `from` e `to` juntos. Enviar apenas `to` retorna erro 400.
> Filtros por ID (authors, rapporteurs, organs, themes, situations, stakeholders) exigem IDs internos reais devolvidos por uma busca anterior. IDs inventados não geram erro: retornam zero resultados silenciosamente.
> Filtros de valor aberto (type, regimes, section, openDataResource) não são listas fechadas. Deixe-os vazios para buscar em todas as fontes.
> Para uso conversacional ou por agentes, prefira o servidor MCP hospedado da Nomos em vez de chamar a API diretamente.

# Buscar designações de sanções da ONU

> Busca pessoas, organizações e embarcações designadas na Lista Consolidada de Sanções do Conselho de Segurança da ONU.

Um resultado é uma **designação**, não uma pessoa: a chave é o `sourceRefNumber` (ex.: `QDi.436`). A busca por nome (`search`) cobre o nome principal **e os apelidos**, por substring normalizada — sem acento, sem distinção de maiúsculas e sem pontuação, então `qadi` encontra `QADI`.

Diferente dos endpoints `/search/*`, este é um `GET` com filtros na query string e **não aceita** a gramática de `keywords` booleanas.



## OpenAPI

````yaml /openapi.json get /watchlist
openapi: 3.1.0
info:
  title: API Nomos
  version: 1.0.0
  description: >-
    API pública de busca da Nomos: dados legislativos, regulatórios e de diários
    oficiais do Brasil, normalizados e pesquisáveis por um único conjunto de
    parâmetros.


    Todos os endpoints de busca compartilham a mesma gramática — palavras-chave
    booleanas, texto livre, paginação e ordenação — e diferem apenas nos filtros
    específicos do domínio.


    As mesmas capacidades estão disponíveis via [servidor
    MCP](https://nomos.pro/docs/servidor-mcp) para clientes como Claude, Cursor
    e Claude Code.
  contact:
    name: Equipe Nomos
    url: https://nomos.pro
servers:
  - url: https://api.nomos.pro
    description: Produção
security:
  - ApiKeyAuth: []
tags:
  - name: Proposições
    description: >-
      Busca proposições legislativas (PL, PEC, MPV, PLP, PDC e outras) na
      Câmara, no Senado e nas assembleias legislativas estaduais. Cobre as 27
      unidades federativas.
  - name: Eventos
    description: >-
      Busca sessões, reuniões de comissão e agendas oficiais (E-agendas) das
      casas legislativas.
  - name: Diário Oficial da União
    description: >-
      Busca atos publicados no Diário Oficial da União (DOU), por seção e
      organização principal.
  - name: Diários oficiais
    description: >-
      Busca em diários oficiais estaduais (DOE), judiciais (DJE) e municipais
      (DOM). Cobertura atual: 22 estados mais o Distrito Federal.
  - name: Discursos
    description: >-
      Busca discursos e pronunciamentos parlamentares, filtrando por autor,
      partido e data.
  - name: Notícias
    description: Busca notícias e comunicados publicados pelas casas legislativas.
  - name: Redes sociais
    description: >-
      Busca publicações de parlamentares em redes sociais, filtrando por autor,
      partido e data.
  - name: Banco Central
    description: >-
      Busca resoluções, circulares, comunicados e demais atos normativos do
      Banco Central do Brasil.
  - name: CVM
    description: >-
      Busca resoluções, instruções, deliberações e ofícios circulares da
      Comissão de Valores Mobiliários.
  - name: Receita Federal
    description: >-
      Busca atos normativos e documentos publicados pela Receita Federal do
      Brasil.
  - name: Agências reguladoras
    description: >-
      Busca documentos de agências e fontes reguladoras brasileiras e
      internacionais. A lista de fontes cresce continuamente; qualquer slug é
      aceito e encaminhado à API.
  - name: Stakeholders
    description: Parlamentares e demais atores políticos.
  - name: Sanções da ONU
    description: >-
      Designações da Lista Consolidada de Sanções do Conselho de Segurança da
      ONU, com o histórico auditável de cada mudança.
paths:
  /watchlist:
    get:
      tags:
        - Sanções da ONU
      summary: Buscar designações de sanções da ONU
      description: >-
        Busca pessoas, organizações e embarcações designadas na Lista
        Consolidada de Sanções do Conselho de Segurança da ONU.


        Um resultado é uma **designação**, não uma pessoa: a chave é o
        `sourceRefNumber` (ex.: `QDi.436`). A busca por nome (`search`) cobre o
        nome principal **e os apelidos**, por substring normalizada — sem
        acento, sem distinção de maiúsculas e sem pontuação, então `qadi`
        encontra `QADI`.


        Diferente dos endpoints `/search/*`, este é um `GET` com filtros na
        query string e **não aceita** a gramática de `keywords` booleanas.
      operationId: searchWatchlist
      parameters:
        - name: limit
          in: query
          description: Resultados por página. Máximo 100.
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 20
        - name: offset
          in: query
          description: Deslocamento da paginação (não é número de página).
          schema:
            type: integer
            minimum: 0
            default: 0
        - name: search
          in: query
          description: Nome a procurar, no nome principal e nos apelidos.
          schema:
            type: string
          example: swalleh
        - name: status
          in: query
          description: >-
            `listed` = designação em vigor; `delisted` = removida da lista.
            Omitido devolve as duas.
          schema:
            type: string
            enum:
              - listed
              - delisted
        - name: subjectType
          in: query
          description: '`individual` = pessoa física; `entity` = organização ou embarcação.'
          schema:
            type: string
            enum:
              - individual
              - entity
        - name: regime
          in: query
          description: >-
            Regime de sanções. **Comparação exata** — use os valores exatamente
            como listados.
          schema:
            type: string
            enum:
              - Al-Qaida
              - Taliban
              - DPRK
              - Iran
              - Iraq
              - DRC
              - Sudan
              - Libya
              - Somalia
              - CAR
              - Haiti
              - Yemen
              - GB
              - SouthSudan
          example: Al-Qaida
        - name: prohibition
          in: query
          description: >-
            Mantém só designações que carregam esta medida restritiva, na
            redação da própria ONU (em inglês).
          schema:
            type: string
          example: travel ban
        - name: excludeDeceased
          in: query
          description: >-
            `true` omite designações cujo texto da ONU registra o indivíduo como
            morto. Elas **continuam em vigor** — o filtro é de tela, não de
            status.
          schema:
            type: boolean
            default: false
        - name: sort
          in: query
          description: >-
            `recently_changed` = alteradas mais recentemente (pelas datas da
            própria ONU); `name` = ordem alfabética; `listed_on` = designadas há
            menos tempo primeiro.
          schema:
            type: string
            enum:
              - recently_changed
              - name
              - listed_on
            default: recently_changed
      responses:
        '200':
          description: Página de designações.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WatchlistPage'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
components:
  schemas:
    WatchlistPage:
      type: object
      description: >-
        Página de designações. Note o envelope `{data, total}` — os endpoints
        `/search/*` usam `{results, pagination}`.
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/WatchlistDesignation'
        total:
          type: integer
          description: Total que casa com os filtros, ignorando a paginação.
    WatchlistDesignation:
      type: object
      description: 'Uma designação: o sujeito somado ao ato que o sancionou.'
      properties:
        sourceRefNumber:
          type: string
          description: Chave de negócio, única e estável.
          examples:
            - QDi.436
        source:
          type: string
          description: Fonte da sanção. Hoje sempre `un_sc`.
          examples:
            - un_sc
        sourceDataId:
          type:
            - string
            - 'null'
        designationId:
          type: string
          format: uuid
        subjectId:
          type: string
          format: uuid
        subjectType:
          type: string
          enum:
            - individual
            - entity
          description: '`entity` inclui embarcações, não só organizações.'
        primaryName:
          type: string
        nameOriginalScript:
          type:
            - string
            - 'null'
          description: O nome na grafia original (árabe, cirílico), quando a fonte publica.
        nationalities:
          type: array
          items:
            type: string
        aliases:
          type: array
          items:
            $ref: '#/components/schemas/WatchlistAlias'
        regime:
          type:
            - string
            - 'null'
          description: Regime de sanções.
          examples:
            - Al-Qaida
        committee:
          type:
            - string
            - 'null'
          description: Comitê do Conselho de Segurança correspondente ao regime.
          examples:
            - '1267'
        status:
          type: string
          enum:
            - listed
            - delisted
        listedOn:
          type:
            - string
            - 'null'
          format: date
          description: Data oficial da designação, publicada pela ONU.
        delistedOn:
          type:
            - string
            - 'null'
          format: date
          description: >-
            Data em que a **nossa** reconciliação observou a ausência. A ONU não
            publica data de remoção — nunca apresente isto como data oficial.
        lastReviewedOn:
          type:
            - string
            - 'null'
          format: date
        sourceLastUpdated:
          type:
            - string
            - 'null'
          format: date
        lastUpdatedOn:
          type:
            - string
            - 'null'
          format: date
          description: >-
            A mais recente entre as datas da própria ONU. É a chave da ordenação
            `recently_changed`.
        narrative:
          type:
            - string
            - 'null'
          description: >-
            Motivo da designação, **na redação oficial da ONU, em inglês**.
            Reproduza com atribuição.
        narrativeTranslations:
          type: object
          additionalProperties:
            type: string
          description: Traduções automáticas da narrativa, por código de idioma.
          examples:
            - pt-BR: ...
        narrativeTranslated:
          type:
            - string
            - 'null'
          description: >-
            Só em `GET /watchlist/{ref}`: a tradução para o `lang` pedido, ou
            `null`.
        narrativeTranslatedLang:
          type:
            - string
            - 'null'
          description: Só em `GET /watchlist/{ref}`.
        extracted:
          $ref: '#/components/schemas/WatchlistExtracted'
        pressReleaseUrl:
          type:
            - string
            - 'null'
          description: >-
            Comunicado do Conselho de Segurança que anunciou a mudança mais
            recente.
        pressReleaseSymbol:
          type:
            - string
            - 'null'
          examples:
            - SC/16324
        lastEventAt:
          type:
            - string
            - 'null'
          format: date-time
        lastEventType:
          type:
            - string
            - 'null'
          enum:
            - listed
            - delisted
            - amended
            - reconciliation_blocked
            - null
        firstSeenAt:
          type: string
          format: date-time
          description: >-
            Quando a Nomos viu o registro pela primeira vez. Data nossa, não da
            ONU.
        lastSeenAt:
          type: string
          format: date-time
    Error:
      type: object
      properties:
        error:
          type: string
          description: Mensagem legível.
        code:
          type: string
          description: Código estável do erro.
    WatchlistAlias:
      type: object
      description: Um nome alternativo do sujeito, como a ONU o publica.
      properties:
        name:
          type: string
        quality:
          type: string
          enum:
            - good
            - low
            - aka
            - fka
          description: >-
            Confiança que a fonte atribui ao apelido. `low` **não é seguro**
            para casar identidade; `aka` não afirma qualidade alguma e `fka`
            significa "anteriormente conhecido como".
    WatchlistExtracted:
      type: object
      description: >-
        Fatos lidos automaticamente da narrativa, e não campos publicados pela
        ONU. **Trate como auxílio de busca e filtro, nunca como afirmação da
        Nomos** — `narrative` continua sendo a autoridade.
      properties:
        prohibitions:
          type: array
          items:
            type: string
          description: Medidas restritivas nomeadas no texto, na redação da ONU.
          examples:
            - - asset freeze
              - travel ban
        flagState:
          type:
            - string
            - 'null'
          description: Bandeira da embarcação designada.
        validFrom:
          type:
            - string
            - 'null'
          format: date
          description: >-
            Início da janela de validade, quando a narrativa declara uma. **Não
            é a data da designação** — essa é `listedOn`.
        validUntil:
          type:
            - string
            - 'null'
          format: date
          description: >-
            Fim da janela declarada. Uma designação com valor aqui caduca se o
            Comitê não renovar, ao contrário de todas as outras.
        identifiers:
          type: array
          items:
            type: string
          description: Passaportes e documentos que o texto soletra.
        lastKnownLocation:
          type:
            - object
            - 'null'
          properties:
            place:
              type: string
            observedOn:
              type:
                - string
                - 'null'
              format: date
        affiliations:
          type: array
          items:
            type: string
          description: Grupos ou entidades a que o texto liga o sujeito.
        subjectStatus:
          type:
            - string
            - 'null'
          enum:
            - deceased
            - in_custody
            - null
          description: >-
            Situação do indivíduo conforme a narrativa. **Não é status de
            sanção**: morte não delista, e `status`/`delistedOn` continuam sendo
            a autoridade.
  responses:
    BadRequest:
      description: >-
        Parâmetros inválidos. Causa mais comum: intervalo de datas com apenas
        `to`.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Chave de API ausente ou inválida.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Forbidden:
      description: A chave é válida mas o plano não dá acesso a este endpoint.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Chave de API da Nomos. Clientes criam e gerenciam chaves em
        https://nomos.pro/organization/developers (Organização →
        Desenvolvedores).

````