Endpoints, fields and responses.

Find the request and response format for each endpoint. This reference uses the same OpenAPI document as the machine contract.

OpenAPI 3.1.1API 1.0.014 documented operations

Send your account key with each request.

Create a key on the account page and set SOME_AI_STUFF_API_KEY in your application’s secret environment. Send the key in the Authorization header:

Authorization: Bearer <your account key>

accountApiKey · http bearer. Use an account API key, not a browser session cookie or OAuth token. Obtain and revoke keys on the account page.

Free keys can list and get basic model information. Pro keys can read complete model records and the evidence collections. Browser session cookies do not authorize machine requests. The specification and these documentation pages are public.

Base URL: https://someaistuff.com. Examples below are code to run in your app or terminal; they do not send a request from this page. See account quotas and response bounds.

ENDPOINTS

Models

Basic model information with Free; complete model records with Pro.

GET/api/v1/models

Free & Pro

Free basic projection or Pro full records. Search canonical models and their exact aliases. Use the returned model id for prices and benchmark results.

Parameters

Name / locationType / requiredDefaultDescription & constraints
qquerystringOptionalNoneCase-insensitive substring search; not a regular expression.Minimum length: 1 · Maximum length: 120 · Pattern: ^[^\u0000-\u001f\u007f]+$
limitqueryintegerOptional20Minimum: 1 · Maximum: 100
offsetqueryintegerOptional0Minimum: 0 · Maximum: 100000
generationquerystringOptionalNonePin pagination to generatedAt. A changed generation returns snapshot_changed; restart at offset 0.Format: date-time · Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
modalityquerystringOptionalNoneAllowed: "llm", "image", "video", "audio", "3d", "embedding", "rerank", "decision"
developerquerystringOptionalNoneMinimum length: 1 · Maximum length: 160 · Pattern: ^[^\u0000-\u001f\u007f]+$
providerIdquerystringOptionalNonePro required. Exact case-sensitive identifier. Model detail also accepts an exact slug or unambiguous source-qualified alias.Minimum length: 1 · Maximum length: 512 · Pattern: ^[^\u0000-\u001f\u007f]+$
capabilityquerystringOptionalNoneAllowed: "tools", "structured-output", "vision", "audio-input", "transcription", "video-input", "reasoning", "prompt-cache", "open-weights"
Request example · curl

Set your account key first.

curl -sS 'https://someaistuff.com/api/v1/models?limit=20' \
  -H "Authorization: Bearer $SOME_AI_STUFF_API_KEY"

Responses

200Authenticated snapshot records. Free model responses use BasicModel and omit premium metadata; Pro responses retain full evidence. Null means unknown.

Content type: application/json

Schema: object | object

Free · BasicModel
apiVersionrequired
string

Value: "1"

generatedAtrequired
string
collectionrequired
string

Value: "models"

datarequired
BasicModel[]BasicModel →
paginationrequired
object
Pro · Model
apiVersionrequired
string

Value: "1"

generatedAtrequired
string
snapshotVersionoptional
number

Value: 2

storagerequired
object
sourcesrequired
Source[]Source →
collectionrequired
string

Value: "models"

datarequired
Model[]Model →
paginationrequired
object
Complete response schema (JSON)
{
  "oneOf": [
    {
      "type": "object",
      "properties": {
        "apiVersion": {
          "const": "1"
        },
        "generatedAt": {
          "type": "string"
        },
        "collection": {
          "const": "models"
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/BasicModel"
          }
        },
        "pagination": {
          "type": "object",
          "properties": {
            "limit": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            },
            "offset": {
              "type": "integer"
            },
            "total": {
              "type": "integer"
            },
            "nextOffset": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ]
            },
            "next": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "nextQuery": {
              "anyOf": [
                {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "q": {
                      "description": "Case-insensitive substring search over basic model ID, name, developer, modality and capabilities only.",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 120,
                      "pattern": "^[^\\u0000-\\u001f\\u007f]+$"
                    },
                    "limit": {
                      "default": 20,
                      "type": "integer",
                      "minimum": 1,
                      "maximum": 100
                    },
                    "offset": {
                      "default": 0,
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 100000
                    },
                    "generation": {
                      "description": "Pin pagination to generatedAt. A changed generation returns snapshot_changed; restart at offset 0.",
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                    },
                    "modality": {
                      "type": "string",
                      "enum": [
                        "llm",
                        "image",
                        "video",
                        "audio",
                        "3d",
                        "embedding",
                        "rerank",
                        "decision"
                      ]
                    },
                    "developer": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 160,
                      "pattern": "^[^\\u0000-\\u001f\\u007f]+$"
                    },
                    "capability": {
                      "type": "string",
                      "enum": [
                        "tools",
                        "structured-output",
                        "vision",
                        "audio-input",
                        "transcription",
                        "video-input",
                        "reasoning",
                        "prompt-cache",
                        "open-weights"
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "limit",
            "offset",
            "total",
            "nextOffset",
            "next",
            "nextQuery"
          ],
          "additionalProperties": true
        }
      },
      "required": [
        "apiVersion",
        "generatedAt",
        "collection",
        "data",
        "pagination"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "apiVersion": {
          "const": "1"
        },
        "generatedAt": {
          "type": "string"
        },
        "snapshotVersion": {
          "const": 2
        },
        "storage": {
          "type": "object",
          "properties": {
            "origin": {
              "enum": [
                "R2",
                "MEMORY",
                "PREVIOUS",
                "BUNDLED"
              ]
            },
            "degraded": {
              "type": "boolean"
            }
          },
          "required": [
            "origin",
            "degraded"
          ],
          "additionalProperties": true
        },
        "sources": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Source"
          }
        },
        "collection": {
          "const": "models"
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Model"
          }
        },
        "pagination": {
          "type": "object",
          "properties": {
            "limit": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            },
            "offset": {
              "type": "integer"
            },
            "total": {
              "type": "integer"
            },
            "nextOffset": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ]
            },
            "next": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "nextQuery": {
              "anyOf": [
                {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "q": {
                      "description": "Case-insensitive substring search; not a regular expression.",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 120,
                      "pattern": "^[^\\u0000-\\u001f\\u007f]+$"
                    },
                    "limit": {
                      "default": 20,
                      "type": "integer",
                      "minimum": 1,
                      "maximum": 100
                    },
                    "offset": {
                      "default": 0,
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 100000
                    },
                    "generation": {
                      "description": "Pin pagination to generatedAt. A changed generation returns snapshot_changed; restart at offset 0.",
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                    },
                    "modality": {
                      "type": "string",
                      "enum": [
                        "llm",
                        "image",
                        "video",
                        "audio",
                        "3d",
                        "embedding",
                        "rerank",
                        "decision"
                      ]
                    },
                    "developer": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 160,
                      "pattern": "^[^\\u0000-\\u001f\\u007f]+$"
                    },
                    "providerId": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 512,
                      "pattern": "^[^\\u0000-\\u001f\\u007f]+$",
                      "description": "Exact case-sensitive identifier. Model detail also accepts an exact slug or unambiguous source-qualified alias."
                    },
                    "capability": {
                      "type": "string",
                      "enum": [
                        "tools",
                        "structured-output",
                        "vision",
                        "audio-input",
                        "transcription",
                        "video-input",
                        "reasoning",
                        "prompt-cache",
                        "open-weights"
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "limit",
            "offset",
            "total",
            "nextOffset",
            "next",
            "nextQuery"
          ],
          "additionalProperties": true
        }
      },
      "required": [
        "apiVersion",
        "generatedAt",
        "storage",
        "sources",
        "collection",
        "data",
        "pagination"
      ],
      "additionalProperties": true
    }
  ]
}
400Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
401Account API key required, invalid, expired or revoked. Cookies do not grant machine access.

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
403Pro subscription or verified account required.

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
404Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
405Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
409snapshot_changed: restart pagination

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
413Request or result exceeds bounds

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
429Account quota exceeded; shared across keys and API/MCP. Honor Retry-After.

Header: Retry-After · integer. Minimum: 1

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
500Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
503Account or subscription service unavailable; access fails closed.

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}

GET/api/v1/models/{id}

Free & Pro

Free: basic fields by canonical ID or page slug. Pro: full model by canonical ID, slug or unambiguous qualified alias. URL-encode the complete identifier. Pro related links pin generation.

Parameters

Name / locationType / requiredDefaultDescription & constraints
idpathstringRequiredNoneMinimum length: 1 · Maximum length: 512
Request example · curl

Set your account key first. Replace {id} with the complete URL-encoded model ID or slug.

curl -sS 'https://someaistuff.com/api/v1/models/{id}' \
  -H "Authorization: Bearer $SOME_AI_STUFF_API_KEY"

Responses

