Sanity · JSON Structure

Sanity Structure

Structural overview of the Sanity API surface; extracted from openapi/.

Type: Properties: 0
Headless CMSContent ManagementGROQReal-TimeStructured ContentDeveloper Platform

Sanity Structure is a JSON Structure definition published by Sanity.

Meta-schema:

JSON Structure

Raw ↑
{
  "provider": "Sanity",
  "providerId": "sanity",
  "kind": "json-structure",
  "description": "Structural overview of the Sanity API surface; extracted from openapi/.",
  "schemaCount": 10,
  "operationCount": 15,
  "schemas": [
    {
      "name": "QueryResponse",
      "type": "object",
      "propertyCount": 4,
      "required": []
    },
    {
      "name": "MutationsRequest",
      "type": "object",
      "propertyCount": 1,
      "required": [
        "mutations"
      ]
    },
    {
      "name": "MutationResponse",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "AssetDocument",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "Project",
      "type": "object",
      "propertyCount": 6,
      "required": []
    },
    {
      "name": "Dataset",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "Token",
      "type": "object",
      "propertyCount": 4,
      "required": []
    },
    {
      "name": "TokenWithKey",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "Webhook",
      "type": "object",
      "propertyCount": 9,
      "required": []
    },
    {
      "name": "WebhookInput",
      "type": "object",
      "propertyCount": 7,
      "required": [
        "name",
        "url",
        "dataset",
        true
      ]
    }
  ],
  "operations": [
    {
      "method": "GET",
      "path": "/data/query/{dataset}",
      "operationId": "queryDocuments",
      "summary": "Query Documents",
      "tags": [
        "Query"
      ]
    },
    {
      "method": "POST",
      "path": "/data/query/{dataset}",
      "operationId": "queryDocumentsPost",
      "summary": "Query Documents (POST)",
      "tags": [
        "Query"
      ]
    },
    {
      "method": "POST",
      "path": "/data/mutate/{dataset}",
      "operationId": "mutateDocuments",
      "summary": "Mutate Documents",
      "tags": [
        "Mutations"
      ]
    },
    {
      "method": "POST",
      "path": "/assets/images/{dataset}",
      "operationId": "uploadImageAsset",
      "summary": "Upload Image Asset",
      "tags": [
        "Assets"
      ]
    },
    {
      "method": "GET",
      "path": "/projects",
      "operationId": "listProjects",
      "summary": "List Projects",
      "tags": [
        "Projects"
      ]
    },
    {
      "method": "POST",
      "path": "/projects",
      "operationId": "createProject",
      "summary": "Create Project",
      "tags": [
        "Projects"
      ]
    },
    {
      "method": "GET",
      "path": "/projects/{projectId}",
      "operationId": "getProject",
      "summary": "Get Project",
      "tags": [
        "Projects"
      ]
    },
    {
      "method": "PATCH",
      "path": "/projects/{projectId}",
      "operationId": "updateProject",
      "summary": "Update Project",
      "tags": [
        "Projects"
      ]
    },
    {
      "method": "GET",
      "path": "/projects/{projectId}/datasets",
      "operationId": "listDatasets",
      "summary": "List Datasets",
      "tags": [
        "Projects"
      ]
    },
    {
      "method": "PUT",
      "path": "/projects/{projectId}/datasets",
      "operationId": "createDataset",
      "summary": "Create Dataset",
      "tags": [
        "Projects"
      ]
    },
    {
      "method": "GET",
      "path": "/projects/{projectId}/tokens",
      "operationId": "listTokens",
      "summary": "List Tokens",
      "tags": [
        "Projects"
      ]
    },
    {
      "method": "POST",
      "path": "/projects/{projectId}/tokens",
      "operationId": "createToken",
      "summary": "Create Token",
      "tags": [
        "Projects"
      ]
    },
    {
      "method": "GET",
      "path": "/hooks/projects/{projectId}",
      "operationId": "listWebhooks",
      "summary": "List Webhooks",
      "tags": [
        "Webhooks"
      ]
    },
    {
      "method": "POST",
      "path": "/hooks/projects/{projectId}",
      "operationId": "createWebhook",
      "summary": "Create Webhook",
      "tags": [
        "Webhooks"
      ]
    },
    {
      "method": "GET",
      "path": "/data/listen/{dataset}",
      "operationId": "listenForChanges",
      "summary": "Listen for Changes",
      "tags": [
        "Listen"
      ]
    }
  ]
}

Work with this as data

Every JSON Structure 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 json structure

4 MCP tools reach this
  • find_json_structuresBrowse and filter every JSON Structure 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 Structure
curl "https://apis.io/api/v1/json-structures/sanity-structure"
All json structure
curl "https://apis.io/api/v1/json-structures?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.