Applications API Reference
Reference documentation for the applications & user-applications HTTP endpoints.
The Applications API allows you to manage and deploy applications, such as Studios and SDK apps.
Authentication
All requests must be authenticated.
Base API server URL
Production environment
https://api.sanity.ioProduction environment with projectId subdomain
https://{projectId}.api.sanity.ioVariables
- projectIdstringdefault:
""Sanity project ID
Applications
Endpoints for managing applications
List applications for an organization
/{apiVersion}/applications/List all org-owned applications for an organization, regardless of deployment state. Supports cursor-based pagination and optional includes for the active deployment summary (activeDeployment), its children (interfaces, workspaces, access) and application config (config.studio, config.mfManifest).
Path parameters
- vX:
vXv2025-01-01:v2025-01-01
Query parameters
Organization to list applications for
Filter by application type
- includestring
Comma-separated list of related data to include. Allowed values: interfaces, workspaces, access, config.studio, config.mfManifest, activeDeployment
- limitdefault:
50Maximum number of results per page (1-100, default 50). Pass "none" to disable pagination.
- cursorstring
Cursor from a previous response to fetch the next page
Responses
Default Response
- nextCursorrequired
Show child attributes
- string
Show child attributes
items
- typerequired
Show child attributes
- stringenum:
"studio"
- iconrequired
Show child attributes
- string
- visibilityrequired
Show child attributes
- stringenum:
"default"
- slugrequired
Show child attributes
- string
- externalUrlrequired
Show child attributes
- string
- configobject
Show child attributes
- studioobject
Show child attributes
Primary project association for the studio
- autoUpdatingVersionrequired
Release channel (
next,stable,latest) or a pinned semver; null if unsetShow child attributes
- string
The application’s Module Federation manifest (mf-manifest.json), stored verbatim
Show child attributes
- sizerequired
Show child attributes
- integer
- versionrequired
Show child attributes
- string
- isAutoUpdatingrequired
Show child attributes
- boolean
- deployedByrequired
Show child attributes
- string
- interfacesarray
Show child attributes
Show child attributes
- titlerequired
Show child attributes
Further fields truncated - subtitlerequired
Show child attributes
Further fields truncated - schemaDescriptorIdrequired
Show child attributes
Further fields truncated - basePathrequired
Show child attributes
Further fields truncated - iconrequired
Show child attributes
Further fields truncated
items
Show child attributes
- resourceTyperequired
Show child attributes
Further fields truncated
items
Create an application
/{apiVersion}/applications/Create an application in the registry. Requires the sanity.sdk.applications.deploy grant.
Path parameters
- vX:
vXv2025-01-01:v2025-01-01
Request body application/json
Behavioral category. Singletons use
coreApp.Human-friendly display name
Owning organization ID
- slugstring
Subdomain for Sanity-hosted apps. Mutually exclusive with
externalUrl. - externalUrlstring (uri)
URL for externally hosted studios (https only).
- visibilitystring
Dashboard visibility for any app type. Defaults to
default. - isSingletonboolean
When true:
slugrequired andorganizationIdmust be Sanity's org. - iconstring|null
SVG icon markup (or null for no icon); sanitized.
- configobject
Application config; studio settings under
studio(studios only).Show child attributes
- studioobject
Show child attributes
Studio-only. Required for studios.
Release channel or pinned semver. Defaults to
latest.Show child attributes
- stringenum:
"next", "stable", "latest"
Responses
Default Response
- iconrequired
Show child attributes
- string
- visibilityrequired
Show child attributes
- stringenum:
"default"
- slugrequired
Show child attributes
- string
- externalUrlrequired
Show child attributes
- string
Show child attributes
Show child attributes
Primary project association for the studio
- autoUpdatingVersionrequired
Release channel (
next,stable,latest) or a pinned semver; null if unsetShow child attributes
- string
Get an application by ID
/{apiVersion}/applications/{applicationId}Retrieve a single application by ID, regardless of deployment state. Supports optional includes for the active deployment summary (activeDeployment), its children (interfaces, workspaces, access) and application config (config.studio, config.mfManifest).
Path parameters
- vX:
vXv2025-01-01:v2025-01-01
Query parameters
- includestring
Comma-separated list of related data to include. Allowed values: interfaces, workspaces, access, config.studio, config.mfManifest, activeDeployment
Responses
Default Response
- typerequired
Show child attributes
- stringenum:
"studio"
- iconrequired
Show child attributes
- string
- visibilityrequired
Show child attributes
- stringenum:
"default"
- slugrequired
Show child attributes
- string
- externalUrlrequired
Show child attributes
- string
- configobject
Show child attributes
- studioobject
Show child attributes
Primary project association for the studio
- autoUpdatingVersionrequired
Release channel (
next,stable,latest) or a pinned semver; null if unsetShow child attributes
- string
The application’s Module Federation manifest (mf-manifest.json), stored verbatim
Show child attributes
- sizerequired
Show child attributes
- integer
- versionrequired
Show child attributes
- string
- isAutoUpdatingrequired
Show child attributes
- boolean
- deployedByrequired
Show child attributes
- string
- interfacesarray
Show child attributes
Show child attributes
- titlerequired
Show child attributes
- string
- subtitlerequired
Show child attributes
- string
- schemaDescriptorIdrequired
Show child attributes
- string
- basePathrequired
Show child attributes
- string
- iconrequired
Show child attributes
- string
items
Show child attributes
- resourceTyperequired
Show child attributes
- stringenum:
"datasets"
items
Delete an application
/{apiVersion}/applications/{applicationId}Soft-delete an application and all its deployments. Requires the sanity.sdk.applications.delete grant. Singletons with active installations cannot be deleted.
Path parameters
- vX:
vXv2025-01-01:v2025-01-01
Responses
Update an application
/{apiVersion}/applications/{applicationId}Update an application's mutable properties. Requires the sanity.sdk.applications.deploy grant.
Path parameters
- vX:
vXv2025-01-01:v2025-01-01
Request body application/json
- titlestring
Human-friendly display name
SVG icon markup; sanitized before storage. null clears the stored icon; an icon that sanitizes to empty is treated as omitted (no-op).
Show child attributes
- string
Dashboard visibility. One of: default, unlisted, disabled.
Show child attributes
- stringenum:
"default"
Responses
An application in the unified registry, without deployment information
- typerequired
Show child attributes
- stringenum:
"studio"
- iconrequired
Show child attributes
- string
- visibilityrequired
Show child attributes
- stringenum:
"default"
- slugrequired
Show child attributes
- string
- externalUrlrequired
Show child attributes
- string
Get interfaces by type for an application
/{apiVersion}/applications/{applicationId}/interfacesRetrieve interfaces of a specific type for an application, resolved from the active deployment.
Path parameters
- vX:
vXv2025-01-01:v2025-01-01
Query parameters
- interfaceTyperequired
Responses
Default Response
Get workspaces for an application
/{apiVersion}/applications/{applicationId}/workspacesRetrieve workspaces for a studio application, resolved from the active deployment. Returns null for non-studio applications.
Path parameters
- vX:
vXv2025-01-01:v2025-01-01
Responses
Default Response
- titlerequired
Show child attributes
- string
- subtitlerequired
Show child attributes
- string
- schemaDescriptorIdrequired
Show child attributes
- string
- basePathrequired
Show child attributes
- string
- iconrequired
Show child attributes
- string
items
Get resource access for an application
/{apiVersion}/applications/{applicationId}/accessRetrieve the Sanity resources an application accesses, resolved from the active deployment. Returns null for singletons.
Path parameters
- vX:
vXv2025-01-01:v2025-01-01
Responses
List deployments for an application
/{apiVersion}/applications/{applicationId}/deploymentsRetrieve the deployment history for an application. Returns all non-deleted deployments with nested children (interfaces, workspaces, access), ordered by creation date descending.
Path parameters
- vX:
vXv2025-01-01:v2025-01-01
Query parameters
Responses
Default Response
- nextCursorrequired
Show child attributes
- string
Show child attributes
items
- sizerequired
Show child attributes
- integer
- versionrequired
Show child attributes
- string
- isAutoUpdatingrequired
Show child attributes
- boolean
- deployedByrequired
Show child attributes
- string
Show child attributes
- workspacesrequired
Show child attributes
- titlerequired
Show child attributes
- string
- subtitlerequired
Show child attributes
- string
- schemaDescriptorIdrequired
Show child attributes
- string
- basePathrequired
Show child attributes
- string
- iconrequired
Show child attributes
- string
items
- accessrequired
Show child attributes
- resourceTyperequired
Show child attributes
- stringenum:
"datasets"
items
Deploy an application
/{apiVersion}/applications/{applicationId}/deploymentsDeploy a new version to an existing application. The new deployment becomes active, superseding the previous one. Requires the sanity.sdk.applications.deploy grant.
Multipart form-data. interfaces, access, and workspaces are JSON parts (send each with Content-Type: application/json). Sanity-hosted apps include a tarball; external studios omit it. Field parts must precede the tarball part.
Path parameters
- vX:
vXv2025-01-01:v2025-01-01
Request body multipart/form-data
Deployment version identifier (e.g. "3.41.0")
- tarballstring (binary)
Gzipped tarball. Required for Sanity-hosted apps; not allowed for external studios.
- isAutoUpdatingboolean
Flags whether this deployment is an auto-update build. Not allowed for external studios.
- interfacesarray
JSON part. Required for Sanity-hosted apps; not allowed for external studios.
Show child attributes
items
Unique within type per deployment (e.g. "edit-document")
Human-friendly display name
Version of the interface (e.g. "1.0.0")
Module federation module ID (e.g. "media-library/App")
- accessarray
JSON part. Resource declarations. Not allowed for singletons.
Show child attributes
items
Resource category
The ID of the specific resource
- workspacesarray
JSON part. Studio-only. Not allowed for non-studio types.
Show child attributes
items
The Sanity project this workspace targets
The dataset within the project
Lexicon schema descriptor id for this workspace's schema
- namestring
Workspace name (defaults to "default")
Human-friendly display name
Show child attributes
- string
Secondary display text
Show child attributes
- string
URL base path for the workspace within the studio
Show child attributes
- string
Sanitized SVG icon markup
Show child attributes
- string
Responses
A deployment with its interfaces, workspaces, and access declarations
- sizerequired
Show child attributes
- integer
- versionrequired
Show child attributes
- string
- isAutoUpdatingrequired
Show child attributes
- boolean
- deployedByrequired
Show child attributes
- string
Show child attributes
- workspacesrequired
Show child attributes
- titlerequired
Show child attributes
- string
- subtitlerequired
Show child attributes
- string
- schemaDescriptorIdrequired
Show child attributes
- string
- basePathrequired
Show child attributes
- string
- iconrequired
Show child attributes
- string
items
- accessrequired
Show child attributes
- resourceTyperequired
Show child attributes
- stringenum:
"datasets"
items
Installations
Endpoints for installing and uninstalling singleton applications
Install a singleton application
/{apiVersion}/applications/{applicationId}/installationsInstall a singleton application for an organization. Requires a service token. Creates an installation record linking the organization to the singleton.
Path parameters
- vX:
vXv2025-01-01:v2025-01-01
Request body application/json
The organization gaining access to the singleton
- accessarray
Resource access to grant this installation (0..N)
Show child attributes
items
- resourceTyperequired
Resource category
Show child attributes
- stringenum:
"datasets"
The ID of the specific resource
Responses
An installation linking an organization to a singleton application
- installedByrequired
Show child attributes
- string
Uninstall a singleton application
/{apiVersion}/installations/{installationId}Uninstall a singleton from an organization. Sets uninstalledAt and preserves the record for audit history. Requires a service token.
Path parameters
- vX:
vXv2025-01-01:v2025-01-01
Responses
Get an installation by ID
/{apiVersion}/installations/{installationId}Retrieve a single active installation and its singleton's title and slug. Use include to embed the active config, access rows, or interfaces.
Path parameters
- vX:
vXv2025-01-01:v2025-01-01
Query parameters
- includestring
Comma-separated list of related data to include. Allowed values: activeConfig, access, interfaces
Responses
Default Response
- installedByrequired
Show child attributes
- string
A versioned configuration snapshot for an installation; content is stored in GCS
Show child attributes
- deployedByrequired
Show child attributes
- string
- accessarray
Show child attributes
items
- resourceTyperequired
Show child attributes
- stringenum:
"datasets"
- interfacesarray
Show child attributes
List installations for an organization
/{apiVersion}/installations/List an organization's active singleton installations. Each item carries the installation and its singleton's title and slug; use include to embed the active config, access rows, or interfaces. Supports cursor-based pagination.
Path parameters
- vX:
vXv2025-01-01:v2025-01-01
Query parameters
Organization to list installations for
- includestring
Comma-separated list of related data to include. Allowed values: activeConfig, access, interfaces
- limitdefault:
50Maximum number of results per page (1-100, default 50). Pass "none" to disable pagination.
- cursorstring
Cursor from a previous response to fetch the next page
Responses
Default Response
- nextCursorrequired
Show child attributes
- string
Show child attributes
items
- installedByrequired
Show child attributes
- string
A versioned configuration snapshot for an installation; content is stored in GCS
Show child attributes
- deployedByrequired
Show child attributes
- string
- accessarray
Show child attributes
items
- resourceTyperequired
Show child attributes
- stringenum:
"datasets"
- interfacesarray
Show child attributes
Get interfaces by type for an installation
/{apiVersion}/installations/{installationId}/interfacesRetrieve a singleton's interfaces of a specific type, addressed by an installation id and resolved from the singleton's active deployment.
Path parameters
- vX:
vXv2025-01-01:v2025-01-01
Query parameters
- interfaceTyperequired
Responses
Default Response
Get resource access for an installation
/{apiVersion}/installations/{installationId}/accessRetrieve the installation-scoped resource access declarations. Returns an empty array until the install flow writes these rows (SDK-1811).
Path parameters
- vX:
vXv2025-01-01:v2025-01-01
Responses
User Applications
Endpoints for managing user applications
Get all user applications
/{apiVersion}/user-applications/Retrieves user applications for the given project or organization. Returns an array of applications by default, or a single application when filtering by appHost or default. For studio applications queried via organization route, fetches all projects within the organization.
Path parameters
- vX:
vXv2025-01-01:v2025-01-01
Query parameters
- appHoststring
Filter by application hostname. When provided, returns a single application instead of an array.
- defaultboolean
Filter by default deployment status. When true, returns only the default application as a single object.
Application type. Valid values: studio, coreApp.
Dashboard visibility status. Valid values: default, unlisted, disabled.
- includeResourceLinksboolean
When true, includes resource links (e.g. CORS origins) associated with each application.
- organizationIdstringExample:
eg4gvkae
Responses
Default Response
- projectIdrequired
Show child attributes
- string
- organizationIdrequired
Show child attributes
- string
- titlerequired
Show child attributes
- string
- typerequired
Show child attributes
- stringenum:
"studio"
- urlTyperequired
Show child attributes
- stringenum:
"internal"
- dashboardStatusrequired
Show child attributes
- stringenum:
"default"
- createdAtrequired
- updatedAtrequired
- autoUpdatingVersionrequired
Show child attributes
- string
- activeDeploymentrequired
A deployment of a user application
Show child attributes
- versionrequired
Show child attributes
- string
- isAutoUpdatingrequired
Show child attributes
- boolean
- sizerequired
Show child attributes
- integer
- deployedAtrequired
- deployedByrequired
Show child attributes
- string
- createdAtrequired
- updatedAtrequired
- manifestrequired
- manifestDatarequired
Use UserApplicationConfig instead. Key-value data associated with a user application
- configrequired
Show child attributes
- object
- manifestrequired
- resourceLinkstring
items
Create a user application
/{apiVersion}/user-applications/Path parameters
- vX:
vXv2025-01-01:v2025-01-01
Query parameters
Application type. Valid values: studio, coreApp.
- organizationIdstringExample:
eg4gvkae
Request body application/json
- isDefaultForDeploymentboolean
- titlestring
Dashboard visibility status. Valid values: default, unlisted, disabled.
Show child attributes
- stringenum:
"default"
Show child attributes
- stringenum:
"next"
Responses
A user application without deployment information
- projectIdrequired
Show child attributes
- string
- organizationIdrequired
Show child attributes
- string
- titlerequired
Show child attributes
- string
- typerequired
Show child attributes
- stringenum:
"studio"
- urlTyperequired
Show child attributes
- stringenum:
"internal"
- dashboardStatusrequired
Show child attributes
- stringenum:
"default"
- createdAtrequired
- updatedAtrequired
- autoUpdatingVersionrequired
Show child attributes
- string
application/json{
"id": "app_xyz789",
"projectId": "proj_123",
"organizationId": "org_456",
"title": "My Studio",
"type": "studio",
"urlType": "internal",
"appHost": "my-studio",
"dashboardStatus": "unlisted",
"createdAt": "2024-01-15T10:30:00.000Z",
"updatedAt": "2024-01-15T10:30:00.000Z",
"autoUpdatingVersion": null
}Get workspaces for studio applications
/{apiVersion}/user-applications/workspacesReturns a flattened view of user applications with their workspaces. Each workspace becomes a separate entry in the response, allowing easy access to schema descriptors.
Path parameters
- vX:
vXv2025-01-01:v2025-01-01
Query parameters
- projectIdstring
Filter by project ID. Falls back to the project ID from the request header.
- datasetstring
Filter workspaces by dataset name.
- namestring
Filter workspaces by workspace name.
- keystring
Filter workspaces by workspace key.
Application type. Valid values: studio, coreApp.
- organizationIdstringExample:
eg4gvkae
Responses
Response containing flattened workspaces from studio applications
Array of workspaces from all studio applications
Show child attributes
items
Unique key combining userApplicationId and workspace name
Show child attributes
User application ID
Application type (always studio)
Where the workspace manifest was sourced from: "deployment" for active deployment manifest, "live" for live-manifest config
Show child attributes
- stringenum:
"deployment"
- bundleVersionstring
Version of the Studio bundle from the deployment
URL for the workspace in the dashboard
Workspace name (default if not specified)
- titlestring
Display title for the workspace
Schema descriptor ID from Lexicon
application/json{
"workspaces": [
{
"key": "app123-default",
"userApplication": {
"id": "app123",
"type": "studio"
},
"bundleVersion": "3.40.0",
"intentBaseUrl": "https://www.sanity.io/@myorg/studio/app123/default",
"name": "default",
"title": "My Workspace",
"resource": {
"type": "dataset",
"id": "proj123.production"
},
"schemaDescriptorId": "uEiCBsitEg1VROvwEf2khmQEggZ7-qfBKuiah5R63IxV35Q"
}
]
}Get workspaces for a user application
/{apiVersion}/user-applications/{userApplicationId}/workspacesReturns a flattened view of workspaces for a specific user application. Each workspace becomes a separate entry in the response, allowing easy access to schema descriptors.
Path parameters
- vX:
vXv2025-01-01:v2025-01-01
Query parameters
Responses
Response containing flattened workspaces from studio applications
Array of workspaces from all studio applications
Show child attributes
items
Unique key combining userApplicationId and workspace name
Show child attributes
User application ID
Application type (always studio)
Where the workspace manifest was sourced from: "deployment" for active deployment manifest, "live" for live-manifest config
Show child attributes
- stringenum:
"deployment"
- bundleVersionstring
Version of the Studio bundle from the deployment
URL for the workspace in the dashboard
Workspace name (default if not specified)
- titlestring
Display title for the workspace
Schema descriptor ID from Lexicon
application/json{
"workspaces": [
{
"key": "app123-default",
"userApplication": {
"id": "app123",
"type": "studio"
},
"bundleVersion": "3.40.0",
"intentBaseUrl": "https://www.sanity.io/@myorg/studio/app123/default",
"name": "default",
"title": "My Workspace",
"resource": {
"type": "dataset",
"id": "proj123.production"
},
"schemaDescriptorId": "uEiCBsitEg1VROvwEf2khmQEggZ7-qfBKuiah5R63IxV35Q"
}
]
}Get a user application
/{apiVersion}/user-applications/{userApplicationId}Get a user application by id
Path parameters
- vX:
vXv2025-01-01:v2025-01-01
Responses
A user application with active deployment, manifest data, and config
- projectIdrequired
Show child attributes
- string
- organizationIdrequired
Show child attributes
- string
- titlerequired
Show child attributes
- string
- typerequired
Show child attributes
- stringenum:
"studio"
- urlTyperequired
Show child attributes
- stringenum:
"internal"
- dashboardStatusrequired
Show child attributes
- stringenum:
"default"
- createdAtrequired
- updatedAtrequired
- autoUpdatingVersionrequired
Show child attributes
- string
- activeDeploymentrequired
A deployment of a user application
Show child attributes
- versionrequired
Show child attributes
- string
- isAutoUpdatingrequired
Show child attributes
- boolean
- sizerequired
Show child attributes
- integer
- deployedAtrequired
- deployedByrequired
Show child attributes
- string
- createdAtrequired
- updatedAtrequired
- manifestrequired
- manifestDatarequired
Use UserApplicationConfig instead. Key-value data associated with a user application
- configrequired
Show child attributes
- object
- manifestrequired
application/json{
"id": "app_xyz789",
"projectId": "proj_123",
"organizationId": "org_456",
"title": "My Studio",
"type": "studio",
"urlType": "internal",
"appHost": "my-studio",
"dashboardStatus": "unlisted",
"createdAt": "2024-01-15T10:30:00.000Z",
"updatedAt": "2024-01-15T10:30:00.000Z",
"autoUpdatingVersion": null,
"activeDeployment": null,
"manifestData": null,
"config": {
"live-manifest": {
"value": {
"workspaces": [
{
"name": "default"
}
]
},
"createdAt": "2024-01-15T10:30:00.000Z",
"updatedAt": "2024-01-15T10:30:00.000Z",
"updatedBy": "user_123"
}
},
"manifest": {}
}Update a user application
/{apiVersion}/user-applications/{userApplicationId}Path parameters
- vX:
vXv2025-01-01:v2025-01-01
Request body application/json
Show child attributes
- string
- isDefaultForDeploymentboolean
- urlTypestring
Dashboard visibility status. Valid values: default, unlisted, disabled.
Show child attributes
- stringenum:
"default"
Show child attributes
- stringenum:
"next"
Responses
A user application with active deployment, manifest data, and config
- projectIdrequired
Show child attributes
- string
- organizationIdrequired
Show child attributes
- string
- titlerequired
Show child attributes
- string
- typerequired
Show child attributes
- stringenum:
"studio"
- urlTyperequired
Show child attributes
- stringenum:
"internal"
- dashboardStatusrequired
Show child attributes
- stringenum:
"default"
- createdAtrequired
- updatedAtrequired
- autoUpdatingVersionrequired
Show child attributes
- string
- activeDeploymentrequired
A deployment of a user application
Show child attributes
- versionrequired
Show child attributes
- string
- isAutoUpdatingrequired
Show child attributes
- boolean
- sizerequired
Show child attributes
- integer
- deployedAtrequired
- deployedByrequired
Show child attributes
- string
- createdAtrequired
- updatedAtrequired
- manifestrequired
- manifestDatarequired
Use UserApplicationConfig instead. Key-value data associated with a user application
- configrequired
Show child attributes
- object
- manifestrequired
application/json{
"id": "app_xyz789",
"projectId": "proj_123",
"organizationId": "org_456",
"title": "My Studio",
"type": "studio",
"urlType": "internal",
"appHost": "my-studio",
"dashboardStatus": "unlisted",
"createdAt": "2024-01-15T10:30:00.000Z",
"updatedAt": "2024-01-15T10:30:00.000Z",
"autoUpdatingVersion": null,
"activeDeployment": null,
"manifestData": null,
"config": {
"live-manifest": {
"value": {
"workspaces": [
{
"name": "default"
}
]
},
"createdAt": "2024-01-15T10:30:00.000Z",
"updatedAt": "2024-01-15T10:30:00.000Z",
"updatedBy": "user_123"
}
},
"manifest": {}
}Delete a user application
/{apiVersion}/user-applications/{userApplicationId}Path parameters
- vX:
vXv2025-01-01:v2025-01-01
Responses
Delete all user applications
/{apiVersion}/projects/{projectId}/user-applications/Deletes all user applications for a project. Requires a service token
Path parameters
- Example:
my-project-id - vX:
vXv2025-01-01:v2025-01-01
Responses
Get all user applications for a project
/{apiVersion}/projects/{projectId}/user-applications/Retrieves user applications for the given project or organization. Returns an array of applications by default, or a single application when filtering by appHost or default. For studio applications queried via organization route, fetches all projects within the organization.
Path parameters
- vX:
vXv2025-01-01:v2025-01-01 - Example:
my-project-id
Query parameters
- appHoststring
Filter by application hostname. When provided, returns a single application instead of an array.
- defaultboolean
Filter by default deployment status. When true, returns only the default application as a single object.
Application type. Valid values: studio, coreApp.
Dashboard visibility status. Valid values: default, unlisted, disabled.
- includeResourceLinksboolean
When true, includes resource links (e.g. CORS origins) associated with each application.
Responses
Default Response
- projectIdrequired
Show child attributes
- string
- organizationIdrequired
Show child attributes
- string
- titlerequired
Show child attributes
- string
- typerequired
Show child attributes
- stringenum:
"studio"
- urlTyperequired
Show child attributes
- stringenum:
"internal"
- dashboardStatusrequired
Show child attributes
- stringenum:
"default"
- createdAtrequired
- updatedAtrequired
- autoUpdatingVersionrequired
Show child attributes
- string
- activeDeploymentrequired
A deployment of a user application
Show child attributes
- versionrequired
Show child attributes
- string
- isAutoUpdatingrequired
Show child attributes
- boolean
- sizerequired
Show child attributes
- integer
- deployedAtrequired
- deployedByrequired
Show child attributes
- string
- createdAtrequired
- updatedAtrequired
- manifestrequired
- manifestDatarequired
Use UserApplicationConfig instead. Key-value data associated with a user application
- configrequired
Show child attributes
- object
- manifestrequired
- resourceLinkstring
items
Create a user application for a project
/{apiVersion}/projects/{projectId}/user-applications/Path parameters
- vX:
vXv2025-01-01:v2025-01-01 - Example:
my-project-id
Query parameters
Application type. Valid values: studio, coreApp.
Request body application/json
- isDefaultForDeploymentboolean
- titlestring
Dashboard visibility status. Valid values: default, unlisted, disabled.
Show child attributes
- stringenum:
"default"
Show child attributes
- stringenum:
"next"
Responses
A user application without deployment information
- projectIdrequired
Show child attributes
- string
- organizationIdrequired
Show child attributes
- string
- titlerequired
Show child attributes
- string
- typerequired
Show child attributes
- stringenum:
"studio"
- urlTyperequired
Show child attributes
- stringenum:
"internal"
- dashboardStatusrequired
Show child attributes
- stringenum:
"default"
- createdAtrequired
- updatedAtrequired
- autoUpdatingVersionrequired
Show child attributes
- string
application/json{
"id": "app_xyz789",
"projectId": "proj_123",
"organizationId": "org_456",
"title": "My Studio",
"type": "studio",
"urlType": "internal",
"appHost": "my-studio",
"dashboardStatus": "unlisted",
"createdAt": "2024-01-15T10:30:00.000Z",
"updatedAt": "2024-01-15T10:30:00.000Z",
"autoUpdatingVersion": null
}Get a user application for a project
/{apiVersion}/projects/{projectId}/user-applications/{userApplicationId}Get a user application by id
Path parameters
- vX:
vXv2025-01-01:v2025-01-01 - Example:
my-project-id
Query parameters
Application type. Valid values: studio, coreApp.
Responses
A user application with active deployment, manifest data, and config
- projectIdrequired
Show child attributes
- string
- organizationIdrequired
Show child attributes
- string
- titlerequired
Show child attributes
- string
- typerequired
Show child attributes
- stringenum:
"studio"
- urlTyperequired
Show child attributes
- stringenum:
"internal"
- dashboardStatusrequired
Show child attributes
- stringenum:
"default"
- createdAtrequired
- updatedAtrequired
- autoUpdatingVersionrequired
Show child attributes
- string
- activeDeploymentrequired
A deployment of a user application
Show child attributes
- versionrequired
Show child attributes
- string
- isAutoUpdatingrequired
Show child attributes
- boolean
- sizerequired
Show child attributes
- integer
- deployedAtrequired
- deployedByrequired
Show child attributes
- string
- createdAtrequired
- updatedAtrequired
- manifestrequired
- manifestDatarequired
Use UserApplicationConfig instead. Key-value data associated with a user application
- configrequired
Show child attributes
- object
- manifestrequired
application/json{
"id": "app_xyz789",
"projectId": "proj_123",
"organizationId": "org_456",
"title": "My Studio",
"type": "studio",
"urlType": "internal",
"appHost": "my-studio",
"dashboardStatus": "unlisted",
"createdAt": "2024-01-15T10:30:00.000Z",
"updatedAt": "2024-01-15T10:30:00.000Z",
"autoUpdatingVersion": null,
"activeDeployment": null,
"manifestData": null,
"config": {
"live-manifest": {
"value": {
"workspaces": [
{
"name": "default"
}
]
},
"createdAt": "2024-01-15T10:30:00.000Z",
"updatedAt": "2024-01-15T10:30:00.000Z",
"updatedBy": "user_123"
}
},
"manifest": {}
}Update a user application for a project
/{apiVersion}/projects/{projectId}/user-applications/{userApplicationId}Path parameters
- vX:
vXv2025-01-01:v2025-01-01 - Example:
my-project-id
Query parameters
Application type. Valid values: studio, coreApp.
Request body application/json
Show child attributes
- string
- isDefaultForDeploymentboolean
- urlTypestring
Dashboard visibility status. Valid values: default, unlisted, disabled.
Show child attributes
- stringenum:
"default"
Show child attributes
- stringenum:
"next"
Responses
A user application with active deployment, manifest data, and config
- projectIdrequired
Show child attributes
- string
- organizationIdrequired
Show child attributes
- string
- titlerequired
Show child attributes
- string
- typerequired
Show child attributes
- stringenum:
"studio"
- urlTyperequired
Show child attributes
- stringenum:
"internal"
- dashboardStatusrequired
Show child attributes
- stringenum:
"default"
- createdAtrequired
- updatedAtrequired
- autoUpdatingVersionrequired
Show child attributes
- string
- activeDeploymentrequired
A deployment of a user application
Show child attributes
- versionrequired
Show child attributes
- string
- isAutoUpdatingrequired
Show child attributes
- boolean
- sizerequired
Show child attributes
- integer
- deployedAtrequired
- deployedByrequired
Show child attributes
- string
- createdAtrequired
- updatedAtrequired
- manifestrequired
- manifestDatarequired
Use UserApplicationConfig instead. Key-value data associated with a user application
- configrequired
Show child attributes
- object
- manifestrequired
application/json{
"id": "app_xyz789",
"projectId": "proj_123",
"organizationId": "org_456",
"title": "My Studio",
"type": "studio",
"urlType": "internal",
"appHost": "my-studio",
"dashboardStatus": "unlisted",
"createdAt": "2024-01-15T10:30:00.000Z",
"updatedAt": "2024-01-15T10:30:00.000Z",
"autoUpdatingVersion": null,
"activeDeployment": null,
"manifestData": null,
"config": {
"live-manifest": {
"value": {
"workspaces": [
{
"name": "default"
}
]
},
"createdAt": "2024-01-15T10:30:00.000Z",
"updatedAt": "2024-01-15T10:30:00.000Z",
"updatedBy": "user_123"
}
},
"manifest": {}
}Delete a user application for a project
/{apiVersion}/projects/{projectId}/user-applications/{userApplicationId}Path parameters
- vX:
vXv2025-01-01:v2025-01-01 - Example:
my-project-id
Query parameters
Application type. Valid values: studio, coreApp.
Responses
Deployments
Endpoints for managing and creating deployments
Legacy deploy route
/{apiVersion}/deployLegacy deploy route used by Sanity CLI. This route should be considered deprecated, and is kept for Sanity CLI compatibility.
Path parameters
- vX:
vXv2025-01-01:v2025-01-01
Responses
Get user application deployments
/{apiVersion}/user-applications/{userApplicationId}/deploymentsGet deployments for a user application. The response is paginated shape but the actual data is not paginated at this point
Path parameters
- vX:
vXv2025-01-01:v2025-01-01
Responses
Default Response
Show child attributes
- nextCursorrequired
Show child attributes
- null
Show child attributes
items
- versionrequired
Show child attributes
- string
- isAutoUpdatingrequired
Show child attributes
- boolean
- sizerequired
Show child attributes
- integer
- deployedAtrequired
- deployedByrequired
Show child attributes
- string
- createdAtrequired
- updatedAtrequired
- manifestrequired
Deploy a user application
/{apiVersion}/user-applications/{userApplicationId}/deploymentsDeploys a user application. See Studio Manifest for Studio apps or CoreAppDeploymentManifest for Core Apps.
Path parameters
- vX:
vXv2025-01-01:v2025-01-01
Query parameters
- tagstring
Request body multipart/form-data
The version of the application being deployed
Whether this deployment is from an auto-updating application
The tarball containing the built application
- manifeststring
JSON manifest for the deployment (optional)
Responses
Get user application deployments for a project
/{apiVersion}/projects/{projectId}/user-applications/{userApplicationId}/deploymentsGet deployments for a user application. The response is paginated shape but the actual data is not paginated at this point
Path parameters
- vX:
vXv2025-01-01:v2025-01-01 - Example:
my-project-id
Query parameters
Application type. Valid values: studio, coreApp.
Responses
Default Response
Show child attributes
- nextCursorrequired
Show child attributes
- null
Show child attributes
items
- versionrequired
Show child attributes
- string
- isAutoUpdatingrequired
Show child attributes
- boolean
- sizerequired
Show child attributes
- integer
- deployedAtrequired
- deployedByrequired
Show child attributes
- string
- createdAtrequired
- updatedAtrequired
- manifestrequired
Deploy a user application for a project
/{apiVersion}/projects/{projectId}/user-applications/{userApplicationId}/deploymentsDeploys a user application. See Studio Manifest for Studio apps or CoreAppDeploymentManifest for Core Apps.
Path parameters
- vX:
vXv2025-01-01:v2025-01-01 - Example:
my-project-id
Request body multipart/form-data
The version of the application being deployed
Whether this deployment is from an auto-updating application
The tarball containing the built application
- manifeststring
JSON manifest for the deployment (optional)
Responses
Config
Endpoints for setting user application config
Register a user application config
/{apiVersion}/user-applications/{userApplicationId}/config/{configKey}Register a configuration for a user application under the provided key. Only updates when the config value is different from the current value. Note: The supported keys depends on the type of the user application.
Studio Config Keys
live-manifest: See Studio Manifest
Path parameters
The ID of the user application
The configuration key. Supported values: live-manifest
- vX:
vXv2025-01-01:v2025-01-01
Request body application/json
Configuration value object
Show child attributes
Responses
Register a user application config for a project
/{apiVersion}/projects/{projectId}/user-applications/{userApplicationId}/config/{configKey}Register a configuration for a user application under the provided key. Only updates when the config value is different from the current value. Note: The supported keys depends on the type of the user application.
Studio Config Keys
live-manifest: See Studio Manifest
Path parameters
The ID of the user application
The configuration key. Supported values: live-manifest
- vX:
vXv2025-01-01:v2025-01-01 - Example:
my-project-id
Query parameters
Application type. Valid values: studio, coreApp.
Request body application/json
Configuration value object
Show child attributes
Responses
List configs for an installation
/{apiVersion}/installations/{installationId}/configsRetrieve the configuration history for an installed singleton. Returns config snapshot metadata ordered by creation date descending.
Path parameters
- vX:
vXv2025-01-01:v2025-01-01
Query parameters
Responses
Default Response
- nextCursorrequired
Show child attributes
- string
Show child attributes
items
- deployedByrequired
Show child attributes
- string
Deploy installation configuration
/{apiVersion}/installations/{installationId}/configsPush a configuration snapshot to an installed singleton. Creates a new config record and deactivates any previous active config. Requires a session token with sanity.sdk.applications.deploy grant. Field parts must precede the tarball part.
Path parameters
- vX:
vXv2025-01-01:v2025-01-01
Responses
A versioned configuration snapshot for an installation; content is stored in GCS
Delete an installation configuration
/{apiVersion}/installations/{installationId}/configs/{configId}Soft-delete a configuration snapshot. The record is removed from history immediately, but its content stays in storage so applications still resolving this config keep working; the content is purged once newer configs supersede it. Requires a session token with sanity.sdk.applications.deploy grant.
Path parameters
- vX:
vXv2025-01-01:v2025-01-01
Responses
Quick Start
Endpoints for quickstart deployment
Quickstart Deploy
/{apiVersion}/deploy/quickstartQuickstart deploy route used by Quickstart. This route is used for a specific experiment and should not be used without prior approval.
Path parameters
- vX:
vXv2025-01-01:v2025-01-01
Responses
Studio Hosts
Endpoint for query studio host availability
Get appHost availability
/{apiVersion}/studiohosts/{appHost}/availabilityCheck if a studio host is available
Path parameters
- Example:
my-app-host - vX:
vXv2025-01-01:v2025-01-01
Responses
Get studio auto-updating version status
/{apiVersion}/user-applications/auto-update-version/{userApplicationId}?Returns the auto-updating version status for a studio based on the X-App-Host header
Path parameters
- vX:
vXv2025-01-01:v2025-01-01
Responses
Default Response
- autoUpdatingrequired
Whether auto-updating is enabled for internal studios
Show child attributes
- boolean
Whether auto-updating is enabled for internal studios
- versionrequired
The auto-updating version to use (one of: next, stable, latest). Defaults to latest if no version is set.
Show child attributes
- string
The auto-updating version to use (one of: next, stable, latest). Defaults to latest if no version is set.
Projects
Endpoints for resolving project
Get project by application
/{apiVersion}/user-applications/resolve/projectThis route is moved from populus, and we have updated services that use it to route to this URL. https://github.com/sanity-io/populus/blob/b460c53cc020a9ca6971c03c45d93bd960196b82/src/controllers/internal/resolve/projects.js Some changes were implemented -- for example, returning a single entity rather than an array.
Path parameters
- vX:
vXv2025-01-01:v2025-01-01
Query parameters
Responses
Default Response
- deletedAtrequired
Show child attributes
- null
- organizationrequired
Show child attributes
Show child attributes
items
- string
- deletedAtrequired
Show child attributes
- null
Get application by host
/{apiVersion}/user-applications/resolve/applicationThis route is used for internal services to resolve an application by host name.
Path parameters
- vX:
vXv2025-01-01:v2025-01-01
Query parameters
Application type. Valid values: studio, coreApp.
- includeResourceLinksboolean
Responses
A user application with manifest and optional resource links
- projectIdrequired
Show child attributes
- string
- organizationIdrequired
Show child attributes
- string
- titlerequired
Show child attributes
- string
- typerequired
Show child attributes
- stringenum:
"studio"
- urlTyperequired
Show child attributes
- stringenum:
"internal"
- dashboardStatusrequired
Show child attributes
- stringenum:
"default"
- createdAtrequired
- updatedAtrequired
- autoUpdatingVersionrequired
Show child attributes
- string
- activeDeploymentrequired
A deployment of a user application
Show child attributes
- versionrequired
Show child attributes
- string
- isAutoUpdatingrequired
Show child attributes
- boolean
- sizerequired
Show child attributes
- integer
- deployedAtrequired
- deployedByrequired
Show child attributes
- string
- createdAtrequired
- updatedAtrequired
- manifestrequired
- manifestDatarequired
Use UserApplicationConfig instead. Key-value data associated with a user application
- configrequired
Show child attributes
- object
- manifestrequired
- resourceLinkstring
application/json{
"id": "app_xyz789",
"projectId": "proj_123",
"organizationId": "org_456",
"title": "My Studio",
"type": "studio",
"urlType": "internal",
"appHost": "my-studio",
"dashboardStatus": "unlisted",
"createdAt": "2024-01-15T10:30:00.000Z",
"updatedAt": "2024-01-15T10:30:00.000Z",
"autoUpdatingVersion": null,
"activeDeployment": null,
"manifestData": null,
"config": {
"live-manifest": {
"value": {
"workspaces": [
{
"name": "default"
}
]
},
"createdAt": "2024-01-15T10:30:00.000Z",
"updatedAt": "2024-01-15T10:30:00.000Z",
"updatedBy": "user_123"
}
},
"manifest": {},
"resourceLink": "https://example.sanity.studio"
}Studio Manifests
Endpoints for getting studio manifests