Fuentio Keys API

The keys API from Fuentio — 4 operation(s) for keys.

GitHub OpenAPI

Operations 4

POST /v1/keys Create a free API key #
GET /v1/usage Plan, quota and usage for the calling key #
DELETE /v1/keys/me Revoke the calling key #
POST /v1/keys/me/rotate Replace the calling key with a new one #

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/fuentio-com:fuentio-com-keys-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

fuentio-com-keys-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Fuentio Keys API
  summary: Verify any company in France, Spain or the United Kingdom in one call, with sources an auditor accepts.
  description: 'Start here: the sandbox quickstart (curl examples, a Postman collection, MCP setup and companies to try). What each outcome means: /docs/outcomes. Errors: /docs/errors.'
  version: 0.1.0
tags:
- name: Keys
paths:
  /v1/keys:
    post:
      tags:
      - Keys
      summary: Create a free API key
      description: 'Creates a key on the Free plan (100 units a month, 2 requests per second, 5 monitors) instantly. The key is emailed to that address (on the production server; the answer then says "Check your email" and holds no key), or shown **once** here where email is off. **One free key per person:** `email` is required; an email that already has an active free key, or an address that created a free key in the last 30 days, gets 409 `already_exists`. `label` is optional. Send the key as `Authorization: Bearer ` or `X-API-Key`. Free.'
      operationId: create_key_v1_keys_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/KeyRequest'
        required: true
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '409':
          description: You already have a free key (one per person).
          content:
            application/json:
              example:
                meta:
                  request_id: req_example
                error:
                  code: already_exists
                  message: You already have a free key. Lost it? Write to hello@fuentio.com.
                  hint: Use the free key you already have. Lost it? Write to hello@fuentio.com.
                  docs_url: https://api.fuentio.com/docs/errors#already_exists
  /v1/usage:
    get:
      tags:
      - Keys
      summary: Plan, quota and usage for the calling key
      description: Your plan, the current period, units used and remaining, your rate limit, and monitors used and allowed. Without a key it reports the keyless trial for your address. Free.
      operationId: get_usage_v1_usage_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response Get Usage V1 Usage Get
  /v1/keys/me:
    delete:
      tags:
      - Keys
      summary: Revoke the calling key
      description: Revokes **the key sent with this request**, at once and for good (a leaked key, an app you stop using). Later calls with it answer `unauthorized`. Create a new key with POST /v1/keys. Free.
      operationId: revoke_own_key_v1_keys_me_delete
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response Revoke Own Key V1 Keys Me Delete
  /v1/keys/me/rotate:
    post:
      tags:
      - Keys
      summary: Replace the calling key with a new one
      description: 'Returns a **new key** on the same plan, with the same usage, receipts and subscription. The key sent with this request keeps working for 24 hours (time to deploy the new one), then stops. The new key is shown once: store it. Free.'
      operationId: rotate_own_key_v1_keys_me_rotate_post
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response Rotate Own Key V1 Keys Me Rotate Post
components:
  schemas:
    KeyRequest:
      properties:
        email:
          type: string
          maxLength: 254
          pattern: ^[^@\s]+@[^@\s]+\.[^@\s]+$
          title: Email
          description: 'Required: one free key per person.'
          examples:
          - dev@example.com
        label:
          anyOf:
          - type: string
            maxLength: 80
          - type: 'null'
          title: Label
        use_case:
          anyOf:
          - type: string
            enum:
            - kyb
            - suppliers
            - due_diligence
            - ai_agent
            - other
          - type: 'null'
          title: Use Case
          description: 'Optional: what the key is for (KYB / onboarding, supplier checks, due diligence, an AI agent, other). Stored with the key.'
          examples:
          - kyb
      additionalProperties: false
      type: object
      required:
      - email
      title: KeyRequest