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

# Emitir Certificados



## OpenAPI

````yaml /openapi.json post /v1.0/invitations
openapi: 3.0.3
info:
  title: That's Me API
  version: '1.0'
  description: >-
    API pública da That's Me — emita certificados digitais, consulte eventos e
    analytics via API.
servers:
  - url: https://api.thatsme.com.br/api
    description: Produção
  - url: https://servicetest.thatsme.com.br/api
    description: Sandbox
security: []
tags:
  - name: Emissões
    description: Emitir certificados e gerenciar destinatários
  - name: Eventos
    description: Criar e gerenciar eventos
  - name: Badges
    description: Gerenciar badges/TMs
  - name: Saldo
    description: Consultar saldo de emissões
  - name: Dashboard
    description: Analytics e exportação de dados
  - name: Webhooks
    description: Configurar notificações em tempo real
  - name: API Keys
    description: Gerenciar chaves de API
  - name: Verificação
    description: Verificar autenticidade de certificados
paths:
  /v1.0/invitations:
    post:
      tags:
        - Emissões
      summary: Emitir Certificados
      operationId: issueInvitation
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IssueInvitationDto'
      responses:
        '201':
          description: Certificado emitido com sucesso
        '400':
          description: Dados inválidos ou ausentes
        '401':
          description: API Key inválida
        '402':
          description: Saldo insuficiente para emissão
        '404':
          description: >-
            Evento inexistente, finalizado ou não pertencente ao emissor / Badge
            inexistente ou não pertencente ao emissor
        '409':
          description: Certificado já emitido para o mesmo destinatário
      security:
        - bearerAuth: []
components:
  schemas:
    IssueInvitationDto:
      type: object
      required:
        - event_id
        - badge_id
      properties:
        event_id:
          type: string
          format: uuid
          description: ID do evento vinculado à emissão
        badge_id:
          type: string
          format: uuid
          description: ID do badge utilizado na emissão
        recipient:
          description: Destinatário único ou array de destinatários
          oneOf:
            - $ref: '#/components/schemas/RecipientDto'
            - type: array
              items:
                $ref: '#/components/schemas/RecipientDto'
        recipient_name:
          type: string
          description: >-
            Nome completo do destinatário (obrigatório se recipient não for
            fornecido)
        recipient_email:
          type: string
          format: email
          description: >-
            E-mail do destinatário que receberá o convite (obrigatório se
            recipient não for fornecido)
        recipient_number:
          type: string
          description: >-
            Número do destinatário para notificações por SMS ou WhatsApp
            (formato E.164). Exemplo: +5531987654321
        reason:
          type: string
          description: Motivo pelo qual o destinatário está recebendo o certificado
    RecipientDto:
      type: object
      required:
        - recipient_name
        - recipient_email
      properties:
        recipient_name:
          type: string
          description: Nome completo do destinatário
        recipient_email:
          type: string
          format: email
          description: E-mail do destinatário que receberá o convite
        recipient_number:
          type: string
          description: >-
            Número do destinatário para notificações por SMS ou WhatsApp
            (formato E.164). Exemplo: +5531987654321
        reason:
          type: string
          description: >-
            Motivo pelo qual o destinatário está recebendo o certificado.
            Exemplo: Curso de Python para Data Science com duração de 40 horas
            no nível Intermediário
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API_KEY

````