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 applications for an organization — both org-owned apps and installed singletons — in a unified response. Supports cursor-based pagination and optional includes for deployment children and installation config.
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, installationConfig
- 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"
- slugrequired
Show child attributes
- string
- externalUrlrequired
Show child attributes
- string
- configrequired
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
- dashboardStatusrequired
Controls dashboard UI visibility
Show child attributes
- stringenum:
"default"
- installationIdrequired
Show child attributes
- string
Show child attributes
- deployedByrequired
Show child attributes
- string
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
Create an application
/{apiVersion}/applications/Create an application and its initial deployment in the registry. Requires the sanity.sdk.applications.deploy grant.
Path parameters
- vX:
vXv2025-01-01:v2025-01-01
Request body multipart/form-data
Behavioral category. Singletons use
coreApp.Human-friendly display name
- isSingletonboolean
When true:
slugrequired andorganizationIdmust be Sanity’s org. Owning organization ID
- slugstring
Subdomain for Sanity-hosted apps. Mutually exclusive with
externalUrl. - externalUrlstring (uri)
URL for externally hosted studios (https only).
Deployment version identifier (e.g. "3.40.0")
- isAutoUpdatingboolean
Flags whether this deployment is an auto-update build. Always false for external studios.
- tarballstring (binary)
Gzipped tarball. Required for Sanity-hosted apps; not allowed for external studios.
- configobject
JSON part. 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"
- dashboardStatusstring
Controls dashboard UI visibility. Defaults to
default.
- 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")
Relative path within the tarball (e.g. "index.js"); resolved to a GCS URL.
- metadataobject
- accessarray
JSON part. Resource declarations. Not allowed for singletons.
Show child attributes
items
Resource category
The ID of the specific resource
Responses
Default Response
- slugrequired
Show child attributes
- string
- externalUrlrequired
Show child attributes
- string
A deployment with its interfaces, workspaces, and access declarations
Show child attributes
- 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
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
- dashboardStatusrequired
Controls dashboard UI visibility
Show child attributes
- stringenum:
"default"
Get an application by ID
/{apiVersion}/applications/{applicationId}Retrieve a single application by ID, including its active deployment summary. Supports optional includes for deployment children (interfaces, workspaces, access).
Path parameters
- vX:
vXv2025-01-01:v2025-01-01
Query parameters
- includestring
Comma-separated list of active deployment children to include. Allowed values: interfaces, workspaces, access
Responses
Default Response
- typerequired
Show child attributes
- stringenum:
"studio"
- slugrequired
Show child attributes
- string
- externalUrlrequired
Show child attributes
- string
- configrequired
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
- dashboardStatusrequired
Controls dashboard UI visibility
Show child attributes
- stringenum:
"default"
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
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
Responses
An application in the unified registry, without deployment information
- typerequired
Show child attributes
- stringenum:
"studio"
- slugrequired
Show child attributes
- string
- externalUrlrequired
Show child attributes
- string
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
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 resources for an application
/{apiVersion}/applications/{applicationId}/resourcesRetrieve 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.
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. Always false 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")
Relative path within the tarball (e.g. "index.js"); resolved to a GCS URL.
- metadataobject
- accessarray
JSON part. Resource declarations. Not allowed for singletons.
Show child attributes
items
Resource category
The ID of the specific resource
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
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
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, 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
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": "active",
"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": "active",
"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, 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": "active",
"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, 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
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": "active",
"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": "active",
"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, 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": "active",
"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.
Path parameters
- vX:
vXv2025-01-01:v2025-01-01
Request body multipart/form-data
Gzipped tarball containing the installation configuration content
Responses
A versioned configuration snapshot for an installation; content is stored in GCS
- deployedByrequired
Show child attributes
- string
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": "active",
"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