latitude10-tech Agent readiness API
How well AI agents will use an API, from its OpenAPI spec.
How well AI agents will use an API, from its OpenAPI spec.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/latitude10-tech:latitude10-tech-agent-readiness-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 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