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

> ## Agent Instructions
> A GYRA+ tem um servidor MCP oficial: https://mcp.gyramais.com.br/mcp. A autenticação é o login do próprio usuário na plataforma, não uma credencial separada. Instalação em https://developers.gyramais.com.br/mcp/instalacao.
> Prefira as tools do MCP a montar chamadas HTTP na mão quando o usuário já tem o conector ligado.
> Para analisar crédito de um CNPJ ou CPF, use create_report_v2 e assine um webhook em vez de fazer polling.
> Para ler um documento (contrato social, comprovante de residência, imposto de renda, balanço), use validate_document: a entrada é um arquivo só e a plataforma reconhece o tipo sozinha.
> Para pedir documentos ao cliente final, use create_collection com o slug de um modelo obtido em list_collection_templates.
> Documento (CNPJ/CPF) é dado pessoal: não o repita em log nem o envie a serviços de terceiros.

# Listar Modelos de Coleta

> Sempre antes de criar uma solicitação: o `slug` daqui é o que entra em `template`.

### Quando usar

Sempre antes de criar uma solicitação: o `slug` daqui é o que entra em `template`.

<Tip>
  Use o **`slug`**, não o `id`. Ele é o endereço estável entre versões: publicar uma versão nova do modelo não quebra a sua integração.
</Tip>