200Authenticated snapshot records. Free model responses use BasicModel and omit premium metadata; Pro responses retain full evidence. Null means unknown.

Content type: application/json

Schema: object | object

Free · BasicModel
apiVersionrequired
string

Value: "1"

generatedAtrequired
string
datarequired
BasicModelBasicModel →
Pro · Model
apiVersionrequired
string

Value: "1"

generatedAtrequired
string
snapshotVersionoptional
number

Value: 2

storagerequired
object
sourcesrequired
Source[]Source →
datarequired
ModelModel →
linksrequired
object
Complete response schema (JSON)
{
  "oneOf": [
    {
      "type": "object",
      "properties": {
        "apiVersion": {
          "const": "1"
        },
        "generatedAt": {
          "type": "string"
        },
        "data": {
          "$ref": "#/components/schemas/BasicModel"
        }
      },
      "required": [
        "apiVersion",
        "generatedAt",
        "data"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "apiVersion": {
          "const": "1"
        },
        "generatedAt": {
          "type": "string"
        },
        "snapshotVersion": {
          "const": 2
        },
        "storage": {
          "type": "object",
          "properties": {
            "origin": {
              "enum": [
                "R2",
                "MEMORY",
                "PREVIOUS",
                "BUNDLED"
              ]
            },
            "degraded": {
              "type": "boolean"
            }
          },
          "required": [
            "origin",
            "degraded"
          ],
          "additionalProperties": true
        },
        "sources": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Source"
          }
        },
        "data": {
          "$ref": "#/components/schemas/Model"
        },
        "links": {
          "type": "object",
          "properties": {
            "page": {
              "type": "string"
            },
            "prices": {
              "type": "string"
            },
            "benchmarks": {
              "type": "string"
            },
            "agentBenchmarks": {
              "type": "string"
            },
            "offers": {
              "type": "string"
            },
            "plans": {
              "type": "string"
            }
          },
          "required": [],
          "additionalProperties": true
        }
      },
      "required": [
        "apiVersion",
        "generatedAt",
        "storage",
        "sources",
        "data",
        "links"
      ],
      "additionalProperties": true
    }
  ]
}
400Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
401Account API key required, invalid, expired or revoked. Cookies do not grant machine access.

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
403Pro subscription or verified account required.

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
404Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
405Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
409snapshot_changed: restart pagination

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
413Request or result exceeds bounds

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
429Account quota exceeded; shared across keys and API/MCP. Honor Retry-After.

Header: Retry-After · integer. Minimum: 1

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
500Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
503Account or subscription service unavailable; access fails closed.

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
ENDPOINTS

Evidence collections

Provider prices, benchmark observations and other qualified records. Pro required.

GET/api/v1/prices

Pro

Pro required. Read exact provider routes with billing units, configuration, conditional pricing, availability and checkedAt. Null prices are unknown, never zero. No cheapest-route ranking is inferred.

Parameters

Name / locationType / requiredDefaultDescription & constraints
qquerystringOptionalNoneCase-insensitive substring search; not a regular expression.Minimum length: 1 · Maximum length: 120 · Pattern: ^[^\u0000-\u001f\u007f]+$
limitqueryintegerOptional20Minimum: 1 · Maximum: 100
offsetqueryintegerOptional0Minimum: 0 · Maximum: 100000
generationquerystringOptionalNonePin pagination to generatedAt. A changed generation returns snapshot_changed; restart at offset 0.Format: date-time · Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
modelIdquerystringOptionalNoneExact case-sensitive identifier. Model detail also accepts an exact slug or unambiguous source-qualified alias.Minimum length: 1 · Maximum length: 512 · Pattern: ^[^\u0000-\u001f\u007f]+$
providerIdquerystringOptionalNoneExact case-sensitive identifier. Model detail also accepts an exact slug or unambiguous source-qualified alias.Minimum length: 1 · Maximum length: 512 · Pattern: ^[^\u0000-\u001f\u007f]+$
sourceIdquerystringOptionalNoneExact case-sensitive identifier. Model detail also accepts an exact slug or unambiguous source-qualified alias.Minimum length: 1 · Maximum length: 512 · Pattern: ^[^\u0000-\u001f\u007f]+$
unitquerystringOptionalNoneAllowed: "million-tokens", "image", "megapixel", "second", "minute", "hour", "thousand-characters", "request", "generation", "compute-second"
availablequerybooleanOptionalNone
Request example · curl

Set your account key first.

curl -sS 'https://someaistuff.com/api/v1/prices?limit=20' \
  -H "Authorization: Bearer $SOME_AI_STUFF_API_KEY"

Responses

200Authenticated snapshot records. Free model responses use BasicModel and omit premium metadata; Pro responses retain full evidence. Null means unknown.

Content type: application/json

Schema: object

apiVersionrequired
string

Value: "1"

generatedAtrequired
string
snapshotVersionoptional
number

Value: 2

storagerequired
object
sourcesrequired
Source[]Source →
collectionrequired
string

Value: "prices"

datarequired
Price[]Price →
paginationrequired
object
Complete response schema (JSON)
{
  "type": "object",
  "properties": {
    "apiVersion": {
      "const": "1"
    },
    "generatedAt": {
      "type": "string"
    },
    "snapshotVersion": {
      "const": 2
    },
    "storage": {
      "type": "object",
      "properties": {
        "origin": {
          "enum": [
            "R2",
            "MEMORY",
            "PREVIOUS",
            "BUNDLED"
          ]
        },
        "degraded": {
          "type": "boolean"
        }
      },
      "required": [
        "origin",
        "degraded"
      ],
      "additionalProperties": true
    },
    "sources": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Source"
      }
    },
    "collection": {
      "const": "prices"
    },
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Price"
      }
    },
    "pagination": {
      "type": "object",
      "properties": {
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 100
        },
        "offset": {
          "type": "integer"
        },
        "total": {
          "type": "integer"
        },
        "nextOffset": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "next": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "nextQuery": {
          "anyOf": [
            {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "type": "object",
              "properties": {
                "q": {
                  "description": "Case-insensitive substring search; not a regular expression.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 120,
                  "pattern": "^[^\\u0000-\\u001f\\u007f]+$"
                },
                "limit": {
                  "default": 20,
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 100
                },
                "offset": {
                  "default": 0,
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 100000
                },
                "generation": {
                  "description": "Pin pagination to generatedAt. A changed generation returns snapshot_changed; restart at offset 0.",
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                },
                "modelId": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 512,
                  "pattern": "^[^\\u0000-\\u001f\\u007f]+$",
                  "description": "Exact case-sensitive identifier. Model detail also accepts an exact slug or unambiguous source-qualified alias."
                },
                "providerId": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 512,
                  "pattern": "^[^\\u0000-\\u001f\\u007f]+$",
                  "description": "Exact case-sensitive identifier. Model detail also accepts an exact slug or unambiguous source-qualified alias."
                },
                "sourceId": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 512,
                  "pattern": "^[^\\u0000-\\u001f\\u007f]+$",
                  "description": "Exact case-sensitive identifier. Model detail also accepts an exact slug or unambiguous source-qualified alias."
                },
                "unit": {
                  "type": "string",
                  "enum": [
                    "million-tokens",
                    "image",
                    "megapixel",
                    "second",
                    "minute",
                    "hour",
                    "thousand-characters",
                    "request",
                    "generation",
                    "compute-second"
                  ]
                },
                "available": {
                  "type": "boolean"
                }
              },
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "limit",
        "offset",
        "total",
        "nextOffset",
        "next",
        "nextQuery"
      ],
      "additionalProperties": true
    }
  },
  "required": [
    "apiVersion",
    "generatedAt",
    "storage",
    "sources",
    "collection",
    "data",
    "pagination"
  ],
  "additionalProperties": true
}
400Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
401Account API key required, invalid, expired or revoked. Cookies do not grant machine access.

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
403Pro subscription or verified account required.

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
404Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
405Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
409snapshot_changed: restart pagination

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
413Request or result exceeds bounds

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
429Account quota exceeded; shared across keys and API/MCP. Honor Retry-After.

Header: Retry-After · integer. Minimum: 1

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
500Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
503Account or subscription service unavailable; access fails closed.

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}

GET/api/v1/benchmarks

Pro

Pro required. Read model-only benchmark observations with the metric definition, version, configuration, reporting provenance and separate source/evaluation clocks.

Parameters

