Dabra Mensageria API

The Mensageria API from Dabra — 5 operation(s) for mensageria.

Operations 5

POST /api/v1/consulta/sms-enviar Enviar SMS #
POST /api/v1/consulta/otp-send Enviar código OTP #
POST /api/v1/consulta/otp-resend Reenviar código OTP #
POST /api/v1/consulta/sms-status Status de SMS #
POST /api/v1/consulta/otp-verify Verificar código OTP #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/dabradata-com:dabradata-com-mensageria-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

dabradata-com-mensageria-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Dabra Mensageria API
  version: v1
  description: 'API pública Dabra — consulta de dados. Toda conta tem uma chave de teste (`dabra_test_...`) que devolve o exemplo de cada endpoint a custo zero, marcado com o header X-Example: true — a validação de parâmetros é a mesma da produção.'
servers:
- url: https://app.dabradata.com
security:
- ApiKeyAuth: []
tags:
- name: Mensageria
paths:
  /api/v1/consulta/sms-enviar:
    post:
      summary: Enviar SMS
      description: Dispara um SMS para um celular brasileiro e devolve o identificador da mensagem para você acompanhar a entrega.
      operationId: sms-enviar
      tags:
      - Mensageria
      parameters:
      - name: numero
        in: query
        required: true
        description: 'Celular de destino com DDI e DDD, só dígitos (ex.: 5511999999999).'
        schema:
          type: string
          pattern: ^55[0-9]{10,11}$
      - name: mensagem
        in: query
        required: true
        description: Texto da mensagem. Cada 160 caracteres = 1 crédito.
        schema:
          type: string
          maxLength: 1600
      - name: reference
        in: query
        required: false
        description: Seu identificador do envio. Repetir o mesmo valor não dispara outro SMS nem cobra de novo — use no retry.
        schema:
          type: string
          maxLength: 100
      responses:
        '200':
          description: Sucesso
          content:
            application/json:
              schema:
                type: object
              example:
                status: sent
                creditos: 1
                request_id: 7f3a1c92-0000-0000-0000-000000000000
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '402':
          $ref: '#/components/responses/Error402'
        '404':
          $ref: '#/components/responses/Error404'
        '429':
          $ref: '#/components/responses/Error429'
        '500':
          $ref: '#/components/responses/Error500'
  /api/v1/consulta/otp-send:
    post:
      summary: Enviar código OTP
      description: Gera um código de uso único, envia por SMS e devolve um `request_id` para a validação posterior. O código nunca volta na resposta.
      operationId: otp-send
      tags:
      - Mensageria
      parameters:
      - name: numero
        in: query
        required: true
        description: Celular de destino com DDI e DDD, só dígitos.
        schema:
          type: string
          pattern: ^55[0-9]{10,11}$
      - name: template
        in: query
        required: false
        description: Texto da mensagem contendo o marcador do código.
        schema:
          type: string
          maxLength: 300
      - name: code_length
        in: query
        required: false
        description: 'Quantidade de dígitos do código: 4 a 8 (padrão 6).'
        schema:
          type: integer
          enum:
          - 4
          - 5
          - 6
          - 7
          - 8
      - name: ttl_seconds
        in: query
        required: false
        description: Validade do código em segundos, de 60 a 900 (padrão 300).
        schema:
          type: integer
      responses:
        '200':
          description: Sucesso
          content:
            application/json:
              schema:
                type: object
              example:
                status: sent
                creditos: 1
                expira_em: 300
                request_id: otp_5c1d0e00000000000000000000000000
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '402':
          $ref: '#/components/responses/Error402'
        '404':
          $ref: '#/components/responses/Error404'
        '429':
          $ref: '#/components/responses/Error429'
        '500':
          $ref: '#/components/responses/Error500'
  /api/v1/consulta/otp-resend:
    post:
      summary: Reenviar código OTP
      description: Reenvia o código de uma verificação em aberto. Gera um código NOVO — o anterior deixa de valer.
      operationId: otp-resend
      tags:
      - Mensageria
      parameters:
      - name: request_id
        in: query
        required: true
        description: Identificador da verificação em aberto.
        schema:
          type: string
          maxLength: 100
      responses:
        '200':
          description: Sucesso
          content:
            application/json:
              schema:
                type: object
              example:
                status: sent
                creditos: 1
                request_id: otp_5c1d0e00000000000000000000000000
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '402':
          $ref: '#/components/responses/Error402'
        '404':
          $ref: '#/components/responses/Error404'
        '429':
          $ref: '#/components/responses/Error429'
        '500':
          $ref: '#/components/responses/Error500'
  /api/v1/consulta/sms-status:
    post:
      summary: Status de SMS
      description: 'Consulta a situação de uma mensagem já enviada, pelo `request_id`: retida em análise, liberada para a operadora, entregue ou recusada, com os horários de cada etapa. Gratuita.'
      operationId: sms-status
      tags:
      - Mensageria
      parameters:
      - name: request_id
        in: query
        required: true
        description: Identificador devolvido no envio.
        schema:
          type: string
          maxLength: 100
      responses:
        '200':
          description: Sucesso
          content:
            application/json:
              schema:
                type: object
              example:
                status: delivered
                creditos: 1
                criado_em: '2026-10-21T14:40:00+00:00'
                operadora: VIVO
                enviado_em: '2026-10-21T14:58:10+00:00'
                request_id: 7f3a1c92-0000-0000-0000-000000000000
                entregue_em: '2026-10-21T14:58:16+00:00'
                status_detalhe: Entrega confirmada pela operadora.
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '402':
          $ref: '#/components/responses/Error402'
        '404':
          $ref: '#/components/responses/Error404'
        '429':
          $ref: '#/components/responses/Error429'
        '500':
          $ref: '#/components/responses/Error500'
  /api/v1/consulta/otp-verify:
    post:
      summary: Verificar código OTP
      description: Confere o código digitado pelo usuário contra o `request_id` emitido. Uso único e gratuito.
      operationId: otp-verify
      tags:
      - Mensageria
      parameters:
      - name: request_id
        in: query
        required: true
        description: Identificador devolvido no envio do código.
        schema:
          type: string
          maxLength: 100
      - name: codigo
        in: query
        required: true
        description: Código que o usuário digitou.
        schema:
          type: string
          maxLength: 12
      responses:
        '200':
          description: Sucesso
          content:
            application/json:
              schema:
                type: object
              example:
                verificado: true
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '402':
          $ref: '#/components/responses/Error402'
        '404':
          $ref: '#/components/responses/Error404'
        '429':
          $ref: '#/components/responses/Error429'
        '500':
          $ref: '#/components/responses/Error500'
components:
  schemas:
    Error:
      type: object
      required:
      - error
      properties:
        error:
          type: object
          required:
          - code
          - message
          properties:
            code:
              type: string
            message:
              type: string
  responses:
    Error402:
      description: Saldo insuficiente
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Error401:
      description: Não autenticado
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Error400:
      description: Parâmetros inválidos
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Error429:
      description: Limite de requisições excedido
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Error404:
      description: Recurso não encontrado
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Error500:
      description: Erro interno
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key