Para montar um seletor no seu sistema, filtre com `enabled=true`: modelo desligado continua na listagem sem o filtro. `scope` separa os modelos da sua organização (`ORGANIZATION`) dos modelos GYRA+ (`SYSTEM`). Para ligar ou desligar um modelo, veja a [Visão geral da API](/api-reference/onboarding/visao-geral#ligar-ou-desligar-um-modelo).

Os modelos são montados no toolbox. Ver [Solicitações de coleta](/onboarding/solicitacoes).

<Note>
  Contexto e vocabulário em [Solicitações de coleta](/onboarding/solicitacoes). Autenticação, versionamento e capacidades em [Visão geral da API](/api-reference/onboarding/visao-geral).
</Note>


## OpenAPI

````yaml get /v1/collection-templates
openapi: 3.0.0
info:
  title: GYRA+ API - MCP Server
  description: >-
    API da Gyra+ para analise de credito. Spec curada para uso com agentes AI
    via MCP.
  version: '1.0'
  contact: {}
servers:
  - url: https://gyra-core.gyramais.com.br
    description: Producao
security: []
paths:
  /v1/collection-templates:
    get:
      tags:
        - collections
      summary: Listar modelos de coleta
      description: >
        Os modelos vigentes que a organizacao enxerga (os dela e os modelos
        GYRA+), com metricas de

        uso, dos mais usados para os menos usados. Cada um diz o que sera
        pedido. Pagina padrao de

        50, maximo 100.


        Para montar um seletor, use enabled=true: modelo desligado continua na
        listagem sem o filtro.


        O `slug` daqui e o que entra em create_collection. Chame esta tool
        primeiro: criar solicitacao

        com slug inventado falha.
      operationId: CollectionTemplateController_list
      parameters:
        - name: search
          required: false
          in: query
          description: Casa por nome ou pela chave, sem acento e sem caixa.
          schema:
            maxLength: 120
            type: string
        - name: scope
          required: false
          in: query
          schema:
            enum:
              - ORGANIZATION
              - SYSTEM
            type: string
          description: >-
            ORGANIZATION (modelos da sua organizacao) ou SYSTEM (modelos GYRA+).
            Sem o parametro, os dois.
        - name: enabled
          required: false
          in: query
          schema:
            type: boolean
          description: >-
            true devolve so os modelos ligados. Sem o parametro (ou com false),
            ligados e desligados.
        - name: itemKind
          required: false
          in: query
          schema:
            type: array
            items:
              type: string
          description: >-
            So modelos que pedem itens destes tipos (DOCUMENT, FORM, SIGNATURE,
            CONSENT, IDENTITY, CUSTOM). Repita para varios.
        - name: skip
          required: false
          in: query
          schema:
            type: number
        - name: take
          required: false
          in: query
          schema:
            maximum: 100
            type: number
      responses:
        '200':
          description: Modelos com slug, nome, descricao, itens e uso.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CollectionTemplateListResponse'
              example:
                items:
                  - id: 6612a7f30000000000000041
                    scope: ORGANIZATION
                    name: Onboarding PJ
                    slug: onboarding-pj
                    description: Documentos mínimos para abrir limite de PJ.
                    items:
                      - key: constitutivo
                        kind: DOCUMENT
                        requirement: CONSTITUTIVO_VIGENTE
                        label: Documento constitutivo vigente
                        required: true
                      - key: identidade
                        kind: IDENTITY
                        label: Verificação de identidade
                        required: true
                    dueInDays: 10
                    reminders:
                      - 2
                      - 5
                      - 8
                    channel: BOTH
                    responseMode: REVIEW
                    behavior:
                      acceptPartial: false
                      skipItemsAlreadyOnFile: true
                    onCompleted:
                      kind: NONE
                      id: null
                      byEntityType:
                        COMPANY:
                          kind: POLICY
                          id: 6612a7f300000000000000c1
                    version: 3
                    isCurrent: true
                    enabled: true
                    metrics:
                      collections: 42
                      completedCollections: 33
                      completionRate: 0.7857
                      averageCompletionHours: 31.5
                    createdAt: '2026-07-02T09:00:00.000Z'
                    updatedAt: '2026-08-28T17:41:00.000Z'
                total: 1
        '400':
          description: >-
            Parametro invalido (scope fora da lista, take acima de 100, busca
            acima de 120 caracteres). A mensagem concatena todas as falhas por
            virgula.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                code: 400
                message: >-
                  scope must be one of the following values: ORGANIZATION,
                  SYSTEM
        '401':
          description: >-
            Token ausente, expirado ou invalido. Gere outro em POST
            /auth/authenticate.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                code: 401
                message: Token de acesso inválido.
        '403':
          description: O usuario autenticado nao tem a permissao exigida pela rota.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                code: 403
                message: Você não tem permissão para acessar este recurso.
        '404':
          description: >-
            O modulo Onboarding nao esta liberado para a organizacao: para ela,
            a rota nao existe.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                code: 404
                message: Recurso não encontrado.
        '500':
          description: >-
            Falha nossa. Tente de novo; se persistir, acione o suporte com o
            horario da chamada.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                code: 500
                message: Internal server error
      security:
        - authorization: []
      x-codeSamples:
        - lang: cURL
          label: cURL
          source: >
            curl --request GET
            'https://gyra-core.gyramais.com.br/v1/collection-templates' \
              --header 'Authorization: Bearer <token>'
        - lang: JavaScript
          label: Node
          source: >
            const resposta = await
            fetch("https://gyra-core.gyramais.com.br/v1/collection-templates", {
              method: "GET",
              headers: { Authorization: `Bearer ${token}` },
            });


            const dados = await resposta.json();
        - lang: Python
          label: Python
          source: |
            import requests

            resposta = requests.get(
                "https://gyra-core.gyramais.com.br/v1/collection-templates",
                headers={"Authorization": f"Bearer {token}"},
            )

            dados = resposta.json()
components:
  schemas:
    CollectionTemplateListResponse:
      type: object
      properties:
        items:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              scope:
                type: string
                nullable: true
                enum:
                  - SYSTEM
                  - ORGANIZATION
                  - null
                description: >-
                  SYSTEM e modelo da GYRA+: a organizacao usa e duplica, mas nao
                  edita.
              name:
                type: string
              slug:
                type: string
                description: >-
                  O ENDERECO ESTAVEL. E ele que entra em template ao criar
                  solicitacao.
              description:
                type: string
                nullable: true
              items:
                type: array
                items:
                  type: object
                  additionalProperties: true
                  description: Um item do modelo.
              dueInDays:
                type: integer
              reminders:
                type: array
                items:
                  type: integer
              channel:
                type: string
                enum:
                  - WHATSAPP
                  - EMAIL
                  - BOTH
                  - NONE
              responseMode:
                type: string
                enum:
                  - AUTOMATIC
                  - REVIEW
              behavior:
                type: object
                additionalProperties: true
                description: Comportamento do modelo.
              version:
                type: integer
              isCurrent:
                type: boolean
              enabled:
                type: boolean
                description: >-
                  false quando o modelo foi desligado para escolha. Num modelo
                  GYRA+, vale so para a sua organizacao.
              onCompleted:
                type: object
                nullable: true
                description: >-
                  O que o modelo faz ao concluir. kind NONE, POLICY ou
                  OPERATION; id e a politica ou a esteira. byEntityType, quando
                  existe, traz um destino por tipo de cadastro (COMPANY e
                  PERSON), cada um com kind e id.
                properties:
                  kind:
                    type: string
                    enum:
                      - NONE
                      - POLICY
                      - OPERATION
                  id:
                    type: string
                    nullable: true
                  byEntityType:
                    type: object
                    additionalProperties:
                      type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - POLICY
                            - OPERATION
                        id:
                          type: string
              publicFormUrl:
                type: string
                description: Endereco do formulario publico, quando o modelo tem um.
              metrics:
                type: object
                description: Uso do modelo na sua organizacao.
                properties:
                  collections:
                    type: integer
                    description: Solicitacoes criadas com o modelo.
                  completedCollections:
                    type: integer
                  completionRate:
                    type: number
                    description: De 0 a 1.
                  averageCompletionHours:
                    type: number
                    nullable: true
                    description: >-
                      Horas medias entre envio e conclusao. null sem solicitacao
                      concluida.
              createdAt:
                type: string
                format: date-time
              updatedAt:
                type: string
                format: date-time
        total:
          type: integer
    ApiError:
      type: object
      description: >-
        Formato unico de erro da API. Nao faca match exato da mensagem: use o
        code.
      properties:
        code:
          type: integer
          description: Codigo HTTP.
        message:
          type: string
          description: >-
            Mensagem em portugues. Em erro de validacao, traz TODAS as falhas
            concatenadas por virgula.
  securitySchemes:
    authorization:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Enter JWT token

````

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