Sanity website screenshot

Sanity

Sanity is a composable content platform providing a headless CMS with a real-time collaborative editor (Sanity Studio) and a powerful HTTP API for managing structured content. The Sanity Content Lake stores content as flexible documents queryable via GROQ (Graph-Relational Object Queries). Key API capabilities include document querying, mutations, real-time listening, asset management, project management, webhooks, scheduling, roles and permissions, vector embeddings, and AI-powered content agents.

Sanity publishes 10 APIs on the APIs.io network, including Assets API, Projects API, Webhooks API, and 7 more. Tagged areas include Headless CMS, Content Management, GROQ, Real-Time, and Structured Content.

The Sanity catalog on APIs.io includes 1 event-driven AsyncAPI specification, 1 JSON-LD context, and 3 Spectral governance rulesets.

Sanity’s developer surface includes authentication, documentation, getting-started guide, pricing, engineering blog, and 33 more developer resources.

65.5/100 strong ▬ flat Agent 47/100 agent ready Full breakdown ↓
scored 2026-07-28 · rubric v0.6
AccessFreemiumSelf serve⚡ Free to try
14 APIs 1 MCP Servers
Headless CMSContent ManagementGROQReal-TimeStructured ContentDeveloper Platform

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-07-28 · rubric v0.6
Composite quality — 65.5/100 · strong
Contract Quality 21.3 / 25
Developer Ergonomics 13.0 / 20
Commercial Clarity 11.6 / 20
Operational Transparency 6.8 / 13
Governance 6.3 / 12
Discoverability 6.5 / 10
Agent readiness — 47/100 · agent ready
Machine-Readable Contract 18 / 18
Agentic Access Contract 10 / 10
MCP Server 12 / 12
Machine-Readable Auth 10 / 10
Idempotency 0 / 9
Stable Error Semantics 0 / 8
Request/Response Examples 0 / 7
Rate-Limit Signaling 7 / 7
Typed Event Surface 6 / 6
Agent Skills 0 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3
A2A Agent Card 0 / 8
Dry-Run / Simulate Mode 0 / 4
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. This rating is computed from github.com/api-evangelist/sanity: open an issue to ask a question, or submit a pull request to add artifacts. Want it done for you? Prioritized profiling — $2,500 →

APIs 14

Individual APIs this provider publishes, each with its own machine-readable definition.

Sanity Mutation API