Name / locationType / requiredDefaultDescription & constraints
qquerystringOptionalNoneCase-insensitive substring search; not a regular expression.Minimum length: 1 · Maximum length: 120 · Pattern: ^[^\u0000-\u001f\u007f]+$
limitqueryintegerOptional20Minimum: 1 · Maximum: 100
offsetqueryintegerOptional0Minimum: 0 · Maximum: 100000
generationquerystringOptionalNonePin pagination to generatedAt. A changed generation returns snapshot_changed; restart at offset 0.Format: date-time · Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
modelIdquerystringOptionalNoneExact case-sensitive identifier. Model detail also accepts an exact slug or unambiguous source-qualified alias.Minimum length: 1 · Maximum length: 512 · Pattern: ^[^\u0000-\u001f\u007f]+$
metricIdquerystringOptionalNoneExact case-sensitive identifier. Model detail also accepts an exact slug or unambiguous source-qualified alias.Minimum length: 1 · Maximum length: 512 · Pattern: ^[^\u0000-\u001f\u007f]+$
sourceIdquerystringOptionalNoneExact case-sensitive identifier. Model detail also accepts an exact slug or unambiguous source-qualified alias.Minimum length: 1 · Maximum length: 512 · Pattern: ^[^\u0000-\u001f\u007f]+$
Request example · curl

Set your account key first.

curl -sS 'https://someaistuff.com/api/v1/benchmarks?limit=20' \
  -H "Authorization: Bearer $SOME_AI_STUFF_API_KEY"

Responses

200Authenticated snapshot records. Free model responses use BasicModel and omit premium metadata; Pro responses retain full evidence. Null means unknown.

Content type: application/json

Schema: object

apiVersionrequired
string

Value: "1"

generatedAtrequired
string
snapshotVersionoptional
number

Value: 2

storagerequired
object
sourcesrequired
Source[]Source →
collectionrequired
string

Value: "benchmarks"

datarequired
Benchmark[]Benchmark →
paginationrequired
object
Complete response schema (JSON)
{
  "type": "object",
  "properties": {
    "apiVersion": {
      "const": "1"
    },
    "generatedAt": {
      "type": "string"
    },
    "snapshotVersion": {
      "const": 2
    },
    "storage": {
      "type": "object",
      "properties": {
        "origin": {
          "enum": [
            "R2",
            "MEMORY",
            "PREVIOUS",
            "BUNDLED"
          ]
        },
        "degraded": {
          "type": "boolean"
        }
      },
      "required": [
        "origin",
        "degraded"
      ],
      "additionalProperties": true
    },
    "sources": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Source"
      }
    },
    "collection": {
      "const": "benchmarks"
    },
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Benchmark"
      }
    },
    "pagination": {
      "type": "object",
      "properties": {
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 100
        },
        "offset": {
          "type": "integer"
        },
        "total": {
          "type": "integer"
        },
        "nextOffset": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "next": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "nextQuery": {
          "anyOf": [
            {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "type": "object",
              "properties": {
                "q": {
                  "description": "Case-insensitive substring search; not a regular expression.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 120,
                  "pattern": "^[^\\u0000-\\u001f\\u007f]+$"
                },
                "limit": {
                  "default": 20,
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 100
                },
                "offset": {
                  "default": 0,
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 100000
                },
                "generation": {
                  "description": "Pin pagination to generatedAt. A changed generation returns snapshot_changed; restart at offset 0.",
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                },
                "modelId": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 512,
                  "pattern": "^[^\\u0000-\\u001f\\u007f]+$",
                  "description": "Exact case-sensitive identifier. Model detail also accepts an exact slug or unambiguous source-qualified alias."
                },
                "metricId": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 512,
                  "pattern": "^[^\\u0000-\\u001f\\u007f]+$",
                  "description": "Exact case-sensitive identifier. Model detail also accepts an exact slug or unambiguous source-qualified alias."
                },
                "sourceId": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 512,
                  "pattern": "^[^\\u0000-\\u001f\\u007f]+$",
                  "description": "Exact case-sensitive identifier. Model detail also accepts an exact slug or unambiguous source-qualified alias."
                }
              },
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "limit",
        "offset",
        "total",
        "nextOffset",
        "next",
        "nextQuery"
      ],
      "additionalProperties": true
    }
  },
  "required": [
    "apiVersion",
    "generatedAt",
    "storage",
    "sources",
    "collection",
    "data",
    "pagination"
  ],
  "additionalProperties": true
}
400Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
401Account API key required, invalid, expired or revoked. Cookies do not grant machine access.

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
403Pro subscription or verified account required.

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
404Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
405Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
409snapshot_changed: restart pagination

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
413Request or result exceeds bounds

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
429Account quota exceeded; shared across keys and API/MCP. Honor Retry-After.

Header: Retry-After · integer. Minimum: 1

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
500Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
503Account or subscription service unavailable; access fails closed.

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}

GET/api/v1/agent-benchmarks

Pro

Pro required. Read model plus agent harness results. These are not model-only scores; preserve agent name, version, reasoning effort and benchmark version.

Parameters

Name / locationType / requiredDefaultDescription & constraints
qquerystringOptionalNoneCase-insensitive substring search; not a regular expression.Minimum length: 1 · Maximum length: 120 · Pattern: ^[^\u0000-\u001f\u007f]+$
limitqueryintegerOptional20Minimum: 1 · Maximum: 100
offsetqueryintegerOptional0Minimum: 0 · Maximum: 100000
generationquerystringOptionalNonePin pagination to generatedAt. A changed generation returns snapshot_changed; restart at offset 0.Format: date-time · Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
modelIdquerystringOptionalNoneExact case-sensitive identifier. Model detail also accepts an exact slug or unambiguous source-qualified alias.Minimum length: 1 · Maximum length: 512 · Pattern: ^[^\u0000-\u001f\u007f]+$
sourceIdquerystringOptionalNoneExact case-sensitive identifier. Model detail also accepts an exact slug or unambiguous source-qualified alias.Minimum length: 1 · Maximum length: 512 · Pattern: ^[^\u0000-\u001f\u007f]+$
benchmarkquerystringOptionalNoneMinimum length: 1 · Maximum length: 160 · Pattern: ^[^\u0000-\u001f\u007f]+$
Request example · curl

Set your account key first.

curl -sS 'https://someaistuff.com/api/v1/agent-benchmarks?limit=20' \
  -H "Authorization: Bearer $SOME_AI_STUFF_API_KEY"

Responses

200Authenticated snapshot records. Free model responses use BasicModel and omit premium metadata; Pro responses retain full evidence. Null means unknown.

Content type: application/json

Schema: object

apiVersionrequired
string

Value: "1"

generatedAtrequired
string
snapshotVersionoptional
number

Value: 2

storagerequired
object
sourcesrequired
Source[]Source →
collectionrequired
string

Value: "agent-benchmarks"

datarequired
AgentBenchmark[]AgentBenchmark →
paginationrequired
object
Complete response schema (JSON)
{
  "type": "object",
  "properties": {
    "apiVersion": {
      "const": "1"
    },
    "generatedAt": {
      "type": "string"
    },
    "snapshotVersion": {
      "const": 2
    },
    "storage": {
      "type": "object",
      "properties": {
        "origin": {
          "enum": [
            "R2",
            "MEMORY",
            "PREVIOUS",
            "BUNDLED"
          ]
        },
        "degraded": {
          "type": "boolean"
        }
      },
      "required": [
        "origin",
        "degraded"
      ],
      "additionalProperties": true
    },
    "sources": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Source"
      }
    },
    "collection": {
      "const": "agent-benchmarks"
    },
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AgentBenchmark"
      }
    },
    "pagination": {
      "type": "object",
      "properties": {
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 100
        },
        "offset": {
          "type": "integer"
        },
        "total": {
          "type": "integer"
        },
        "nextOffset": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "next": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "nextQuery": {
          "anyOf": [
            {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "type": "object",
              "properties": {
                "q": {
                  "description": "Case-insensitive substring search; not a regular expression.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 120,
                  "pattern": "^[^\\u0000-\\u001f\\u007f]+$"
                },
                "limit": {
                  "default": 20,
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 100
                },
                "offset": {
                  "default": 0,
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 100000
                },
                "generation": {
                  "description": "Pin pagination to generatedAt. A changed generation returns snapshot_changed; restart at offset 0.",
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                },
                "modelId": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 512,
                  "pattern": "^[^\\u0000-\\u001f\\u007f]+$",
                  "description": "Exact case-sensitive identifier. Model detail also accepts an exact slug or unambiguous source-qualified alias."
                },
                "sourceId": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 512,
                  "pattern": "^[^\\u0000-\\u001f\\u007f]+$",
                  "description": "Exact case-sensitive identifier. Model detail also accepts an exact slug or unambiguous source-qualified alias."
                },
                "benchmark": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 160,
                  "pattern": "^[^\\u0000-\\u001f\\u007f]+$"
                }
              },
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "limit",
        "offset",
        "total",
        "nextOffset",
        "next",
        "nextQuery"
      ],
      "additionalProperties": true
    }
  },
  "required": [
    "apiVersion",
    "generatedAt",
    "storage",
    "sources",
    "collection",
    "data",
    "pagination"
  ],
  "additionalProperties": true
}
400Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
401Account API key required, invalid, expired or revoked. Cookies do not grant machine access.

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
403Pro subscription or verified account required.

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
404Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
405Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
409snapshot_changed: restart pagination

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
413Request or result exceeds bounds

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
429Account quota exceeded; shared across keys and API/MCP. Honor Retry-After.

