FirmLedger API

FirmLedger API as documented publicly: 36 operations. Contract generated from the documentation by API Evangelist (2026-10-29); not the provider's own document.

Operations 36

GET /.well-known/oauth-authorization-server Authorization-server metadata GET https://mcp.firmledger.co.ke/.well-known/oauth-authorization-server (RFC 8414) #
GET /.well-known/oauth-protected-resource/mcp Protected-resource metadata GET https://mcp.firmledger.co.ke/.well-known/oauth-protected-resource/mcp (RFC 9728) #
GET /api/v1 Discovery — versions, endpoints, limits #
GET /api/v1/categories Category list with live listing counts #
GET /api/v1/countries Countries present in the approved ledger #
GET /api/v1/directory Browse FirmLedger's public, approved listings (legacy alias). #
GET /api/v1/directory/{slug} Fetch a single approved listing by its slug (legacy alias). #
GET /api/v1/export/listings.csv Bulk CSV export of the approved ledger #
GET /api/v1/health Liveness probe — authenticated, returns 200 when the API is up #
GET /api/v1/listings GET /api/v1/listings #
POST /api/v1/listings POST /api/v1/listings — create #
GET /api/v1/listings/{slug} Full company profile by slug #
GET /api/v1/me Your account, scopes, key usage and live limits #
GET /api/v1/my/listings Your listings, paginated (status filter) #
POST /api/v1/my/listings Create a listing — enters moderation as pending #
DELETE /api/v1/my/listings/{id} Remove your listing and its attachments #
PUT /api/v1/my/listings/{id} Update any writable fields on your listing #
GET /api/v1/suggest Autocomplete — listings, categories, countries, cities #
GET /api/v1/usage Monthly totals, endpoint rankings and trailing 31‑day usage series #
POST /api/v1/usage POST /api/v1/usage #
GET /api/v1/verify/domain/{domain} Check whether a domain is listed #
GET /api/v1/webhooks List your signed event subscriptions #
POST /api/v1/webhooks Register a receiver URL and event/category filters #
GET /api/v1/webhooks/7/deliveries manage curl https://firmledger.co.ke/api/v1/webhooks/7/deliveries #
POST /api/v1/webhooks/7/rotate-secret POST /api/v1/webhooks/7/rotate-secret #
POST /api/v1/webhooks/7/test POST /api/v1/webhooks/7/test #
DELETE /api/v1/webhooks/{id} Remove a receiver and its delivery history #
PATCH /api/v1/webhooks/{id} Update filters, URL or pause state #
GET /mcp Primary AI connection address: https://mcp.firmledger.co.ke/mcp #
POST /mcp POST /mcp #
POST /mcp/fl_live_your_key POST https://mcp.firmledger.co.ke/mcp/fl_live_your_key – personal connector URL #
GET /oauth/authorize Authorization GET /oauth/authorize on the connector host named by the issuer metadata #
POST /oauth/register Client registration POST https://mcp.firmledger.co.ke/oauth/register (RFC 7591), JSON #
POST /oauth/revoke Revocation POST https://mcp.firmledger.co.ke/oauth/revoke (RFC 7009) with token #
POST /oauth/token Token POST https://mcp.firmledger.co.ke/oauth/token , form or JSON #
GET /sitemap.xml public, auto-indexed #

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/firmledger-co-ke:firmledger-co-ke-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

firmledger-co-ke-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: FirmLedger API
  version: '2026-10-29'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-10-29: 36 operation(s) read from 3 public documentation page(s) (each operation
    names its page in x-source). This is not the provider''s published contract; FirmLedger has published no machine-readable contract that the
    pipeline could find. Engine: local.'
  x-evidence-tiers:
    code-example: 10
    documentation: 26
    pages-with-code: 3
    pages-read: 3
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-10-29'
  x-generator: generate-contract-from-docs.py
  x-engine: local
  x-sources:
  - https://firmledger.co.ke/api
  - https://firmledger.co.ke/api/docs
  - https://firmledger.co.ke/docs/mcp/reference
