booklint-com Check API

The Check API from booklint-com — 1 operation(s) for check.

Operations 1

POST /v1/check Check an agent's actions against its owner's limits: a trading book ({snapshot… #

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/booklint-com:booklint-com-check-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

booklint-com-check-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: booklint Check API
  version: 0.2.0
  summary: 'Deterministic rule checks for any agent''s actions against the limits its owner wrote (trading books, spend and booking limits). A linter: no advice, no execution.'
  description: Every check response starts with verdict (FLAGGED, CLEAN, NOT_VERIFIED, REFUSED), then coverage and coverage_complete. Each rule reports passed, failed or not checked. A result with zero flags is not a pass; NOT_VERIFIED means some rules did not run.
servers:
- url: https://booklint.com
tags:
- name: Check
paths:
  /v1/check:
    post:
      summary: 'Check an agent''s actions against its owner''s limits: a trading book ({snapshot…'
      operationId: post_v1_check
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Malformed request (REFUSED-shaped body)
        '402':
          description: Free lifetime cap reached
        '413':
          description: Body larger than 1 MB
        '422':
          description: Refused input (REFUSED-shaped body)
        '429':
          description: Free daily cap reached (Retry-After)
      requestBody:
        required: true
        content:
          application/json:
            schema:
              anyOf:
              - type: object
                description: 'A trading book: {snapshot, rulebook, broker?, journal?}'
              - type: object
                description: 'An actions list: {actions, limits}'
              - $ref: '#/components/schemas/OfferCheckRequest'
              - type: object
                description: 'A public sample: {"sample": true | "spend" | "booking" | "subscription"}'
      security:
      - {}
      - bearer: []
      description: Every check response starts with verdict (FLAGGED, CLEAN, NOT_VERIFIED, REFUSED), then coverage and coverage_complete. Each rule reports passed, failed or not checked. A result with zero flags is not a pass; NOT_VERIFIED means some rules did not run.
      tags:
      - Check
components:
  schemas:
    Offer:
      type: object
      additionalProperties: false
      properties:
        merchant:
          type: string
          description: An identifier or domain, no spaces.
        currency:
          type: string
          pattern: ^[A-Z]{3}$
        headline_price:
          type: number
          minimum: 0
          description: The price shown first.
        line_items:
          type: array
          maxItems: 200
          items:
            type: object
            additionalProperties: false
            required:
            - amount
            properties:
              label:
                type: string
                maxLength: 120
              amount:
                type: number
                minimum: 0
              mandatory:
                type:
                - boolean
                - 'null'
        refund:
          type: object
          additionalProperties: false
          properties:
            refundable:
              type:
              - boolean
              - 'null'
            free_cancel_until:
              type:
              - string
              - 'null'
              format: date-time
        subscription:
          type: object
          additionalProperties: false
          properties:
            auto_renews:
              type:
              - boolean
              - 'null'
            renewal_price:
              type:
              - number
              - 'null'
              minimum: 0
            renewal_interval:
              type:
              - string
              - 'null'
              enum:
              - day
              - week
              - month
              - year
              - null
            trial_ends:
              type:
              - string
              - 'null'
              format: date-time
    OfferCheckRequest:
      type: object
      required:
      - offer
      - limits
      properties:
        offer:
          $ref: '#/components/schemas/Offer'
        limits:
          type: object
          description: 'The owner''s limits: a rulebook {version, declared, rules}. Offer kinds: total_price_cap, fees_above_headline (free); refundable_required, free_cancellation_min_hours, no_auto_renew, renewal_price_cap, trial_end_min_days, page_text_consistency (Desk).'
        as_of:
          type: string
          format: date-time
          description: The current UTC time. Time rules use it; the server clock is never used.
        page_text:
          type: string
          maxLength: 65536
          description: Optional plain text copied from the page; above 64 KB (UTF-8) the request is refused. booklint never fetches a URL.
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      description: A key from POST /v1/keys (vdk_...)