Header: Retry-After · integer. Minimum: 1

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
500Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
503Account or subscription service unavailable; access fails closed.

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}

GET/api/v1/metrics

Pro

Pro required. List named benchmark metric definitions, units, versions and whether higher values are better.

Parameters

Name / locationType / requiredDefaultDescription & constraints
qquerystringOptionalNoneCase-insensitive substring search; not a regular expression.Minimum length: 1 · Maximum length: 120 · Pattern: ^[^\u0000-\u001f\u007f]+$
limitqueryintegerOptional20Minimum: 1 · Maximum: 100
offsetqueryintegerOptional0Minimum: 0 · Maximum: 100000
generationquerystringOptionalNonePin pagination to generatedAt. A changed generation returns snapshot_changed; restart at offset 0.Format: date-time · Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
sourceIdquerystringOptionalNoneExact case-sensitive identifier. Model detail also accepts an exact slug or unambiguous source-qualified alias.Minimum length: 1 · Maximum length: 512 · Pattern: ^[^\u0000-\u001f\u007f]+$
Request example · curl

Set your account key first.

curl -sS 'https://someaistuff.com/api/v1/metrics?limit=20' \
  -H "Authorization: Bearer $SOME_AI_STUFF_API_KEY"

Responses

200Authenticated snapshot records. Free model responses use BasicModel and omit premium metadata; Pro responses retain full evidence. Null means unknown.

Content type: application/json

Schema: object

apiVersionrequired
string

Value: "1"

generatedAtrequired
string
snapshotVersionoptional
number

Value: 2

storagerequired
object
sourcesrequired
Source[]Source →
collectionrequired
string

Value: "metrics"

datarequired
Metric[]Metric →
paginationrequired
object
Complete response schema (JSON)
{
  "type": "object",
  "properties": {
    "apiVersion": {
      "const": "1"
    },
    "generatedAt": {
      "type": "string"
    },
    "snapshotVersion": {
      "const": 2
    },
    "storage": {
      "type": "object",
      "properties": {
        "origin": {
          "enum": [
            "R2",
            "MEMORY",
            "PREVIOUS",
            "BUNDLED"
          ]
        },
        "degraded": {
          "type": "boolean"
        }
      },
      "required": [
        "origin",
        "degraded"
      ],
      "additionalProperties": true
    },
    "sources": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Source"
      }
    },
    "collection": {
      "const": "metrics"
    },
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Metric"
      }
    },
    "pagination": {
      "type": "object",
      "properties": {
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 100
        },
        "offset": {
          "type": "integer"
        },
        "total": {
          "type": "integer"
        },
        "nextOffset": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "next": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "nextQuery": {
          "anyOf": [
            {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "type": "object",
              "properties": {
                "q": {
                  "description": "Case-insensitive substring search; not a regular expression.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 120,
                  "pattern": "^[^\\u0000-\\u001f\\u007f]+$"
                },
                "limit": {
                  "default": 20,
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 100
                },
                "offset": {
                  "default": 0,
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 100000
                },
                "generation": {
                  "description": "Pin pagination to generatedAt. A changed generation returns snapshot_changed; restart at offset 0.",
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                },
                "sourceId": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 512,
                  "pattern": "^[^\\u0000-\\u001f\\u007f]+$",
                  "description": "Exact case-sensitive identifier. Model detail also accepts an exact slug or unambiguous source-qualified alias."
                }
              },
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "limit",
        "offset",
        "total",
        "nextOffset",
        "next",
        "nextQuery"
      ],
      "additionalProperties": true
    }
  },
  "required": [
    "apiVersion",
    "generatedAt",
    "storage",
    "sources",
    "collection",
    "data",
    "pagination"
  ],
  "additionalProperties": true
}
400Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
401Account API key required, invalid, expired or revoked. Cookies do not grant machine access.

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
403Pro subscription or verified account required.

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
404Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
405Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
409snapshot_changed: restart pagination

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
413Request or result exceeds bounds

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
429Account quota exceeded; shared across keys and API/MCP. Honor Retry-After.

Header: Retry-After · integer. Minimum: 1

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
500Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
503Account or subscription service unavailable; access fails closed.

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}

GET/api/v1/news

Pro

Pro required. Search published news by title, summary or exact source name. Publication dates are not model release dates.

Parameters

Name / locationType / requiredDefaultDescription & constraints
qquerystringOptionalNoneCase-insensitive substring search; not a regular expression.Minimum length: 1 · Maximum length: 120 · Pattern: ^[^\u0000-\u001f\u007f]+$
limitqueryintegerOptional20Minimum: 1 · Maximum: 100
offsetqueryintegerOptional0Minimum: 0 · Maximum: 100000
generationquerystringOptionalNonePin pagination to generatedAt. A changed generation returns snapshot_changed; restart at offset 0.Format: date-time · Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
sourcequerystringOptionalNoneMinimum length: 1 · Maximum length: 160 · Pattern: ^[^\u0000-\u001f\u007f]+$
Request example · curl

Set your account key first.

curl -sS 'https://someaistuff.com/api/v1/news?limit=20' \
  -H "Authorization: Bearer $SOME_AI_STUFF_API_KEY"

Responses

200Authenticated snapshot records. Free model responses use BasicModel and omit premium metadata; Pro responses retain full evidence. Null means unknown.

Content type: application/json

Schema: object

apiVersionrequired
string

Value: "1"

generatedAtrequired
string
snapshotVersionoptional
number

Value: 2

storagerequired
object
sourcesrequired
Source[]Source →
collectionrequired
string

Value: "news"

datarequired
News[]News →
paginationrequired
object
Complete response schema (JSON)
{
  "type": "object",
  "properties": {
    "apiVersion": {
      "const": "1"
    },
    "generatedAt": {
      "type": "string"
    },
    "snapshotVersion": {
      "const": 2
    },
    "storage": {
      "type": "object",
      "properties": {
        "origin": {
          "enum": [
            "R2",
            "MEMORY",
            "PREVIOUS",
            "BUNDLED"
          ]
        },
        "degraded": {
          "type": "boolean"
        }
      },
      "required": [
        "origin",
        "degraded"
      ],
      "additionalProperties": true
    },
    "sources": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Source"
      }
    },
    "collection": {
      "const": "news"
    },
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/News"
      }
    },
    "pagination": {
      "type": "object",
      "properties": {
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 100
        },
        "offset": {
          "type": "integer"
        },
        "total": {
          "type": "integer"
        },
        "nextOffset": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "next": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "nextQuery": {
          "anyOf": [
            {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "type": "object",
              "properties": {
                "q": {
                  "description": "Case-insensitive substring search; not a regular expression.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 120,
                  "pattern": "^[^\\u0000-\\u001f\\u007f]+$"
                },
                "limit": {
                  "default": 20,
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 100
                },
                "offset": {
                  "default": 0,
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 100000
                },
                "generation": {
                  "description": "Pin pagination to generatedAt. A changed generation returns snapshot_changed; restart at offset 0.",
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                },
                "source": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 160,
                  "pattern": "^[^\\u0000-\\u001f\\u007f]+$"
                }
              },
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "limit",
        "offset",
        "total",
        "nextOffset",
        "next",
        "nextQuery"
      ],
      "additionalProperties": true
    }
  },
  "required": [
    "apiVersion",
    "generatedAt",
    "storage",
    "sources",
    "collection",
    "data",
    "pagination"
  ],
  "additionalProperties": true
}
400Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
401Account API key required, invalid, expired or revoked. Cookies do not grant machine access.

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
403Pro subscription or verified account required.

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
404Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
405Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
409snapshot_changed: restart pagination

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
413Request or result exceeds bounds

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
429Account quota exceeded; shared across keys and API/MCP. Honor Retry-After.

Header: Retry-After · integer. Minimum: 1

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
500Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
503Account or subscription service unavailable; access fails closed.

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}

GET/api/v1/offers

Pro

Pro required. Read offers with eligibility, expiry, limits and verification date. Model filters only match explicit modelIds.

Parameters

