latitude10-tech Agent readiness API

How well AI agents will use an API, from its OpenAPI spec.

Operations 1

POST /api/readiness/report Score an OpenAPI spec for AI agents: the full report #

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/latitude10-tech:latitude10-tech-agent-readiness-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

latitude10-tech-agent-readiness-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Latitude10 Tech Agent readiness API
  version: 1.0.0
  contact:
    name: Latitude 10
    email: jorge@latitude10.tech
    url: https://latitude10.tech
  termsOfService: https://latitude10.tech/terms
  x-guidance: 'Call an operation without paying to get HTTP 402 with the terms, pay with any x402 client and retry. Product URLs are GET and also take x402 v1 and, when the 402 offers it, L402; the readiness report is POST {"url": "…"} and x402 v2 only. Browse for free over MCP at https://latitude10.tech/mcp.'
  description: 'Operations tagged Agent readiness across 2 of this provider''s published API definitions: latitude10.tech.openapi.json, latitude10-tech-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://latitude10.tech
tags:
- name: Agent readiness
  description: How well AI agents will use an API, from its OpenAPI spec.
paths:
  /api/readiness/report:
    post:
      operationId: getAgentReadinessReport
      summary: 'Score an OpenAPI spec for AI agents: the full report'
      description: 'How well AI agents will use your API, from its OpenAPI 3.0/3.1 spec: a 0-100 score over 13 rules (operationIds, summaries, descriptions, parameters, enums, examples, JSON bodies, response and error schemas, pagination, auth, idempotency, tool count), every finding, and a suggested fix per operation. POST {"url": "https://…/openapi.json"} or {"spec": ""}. A spec it can''t fetch or check is a 4xx and charges nothing. The free summary (score, rules, top findings) is the MCP tool check_agent_readiness at https://latitude10.tech/mcp/readiness.'
      tags:
      - Agent readiness
      security: []
      x-idempotent: true
      x-payment-info:
        price:
          mode: fixed
          currency: USD
          amount: '0.10'
        protocols:
        - x402: {}
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                url:
                  type: string
                  format: uri
                  description: https URL of the OpenAPI 3.0 or 3.1 document (JSON or YAML, up to 2 MB).
                spec:
                  type:
                  - string
                  - object
                  description: The OpenAPI document itself, as JSON or YAML text or as an object. Send url or spec, not both.
            example:
              url: https://api.example.com/openapi.json
      responses:
        '200':
          description: 'Paid: the score, every rule, every finding and a suggested fix per operation.'
          content:
            application/json:
              schema:
                type: object
                properties:
                  report:
                    const: agent-readiness-report
                  api:
                    type: object
                    properties:
                      title:
                        type:
                        - string
                        - 'null'
                      version:
                        type:
                        - string
                        - 'null'
                      openapi:
                        type: string
                    required:
                    - title
                    - version
                    - openapi
                  source:
                    type: string
                    description: The spec URL, or "inline" for a spec sent in the body.
                  score:
                    type: integer
                    minimum: 0
                    maximum: 100
                  verdict:
                    type: string
                  operations:
                    type: integer
                    minimum: 0
                  rules:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        title:
                          type: string
                        weight:
                          type: integer
                          minimum: 0
                        passing:
                          type: integer
                          minimum: 0
                        applicable:
                          type: integer
                          minimum: 0
                        fix:
                          type: string
                          description: How to pass the rule; absent when it passes everywhere.
                      required:
                      - id
                      - title
                      - weight
                      - passing
                      - applicable
                  findingsTotal:
                    type: integer
                    minimum: 0
                  warnings:
                    type: array
                    items:
                      type: string
                  checkedWith:
                    type: string
                  findings:
                    type: array
                    items:
                      type: object
                      properties:
                        rule:
                          type: string
                          description: The rule id.
                        where:
                          type: string
                          description: The operation, e.g. GET /orders, or "spec".
                        message:
                          type: string
                      required:
                      - rule
                      - where
                      - message
                    description: Every finding, heaviest rules first (up to 2,000).
                  suggestions:
                    type: array
                    description: A suggested fix per operation that needs one.
                    items:
                      type: object
                      properties:
                        operation:
                          type: string
                        tool:
                          type: string
                        fields:
                          type: array
                          items:
                            type: string
                        operationId:
                          type: string
                        summary:
                          type: string
                        description:
                          type: string
                        parameters:
                          type: object
                          additionalProperties:
                            type: string
                          description: Parameter name to suggested description.
                        examples:
                          type: array
                          items:
                            type: object
                        idempotencyKeyHeader:
                          type: boolean
                      required:
                      - operation
                      - tool
                      - fields
                  howToApply:
                    type: string
                  help:
                    type: string
                  payment:
                    type: object
                    properties:
                      network:
                        type: string
                        description: CAIP-2 network the payment settled on.
                      transaction:
                        type: string
                        description: Settlement transaction hash; quote it to support.
                    required:
                    - network
                    - transaction
                required:
                - report
                - api
                - source
                - score
                - verdict
                - operations
                - rules
                - findingsTotal
                - findings
                - suggestions
                - payment
              example:
                report: agent-readiness-report
                api:
                  title: Orders API
                  version: 1.0.0
                  openapi: 3.1.0
                source: https://api.example.com/openapi.json
                score: 54
                verdict: Agents will struggle with this API as it is.
                operations: 5
                rules:
                - id: descriptions
                  title: Descriptions say what the operation does, when to use it, and what it returns
                  weight: 10
                  passing: 0
                  applicable: 5
                  fix: …
                findingsTotal: 31
                findings:
                - rule: descriptions
                  where: GET /orders
                  message: no description
                suggestions:
                - operation: GET /orders
                  tool: listOrders
                  fields:
                  - description
                  description: Lists orders, filtered and paged with status, limit, cursor. …
                payment:
                  network: eip155:8453
                  transaction: 0x…
        '400':
          description: The body is not a JSON object with url or spec; nothing was charged.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '402':
          description: Payment required. x402 v2 terms (USDC on Base or Solana) in the PAYMENT-REQUIRED header and as the JSON body; x402 v2 only. Pay and retry the same request.
          headers:
            PAYMENT-REQUIRED:
              description: x402 v2 payment requirements, base64-encoded JSON.
              schema:
                type: string
        '422':
          description: The spec couldn't be fetched or isn't OpenAPI 3.0/3.1; nothing was charged.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too many requests from this address; try again later.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: The check failed on this spec; nothing was charged.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '502':
          description: The payment facilitator failed. If you were charged, email jorge@latitude10.tech with the transaction.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Payments are briefly unavailable; nothing was charged.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    servers:
    - url: https://latitude10.tech
components:
  schemas:
    Error:
      type: object
      properties:
        error:
          type: string
      required:
      - error
x-refined-from:
- latitude10.tech.openapi.json
- latitude10-tech-openapi.json
x-agentcash-guidance:
  llmsTxtUrl: https://latitude10.tech/llms.txt