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
deliveryModel:
  model: saas
  open_source: false
  commercial: true
  callable_host: true
  label: Hosted service · you call their endpoint
  confidence: high
  source:
  - openapi
  - pricing
  generated: '2026-08-28'
  method: derived
accessModel:
  pricing: freemium
  onboarding: self-serve
  trial: false
  try_now: true
  public: false
  label: Freemium · Self-serve signup
  confidence: medium
  source:
  - plans
  - authentication
  - security
  generated: '2026-09-03'
  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.23'
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-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
  - Workflows
  tags_raw:
  - 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
  - Artificial Intelligence
  - Semantic Search
  tags_raw:
  - 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: 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
  - Image
  - File
  - Upload
  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
  - type: Documentation
    url: https://www.sanity.io/docs/http-reference
  tags_raw:
  - Assets
  - Images
  - Files
  - Upload
- 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:
  - Listen
  - Real-Time
  - SSE
  - Event
  - Streaming
  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
  - type: Documentation
    url: https://www.sanity.io/docs/http-reference
  tags_raw:
  - Real-Time
  - SSE
  - Events
  - Streaming
- 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: 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:
  - Project
  - Datasets
  - Access Control
  - Tokens
  tags_raw:
  - Projects
  - Datasets
  - Access Control
  - Tokens
  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
  - type: Documentation
    url: https://www.sanity.io/docs/projects-api
- 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: 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:
  - Webhook
  - Event
  - Notification
  - Real-Time
  tags_raw:
  - Webhooks
  - Events
  - Notifications
  - Real-Time
  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
  - 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
common:
- type: CapabilityMap
  url: capabilities/sanity-capability-edges.yml
  name: Sanity Business Capability Map
- type: Plans
  url: plans/sanity-plans-pricing.yml
- type: RateLimits
  url: rate-limits/sanity-rate-limits.yml
- type: FinOps
  url: finops/sanity-finops.yml
- 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: 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