Name / locationType / requiredDefaultDescription & constraints
qquerystringOptionalNoneCase-insensitive substring search; not a regular expression.Minimum length: 1 · Maximum length: 120 · Pattern: ^[^\u0000-\u001f\u007f]+$
limitqueryintegerOptional20Minimum: 1 · Maximum: 100
offsetqueryintegerOptional0Minimum: 0 · Maximum: 100000
generationquerystringOptionalNonePin pagination to generatedAt. A changed generation returns snapshot_changed; restart at offset 0.Format: date-time · Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
modelIdquerystringOptionalNoneExact case-sensitive identifier. Model detail also accepts an exact slug or unambiguous source-qualified alias.Minimum length: 1 · Maximum length: 512 · Pattern: ^[^\u0000-\u001f\u007f]+$
providerIdquerystringOptionalNoneExact case-sensitive identifier. Model detail also accepts an exact slug or unambiguous source-qualified alias.Minimum length: 1 · Maximum length: 512 · Pattern: ^[^\u0000-\u001f\u007f]+$
sourceIdquerystringOptionalNoneExact case-sensitive identifier. Model detail also accepts an exact slug or unambiguous source-qualified alias.Minimum length: 1 · Maximum length: 512 · Pattern: ^[^\u0000-\u001f\u007f]+$
Request example · curl

Set your account key first.

curl -sS 'https://someaistuff.com/api/v1/offers?limit=20' \
  -H "Authorization: Bearer $SOME_AI_STUFF_API_KEY"

Responses

200Authenticated snapshot records. Free model responses use BasicModel and omit premium metadata; Pro responses retain full evidence. Null means unknown.

Content type: application/json

Schema: object

apiVersionrequired
string

Value: "1"

generatedAtrequired
string
snapshotVersionoptional
number

Value: 2

storagerequired
object
sourcesrequired
Source[]Source →
collectionrequired
string

Value: "offers"

datarequired
Offer[]Offer →
paginationrequired
object
Complete response schema (JSON)
{
  "type": "object",
  "properties": {
    "apiVersion": {
      "const": "1"
    },
    "generatedAt": {
      "type": "string"
    },
    "snapshotVersion": {
      "const": 2
    },
    "storage": {
      "type": "object",
      "properties": {
        "origin": {
          "enum": [
            "R2",
            "MEMORY",
            "PREVIOUS",
            "BUNDLED"
          ]
        },
        "degraded": {
          "type": "boolean"
        }
      },
      "required": [
        "origin",
        "degraded"
      ],
      "additionalProperties": true
    },
    "sources": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Source"
      }
    },
    "collection": {
      "const": "offers"
    },
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Offer"
      }
    },
    "pagination": {
      "type": "object",
      "properties": {
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 100
        },
        "offset": {
          "type": "integer"
        },
        "total": {
          "type": "integer"
        },
        "nextOffset": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "next": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "nextQuery": {
          "anyOf": [
            {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "type": "object",
              "properties": {
                "q": {
                  "description": "Case-insensitive substring search; not a regular expression.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 120,
                  "pattern": "^[^\\u0000-\\u001f\\u007f]+$"
                },
                "limit": {
                  "default": 20,
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 100
                },
                "offset": {
                  "default": 0,
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 100000
                },
                "generation": {
                  "description": "Pin pagination to generatedAt. A changed generation returns snapshot_changed; restart at offset 0.",
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                },
                "modelId": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 512,
                  "pattern": "^[^\\u0000-\\u001f\\u007f]+$",
                  "description": "Exact case-sensitive identifier. Model detail also accepts an exact slug or unambiguous source-qualified alias."
                },
                "providerId": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 512,
                  "pattern": "^[^\\u0000-\\u001f\\u007f]+$",
                  "description": "Exact case-sensitive identifier. Model detail also accepts an exact slug or unambiguous source-qualified alias."
                },
                "sourceId": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 512,
                  "pattern": "^[^\\u0000-\\u001f\\u007f]+$",
                  "description": "Exact case-sensitive identifier. Model detail also accepts an exact slug or unambiguous source-qualified alias."
                }
              },
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "limit",
        "offset",
        "total",
        "nextOffset",
        "next",
        "nextQuery"
      ],
      "additionalProperties": true
    }
  },
  "required": [
    "apiVersion",
    "generatedAt",
    "storage",
    "sources",
    "collection",
    "data",
    "pagination"
  ],
  "additionalProperties": true
}
400Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
401Account API key required, invalid, expired or revoked. Cookies do not grant machine access.

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
403Pro subscription or verified account required.

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
404Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
405Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
409snapshot_changed: restart pagination

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
413Request or result exceeds bounds

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
429Account quota exceeded; shared across keys and API/MCP. Honor Retry-After.

Header: Retry-After · integer. Minimum: 1

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
500Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
503Account or subscription service unavailable; access fails closed.

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}

GET/api/v1/plans

Pro

Pro required. Read subscription plans with original currency, period, allowance, region and checked dates. Model filters only match explicit modelIds.

Parameters

Name / locationType / requiredDefaultDescription & constraints
qquerystringOptionalNoneCase-insensitive substring search; not a regular expression.Minimum length: 1 · Maximum length: 120 · Pattern: ^[^\u0000-\u001f\u007f]+$
limitqueryintegerOptional20Minimum: 1 · Maximum: 100
offsetqueryintegerOptional0Minimum: 0 · Maximum: 100000
generationquerystringOptionalNonePin pagination to generatedAt. A changed generation returns snapshot_changed; restart at offset 0.Format: date-time · Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
modelIdquerystringOptionalNoneExact case-sensitive identifier. Model detail also accepts an exact slug or unambiguous source-qualified alias.Minimum length: 1 · Maximum length: 512 · Pattern: ^[^\u0000-\u001f\u007f]+$
providerIdquerystringOptionalNoneExact case-sensitive identifier. Model detail also accepts an exact slug or unambiguous source-qualified alias.Minimum length: 1 · Maximum length: 512 · Pattern: ^[^\u0000-\u001f\u007f]+$
sourceIdquerystringOptionalNoneExact case-sensitive identifier. Model detail also accepts an exact slug or unambiguous source-qualified alias.Minimum length: 1 · Maximum length: 512 · Pattern: ^[^\u0000-\u001f\u007f]+$
Request example · curl

Set your account key first.

curl -sS 'https://someaistuff.com/api/v1/plans?limit=20' \
  -H "Authorization: Bearer $SOME_AI_STUFF_API_KEY"

Responses

200Authenticated snapshot records. Free model responses use BasicModel and omit premium metadata; Pro responses retain full evidence. Null means unknown.

Content type: application/json

Schema: object

apiVersionrequired
string

Value: "1"

generatedAtrequired
string
snapshotVersionoptional
number

Value: 2

storagerequired
object
sourcesrequired
Source[]Source →
collectionrequired
string

Value: "plans"

datarequired
Plan[]Plan →
paginationrequired
object
Complete response schema (JSON)
{
  "type": "object",
  "properties": {
    "apiVersion": {
      "const": "1"
    },
    "generatedAt": {
      "type": "string"
    },
    "snapshotVersion": {
      "const": 2
    },
    "storage": {
      "type": "object",
      "properties": {
        "origin": {
          "enum": [
            "R2",
            "MEMORY",
            "PREVIOUS",
            "BUNDLED"
          ]
        },
        "degraded": {
          "type": "boolean"
        }
      },
      "required": [
        "origin",
        "degraded"
      ],
      "additionalProperties": true
    },
    "sources": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Source"
      }
    },
    "collection": {
      "const": "plans"
    },
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Plan"
      }
    },
    "pagination": {
      "type": "object",
      "properties": {
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 100
        },
        "offset": {
          "type": "integer"
        },
        "total": {
          "type": "integer"
        },
        "nextOffset": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "next": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "nextQuery": {
          "anyOf": [
            {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "type": "object",
              "properties": {
                "q": {
                  "description": "Case-insensitive substring search; not a regular expression.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 120,
                  "pattern": "^[^\\u0000-\\u001f\\u007f]+$"
                },
                "limit": {
                  "default": 20,
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 100
                },
                "offset": {
                  "default": 0,
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 100000
                },
                "generation": {
                  "description": "Pin pagination to generatedAt. A changed generation returns snapshot_changed; restart at offset 0.",
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                },
                "modelId": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 512,
                  "pattern": "^[^\\u0000-\\u001f\\u007f]+$",
                  "description": "Exact case-sensitive identifier. Model detail also accepts an exact slug or unambiguous source-qualified alias."
                },
                "providerId": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 512,
                  "pattern": "^[^\\u0000-\\u001f\\u007f]+$",
                  "description": "Exact case-sensitive identifier. Model detail also accepts an exact slug or unambiguous source-qualified alias."
                },
                "sourceId": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 512,
                  "pattern": "^[^\\u0000-\\u001f\\u007f]+$",
                  "description": "Exact case-sensitive identifier. Model detail also accepts an exact slug or unambiguous source-qualified alias."
                }
              },
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "limit",
        "offset",
        "total",
        "nextOffset",
        "next",
        "nextQuery"
      ],
      "additionalProperties": true
    }
  },
  "required": [
    "apiVersion",
    "generatedAt",
    "storage",
    "sources",
    "collection",
    "data",
    "pagination"
  ],
  "additionalProperties": true
}
400Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
401Account API key required, invalid, expired or revoked. Cookies do not grant machine access.

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
403Pro subscription or verified account required.

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
404Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
405Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
409snapshot_changed: restart pagination

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
413Request or result exceeds bounds

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
429Account quota exceeded; shared across keys and API/MCP. Honor Retry-After.