servers:
- url: https://mcp.firmledger.co.ke
paths:
  /.well-known/oauth-authorization-server:
    get:
      operationId: get_well_known_oauth_authorization_server
      tags:
      - API
      summary: Authorization-server metadata GET https://mcp.firmledger.co.ke/.well-known/oauth-authorization-server (RFC 8414)
      x-source: https://firmledger.co.ke/docs/mcp/reference
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /.well-known/oauth-protected-resource/mcp:
    get:
      operationId: get_well_known_oauth_protected_resource_mcp
      tags:
      - API
      summary: Protected-resource metadata GET https://mcp.firmledger.co.ke/.well-known/oauth-protected-resource/mcp (RFC 9728)
      x-source: https://firmledger.co.ke/docs/mcp/reference
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1:
    get:
      operationId: get_api_v1
      tags:
      - Api
      summary: Discovery — versions, endpoints, limits
      x-source: https://firmledger.co.ke/api
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/categories:
    get:
      operationId: get_api_v1_categories
      tags:
      - Api
      summary: Category list with live listing counts
      x-source: https://firmledger.co.ke/api
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/countries:
    get:
      operationId: get_api_v1_countries
      tags:
      - Api
      summary: Countries present in the approved ledger
      x-source: https://firmledger.co.ke/api
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/directory:
    get:
      operationId: get_api_v1_directory
      tags:
      - Api
      summary: Browse FirmLedger's public, approved listings (legacy alias).
      x-source: https://firmledger.co.ke/api/docs
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiV1DirectoryResponse'
      x-evidence:
        kind: documentation
  /api/v1/directory/{slug}:
    get:
      operationId: get_api_v1_directory_slug
      tags:
      - Api
      summary: Fetch a single approved listing by its slug (legacy alias).
      x-source: https://firmledger.co.ke/api/docs
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiV1DirectorySlugResponse'
      x-evidence:
        kind: documentation
  /api/v1/export/listings.csv:
    get:
      operationId: get_api_v1_export_listings_csv
      tags:
      - Api
      summary: Bulk CSV export of the approved ledger
      x-source: https://firmledger.co.ke/api
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/health:
    get:
      operationId: get_api_v1_health
      tags:
      - Api
      summary: Liveness probe — authenticated, returns 200 when the API is up
      x-source: https://firmledger.co.ke/api
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/listings:
    get:
      operationId: get_api_v1_listings
      tags:
      - Api
      summary: GET /api/v1/listings
      x-source: https://firmledger.co.ke/api
      parameters:
      - name: category
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl \"https://firmledger.co.ke/api/v1/listings?category=Fintech\"  -H \"Authorization: Bearer fl_live_your_key\" \n{\n \"data\"\
          \ : [ { \"slug\" : \"safiri-fintech\" ,\n \"name\" : \"Safiri Fintech\" , \"category\" : \"Fintech\" , \"url\" : \"…/listing/safiri-fintech\"\
          \ } ],\n \"meta\" : { \"page\" : 1 , \"per_page\" : 20 , \"total\" : 1 }\n} \n v1 endpoints — all live \n Method Endpoint Description\
          \ Status \n GET /api/v1 Discovery — ver"
    post:
      operationId: post_api_v1_listings
      tags:
      - Api
      summary: POST /api/v1/listings — create
      x-source: https://firmledger.co.ke/api/docs
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiV1ListingsRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/listings/{slug}:
    get:
      operationId: get_api_v1_listings_slug
      tags:
      - Api
      summary: Full company profile by slug
      x-source: https://firmledger.co.ke/api
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/me:
    get:
      operationId: get_api_v1_me
      tags:
      - Api
      summary: Your account, scopes, key usage and live limits
      x-source: https://firmledger.co.ke/api
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/my/listings:
    get:
      operationId: get_api_v1_my_listings
      tags:
      - Api
      summary: Your listings, paginated (status filter)
      x-source: https://firmledger.co.ke/api
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    post:
      operationId: post_api_v1_my_listings
      tags:
      - Api
      summary: Create a listing — enters moderation as pending
      x-source: https://firmledger.co.ke/api
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/my/listings/{id}:
    delete:
      operationId: delete_api_v1_my_listings_id
      tags:
      - Api
      summary: Remove your listing and its attachments
      x-source: https://firmledger.co.ke/api
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    put:
      operationId: put_api_v1_my_listings_id
      tags:
      - Api
      summary: Update any writable fields on your listing
      x-source: https://firmledger.co.ke/api
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/suggest:
    get:
      operationId: get_api_v1_suggest
      tags:
      - Api
      summary: Autocomplete — listings, categories, countries, cities
      x-source: https://firmledger.co.ke/api
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/usage:
    get:
      operationId: get_api_v1_usage
      tags:
      - Api
      summary: Monthly totals, endpoint rankings and trailing 31‑day usage series
      x-source: https://firmledger.co.ke/api
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    post:
      operationId: post_api_v1_usage
      tags:
      - Api
      summary: POST /api/v1/usage
      x-source: https://firmledger.co.ke/api/docs
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiV1UsageRequest'
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiV1UsageResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl curl https://firmledger.co.ke/api/v1/usage -H \"Authorization: Bearer fl_live_your_key\" \n shape {\n \"data\" : { \"month_requests\"\
          \ : 1842 , \"month_writes\" : 17 , \"top_endpoints\" : [ { \"method\" : \"GET\" , \"endpoint\" : \"/listings\" , \"requests\" : 1200\
          \ } ], \"daily\" : [ { \"day\" : \"2026-09-04\" , \"requests\" : 42 , \"writes\" : 1 } ] },\n \"meta\" : { \"current_key\" : { \"read\"\
          \ : { \"remaining\" : 58 }, \"write\" : {"
  /api/v1/verify/domain/{domain}:
    get:
      operationId: get_api_v1_verify_domain_domain
      tags:
      - Api
      summary: Check whether a domain is listed
      x-source: https://firmledger.co.ke/api
      parameters:
      - name: domain
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/webhooks:
    get:
      operationId: get_api_v1_webhooks
      tags:
      - Api
      summary: List your signed event subscriptions
      x-source: https://firmledger.co.ke/api
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    post:
      operationId: post_api_v1_webhooks
      tags:
      - Api
      summary: Register a receiver URL and event/category filters
      x-source: https://firmledger.co.ke/api
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/webhooks/7/deliveries:
    get:
      operationId: get_api_v1_webhooks_7_deliveries
      tags:
      - Api
      summary: manage curl https://firmledger.co.ke/api/v1/webhooks/7/deliveries
      x-source: https://firmledger.co.ke/api/docs
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/webhooks/7/rotate-secret:
    post:
      operationId: post_api_v1_webhooks_7_rotate_secret
      tags:
      - Api
      summary: POST /api/v1/webhooks/7/rotate-secret
      x-source: https://firmledger.co.ke/api/docs
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiV1Webhooks7RotateSecretResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl -X POST https://firmledger.co.ke/api/v1/webhooks/7/rotate-secret -H "Authorization: Bearer fl_live_your_key"'
  /api/v1/webhooks/7/test:
    post:
      operationId: post_api_v1_webhooks_7_test
      tags:
      - Api
      summary: POST /api/v1/webhooks/7/test
      x-source: https://firmledger.co.ke/api/docs
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiV1Webhooks7TestResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -X POST https://firmledger.co.ke/api/v1/webhooks/7/test -H \"Authorization: Bearer fl_live_your_key\" \n Verify HMAC_SHA256(timestamp\
          \ + '.' + raw_request_body, secret) and reject timestamps older than five minutes. Treat X-Idempotency-Key as the dedupe key — retries\
          \ keep the same event id. \n GET   /api/v1/listings — company directory \n Browse FirmLedger's public, approved listings with filters\
          \ a"
  /api/v1/webhooks/{id}:
    delete:
      operationId: delete_api_v1_webhooks_id
      tags:
      - Api
      summary: Remove a receiver and its delivery history
      x-source: https://firmledger.co.ke/api
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    patch:
      operationId: patch_api_v1_webhooks_id
      tags:
      - Api
      summary: Update filters, URL or pause state
      x-source: https://firmledger.co.ke/api
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /mcp:
    get:
      operationId: get_mcp
      tags:
      - Mcp
      summary: 'Primary AI connection address: https://mcp.firmledger.co.ke/mcp'
      x-source: https://firmledger.co.ke/docs/mcp/reference
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    post:
      operationId: post_mcp
      tags:
      - Mcp
      summary: POST /mcp
      x-source: https://firmledger.co.ke/docs/mcp/reference
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostMcpRequest'
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostMcpResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -s https://mcp.firmledger.co.ke/mcp  -H \"Content-Type: application/json\"  -H \"Accept: application/json, text/event-stream\"\
          \  -H \"Authorization: Bearer fl_live_your_key\"  -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/call\",\"params\":{\"name\":\"\
          search_listings\",\"arguments\":{\"category\":\"Fintech\",\"city\":\"Nairobi\",\"verified_only\":true,\"limit\":5}}}' \n prepare, then\
          \ confirm # 1. prepare: returns action_su"
  /mcp/fl_live_your_key:
    post:
      operationId: post_mcp_fl_live_your_key
      tags:
      - Mcp
      summary: POST https://mcp.firmledger.co.ke/mcp/fl_live_your_key – personal connector URL
      x-source: https://firmledger.co.ke/docs/mcp/reference
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /oauth/authorize:
    get:
      operationId: get_oauth_authorize
      tags:
      - Oauth
      summary: Authorization GET /oauth/authorize on the connector host named by the issuer metadata
      x-source: https://firmledger.co.ke/docs/mcp/reference
      parameters:
      - name: response_type
        in: query
        required: true
        schema:
          type: string
        description: code
      - name: client_id
        in: query
        required: true
        schema:
          type: string
        description: client identifier
      - name: redirect_uri
        in: query
        required: true
        schema:
          type: string
        description: redirect URI
      - name: code_challenge
        in: query
        required: true
        schema:
          type: string
        description: PKCE code challenge
      - name: code_challenge_method
        in: query
        required: true
        schema:
          type: string
        description: S256
      - name: state
        in: query
        required: false
        schema:
          type: string
        description: opaque value
      - name: scope
        in: query
        required: false
        schema:
          type: string
        description: requested scopes
      - name: resource
        in: query
        required: false
        schema:
          type: string
        description: resource identifier
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /oauth/register:
    post:
      operationId: post_oauth_register
      tags:
      - Oauth
      summary: Client registration POST https://mcp.firmledger.co.ke/oauth/register (RFC 7591), JSON
      x-source: https://firmledger.co.ke/docs/mcp/reference
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostOauthRegisterRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /oauth/revoke:
    post:
      operationId: post_oauth_revoke
      tags:
      - Oauth
      summary: Revocation POST https://mcp.firmledger.co.ke/oauth/revoke (RFC 7009) with token
      x-source: https://firmledger.co.ke/docs/mcp/reference
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostOauthRevokeRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /oauth/token:
    post:
      operationId: post_oauth_token
      tags:
      - Oauth
      summary: Token POST https://mcp.firmledger.co.ke/oauth/token , form or JSON
      x-source: https://firmledger.co.ke/docs/mcp/reference
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostOauthTokenRequest'
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostOauthTokenResponse'
      x-evidence:
        kind: documentation
  /sitemap.xml:
    get:
      operationId: get_sitemap_xml
      tags:
      - Sitemap
      summary: public, auto-indexed
      x-source: https://firmledger.co.ke/api
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
components:
  schemas:
    GetApiV1DirectoryResponse:
      type: object
      properties:
        data:
          type: array
          description: Array of listing objects.
        meta:
          type: object
          description: Pagination metadata.
    GetApiV1DirectorySlugResponse:
      type: object
      properties:
        data:
          type: object
          description: Full company profile.
    PostApiV1ListingsRequest:
      type: object
      properties:
        name:
          type: string
        tagline:
          type: string
        description:
          type: string
        website:
          type: string
        country:
          type: string
        type:
          type: string
        category:
          type: string
        founded:
          type: string
        size:
          type: string
        email:
          type: string
        phone:
          type: string
        city:
          type: string
        region:
          type: string
        address:
          type: string
        logo_url:
          type: string
        tags:
          type: array
        socials:
          type: object
      required:
      - name
      - tagline
      - description
      - website
    PostApiV1UsageRequest:
      type: object
      properties:
        label:
          type: string
        url:
          type: string
        events:
          type: array
          items:
            type: string
        categories:
          type: array
          items:
            type: string
    PostApiV1UsageResponse:
      type: object
      properties:
        current_key:
          type: object
          properties:
            read:
              type: object
              properties:
                remaining:
                  type: integer
            write:
              type: object
              properties:
                remaining:
                  type: integer
    PostApiV1Webhooks7RotateSecretResponse:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            properties:
              slug:
                type: string
              name:
                type: string
              category:
                type: string
              confidence:
                type: integer
              email:
                type: string
              url:
                type: string
        meta:
          type: object
          properties:
            page:
              type: integer
            per_page:
              type: integer
            total:
              type: integer
            total_pages:
              type: integer
    PostApiV1Webhooks7TestResponse:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            properties:
              slug:
                type: string
              name:
                type: string
              category:
                type: string
              confidence:
                type: integer
              email:
                type: string
              url:
                type: string
        meta:
          type: object
          properties:
            page:
              type: integer
            per_page:
              type: integer
            total:
              type: integer
            total_pages:
              type: integer
    PostMcpRequest:
      type: object
      properties:
        jsonrpc:
          type: string
        id:
          type: integer
        method:
          type: string
        params:
          type: object
          properties:
            name:
              type: string
            arguments:
              type: object
              properties:
                category:
                  type: string
                city:
                  type: string
                verified_only:
                  type: boolean
                limit:
                  type: integer
    PostMcpResponse:
      type: object
      properties:
        jsonrpc:
          type: string
        id:
          type: integer
        method:
          type: string
        params:
          type: object
          properties:
            name:
              type: string
            arguments:
              type: object
              properties:
                listing:
                  type: string
    PostOauthRegisterRequest:
      type: object
      properties:
        client_name:
          type: string
        redirect_uris:
          type: array
        token_endpoint_auth_method:
          type: string
          description: '"none"'
      required:
      - client_name
      - redirect_uris
      - token_endpoint_auth_method
    PostOauthRevokeRequest:
      type: object
      properties:
        token:
          type: string
      required:
      - token
    PostOauthTokenRequest:
      type: object
      properties:
        grant_type:
          type: string
        code:
          type: string
        code_verifier:
          type: string
        refresh_token:
          type: string
      required:
      - grant_type
    PostOauthTokenResponse:
      type: object
      properties:
        access_token:
          type: string
        token_type:
          type: string
        expires_in:
          type: integer
        refresh_token:
          type: string
        scope:
          type: string
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
security:
- bearer: []
tags:
- name: API
- name: Api
- name: Mcp
- name: Oauth
- name: Sitemap