The Sanity Mutation API enables creating, updating, patching, and deleting documents in Content Lake. Mutations are submitted as arrays of operations (create, createOrReplace, c...

Sanity Assets API

The Sanity Assets API handles uploading, retrieving, and managing file and image assets in Content Lake. Assets are stored as documents and referenced from content documents.

Sanity Projects API

The Sanity Projects API enables programmatic management of Sanity projects including creating projects, managing datasets, configuring CORS origins, managing access tokens, and ...

Sanity Webhooks API

The Sanity Webhooks API enables configuring event-driven notifications for content changes. Webhooks can be created to trigger on document create, update, delete, and publish ev...

Sanity Listen API

The Sanity Listen API provides real-time event streaming via Server-Sent Events (SSE) for content changes in a dataset. Clients can subscribe to a GROQ query and receive real-ti...

Sanity Roles API

The Sanity Roles API provides endpoints for managing user roles and permissions within Sanity projects. Supports predefined roles (Administrator, Read+Write, Read, Viewer) and c...

Sanity Scheduling API

The Sanity Scheduling API enables scheduling content for future publication or unpublication at specific times, supporting editorial workflows and content calendars.

Sanity Embeddings Index API

The Sanity Embeddings Index API enables creating and managing vector embedding indexes for Content Lake documents, supporting semantic search and AI-powered content retrieval wo...

Sanity Assets API

File and image asset management

Sanity Listen API

Real-time event streaming

Sanity Mutations API

Create, update, and delete document operations

Sanity Projects API

Project and dataset management

Sanity Query API

GROQ query operations against Content Lake

Sanity Webhooks API

Event notification configuration

Scroll for all 14

Postman Collections 6

Ready-to-run Postman collections for exercising this provider's APIs.

Open Collections 1

Open, tool-agnostic API collections (OpenAPI-derived and Bruno).

Sanity HTTP API

OPEN COLLECTION

Arazzo Workflows 14

Multi-step API workflows described with the Arazzo specification.

Sanity Bootstrap Project

Create a project, add an initial dataset, then list the project datasets.

ARAZZO

Sanity Bulk Delete by Query

Count documents matching a GROQ filter, then delete them in one mutation.

ARAZZO

Sanity Compare Draft and Published

Read a document's draft and published perspectives to inspect its history.

ARAZZO

Sanity Create and Verify Document

Create a document with a mutation, then confirm it exists with a GROQ query.

ARAZZO

Sanity Discover Project Datasets

List accessible projects, then enumerate the datasets of a chosen project.

ARAZZO

Sanity Issue Token for Project

Confirm a project exists, mint an API token on it, then list its tokens.

ARAZZO

Sanity Provision Dataset

Create a dataset in a project, then list datasets to confirm it exists.

ARAZZO

Sanity Publish Draft Document

Read a draft, promote it to a published document, then verify the result.

ARAZZO

Sanity Query Then Patch Document

Find a document with GROQ, then patch it when a match is found.

ARAZZO

Sanity Register Webhook for Query

Validate a GROQ filter, register a webhook on it, then list webhooks.

ARAZZO

Sanity Rename Project

Read a project, update its display name and metadata, then re-read it.

ARAZZO

Sanity Replace Document Asset

Upload a new image, find the target document, then point it at the new asset.

ARAZZO

Sanity Upload Asset and Reference

Upload an image asset, then create a document that references it.

ARAZZO

Sanity Upsert Document

Find a document by a GROQ key match and patch it, otherwise create it.

ARAZZO

Scroll for all 14

MCP Servers 1

Model Context Protocol servers that expose these APIs to AI agents.

MCP Server

MCP SERVER

GraphQL 1

GraphQL schemas published by this provider.

Sanity GraphQL API

Sanity provides a project-scoped GraphQL API that exposes Content Lake documents as a typed, queryable schema. The API is deployed per-project and per-dataset: you generate and ...

GRAPHQL

Pricing Plans 1

Published pricing tiers and plan structures.

Sanity Plans Pricing

3 plans

PLANS

Rate Limits 1

Documented rate limits and quota policies.

Sanity Rate Limits

6 limits

RATE LIMITS

FinOps 1

Cost, billing, and metering signals for API financial operations.

Event Specifications 1

AsyncAPI definitions for this provider's event-driven and streaming APIs.

Sanity GROQ-Powered Webhooks

AsyncAPI specification for Sanity's GROQ-powered webhook surface. Sanity delivers event-driven HTTP callbacks when documents in a Content Lake dataset are created, updated, or d...

ASYNCAPI

Semantic Vocabularies 1

JSON-LD contexts and semantic vocabularies used across these APIs.

Sanity Context

0 classes · 12 properties

JSON-LD

Spectral Rules 3

Spectral governance rulesets for linting and validating these APIs.

Sanity API Rules

6 rules · 1 errors 5 warnings

SPECTRAL

Sanity API Rules

5 rules · 3 warnings 2 info

SPECTRAL

Sanity API Rules

7 rules · 3 errors 4 warnings

SPECTRAL

JSON Schema 11

Standalone JSON Schema definitions for this provider's data models.

AssetDocument

1 properties

JSON SCHEMA

Dataset

3 properties

JSON SCHEMA

Sanity Document

5 properties

JSON SCHEMA

MutationResponse

2 properties

JSON SCHEMA

MutationsRequest

1 properties

JSON SCHEMA

Project

6 properties

JSON SCHEMA

QueryResponse

4 properties

JSON SCHEMA

Token

4 properties

JSON SCHEMA

TokenWithKey

0 properties

JSON SCHEMA

Sanity Webhook

10 properties

JSON SCHEMA

WebhookInput

7 properties

JSON SCHEMA

Scroll for all 11

JSON Structure 2

JSON Structure definitions describing this provider's data shapes.

Sanity Document Structure

0 properties

JSON STRUCTURE

Sanity Structure

0 properties

JSON STRUCTURE

Examples 2

Example request and response payloads for these APIs.

Security Posture 4

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Sanity Authentication

http · 1 scheme

SECURITY

Sanity Domain Security

TLSv1.3 · HSTS · DMARC

SECURITY

Sanity Vulnerability Disclosure

security.txt · contact published

SECURITY

Sanity Trust Center

SOC 2, ISO 27001, ISO 27017, ISO 27018, PCI DSS, HIPAA, GDPR, CSA STAR

SECURITY

Agentic Access 1

Recommended x-agentic-access execution contracts for AI agents.

Sanity Agentic Access

15 operations · 8 acting

15 operations · 8 acting

AGENTIC

Resources

Get Started 2

Portal, sign-up, and the first successful call

Documentation 2

Reference material describing how the API behaves

Agent Surfaces 3

MCP servers, agent skills, and machine-readable catalogs

Design & Contract 17

Pagination, idempotency, versioning, errors, and events

Scroll for all 17

Build 3

SDKs, sample code, and the tooling you integrate with

Access & Security 4

Authentication, authorization, and security posture

Operate 2

Status, limits, changes, and where to get help

Commercial 1

Pricing, plans, and the legal terms of use

Company 3

The organization behind the API

Other 1

Properties that don't map to a standard resource type

Source (apis.yml)

apis.yml Raw ↑
aid: sanity
name: Sanity
description: Sanity is a composable content platform providing a headless CMS with a real-time collaborative editor (Sanity
  Studio) and a powerful HTTP API for managing structured content. The Sanity Content Lake stores content as flexible documents
  queryable via GROQ (Graph-Relational Object Queries). Key API capabilities include document querying, mutations, real-time
  listening, asset management, project management, webhooks, scheduling, roles and permissions, vector embeddings, and AI-powered
  content agents.
type: Index
accessModel:
  pricing: freemium
  onboarding: self-serve
  trial: false
  try_now: true
  public: false
  label: Freemium · Self-serve signup
  confidence: high
  source:
  - plans
  - authentication
  generated: '2026-07-22'
  method: derived
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/sanity.png
tags:
- Headless CMS
- Content Management
- GROQ
- Real-Time
- Structured Content
- Developer Platform
created: '2026-05-02'
modified: '2026-05-30'
x-profiled: 2026-05
url: https://raw.githubusercontent.com/api-evangelist/sanity/refs/heads/main/apis.yml
specificationVersion: '0.19'
apis:
- aid: sanity:sanity-mutation-api
  name: Sanity Mutation API
  description: The Sanity Mutation API enables creating, updating, patching, and deleting documents in Content Lake. Mutations
    are submitted as arrays of operations (create, createOrReplace, createIfNotExists, patch, delete) against a dataset endpoint.
  humanURL: https://www.sanity.io/docs/http-reference
  tags:
  - Mutation
  - Documents
  - CRUD
  - Content Lake
  properties:
  - type: Documentation
    url: https://www.sanity.io/docs/http-reference
- aid: sanity:sanity-assets-api
  name: Sanity Assets API
  description: The Sanity Assets API handles uploading, retrieving, and managing file and image assets in Content Lake. Assets
    are stored as documents and referenced from content documents.
  humanURL: https://www.sanity.io/docs/http-reference
  tags:
  - Assets
  - Images
  - Files
  - Upload
  properties:
  - type: Documentation
    url: https://www.sanity.io/docs/http-reference
- aid: sanity:sanity-projects-api
  name: Sanity Projects API
  description: The Sanity Projects API enables programmatic management of Sanity projects including creating projects, managing
    datasets, configuring CORS origins, managing access tokens, and checking user permissions. Authentication uses Bearer
    tokens.
  humanURL: https://www.sanity.io/docs/projects-api
  tags:
  - Projects
  - Datasets
  - Access Control
  - Tokens
  properties:
  - type: Documentation
    url: https://www.sanity.io/docs/projects-api
- aid: sanity:sanity-webhooks-api
  name: Sanity Webhooks API
  description: The Sanity Webhooks API enables configuring event-driven notifications for content changes. Webhooks can be
    created to trigger on document create, update, delete, and publish events with customizable filter expressions.
  humanURL: https://www.sanity.io/docs/http-reference
  tags:
  - Webhooks
  - Events
  - Notifications
  - Real-Time
  properties:
  - type: Documentation
    url: https://www.sanity.io/docs/http-reference
  - type: Documentation
    url: https://www.sanity.io/docs/webhooks
  - type: AsyncAPI
    url: https://raw.githubusercontent.com/api-evangelist/sanity/refs/heads/main/asyncapi/sanity-webhooks-asyncapi.yml
- aid: sanity:sanity-listen-api
  name: Sanity Listen API
  description: The Sanity Listen API provides real-time event streaming via Server-Sent Events (SSE) for content changes in
    a dataset. Clients can subscribe to a GROQ query and receive real-time notifications when matching documents change.
  humanURL: https://www.sanity.io/docs/http-reference
  tags:
  - Real-Time
  - SSE
  - Events
  - Streaming
  properties:
  - type: Documentation
    url: https://www.sanity.io/docs/http-reference
- aid: sanity:sanity-roles-api
  name: Sanity Roles API
  description: The Sanity Roles API provides endpoints for managing user roles and permissions within Sanity projects. Supports
    predefined roles (Administrator, Read+Write, Read, Viewer) and custom role management.
  humanURL: https://www.sanity.io/docs/roles-reference
  tags:
  - Roles
  - Permissions
  - Access Control
  - Security
  properties:
  - type: Documentation
    url: https://www.sanity.io/docs/roles-reference
- aid: sanity:sanity-scheduling-api
  name: Sanity Scheduling API
  description: The Sanity Scheduling API enables scheduling content for future publication or unpublication at specific times,
    supporting editorial workflows and content calendars.
  humanURL: https://www.sanity.io/docs/http-reference
  tags:
  - Scheduling
  - Publishing
  - Content Calendar
  - Workflow
  properties:
  - type: Documentation
    url: https://www.sanity.io/docs/http-reference
- aid: sanity:sanity-embeddings-index-api
  name: Sanity Embeddings Index API
  description: The Sanity Embeddings Index API enables creating and managing vector embedding indexes for Content Lake documents,
    supporting semantic search and AI-powered content retrieval workflows.
  humanURL: https://www.sanity.io/docs/http-reference
  tags:
  - Embeddings
  - Vector Search
  - AI
  - Semantic Search
  properties:
  - type: Documentation
    url: https://www.sanity.io/docs/http-reference
- aid: sanity:sanity-assets-api
  name: Sanity Assets API
  description: File and image asset management
  humanURL: https://www.sanity.io/docs/http-query
  tags:
  - Assets
  properties:
  - type: OpenAPI
    url: openapi/sanity-assets-api-openapi.yml
  - type: Documentation
    url: https://www.sanity.io/docs/http-query
  - type: JSONSchema
    url: json-schema/sanity-document-schema.json
  - type: JSONSchema
    url: json-schema/sanity-webhook-schema.json
  - type: GraphQL
    url: graphql/sanity-graphql.md
- aid: sanity:sanity-listen-api
  name: Sanity Listen API
  description: Real-time event streaming
  humanURL: https://www.sanity.io/docs/http-query
  tags:
  - Listen
  properties:
  - type: OpenAPI
    url: openapi/sanity-listen-api-openapi.yml
  - type: Documentation
    url: https://www.sanity.io/docs/http-query
  - type: JSONSchema
    url: json-schema/sanity-document-schema.json
  - type: JSONSchema
    url: json-schema/sanity-webhook-schema.json
  - type: GraphQL
    url: graphql/sanity-graphql.md
- aid: sanity:sanity-mutations-api
  name: Sanity Mutations API
  description: Create, update, and delete document operations
  humanURL: https://www.sanity.io/docs/http-query
  tags:
  - Mutations
  properties:
  - type: OpenAPI
    url: openapi/sanity-mutations-api-openapi.yml
  - type: Documentation
    url: https://www.sanity.io/docs/http-query
  - type: JSONSchema
    url: json-schema/sanity-document-schema.json
  - type: JSONSchema
    url: json-schema/sanity-webhook-schema.json
  - type: GraphQL
    url: graphql/sanity-graphql.md
- aid: sanity:sanity-projects-api
  name: Sanity Projects API
  description: Project and dataset management
  humanURL: https://www.sanity.io/docs/http-query
  tags:
  - Projects
  properties:
  - type: OpenAPI
    url: openapi/sanity-projects-api-openapi.yml
  - type: Documentation
    url: https://www.sanity.io/docs/http-query
  - type: JSONSchema
    url: json-schema/sanity-document-schema.json
  - type: JSONSchema
    url: json-schema/sanity-webhook-schema.json
  - type: GraphQL
    url: graphql/sanity-graphql.md
- aid: sanity:sanity-query-api
  name: Sanity Query API
  description: GROQ query operations against Content Lake
  humanURL: https://www.sanity.io/docs/http-query
  tags:
  - Query
  properties:
  - type: OpenAPI
    url: openapi/sanity-query-api-openapi.yml
  - type: Documentation
    url: https://www.sanity.io/docs/http-query
  - type: JSONSchema
    url: json-schema/sanity-document-schema.json
  - type: JSONSchema
    url: json-schema/sanity-webhook-schema.json
  - type: GraphQL
    url: graphql/sanity-graphql.md
- aid: sanity:sanity-webhooks-api
  name: Sanity Webhooks API
  description: Event notification configuration
  humanURL: https://www.sanity.io/docs/http-query
  tags:
  - Webhooks
  properties:
  - type: OpenAPI
    url: openapi/sanity-webhooks-api-openapi.yml
  - type: Documentation
    url: https://www.sanity.io/docs/http-query
  - type: JSONSchema
    url: json-schema/sanity-document-schema.json
  - type: JSONSchema
    url: json-schema/sanity-webhook-schema.json
  - type: GraphQL
    url: graphql/sanity-graphql.md
common:
- type: PostmanWorkspace
  url: https://www.postman.com/kinlaneapi/sanity/overview
- type: AgenticAccess
  url: agentic-access/sanity-agentic-access.yml
- type: TrustCenter
  url: security/sanity-trust-center.yml
- type: VulnerabilityDisclosure
  url: security/sanity-vulnerability-disclosure.yml
- type: DomainSecurity
  url: security/sanity-domain-security.yml
- type: Authentication
  url: authentication/sanity-authentication.yml
- type: Arazzo
  url: arazzo/sanity-bootstrap-project-workflow.yml
  name: Sanity Bootstrap Project
- type: Arazzo
  url: arazzo/sanity-bulk-delete-by-query-workflow.yml
  name: Sanity Bulk Delete by Query
- type: Arazzo
  url: arazzo/sanity-compare-draft-and-published-workflow.yml
  name: Sanity Compare Draft and Published
- type: Arazzo
  url: arazzo/sanity-create-and-verify-document-workflow.yml
  name: Sanity Create and Verify Document
- type: Arazzo
  url: arazzo/sanity-discover-project-datasets-workflow.yml
  name: Sanity Discover Project Datasets
- type: Arazzo
  url: arazzo/sanity-issue-token-for-project-workflow.yml
  name: Sanity Issue Token for Project
- type: Arazzo
  url: arazzo/sanity-provision-dataset-workflow.yml
  name: Sanity Provision Dataset
- type: Arazzo
  url: arazzo/sanity-publish-draft-document-workflow.yml
  name: Sanity Publish Draft Document
- type: Arazzo
  url: arazzo/sanity-query-then-patch-document-workflow.yml
  name: Sanity Query Then Patch Document
- type: Arazzo
  url: arazzo/sanity-register-webhook-for-query-workflow.yml
  name: Sanity Register Webhook for Query
- type: Arazzo
  url: arazzo/sanity-rename-project-workflow.yml
  name: Sanity Rename Project
- type: Arazzo
  url: arazzo/sanity-replace-document-asset-workflow.yml
  name: Sanity Replace Document Asset
- type: Arazzo
  url: arazzo/sanity-upload-asset-and-reference-workflow.yml
  name: Sanity Upload Asset and Reference
- type: Arazzo
  url: arazzo/sanity-upsert-document-workflow.yml
  name: Sanity Upsert Document
- type: LinkedIn
  url: https://www.linkedin.com/company/sanity-io
- type: Website
  url: https://www.sanity.io
- type: Documentation
  url: https://www.sanity.io/docs
- type: HTTP API Reference
  url: https://www.sanity.io/docs/http-reference
- type: DeveloperPortal
  url: https://www.sanity.io/docs
- type: GitHubOrganization
  url: https://github.com/sanity-io
- type: GettingStarted
  url: https://www.sanity.io/docs/getting-started-with-sanity
- type: JavaScript SDK
  url: https://www.npmjs.com/package/@sanity/client
- type: Pricing
  url: https://www.sanity.io/pricing
- type: Community
  url: https://slack.sanity.io
- type: Blog
  url: https://www.sanity.io/blog
- type: StatusPage
  url: https://status.sanity.io
- type: Vocabulary
  url: vocabulary/sanity-vocabulary.yml
- type: SpectralRules
  url: rules/sanity-rules.yml
- type: Capabilities
  url: capabilities/content-management.yaml
- type: JSONLD
  url: json-ld/sanity-context.jsonld
- name: MCP Server
  url: https://github.com/sanity-io/sanity-mcp-server
  type: MCPServer
- name: Agent Skills
  url: https://www.sanity.io/blog/introducing-sanity-agent-skills
  type: AgentSkills
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com