Header: Retry-After · integer. Minimum: 1

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
500Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
503Account or subscription service unavailable; access fails closed.

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}

GET/api/v1/sources

Pro

Pro required. Inspect source collection status, last attempt/success, completeness and errors. A new snapshot does not imply every source is fresh.

Parameters

Name / locationType / requiredDefaultDescription & constraints
qquerystringOptionalNoneCase-insensitive substring search; not a regular expression.Minimum length: 1 · Maximum length: 120 · Pattern: ^[^\u0000-\u001f\u007f]+$
limitqueryintegerOptional20Minimum: 1 · Maximum: 100
offsetqueryintegerOptional0Minimum: 0 · Maximum: 100000
generationquerystringOptionalNonePin pagination to generatedAt. A changed generation returns snapshot_changed; restart at offset 0.Format: date-time · Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
sourceIdquerystringOptionalNoneExact case-sensitive identifier. Model detail also accepts an exact slug or unambiguous source-qualified alias.Minimum length: 1 · Maximum length: 512 · Pattern: ^[^\u0000-\u001f\u007f]+$
kindquerystringOptionalNoneAllowed: "catalog", "prices", "benchmarks", "news", "offers", "plans"
Request example · curl

Set your account key first.

curl -sS 'https://someaistuff.com/api/v1/sources?limit=20' \
  -H "Authorization: Bearer $SOME_AI_STUFF_API_KEY"

Responses

200Authenticated snapshot records. Free model responses use BasicModel and omit premium metadata; Pro responses retain full evidence. Null means unknown.

Content type: application/json

Schema: object

apiVersionrequired
string

Value: "1"

generatedAtrequired
string
snapshotVersionoptional
number

Value: 2

storagerequired
object
sourcesrequired
Source[]Source →
collectionrequired
string

Value: "sources"

datarequired
Source[]Source →
paginationrequired
object
Complete response schema (JSON)
{
  "type": "object",
  "properties": {
    "apiVersion": {
      "const": "1"
    },
    "generatedAt": {
      "type": "string"
    },
    "snapshotVersion": {
      "const": 2
    },
    "storage": {
      "type": "object",
      "properties": {
        "origin": {
          "enum": [
            "R2",
            "MEMORY",
            "PREVIOUS",
            "BUNDLED"
          ]
        },
        "degraded": {
          "type": "boolean"
        }
      },
      "required": [
        "origin",
        "degraded"
      ],
      "additionalProperties": true
    },
    "sources": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Source"
      }
    },
    "collection": {
      "const": "sources"
    },
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Source"
      }
    },
    "pagination": {
      "type": "object",
      "properties": {
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 100
        },
        "offset": {
          "type": "integer"
        },
        "total": {
          "type": "integer"
        },
        "nextOffset": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "next": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "nextQuery": {
          "anyOf": [
            {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "type": "object",
              "properties": {
                "q": {
                  "description": "Case-insensitive substring search; not a regular expression.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 120,
                  "pattern": "^[^\\u0000-\\u001f\\u007f]+$"
                },
                "limit": {
                  "default": 20,
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 100
                },
                "offset": {
                  "default": 0,
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 100000
                },
                "generation": {
                  "description": "Pin pagination to generatedAt. A changed generation returns snapshot_changed; restart at offset 0.",
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                },
                "sourceId": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 512,
                  "pattern": "^[^\\u0000-\\u001f\\u007f]+$",
                  "description": "Exact case-sensitive identifier. Model detail also accepts an exact slug or unambiguous source-qualified alias."
                },
                "kind": {
                  "type": "string",
                  "enum": [
                    "catalog",
                    "prices",
                    "benchmarks",
                    "news",
                    "offers",
                    "plans"
                  ]
                }
              },
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "limit",
        "offset",
        "total",
        "nextOffset",
        "next",
        "nextQuery"
      ],
      "additionalProperties": true
    }
  },
  "required": [
    "apiVersion",
    "generatedAt",
    "storage",
    "sources",
    "collection",
    "data",
    "pagination"
  ],
  "additionalProperties": true
}
400Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
401Account API key required, invalid, expired or revoked. Cookies do not grant machine access.

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
403Pro subscription or verified account required.

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
404Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
405Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
409snapshot_changed: restart pagination

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
413Request or result exceeds bounds

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
429Account quota exceeded; shared across keys and API/MCP. Honor Retry-After.

Header: Retry-After · integer. Minimum: 1

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
500Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
503Account or subscription service unavailable; access fails closed.

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
ENDPOINTS

Snapshot & status

Complete snapshot downloads and source status. Pro required.

GET/api/status

Pro

Pro snapshot counts and source status

Parameters

No path or query parameters are declared for this operation.

Request example · curl

Set your account key first.

curl -sS 'https://someaistuff.com/api/status' \
  -H "Authorization: Bearer $SOME_AI_STUFF_API_KEY"

Responses

200Authenticated snapshot records. Free model responses use BasicModel and omit premium metadata; Pro responses retain full evidence. Null means unknown.

Content type: application/json

Schema: object

versionoptional
number
generatedAtoptional
string
countsoptional
object
sourcesoptional
Source[]Source →
Complete response schema (JSON)
{
  "type": "object",
  "properties": {
    "version": {
      "type": "number"
    },
    "generatedAt": {
      "type": "string"
    },
    "counts": {
      "type": "object"
    },
    "sources": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Source"
      }
    }
  },
  "required": [],
  "additionalProperties": true
}
400Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
401Account API key required, invalid, expired or revoked. Cookies do not grant machine access.

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
403Pro subscription or verified account required.

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
404Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
405Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
409snapshot_changed: restart pagination

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
413Request or result exceeds bounds

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
429Account quota exceeded; shared across keys and API/MCP. Honor Retry-After.

Header: Retry-After · integer. Minimum: 1

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
500Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
503Account or subscription service unavailable; access fails closed.

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}

GET/api/snapshot

Pro

Pro complete snapshot download (several megabytes), limited to30/month in addition to ordinary account quota. Prefer paginated reads.

Parameters

No path or query parameters are declared for this operation.

Request example · curl

Set your account key first.

curl -sS 'https://someaistuff.com/api/snapshot' \
  -H "Authorization: Bearer $SOME_AI_STUFF_API_KEY"

Responses

200Authenticated snapshot records. Free model responses use BasicModel and omit premium metadata; Pro responses retain full evidence. Null means unknown.

Content type: application/json

Schema: object

Complete version2 MarketSnapshot, including exact source records

Complete response schema (JSON)
{
  "type": "object",
  "description": "Complete version2 MarketSnapshot, including exact source records"
}
400Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
401Account API key required, invalid, expired or revoked. Cookies do not grant machine access.

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
403Pro subscription or verified account required.

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
404Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
405Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
409snapshot_changed: restart pagination

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
413Request or result exceeds bounds

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
429Account quota exceeded; shared across keys and API/MCP. Honor Retry-After.

Header: Retry-After · integer. Minimum: 1

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
500Error; no data returned

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
503Account or subscription service unavailable; access fails closed.

Content type: application/json

Schema: ErrorError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/Error"
}
ENDPOINTS

MCP & specification

The authenticated MCP transport and the public OpenAPI document.

GET/api/openapi.json

Public

Public machine contract; no snapshot rows are returned.

Parameters

No path or query parameters are declared for this operation.

Request example · curl

This endpoint is public; no account key is required.

curl -sS 'https://someaistuff.com/api/openapi.json'

Responses

200OpenAPI document

No response body schema is declared in this document.

POST/mcp

Account key

Authenticated finite MCP HTTP operation. Each request counts once, including discovery/initialize/notifications; batches are refused. Free can list/get basic models; other tools require Pro.

Parameters

No path or query parameters are declared for this operation.

Request body

Required body.

application/json · object

One JSON-RPC message; use an MCP client.

{
  "type": "object",
  "description": "One JSON-RPC message; use an MCP client."
}
Request example · curl

Set your account key first. This example lists MCP tools. Use the MCP quickstart for client setup and tool calls.

curl -sS 'https://someaistuff.com/mcp' \
  -X POST \
  -H "Authorization: Bearer $SOME_AI_STUFF_API_KEY" \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

