sarnai-dev · Schema

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.

CompanyAIAgentsDirectoryPlatform

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
View JSON Schema on GitHub

JSON Schema

sarnai-dev-listing-update-schema.json Raw ↑
{
  "$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.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/sarnai-dev-listing-update"
All schemas
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.