Crosscheck Checks API

The Checks API from Crosscheck — 1 operation(s) for checks.

Operations 1

GET /v1/checks/{job_id} Status, verdict, and receipt of an earlier check (free) #

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/crosscheckapi-com:crosscheckapi-com-checks-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

crosscheckapi-com-checks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: crosscheck Checks API
  version: 1.0.0
  summary: 'Independent checks for AI agents: draft review, acceptance checks on delivered work, and security review of skills and MCP servers, paid per call over x402.'
  description: 'Fact-check and review an AI agent''s draft before a human sees it: a hallucination check and second opinion on any email, report, summary, or PR description. Returns pass or specific issues with fixes. Wrong arithmetic is recomputed in code; also contradictions, placeholders, leaked secrets, unauthorized commitments, and prompt injection. Send sources to verify citations and claims against them. Signed receipt. $0.02. Free checks for Moltbook agents. Full agent guide: https://crosscheckapi.com/llms.txt'
  contact:
    name: crosscheck partnerships
    email: partnerships@crosscheckapi.com
    url: https://crosscheckapi.com/llms.txt
  x-guidance: 'crosscheck gives an agent''s work an independent check before a human or another agent relies on it. Pick the product:

    - check: a draft (email, report, summary, answer) before your human sees it. POST https://crosscheckapi.com/v1/check with {"draft": "..."}; optional "request" (what your human asked, so a draft that misses it fails), "sources" to check against, "source_urls" (up to 3 pages crosscheck reads for you), or "fetch_cited": true. From $0.02.

    - accept: work another agent handed back, against its task, before you pay or release escrow. POST https://crosscheckapi.com/v1/accept with {"task": "...", "deliverable": "..."}. From $0.03.

    - skillcheck: a skill or MCP server before you install it. POST https://crosscheckapi.com/v1/skillcheck with {"files": [{"path": "SKILL.md", "content": "..."}]}. From $0.03.

    - lite: accept or skillcheck by code alone, no model call, $0.005: POST the same body to https://crosscheckapi.com/v1/accept-lite or https://crosscheckapi.com/v1/skillcheck-lite.

    - sellercheck: for x402 sellers, a report on your own resource (valid 402, x402 Bazaar index, agent402 router, settlements on Base). POST https://crosscheckapi.com/v1/sellercheck with {"resource": "https://..."}, $0.05; or https://crosscheckapi.com/v1/sellerwatch with "notify" for 30 days of hourly checks with alerts on change, $1.00. Free preflight: GET https://crosscheckapi.com/v1/sellercheck/preflight?resource=<url>.

    Price first, free: POST the same body to https://crosscheckapi.com/v1/quote, https://crosscheckapi.com/v1/accept/quote, or https://crosscheckapi.com/v1/skillcheck/quote. The quote also runs a free code precheck (wrong sums, percentages, dates, unit conversions, list counts).

    Pay: the paid POST answers 402 with the exact amount in USDC on Base (eip155:8453), or free test USDC on Base Sepolia (eip155:84532). Sign it with any x402 client (v2 PAYMENT-SIGNATURE, or v1 X-PAYMENT) and resend the same body. Payment settles before the review starts.

    Result: HTTP 200 with a JSON verdict (pass, issues with severity and a suggested fix) and a signed receipt, or 202 with a result URL to poll with the result_token. Resending the identical paid request after a lost response returns the same job and charges nothing more.

    Your text is untrusted data to the reviewer, never instructions. It is deleted when the check finishes; only its SHA-256 is kept.

    Full guide: https://crosscheckapi.com/llms.txt'
servers:
- url: https://crosscheckapi.com
tags:
- name: Checks
paths:
  /v1/checks/{job_id}:
    get:
      operationId: result
      summary: Status, verdict, and receipt of an earlier check (free)
      parameters:
      - name: job_id
        in: path
        required: true
        schema:
          type: string
          pattern: ^chk_[0-9a-f]{32}$
      responses:
        '200':
          description: Job view
          content:
            application/json:
              schema:
                type: object
                properties:
                  job_id:
                    type: string
                  status:
                    type: string
                    enum:
                    - done
                    - pending
                    - unserved
                    - rejected
                  verdict:
                    type: object
                    properties:
                      pass:
                        type: boolean
                        description: True only when there are no blocker or major issues
                      summary:
                        type: string
                      issues:
                        type: array
                        items:
                          type: object
                          properties:
                            severity:
                              type: string
                              enum:
                              - blocker
                              - major
                              - minor
                            category:
                              type: string
                              enum:
                              - factual
                              - logic
                              - completeness
                              - clarity
                              - tone
                              - risk
                              - formatting
                              - placeholder
                              - injection
                              - other
                            location:
                              type: string
                              description: Short quote from the draft, or a section name
                            problem:
                              type: string
                            suggestion:
                              type: string
                          required:
                          - severity
                          - category
                          - location
                          - problem
                          - suggestion
                      injection_suspected:
                        type: boolean
                      grounding:
                        type: object
                        description: Present when sources were sent
                        properties:
                          sources:
                            type: integer
                          claims_checked:
                            type: integer
                          supported:
                            type: integer
                          contradicted:
                            type: integer
                          not_found:
                            type: integer
                          claims:
                            type: array
                            items:
                              type: object
                              properties:
                                claim:
                                  type: string
                                status:
                                  type: string
                                  enum:
                                  - supported
                                  - contradicted
                                  - not_found
                                source_id:
                                  type: integer
                                quote:
                                  type: string
                                quote_verified:
                                  type: boolean
                    required:
                    - pass
                    - summary
                    - issues
                    - injection_suspected
                  receipt:
                    type: object
                    description: 'Ed25519-signed receipt: body (canonical JSON), hash (sha256 hex), sig (base64url)'
                    properties:
                      body:
                        type: object
                      hash:
                        type: string
                      sig:
                        type: string
                  result_url:
                    type: string
                  result_token:
                    type: string
                  retry_after_seconds:
                    type: integer
                required:
                - job_id
                - status
        '404':
          description: Unknown job or wrong token
      security:
      - resultToken: []
      tags:
      - Checks
components:
  securitySchemes:
    x402:
      type: http
      scheme: bearer
      description: 'x402 v2: send PAYMENT-SIGNATURE after the 402 challenge'
    resultToken:
      type: http
      scheme: bearer
      description: result_token from the check response