Responses

200SDK JSON or finite SSE response; tool query/entitlement failures use isError and error code/status.

No response body schema is declared in this document. The MCP SDK negotiates a JSON or finite SSE response.

400Error; no data returned

Content type: application/json

Schema: McpErrorMcpError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/McpError"
}
401Account API key required, invalid, expired or revoked. Cookies do not grant machine access.

Content type: application/json

Schema: McpErrorMcpError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/McpError"
}
403Pro subscription or verified account required.

Content type: application/json

Schema: McpErrorMcpError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/McpError"
}
405Error; no data returned

Content type: application/json

Schema: McpErrorMcpError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/McpError"
}
408Error; no data returned

Content type: application/json

Schema: McpErrorMcpError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/McpError"
}
413Request or result exceeds bounds

Content type: application/json

Schema: McpErrorMcpError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/McpError"
}
415Error; no data returned

Content type: application/json

Schema: McpErrorMcpError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/McpError"
}
429Account quota exceeded; shared across keys and API/MCP. Honor Retry-After.

Content type: application/json

Schema: McpErrorMcpError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/McpError"
}
500Error; no data returned

Content type: application/json

Schema: McpErrorMcpError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/McpError"
}
503Account or subscription service unavailable; access fails closed.

Content type: application/json

Schema: McpErrorMcpError →

Complete response schema (JSON)
{
  "$ref": "#/components/schemas/McpError"
}
DATA TYPES

Shared schemas

Endpoint responses link to these reusable definitions. Required fields are marked within their parent object. Open a complete schema for nested fields, arrays and allowed values.

BasicModelobject8 fields

Additional fields are not allowed.

idrequired
string
namerequired
string
developerrequired
string
modalityrequired
string
capabilitiesrequired
string[]
contextWindowrequired
number | null
releasedAtrequired
string | null
pageUrlrequired
string

Format: uri

Complete BasicModel schema (JSON)
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "developer": {
      "type": "string"
    },
    "modality": {
      "type": "string"
    },
    "capabilities": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "contextWindow": {
      "type": [
        "number",
        "null"
      ]
    },
    "releasedAt": {
      "type": [
        "string",
        "null"
      ]
    },
    "pageUrl": {
      "type": "string",
      "format": "uri"
    }
  },
  "required": [
    "id",
    "name",
    "developer",
    "modality",
    "capabilities",
    "contextWindow",
    "releasedAt",
    "pageUrl"
  ],
  "additionalProperties": false
}
Modelobject21 fields
idrequired
string
slugrequired
string
namerequired
string
developerrequired
string
modalityrequired
string
descriptionoptional
string
highlightoptional
string | null
aliasesrequired
object[]
capabilitiesoptional
string[]
videoOperationsoptional
object[]
contextWindowoptional
number | null
maxOutputTokensoptional
number | null
parametersoptional
string | null
openWeightsoptional
boolean | null
releasedAtoptional
string | null
listedAtoptional
string | null
firstSeenAtoptional
string
updatedAtoptional
string
sourceUrlsrequired
object[]
routeIdsrequired
string[]
resultIdsrequired
string[]
Complete Model schema (JSON)
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "slug": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "developer": {
      "type": "string"
    },
    "modality": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "highlight": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "aliases": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "source": {
            "type": "string"
          },
          "id": {
            "type": "string"
          }
        },
        "required": [
          "source",
          "id"
        ],
        "additionalProperties": true
      }
    },
    "capabilities": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "videoOperations": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "operation": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "endpointId": {
            "type": "string"
          },
          "checkedAt": {
            "type": "string"
          }
        },
        "required": [],
        "additionalProperties": true
      }
    },
    "contextWindow": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ]
    },
    "maxOutputTokens": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ]
    },
    "parameters": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "openWeights": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ]
    },
    "releasedAt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "listedAt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "firstSeenAt": {
      "type": "string"
    },
    "updatedAt": {
      "type": "string"
    },
    "sourceUrls": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "label",
          "url"
        ],
        "additionalProperties": true
      }
    },
    "routeIds": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "resultIds": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "id",
    "slug",
    "name",
    "developer",
    "modality",
    "aliases",
    "sourceUrls",
    "routeIds",
    "resultIds"
  ],
  "additionalProperties": true
}
Priceobject25 fields
idrequired
string
modelIdrequired
string
sourceIdrequired
string
providerIdrequired
string
provideroptional
string
endpointIdrequired
string
viaoptional
string | null
urloptional
string
sourceUrloptional
string
currencyrequired
string

Value: "USD"

unitrequired
string
inputrequired
number | null
outputrequired
number | null
cachedInputrequired
number | null
pricerequired
number | null
configurationrequired
string | null
noteoptional
string | null
pricingScopeoptional
string

Allowed: "standard", "conditional"

providerStatusoptional
string

Allowed: "operational", "degraded", "unreported"

