ListingUpdate
PATCH: every field optional; only fields explicitly present in the request are applied. Deliberately has no id, submitted_by, or created_at fields at all, so there is no way to even attempt changing them through this model.
Properties
| Name | Type | Description |
|---|---|---|
| name | object | |
| description | object | |
| listing_type | object | |
| task_categories | object | |
| endpoint_url | object | |
| payment_wallet | object | |
| pricing_model | object | |
| pricing_amount | object | |
| payment_options | object | |
| connections | object | |
| payment_methods | object | |
| erc8004_identity | object | |
| verification_agent_id | object | |
| output_schema | object | |
| verification | object | |
| template_url | object | |
| status | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/sarnai-dev/json-schema/sarnai-dev-listing-update-schema.json",
"title": "ListingUpdate",
"description": "PATCH: every field optional; only fields explicitly present in the request are\napplied. Deliberately has no id, submitted_by, or created_at fields at all, so\nthere is no way to even attempt changing them through this model.",
"x-generated": "2026-10-30",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/board-openapi.json#/components/schemas/ListingUpdate",
"properties": {
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"minLength": 1
},
{
"type": "null"
}
],
"title": "Name"
},
"description": {
"anyOf": [
{
"type": "string",
"maxLength": 2000,
"minLength": 1
},
{
"type": "null"
}
],
"title": "Description"
},
"listing_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Listing Type"
},
"task_categories": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array",
"maxItems": 16
},
{
"type": "null"
}
],
"title": "Task Categories"
},
"endpoint_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Endpoint Url"
},
"payment_wallet": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Payment Wallet",
"deprecated": true
},
"pricing_model": {
"anyOf": [
{
"type": "string",
"enum": [
"free",
"per_call",
"subscription",
"other"
]
},
{
"type": "null"
}
],
"title": "Pricing Model"
},
"pricing_amount": {
"anyOf": [
{
"type": "string",
"maxLength": 100,
"minLength": 1
},
{
"type": "null"
}
],
"title": "Pricing Amount"
},
"payment_options": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/PaymentOption"
},
"type": "array",
"maxItems": 20
},
{
"type": "null"
}
],
"title": "Payment Options"
},
"connections": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/ConnectionEntry"
},
"type": "array",
"maxItems": 10
},
{
"type": "null"
}
],
"title": "Connections"
},
"payment_methods": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/PaymentMethodEntry"
},
"type": "array",
"maxItems": 9
},
{
"type": "null"
}
],
"title": "Payment Methods"
},
"erc8004_identity": {
"anyOf": [
{
"type": "string",
"maxLength": 500,
"minLength": 1
},
{
"type": "null"
}
],
"title": "Erc8004 Identity"
},
"verification_agent_id": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"minLength": 1
},
{
"type": "null"
}
],
"title": "Verification Agent Id"
},
"output_schema": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Output Schema"
},
"verification": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Verification"
},
"template_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Template Url"
},
"status": {
"anyOf": [
{
"type": "string",
"enum": [
"active",
"inactive"
]
},
{
"type": "null"
}
],
"title": "Status"
}
},
"additionalProperties": false,
"type": "object",
"$defs": {
"ConnectionEntry": {
"properties": {
"type": {
"type": "string",
"enum": [
"mcp",
"a2a",
"rest",
"x402"
],
"title": "Type"
},
"url": {
"type": "string",
"title": "Url",
"description": "What this connection type points at; an https:// URL. rest: the API base URL or its OpenAPI document; mcp: the server URL (for transport stdio, the repository URL)."
},
"details": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Details",
"description": "Optional. Free-form, with two conventions that are validated when present: rest - \"openapi_url\" (an https URL of the OpenAPI document, when one exists); mcp - \"transport\" (one of ['streamable-http', 'sse', 'stdio']); for \"stdio\" the url is the https repository URL and details must carry \"install_command\" and \"package\" (optionally \"registry\": npm | pypi | docker | ..., and \"version\"). Example: {\"transport\": \"streamable-http\"}. Stored and published as given."
}
},
"additionalProperties": false,
"type": "object",
"required": [
"type",
"url"
],
"title": "ConnectionEntry",
"description": "One way to connect to a listed service. `type` is one of CONNECTION_TYPES; `url` is what that\ntype points at (mcp: the MCP server URL; a2a: the agent card URL; rest: the API's base URL or its\nOpenAPI document URL; x402: the x402-protected resource URL). https only, like endpoint_url.\n\n`details` is free-form except for two documented conventions, which are checked when present:\n * rest: `openapi_url` - an https URL of the service's OpenAPI document, when one exists (url\n is then normally the API's base URL; url may itself be the OpenAPI document).\n * mcp: `transport` - one of MCP_TRANSPORTS (streamable-http, sse, stdio). A stdio server cannot\n be reached at a URL, so for stdio `url` is the https URL of its repository and details must\n carry `install_command` (how to run it, e.g. \"npx -y @scope/server\") and `package` (the\n package name); `registry` (npm, pypi, docker, ...) and `version` are optional."
},
"PaymentMethodEntry": {
"properties": {
"type": {
"type": "string",
"enum": [
"free",
"x402",
"mpp",
"ap2",
"acp",
"l402",
"api_key",
"subscription",
"unknown"
],
"title": "Type"
},
"details": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Details",
"description": "Optional, whatever is known, e.g. {\"signup_url\": ...} for api_key, {\"plan_url\": ..., \"price\": ...} for subscription, {\"networks\": [...]} for x402. Stored and published as given."
}
},
"additionalProperties": false,
"type": "object",
"required": [
"type"
],
"title": "PaymentMethodEntry",
"description": "One way a listed service is paid for. `type` is one of PAYMENT_TYPES. `details` carries what\nis known (a price, a sign-up or plan URL, the networks an x402 service accepts, ...) - unknown\ndetail is simply left out; a type with nothing known is still a true statement."
},
"PaymentOption": {
"properties": {
"network": {
"type": "string",
"title": "Network",
"description": "CAIP-2 chain id, e.g. 'eip155:8453' (Base) or 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp' (Solana mainnet). Supported namespaces: ['eip155', 'solana']."
},
"asset": {
"type": "string",
"title": "Asset",
"description": "On-chain asset: an EVM token contract address (eip155) or a token mint address (solana)."
},
"pay_to": {
"type": "string",
"title": "Pay To",
"description": "Address that receives payment on this network."
},
"amount": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Amount",
"description": "Price in whole-token units as a decimal string, e.g. '0.02' (up to 18 decimal places)."
},
"unit": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Unit",
"description": "What `amount` is charged per, as a lowercase slug, e.g. 'per_call', 'per_verification'."
}
},
"additionalProperties": false,
"type": "object",
"required": [
"network",
"asset",
"pay_to"
],
"title": "PaymentOption",
"description": "One way to pay for a listing's service. Validated per network namespace:\neip155:* takes 0x EVM addresses, solana:* takes base58 addresses. Other\nnamespaces are rejected rather than accepted unchecked."
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
curl "https://apis.io/api/v1/json-schemas/sarnai-dev-listing-update"
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.