Dibri API

Dibri REST API: POST /api/v1/agent/query sends one question with an agent bearer token and returns an answer built only from the vault's approved documents, with sources, a 0-100 confidence score, or a refusal (blocked=true); read-only trust-data endpoints under /api/v1/analytics use an analytics key (dbk_). Dibri publishes no machine-readable contract; the OpenAPI here (3 operations) was generated from https://dibri.ai/developers by API Evangelist on 2026-11-05. The same capability is served by a remote MCP server at https://dibri.ai/mcp (Streamable HTTP, tool ask).

Operations 3

POST /api/v1/agent/query POST /api/v1/agent/query #
GET /api/v1/analytics GET /api/v1/analytics #
GET /api/v1/analytics/knowledge_gaps GET /api/v1/analytics/knowledge_gaps #

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/dibri-ai:dibri-ai-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

dibri-ai-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: Dibri API
  version: '2026-11-05'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-11-05: 3 operation(s) read from 2 public documentation
    page(s) (each operation names its page in x-source). This is not the provider''s published contract; Dibri has published
    no machine-readable contract that the pipeline could find. Engine: anthropic. Contract module 2026-11-05: removed a spurious
    GET /api/v1/agent/query (its evidence was page navigation text; the docs show only POST and a live GET returned 405) and
    added the server the docs state.'
  x-evidence-tiers:
    code-example: 3
    documentation: 0
    pages-with-code: 1
    pages-read: 2
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-11-05'
  x-generator: generate-contract-from-docs.py
  x-engine: anthropic
  x-sources:
  - https://dibri.ai/developers
  - https://dibri.ai/guide
servers:
- url: https://dibri.ai
  description: 'Stated on https://dibri.ai/developers: POST https://dibri.ai/api/v1/agent/query and GET https://dibri.ai/api/v1/analytics'
security:
- bearer: []
tags:
- name: Api
paths:
  /api/v1/agent/query:
    post:
      operationId: post_api_v1_agent_query
      tags:
      - Api
      summary: POST /api/v1/agent/query
      x-source: https://dibri.ai/developers
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiV1AgentQueryRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -X POST https://dibri.ai/api/v1/agent/query  -H \"Authorization: Bearer YOUR_AGENT_TOKEN\"  -H \"Content-Type:\
          \ application/json\"  -d '{\"message\": \"Does the X-200 work with 240V?\"}' \n Python \n import requests\nDIBRI_URL\
          \ = \"https://dibri.ai/api/v1/agent/query\"\nDIBRI_TOKEN = \"YOUR_AGENT_TOKEN\"\ndef ask_dibri(question, history=None):\n\
          \ resp = requests.post(\n DIBRI_URL,\n headers={\"Authorization\": f\"Bear"
  /api/v1/analytics:
    get:
      operationId: get_api_v1_analytics
      tags:
      - Api
      summary: GET /api/v1/analytics
      x-source: https://dibri.ai/developers
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl -H "Authorization: Bearer dbk_YOUR_KEY" https://dibri.ai/api/v1/analytics'
  /api/v1/analytics/knowledge_gaps:
    get:
      operationId: get_api_v1_analytics_knowledge_gaps
      tags:
      - Api
      summary: GET /api/v1/analytics/knowledge_gaps
      x-source: https://dibri.ai/developers
      parameters:
      - name: days
        in: query
        required: false
        schema:
          type: string
      - name: limit
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -H \"Authorization: Bearer dbk_YOUR_KEY\"  \"https://dibri.ai/api/v1/analytics/knowledge_gaps?days=30&limit=10\"\
          \ \n Tools \n list_vaults \n Vaults and their agents, with the ids other tools filter by. \n answer_usage \n Answers\
          \ used this month against your plan's limit. \n refusal_summary \n Refusal totals by gate, day and vault. days,\
          \ vault_id \n list_refusals \n Individual refusals with question and rea"
components:
  schemas:
    PostApiV1AgentQueryRequest:
      type: object
      properties:
        message:
          type: string
  securitySchemes:
    bearer:
      type: http
      scheme: bearer