billingComponentoptional
string
comparisonKeyoptional
string
contextWindowoptional
number | null
maxOutputTokensoptional
number | null
checkedAtrequired
string
availablerequired
boolean
Complete Price schema (JSON)
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "modelId": {
      "type": "string"
    },
    "sourceId": {
      "type": "string"
    },
    "providerId": {
      "type": "string"
    },
    "provider": {
      "type": "string"
    },
    "endpointId": {
      "type": "string"
    },
    "via": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "url": {
      "type": "string"
    },
    "sourceUrl": {
      "type": "string"
    },
    "currency": {
      "const": "USD"
    },
    "unit": {
      "type": "string"
    },
    "input": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ]
    },
    "output": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ]
    },
    "cachedInput": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ]
    },
    "price": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ]
    },
    "configuration": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "note": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "pricingScope": {
      "enum": [
        "standard",
        "conditional"
      ]
    },
    "providerStatus": {
      "enum": [
        "operational",
        "degraded",
        "unreported"
      ]
    },
    "billingComponent": {
      "type": "string"
    },
    "comparisonKey": {
      "type": "string"
    },
    "contextWindow": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ]
    },
    "maxOutputTokens": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ]
    },
    "checkedAt": {
      "type": "string"
    },
    "available": {
      "type": "boolean"
    }
  },
  "required": [
    "id",
    "modelId",
    "sourceId",
    "providerId",
    "endpointId",
    "currency",
    "unit",
    "input",
    "output",
    "cachedInput",
    "price",
    "configuration",
    "checkedAt",
    "available"
  ],
  "additionalProperties": true
}
Metricobject11 fields
idrequired
string
sourceIdrequired
string
namerequired
string
shortNameoptional
string
categoryoptional
string
versionrequired
string
unitrequired
string
higherIsBetterrequired
boolean
descriptionoptional
string
sourceUrlrequired
string
sourceSnapshotoptional
object
Complete Metric schema (JSON)
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "sourceId": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "shortName": {
      "type": "string"
    },
    "category": {
      "type": "string"
    },
    "version": {
      "type": "string"
    },
    "unit": {
      "type": "string"
    },
    "higherIsBetter": {
      "type": "boolean"
    },
    "description": {
      "type": "string"
    },
    "sourceUrl": {
      "type": "string"
    },
    "sourceSnapshot": {
      "type": "object",
      "properties": {
        "revision": {
          "type": "string"
        },
        "publishedAt": {
          "type": "string"
        },
        "url": {
          "type": "string"
        }
      },
      "required": [],
      "additionalProperties": true
    }
  },
  "required": [
    "id",
    "sourceId",
    "name",
    "version",
    "unit",
    "higherIsBetter",
    "sourceUrl"
  ],
  "additionalProperties": true
}
Benchmarkobject18 fields
idrequired
string
modelIdrequired
string
metricIdrequired
string
valuerequired
number
sourceModelIdoptional
string
sourceModelNameoptional
string
configurationrequired
string
evaluatedAtoptional
string | null
publishedAtoptional
string | null
checkedAtrequired
string
sourceUrlrequired
string
reportedByrequired
string
reportingNoteoptional
string
sourceSnapshotoptional
object
confidenceIntervaloptional
object
sampleSizeoptional
number
metricrequired
Metric | nullMetric →
interpretationrequired
object
Complete Benchmark schema (JSON)
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "modelId": {
      "type": "string"
    },
    "metricId": {
      "type": "string"
    },
    "value": {
      "type": "number"
    },
    "sourceModelId": {
      "type": "string"
    },
    "sourceModelName": {
      "type": "string"
    },
    "configuration": {
      "type": "string"
    },
    "evaluatedAt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "publishedAt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "checkedAt": {
      "type": "string"
    },
    "sourceUrl": {
      "type": "string"
    },
    "reportedBy": {
      "type": "string"
    },
    "reportingNote": {
      "type": "string"
    },
    "sourceSnapshot": {
      "type": "object",
      "properties": {
        "revision": {
          "type": "string"
        },
        "publishedAt": {
          "type": "string"
        },
        "url": {
          "type": "string"
        }
      },
      "required": [],
      "additionalProperties": true
    },
    "confidenceInterval": {
      "type": "object",
      "properties": {
        "low": {
          "type": "number"
        },
        "high": {
          "type": "number"
        },
        "level": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [],
      "additionalProperties": true
    },
    "sampleSize": {
      "type": "number"
    },
    "metric": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/Metric"
        },
        {
          "type": "null"
        }
      ]
    },
    "interpretation": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "shortName": {
          "type": "string"
        },
        "qualifier": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "harness": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "provisional": {
          "type": "boolean"
        }
      },
      "required": [],
      "additionalProperties": true
    }
  },
  "required": [
    "id",
    "modelId",
    "metricId",
    "value",
    "configuration",
    "checkedAt",
    "sourceUrl",
    "reportedBy",
    "metric",
    "interpretation"
  ],
  "additionalProperties": true
}
AgentBenchmarkobject20 fields
idrequired
string
sourceIdrequired
string
benchmarkrequired
string
versionrequired
string
sourceModelIdoptional
string
modelNamerequired
string
modelIdrequired
string | null
agentNamerequired
string
agentVersionrequired
string | null
reasoningEffortrequired
string | null
scorerequired
number
confidenceIntervaloptional
object
sampleSizeoptional
number
releasedAtoptional
string | null
evaluatedAtoptional
string | null
checkedAtrequired
string
sourceUrlrequired
string
submissionUrloptional
string
agentUrloptional
string
modelUrloptional
string
Complete AgentBenchmark schema (JSON)
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "sourceId": {
      "type": "string"
    },
    "benchmark": {
      "type": "string"
    },
    "version": {
      "type": "string"
    },
    "sourceModelId": {
      "type": "string"
    },
    "modelName": {
      "type": "string"
    },
    "modelId": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "agentName": {
      "type": "string"
    },
    "agentVersion": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "reasoningEffort": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "score": {
      "type": "number"
    },
    "confidenceInterval": {
      "type": "object",
      "properties": {
        "low": {
          "type": "number"
        },
        "high": {
          "type": "number"
        },
        "level": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [],
      "additionalProperties": true
    },
    "sampleSize": {
      "type": "number"
    },
    "releasedAt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "evaluatedAt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "checkedAt": {
      "type": "string"
    },
    "sourceUrl": {
      "type": "string"
    },
    "submissionUrl": {
      "type": "string"
    },
    "agentUrl": {
      "type": "string"
    },
    "modelUrl": {
      "type": "string"
    }
  },
  "required": [
    "id",
    "sourceId",
    "benchmark",
    "version",
    "modelId",
    "modelName",
    "agentName",
    "agentVersion",
    "reasoningEffort",
    "score",
    "checkedAt",
    "sourceUrl"
  ],
  "additionalProperties": true
}
Newsobject7 fields
idrequired
string
titlerequired
string
urlrequired
string
sourcerequired
string
publishedAtrequired
string
summaryrequired
string
tasksoptional
string[]
Complete News schema (JSON)
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "url": {
      "type": "string"
    },
    "source": {
      "type": "string"
    },
    "publishedAt": {
      "type": "string"
    },
    "summary": {
      "type": "string"
    },
    "tasks": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "id",
    "title",
    "url",
    "source",
    "publishedAt",
    "summary"
  ],
  "additionalProperties": true
}
Offerobject17 fields
idrequired
string
sourceIdoptional
string
providerIdrequired
string
titlerequired
string
kindrequired
string
descriptionoptional
string
eligibilityrequired
string
limitsrequired
string
expiresAtrequired
string | null
verifiedAtrequired
string
sourceUrlrequired
string
urloptional
string
modelIdsoptional
string[]
endpointIdsoptional
string[]
modelSourceoptional
string
refreshModeoptional
string
discountsoptional
object[]
Complete Offer schema (JSON)
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "sourceId": {
      "type": "string"
    },
    "providerId": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "kind": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "eligibility": {
      "type": "string"
    },
    "limits": {
      "type": "string"
    },
    "expiresAt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "verifiedAt": {
      "type": "string"
    },
    "sourceUrl": {
      "type": "string"
    },
    "url": {
      "type": "string"
    },
    "modelIds": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "endpointIds": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "modelSource": {
      "type": "string"
    },
    "refreshMode": {
      "type": "string"
    },
    "discounts": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "endpointId": {
            "type": "string"
          },
          "percent": {
            "type": "number"
          }
        },
        "required": [],
        "additionalProperties": true
      }
    }
  },
  "required": [
    "id",
    "providerId",
    "title",
    "kind",
    "eligibility",
    "limits",
    "expiresAt",
    "verifiedAt",
    "sourceUrl"
  ],
  "additionalProperties": true
}
Planobject23 fields
idrequired
string
sourceIdoptional
string
namerequired
string
providerrequired
string
providerIdoptional
string
urloptional
string
pricerequired
number | null
currencyrequired
string

Allowed: "USD", "CNY"

periodrequired
string
accessoptional
string
allowancerequired
string
caveatrequired
string
tasksoptional
string[]
verifiedAtrequired
string
sourcesrequired
object[]
checkedAtoptional
string
priceCheckedAtoptional
string
regionoptional
string
modelCoverageoptional
string
modelIdsoptional
string[]
endpointIdsoptional
string[]
modelSourceoptional
string
refreshModeoptional
string
Complete Plan schema (JSON)
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "sourceId": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "provider": {
      "type": "string"
    },
    "providerId": {
      "type": "string"
    },
    "url": {
      "type": "string"
    },
    "price": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ]
    },
    "currency": {
      "enum": [
        "USD",
        "CNY"
      ]
    },
    "period": {
      "type": "string"
    },
    "access": {
      "type": "string"
    },
    "allowance": {
      "type": "string"
    },
    "caveat": {
      "type": "string"
    },
    "tasks": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "verifiedAt": {
      "type": "string"
    },
    "sources": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "label",
          "url"
        ],
        "additionalProperties": true
      }
    },
    "checkedAt": {
      "type": "string"
    },
    "priceCheckedAt": {
      "type": "string"
    },
    "region": {
      "type": "string"
    },
    "modelCoverage": {
      "type": "string"
    },
    "modelIds": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "endpointIds": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "modelSource": {
      "type": "string"
    },
    "refreshMode": {
      "type": "string"
    }
  },
  "required": [
    "id",
    "name",
    "provider",
    "price",
    "currency",
    "period",
    "allowance",
    "caveat",
    "verifiedAt",
    "sources"
  ],
  "additionalProperties": true
}
Sourceobject13 fields
idrequired
string
namerequired
string
urloptional
string
kindrequired
string
lastAttemptAtrequired
string
lastSuccessAtrequired
string | null
statusrequired
string

Allowed: "ok", "error"

countrequired
number
availableCountoptional
number | null
completerequired
boolean
erroroptional
string
requestsoptional
number
bytesoptional
number
Complete Source schema (JSON)
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "url": {
      "type": "string"
    },
    "kind": {
      "type": "string"
    },
    "lastAttemptAt": {
      "type": "string"
    },
    "lastSuccessAt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "status": {
      "enum": [
        "ok",
        "error"
      ]
    },
    "count": {
      "type": "number"
    },
    "availableCount": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ]
    },
    "complete": {
      "type": "boolean"
    },
    "error": {
      "type": "string"
    },
    "requests": {
      "type": "number"
    },
    "bytes": {
      "type": "number"
    }
  },
  "required": [
    "id",
    "name",
    "kind",
    "lastAttemptAt",
    "lastSuccessAt",
    "status",
    "count",
    "complete"
  ],
  "additionalProperties": true
}
Errorobject1 fields
errorrequired
object
Complete Error schema (JSON)
{
  "type": "object",
  "properties": {
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": true
    }
  },
  "required": [
    "error"
  ],
  "additionalProperties": true
}
McpErrorobject3 fields
jsonrpcrequired
string

Value: "2.0"

idrequired
string | number | null
errorrequired
object
Complete McpError schema (JSON)
{
  "type": "object",
  "properties": {
    "jsonrpc": {
      "const": "2.0"
    },
    "id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ]
    },
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer"
        },
        "message": {
          "type": "string"
        },
        "data": {
          "type": "object",
          "properties": {
            "code": {
              "type": "string"
            },
            "status": {
              "type": "integer"
            }
          },
          "required": [],
          "additionalProperties": true
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": true
    }
  },
  "required": [
    "jsonrpc",
    "id",
    "error"
  ],
  "additionalProperties": true
}