Sanity
DOCS & KNOWLEDGE · FILES & DOCS
Documents queried with GROQ, datasets, assets, and projects in that account.
Acts as the person, not as itself
Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.
Credentials never touch the agent
Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.
Every call on the record
Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.
What an agent can do
Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.
sanity_delete_access_by_resource_type_by_resource_id_invites_by_invite_idWRITERevoke invite via DELETE /v2026-04-27/access/{resourceType}/{resourceId}/invites/{inviteId}
sanity_delete_access_by_resource_type_by_resource_id_permissions_by_permission_nameWRITEDelete a permission via DELETE /v2026-04-27/access/{resourceType}/{resourceId}/permissions/{permissionName}
sanity_delete_access_by_resource_type_by_resource_id_robots_by_robot_idWRITERevoke robot token and delete robot via DELETE /v2026-04-27/access/{resourceType}/{resourceId}/robots/{robotId}
sanity_delete_access_by_resource_type_by_resource_id_roles_by_role_nameWRITEDelete a role (Access API) via DELETE /v2026-04-27/access/{resourceType}/{resourceId}/roles/{roleName}
sanity_delete_access_by_resource_type_by_resource_id_users_by_sanity_user_idWRITERemove a user from a resource via DELETE /v2026-04-27/access/{resourceType}/{resourceId}/users/{sanityUserId}
sanity_delete_access_by_resource_type_by_resource_id_users_by_sanity_user_id_roles_by_role_nameWRITERemove a role from a user in a resource via DELETE /v2026-04-27/access/{resourceType}/{resourceId}/users/{sanityUserId}/roles/{roleName}
sanity_delete_access_by_resource_type_by_resource_id_users_meWRITERemove own user from a resource via DELETE /v2026-04-27/access/{resourceType}/{resourceId}/users/me
sanity_delete_access_robots_meWRITERevoke current robot token via DELETE /v2026-04-27/access/robots/me
sanity_delete_applications_by_application_idWRITEDelete an application via DELETE /vX/applications/{applicationId}
sanity_delete_functions_by_function_id_envvars_by_env_var_keyWRITEDelete an environment variable via DELETE /v2026-04-27/functions/{functionId}/envvars/{envVarKey}
sanity_delete_functions_by_function_id_logsWRITEDelete logs for a function via DELETE /v2026-04-27/functions/{functionId}/logs
sanity_delete_hooks_projects_by_idWRITEDelete a webhook via DELETE /v2026-04-27/hooks/projects/{projectId}/{id}
sanity_delete_installations_by_installation_idWRITEUninstall a singleton application via DELETE /vX/installations/{installationId}
sanity_delete_installations_by_installation_id_configs_by_config_idWRITEDelete an installation configuration via DELETE /vX/installations/{installationId}/configs/{configId}
sanity_delete_media_libraries_by_library_id_signing_keys_by_key_idWRITEDelete a signing key via DELETE /v2026-04-27/media-libraries/{libraryId}/signing-keys/{keyId}
sanity_delete_media_libraries_by_library_id_video_by_video_id_subtitles_by_subtitle_idWRITEDelete a subtitle via DELETE /v2026-04-27/media-libraries/{libraryId}/video/{videoId}/subtitles/{subtitleId}
sanity_delete_organizations_by_organization_id_acl_by_sanity_user_idWRITERemove a role from an organization member via DELETE /v2026-04-27/organizations/{organizationId}/acl/{sanityUserId}
sanity_delete_organizations_by_organization_id_attribute_definitions_by_keyWRITEDelete attribute definition via DELETE /v2026-04-27/organizations/{organizationId}/attribute-definitions/{key}
sanity_delete_organizations_by_organization_id_providers_by_provider_id_projects_by_project_id_role_mappingsWRITEDelete project role mappings via DELETE /v2026-04-27/organizations/{organizationId}/providers/{providerId}/projects/{projectId}/role-mappings
sanity_delete_organizations_by_organization_id_users_by_sanity_user_id_attributesWRITEDelete user attributes via DELETE /v2026-04-27/organizations/{organizationId}/users/{sanityUserId}/attributes
sanity_delete_projects_by_project_idWRITEDelete a project via DELETE /v2026-04-27/projects/{projectId}
sanity_delete_projects_by_project_id_acl_by_user_idWRITEDelete a role from a user via DELETE /v2026-04-27/projects/{projectId}/acl/{userId}
sanity_delete_projects_by_project_id_cors_by_idWRITEDelete a cors entry via DELETE /v2026-04-27/projects/{projectId}/cors/{id}
sanity_delete_projects_by_project_id_datasets_by_dataset_nameWRITEDelete a dataset via DELETE /v2026-04-27/projects/{projectId}/datasets/{datasetName}
sanity_delete_projects_by_project_id_datasets_by_dataset_name_tags_by_tag_identifierWRITERemove a tag from a dataset via DELETE /v2026-04-27/projects/{projectId}/datasets/{datasetName}/tags/{tagIdentifier}
sanity_delete_projects_by_project_id_roles_by_role_nameWRITEDelete a role (project) via DELETE /v2026-04-27/projects/{projectId}/roles/{roleName}
sanity_delete_projects_by_project_id_tags_by_tag_identifierWRITEDelete a tag by identifier via DELETE /v2026-04-27/projects/{projectId}/tags/{tagIdentifier}
sanity_delete_projects_by_project_id_tokens_by_token_idWRITEDelete a token for the project via DELETE /v2026-04-27/projects/{projectId}/tokens/{tokenId}
sanity_delete_projects_by_project_id_user_applicationsWRITEDelete all user applications via DELETE /v2026-04-27/projects/{projectId}/user-applications
sanity_delete_projects_by_project_id_user_applications_by_user_application_idWRITEDelete a user application for a project via DELETE /v2026-04-27/projects/{projectId}/user-applications/{userApplicationId}
sanity_delete_user_applications_by_user_application_idWRITEDelete a user application via DELETE /v2026-04-27/user-applications/{userApplicationId}
sanity_delete_user_applications_by_user_application_id_application_dataWRITEDelete user application data via DELETE /v2026-04-27/user-applications/{userApplicationId}/applicationData
sanity_get_access_by_resource_type_by_resource_id_invitesREADGet invites via GET /v2026-04-27/access/{resourceType}/{resourceId}/invites
sanity_get_access_by_resource_type_by_resource_id_invites_token_by_invite_tokenREADGet invite via GET /v2026-04-27/access/{resourceType}/{resourceId}/invites/token/{inviteToken}
sanity_get_access_by_resource_type_by_resource_id_invites_token_by_invite_token_eligibilityREADCheck invite eligibility via GET /v2026-04-27/access/{resourceType}/{resourceId}/invites/token/{inviteToken}/eligibility
sanity_get_access_by_resource_type_by_resource_id_permissionsREADGet permissions via GET /v2026-04-27/access/{resourceType}/{resourceId}/permissions
sanity_get_access_by_resource_type_by_resource_id_permissions_by_permission_nameREADGet a permission via GET /v2026-04-27/access/{resourceType}/{resourceId}/permissions/{permissionName}
sanity_get_access_by_resource_type_by_resource_id_requestsREADList all requests for given project organization via GET /v2026-04-27/access/{resourceType}/{resourceId}/requests
sanity_get_access_by_resource_type_by_resource_id_requests_stateREADGet access request state via GET /v2026-04-27/access/{resourceType}/{resourceId}/requests/state
sanity_get_access_by_resource_type_by_resource_id_robotsREADGet robots with access to this resource via GET /v2026-04-27/access/{resourceType}/{resourceId}/robots
sanity_get_access_by_resource_type_by_resource_id_robots_by_robot_idREADGet robot metadata via GET /v2026-04-27/access/{resourceType}/{resourceId}/robots/{robotId}
sanity_get_access_by_resource_type_by_resource_id_rolesREADList roles assignable to a user on this resource via GET /v2026-04-27/access/{resourceType}/{resourceId}/roles
sanity_get_access_by_resource_type_by_resource_id_roles_by_role_nameREADGet a role (Access API) via GET /v2026-04-27/access/{resourceType}/{resourceId}/roles/{roleName}
sanity_get_access_by_resource_type_by_resource_id_user_permissions_meREADGet current user permissions via GET /v2026-04-27/access/{resourceType}/{resourceId}/user-permissions/me
sanity_get_access_by_resource_type_by_resource_id_user_permissions_me_checkREADCheck if current user has specified permissions via GET /v2026-04-27/access/{resourceType}/{resourceId}/user-permissions/me/check
sanity_get_access_by_resource_type_by_resource_id_usersREADList all users of a resource and their assigned roles via GET /v2026-04-27/access/{resourceType}/{resourceId}/users
sanity_get_access_by_resource_type_by_resource_id_users_by_sanity_user_idREADGet user and roles via GET /v2026-04-27/access/{resourceType}/{resourceId}/users/{sanityUserId}
sanity_get_access_invites_meREADGet current user's invites filtered by status resource via GET /v2026-04-27/access/invites/me
sanity_get_access_requests_meREADList all request for current user via GET /v2026-04-27/access/requests/me
sanity_get_activityREADGet activity log events via GET /v2021-02-01/activity
sanity_get_applicationsREADList applications for an organization via GET /vX/applications
sanity_get_applications_by_application_idREADGet an application by id via GET /vX/applications/{applicationId}
sanity_get_applications_by_application_id_accessREADGet resource access for an application via GET /vX/applications/{applicationId}/access
sanity_get_applications_by_application_id_deploymentsREADList deployments for an application via GET /vX/applications/{applicationId}/deployments
sanity_get_applications_by_application_id_interfacesREADGet interfaces by type for an application via GET /vX/applications/{applicationId}/interfaces
sanity_get_applications_by_application_id_workspacesREADGet workspaces for an application via GET /vX/applications/{applicationId}/workspaces
sanity_get_data_doc_by_document_idREADGet one or more documents via GET /v2026-04-27/data/doc/{dataset}/{documentId}
sanity_get_data_history_documents_by_document_idREADGet a document revision via GET /v2026-04-27/data/history/{dataset}/documents/{documentId}
sanity_get_data_history_transactionsREADGet all transactions via GET /v2026-04-27/data/history/{dataset}/transactions
sanity_get_data_history_transactions_by_document_idsREADGet the transactions for a list of documents via GET /v2026-04-27/data/history/{dataset}/transactions/{documentIds}
sanity_get_data_queryREADQuery using get method via GET /v2026-04-27/data/query/{dataset}
sanity_get_functionsREADList functions via GET /v2026-04-27/functions
sanity_get_functions_by_function_idREADRead a function via GET /v2026-04-27/functions/{functionId}
sanity_get_functions_by_function_id_envvarsREADList environment variable keys via GET /v2026-04-27/functions/{functionId}/envvars
sanity_get_functions_by_function_id_logsREADRetrieve function logs via GET /v2026-04-27/functions/{functionId}/logs
sanity_get_hooks_by_id_messagesREADList webhook messages via GET /v2026-04-27/hooks/{id}/messages
sanity_get_hooks_projectsREADList all webhooks via GET /v2026-04-27/hooks/projects/{projectId}
sanity_get_hooks_projects_by_idREADGet a webhook by id via GET /v2026-04-27/hooks/projects/{projectId}/{id}
sanity_get_hooks_projects_by_id_attemptsREADList webhook attempts via GET /v2026-04-27/hooks/projects/{projectId}/{id}/attempts
sanity_get_installationsREADList installations for an organization via GET /vX/installations
sanity_get_installations_by_installation_idREADGet an installation by id via GET /vX/installations/{installationId}
sanity_get_installations_by_installation_id_accessREADGet resource access for an installation via GET /vX/installations/{installationId}/access
sanity_get_installations_by_installation_id_configsREADList configs for an installation via GET /vX/installations/{installationId}/configs
sanity_get_installations_by_installation_id_interfacesREADGet interfaces by type for an installation via GET /vX/installations/{installationId}/interfaces
sanity_get_installations_catalogREADList the singleton catalog for an organization via GET /vX/installations/catalog
sanity_get_jobs_by_job_idREADJob status via GET /v2026-04-27/jobs/{jobId}
sanity_get_media_libraries_by_library_id_queryREADQuery media in the media library via GET /v2026-04-27/media-libraries/{libraryId}/query
sanity_get_media_libraries_by_library_id_references_documents_by_asset_id_toREADList references to an asset via GET /v2026-04-27/media-libraries/{libraryId}/references/documents/{assetId}/to
sanity_get_media_libraries_by_library_id_refsearchREADSearch for assets and references via GET /v2026-04-27/media-libraries/{libraryId}/refsearch
sanity_get_media_libraries_by_library_id_signing_keysREADList all signing keys via GET /v2026-04-27/media-libraries/{libraryId}/signing-keys
sanity_get_media_libraries_by_library_id_signing_keys_by_key_idREADGet a specific signing key via GET /v2026-04-27/media-libraries/{libraryId}/signing-keys/{keyId}
sanity_get_media_libraries_by_library_id_video_by_video_id_playback_infoREADGet video playback information via GET /v2026-04-27/media-libraries/{libraryId}/video/{videoId}/playback-info
sanity_get_organizations_by_organization_id_aclREADList organization members via GET /v2026-04-27/organizations/{organizationId}/acl
sanity_get_organizations_by_organization_id_acl_by_sanity_user_idREADGet the roles of a single organization member via GET /v2026-04-27/organizations/{organizationId}/acl/{sanityUserId}
sanity_get_organizations_by_organization_id_attribute_definitionsREADList attribute definitions via GET /v2026-04-27/organizations/{organizationId}/attribute-definitions
sanity_get_organizations_by_organization_id_grantsREADGet all grants for current user via GET /v2026-04-27/organizations/{organizationId}/grants
sanity_get_organizations_by_organization_id_users_by_sanity_user_id_attributesREADGet user attributes via GET /v2026-04-27/organizations/{organizationId}/users/{sanityUserId}/attributes
sanity_get_organizations_by_organization_id_users_me_attributesREADGet my attributes via GET /v2026-04-27/organizations/{organizationId}/users/me/attributes
sanity_get_projectsREADList all projects via GET /v2026-04-27/projects
sanity_get_projects_by_project_idREADRetrieve a project via GET /v2026-04-27/projects/{projectId}
sanity_get_projects_by_project_id_aclREADList users with roles via GET /v2026-04-27/projects/{projectId}/acl
sanity_get_projects_by_project_id_acl_by_user_idREADGet a user's roles via GET /v2026-04-27/projects/{projectId}/acl/{userId}
sanity_get_projects_by_project_id_corsREADList all cors entries via GET /v2026-04-27/projects/{projectId}/cors
sanity_get_projects_by_project_id_datasetsREADList all datasets available to the project via GET /v2026-04-27/projects/{projectId}/datasets
sanity_get_projects_by_project_id_datasets_by_dataset_name_aclREADGet dataset acl via GET /v2026-04-27/projects/{projectId}/datasets/{datasetName}/acl
sanity_get_projects_by_project_id_datasets_by_dataset_name_backupsREADList backups via GET /v2026-04-27/projects/{projectId}/datasets/{datasetName}/backups
sanity_get_projects_by_project_id_datasets_by_dataset_name_backups_by_backup_idREADGet a backup via GET /v2026-04-27/projects/{projectId}/datasets/{datasetName}/backups/{backupId}
sanity_get_projects_by_project_id_datasets_by_dataset_name_grantsREADGet dataset grants via GET /v2026-04-27/projects/{projectId}/datasets/{datasetName}/grants
sanity_get_projects_by_project_id_datasets_by_dataset_name_settings_embeddingsREADGet embeddings index settings for a dataset via GET /v2026-04-27/projects/{projectId}/datasets/{datasetName}/settings/embeddings
sanity_get_projects_by_project_id_datasets_by_dataset_name_tagsREADList tags for a dataset via GET /v2026-04-27/projects/{projectId}/datasets/{datasetName}/tags
sanity_get_projects_by_project_id_featuresREADList active features for the project via GET /v2026-04-27/projects/{projectId}/features
sanity_get_projects_by_project_id_grantsREADList all user grants via GET /v2026-04-27/projects/{projectId}/grants
sanity_get_projects_by_project_id_permission_resource_schemasREADList permission resources via GET /v2026-04-27/projects/{projectId}/permissionResourceSchemas
sanity_get_projects_by_project_id_permissionsREADList permissions for the project via GET /v2026-04-27/projects/{projectId}/permissions
sanity_get_projects_by_project_id_rolesREADList all roles via GET /v2026-04-27/projects/{projectId}/roles
sanity_get_projects_by_project_id_roles_by_role_nameREADGet a role (project) via GET /v2026-04-27/projects/{projectId}/roles/{roleName}
sanity_get_projects_by_project_id_tokensREADList tokens for the project via GET /v2026-04-27/projects/{projectId}/tokens
sanity_get_projects_by_project_id_user_applicationsREADGet all user applications for a project via GET /v2026-04-27/projects/{projectId}/user-applications
sanity_get_projects_by_project_id_user_applications_by_user_application_idREADGet a user application for a project via GET /v2026-04-27/projects/{projectId}/user-applications/{userApplicationId}
sanity_get_projects_by_project_id_user_applications_by_user_application_id_deploymentsREADGet user application deployments for a project via GET /v2026-04-27/projects/{projectId}/user-applications/{userApplicationId}/deployments
sanity_get_projects_by_project_id_users_by_user_idREADRetrieve a user via GET /v2026-04-27/projects/{projectId}/users/{userId}
sanity_get_schedulesREADList schedules via GET /v2026-04-27/schedules/{projectId}/{dataset}
sanity_get_schedules_by_schedule_idREADGet schedule by id via GET /v2026-04-27/schedules/{projectId}/{dataset}/{scheduleId}
sanity_get_studiohosts_by_app_host_availabilityREADGet apphost availability via GET /v2026-04-27/studiohosts/{appHost}/availability
sanity_get_user_applicationsREADGet all user applications via GET /v2026-04-27/user-applications
sanity_get_user_applications_auto_update_version_by_user_application_idREADGet studio auto updating version status via GET /v2026-04-27/user-applications/auto-update-version/{userApplicationId}
sanity_get_user_applications_by_user_application_idREADGet a user application via GET /v2026-04-27/user-applications/{userApplicationId}
sanity_get_user_applications_by_user_application_id_deploymentsREADGet user application deployments via GET /v2026-04-27/user-applications/{userApplicationId}/deployments
sanity_get_user_applications_by_user_application_id_workspacesREADGet workspaces for a user application via GET /v2026-04-27/user-applications/{userApplicationId}/workspaces
sanity_get_user_applications_resolve_applicationREADGet application by host via GET /v2026-04-27/user-applications/resolve/application
sanity_get_user_applications_resolve_projectREADGet project by application via GET /v2026-04-27/user-applications/resolve/project
sanity_get_user_applications_workspacesREADGet workspaces for studio applications via GET /v2026-04-27/user-applications/workspaces
sanity_patch_applications_by_application_idWRITEUpdate an application via PATCH /vX/applications/{applicationId}
sanity_patch_hooks_projects_by_idWRITEUpdate a webhook via PATCH /v2026-04-27/hooks/projects/{projectId}/{id}
sanity_patch_projects_by_project_idWRITEUpdate a project via PATCH /v2026-04-27/projects/{projectId}
sanity_patch_projects_by_project_id_datasets_by_dataset_nameWRITEUpdate a dataset via PATCH /v2026-04-27/projects/{projectId}/datasets/{datasetName}
sanity_patch_projects_by_project_id_user_applications_by_user_application_idWRITEUpdate a user application for a project via PATCH /v2026-04-27/projects/{projectId}/user-applications/{userApplicationId}
sanity_patch_schedules_by_schedule_idWRITEUpdate schedule via PATCH /v2026-04-27/schedules/{projectId}/{dataset}/{scheduleId}
sanity_patch_user_applications_by_user_application_idWRITEUpdate a user application via PATCH /v2026-04-27/user-applications/{userApplicationId}
sanity_post_access_by_resource_type_by_resource_id_invitesWRITECreate invite via POST /v2026-04-27/access/{resourceType}/{resourceId}/invites
sanity_post_access_by_resource_type_by_resource_id_invites_token_by_invite_token_acceptWRITEAccept invite via POST /v2026-04-27/access/{resourceType}/{resourceId}/invites/token/{inviteToken}/accept
sanity_post_access_by_resource_type_by_resource_id_permissionsWRITECreate a permission via POST /v2026-04-27/access/{resourceType}/{resourceId}/permissions
sanity_post_access_by_resource_type_by_resource_id_requestsWRITECreate a new request via POST /v2026-04-27/access/{resourceType}/{resourceId}/requests
sanity_post_access_by_resource_type_by_resource_id_robotsWRITECreate robot and associated token via POST /v2026-04-27/access/{resourceType}/{resourceId}/robots
sanity_post_access_by_resource_type_by_resource_id_rolesWRITECreate a role (Access API) via POST /v2026-04-27/access/{resourceType}/{resourceId}/roles
sanity_post_access_robots_me_rotateWRITERotate current robot token via POST /v2026-04-27/access/robots/me/rotate
sanity_post_agent_action_generateWRITESend an instruction to generate via POST /v2026-04-27/agent/action/generate/{dataset}
sanity_post_agent_action_patchWRITEMake a schema aware patch to a document via POST /v2026-04-27/agent/action/patch/{dataset}
sanity_post_agent_action_promptWRITEPrompt the llm for a response via POST /v2026-04-27/agent/action/prompt/{dataset}
sanity_post_agent_by_organization_id_threads_by_thread_idWRITESend a chat message via POST /v2026-04-27/agent/{organizationId}/threads/{threadId}
sanity_post_agent_promptWRITESend a one shot prompt via POST /v2026-04-27/agent/prompt
sanity_post_applicationsWRITECreate an application via POST /vX/applications
sanity_post_applications_by_application_id_installationsWRITEInstall a singleton application via POST /vX/applications/{applicationId}/installations
sanity_post_assets_files_from_urlWRITEUpload a file asset from a url via POST /v2026-04-27/assets/files/{dataset}/from-url
sanity_post_assets_images_from_urlWRITEUpload an image asset from a url via POST /v2026-04-27/assets/images/{dataset}/from-url
sanity_post_assets_media_library_linkWRITELink a media library asset to a document via POST /v2026-04-27/assets/media-library-link/{dataset}
sanity_post_data_actionsWRITEDispatch one or more actions via POST /v2026-04-27/data/actions/{dataset}
sanity_post_data_mutateWRITEMutate documents via POST /v2026-04-27/data/mutate/{dataset}
sanity_post_data_queryWRITEQuery using post method via POST /v2026-04-27/data/query/{dataset}
sanity_post_deployWRITELegacy deploy route via POST /v2026-04-27/deploy
sanity_post_deploy_quickstartWRITEQuickstart deploy via POST /v2026-04-27/deploy/quickstart
sanity_post_functions_by_function_id_invokeWRITEInvoke a function via POST /v2026-04-27/functions/{functionId}/invoke
sanity_post_hooks_projectsWRITECreate a webhook via POST /v2026-04-27/hooks/projects/{projectId}
sanity_post_installations_defaultsWRITEInstall the default singletons for an organization via POST /vX/installations/defaults
sanity_post_media_libraries_by_library_id_from_urlWRITEUpload an asset to the media library from a url via POST /v2026-04-27/media-libraries/{libraryId}/from-url
sanity_post_media_libraries_by_library_id_mutateWRITEMutate media in the media library via POST /v2026-04-27/media-libraries/{libraryId}/mutate
sanity_post_media_libraries_by_library_id_signing_keysWRITECreate a new signing key via POST /v2026-04-27/media-libraries/{libraryId}/signing-keys
sanity_post_media_libraries_by_library_id_video_by_video_id_subtitlesWRITEGenerate subtitles using ai via POST /v2026-04-27/media-libraries/{libraryId}/video/{videoId}/subtitles
sanity_post_organizations_by_organization_id_attribute_definitionsWRITECreate attribute definition via POST /v2026-04-27/organizations/{organizationId}/attribute-definitions
sanity_post_organizations_by_organization_id_providers_by_provider_id_projects_by_project_id_role_mappingsWRITECreate update project role mappings via POST /v2026-04-27/organizations/{organizationId}/providers/{providerId}/projects/{projectId}/role-mappings
sanity_post_organizations_by_organization_id_users_by_sanity_user_id_attributesWRITEUpdate user attributes via POST /v2026-04-27/organizations/{organizationId}/users/{sanityUserId}/attributes
sanity_post_projectsWRITECreate a project via POST /v2026-04-27/projects
sanity_post_projects_by_project_id_corsWRITECreate a cors entry via POST /v2026-04-27/projects/{projectId}/cors
sanity_post_projects_by_project_id_datasets_by_dataset_nameWRITERetrieve a dataset via POST /v2026-04-27/projects/{projectId}/datasets/{datasetName}
sanity_post_projects_by_project_id_permission_resource_schemasWRITECreate a permission resource schema via POST /v2026-04-27/projects/{projectId}/permissionResourceSchemas
sanity_post_projects_by_project_id_rolesWRITECreate a role (project) via POST /v2026-04-27/projects/{projectId}/roles
sanity_post_projects_by_project_id_tagsWRITECreate a new tag for the project via POST /v2026-04-27/projects/{projectId}/tags
sanity_post_projects_by_project_id_tokensWRITECreate a new token for the project via POST /v2026-04-27/projects/{projectId}/tokens
sanity_post_projects_by_project_id_user_applicationsWRITECreate a user application for a project via POST /v2026-04-27/projects/{projectId}/user-applications
sanity_post_projects_by_project_id_user_applications_by_user_application_id_config_by_config_keyWRITERegister a user application config for a project via POST /v2026-04-27/projects/{projectId}/user-applications/{userApplicationId}/config/{configKey}
sanity_post_publishWRITEPublish documents via POST /v2026-04-27/publish/{projectId}/{dataset}
sanity_post_schedulesWRITECreate schedule via POST /v2026-04-27/schedules/{projectId}/{dataset}
sanity_post_schedules_by_schedule_id_publishWRITERun schedule via POST /v2026-04-27/schedules/{projectId}/{dataset}/{scheduleId}/publish
sanity_post_unpublishWRITEUnpublish documents via POST /v2026-04-27/unpublish/{projectId}/{dataset}
sanity_post_user_applicationsWRITECreate a user application via POST /v2026-04-27/user-applications
sanity_post_user_applications_by_user_application_id_application_dataWRITECreate user application data via POST /v2026-04-27/user-applications/{userApplicationId}/applicationData
sanity_post_user_applications_by_user_application_id_config_by_config_keyWRITERegister a user application config via POST /v2026-04-27/user-applications/{userApplicationId}/config/{configKey}
sanity_put_access_by_resource_type_by_resource_id_permissions_by_permission_nameWRITEUpdate a permission via PUT /v2026-04-27/access/{resourceType}/{resourceId}/permissions/{permissionName}
sanity_put_access_by_resource_type_by_resource_id_requests_by_request_id_acceptWRITEAccept request via PUT /v2026-04-27/access/{resourceType}/{resourceId}/requests/{requestId}/accept
sanity_put_access_by_resource_type_by_resource_id_requests_by_request_id_declineWRITEDecline request via PUT /v2026-04-27/access/{resourceType}/{resourceId}/requests/{requestId}/decline
sanity_put_access_by_resource_type_by_resource_id_robots_by_robot_idWRITEUpdate robot token via PUT /v2026-04-27/access/{resourceType}/{resourceId}/robots/{robotId}
sanity_put_access_by_resource_type_by_resource_id_roles_by_role_nameWRITEUpdate a role (Access API) via PUT /v2026-04-27/access/{resourceType}/{resourceId}/roles/{roleName}
sanity_put_access_by_resource_type_by_resource_id_users_by_sanity_user_id_rolesWRITEReplace the role set for a user via PUT /v2026-04-27/access/{resourceType}/{resourceId}/users/{sanityUserId}/roles
sanity_put_access_by_resource_type_by_resource_id_users_by_sanity_user_id_roles_by_role_nameWRITEAdd a role to a user (Access API) via PUT /v2026-04-27/access/{resourceType}/{resourceId}/users/{sanityUserId}/roles/{roleName}
sanity_put_access_organization_by_resource_id_users_roles_defaultWRITEApply organization default role to all users via PUT /v2026-04-27/access/organization/{resourceId}/users/roles/default
sanity_put_functions_by_function_id_envvars_by_env_var_keyWRITEUpdate an environment variable via PUT /v2026-04-27/functions/{functionId}/envvars/{envVarKey}
sanity_put_organizations_by_organization_id_acl_by_sanity_user_idWRITEGive an organization member a role via PUT /v2026-04-27/organizations/{organizationId}/acl/{sanityUserId}
sanity_put_projects_by_project_id_acl_by_user_idWRITEAdd a role to a user (project) via PUT /v2026-04-27/projects/{projectId}/acl/{userId}
sanity_put_projects_by_project_id_datasets_by_dataset_nameWRITECreate a dataset via PUT /v2026-04-27/projects/{projectId}/datasets/{datasetName}
sanity_put_projects_by_project_id_datasets_by_dataset_name_copyWRITECopy a dataset via PUT /v2026-04-27/projects/{projectId}/datasets/{datasetName}/copy
sanity_put_projects_by_project_id_datasets_by_dataset_name_settings_backupsWRITEEnable or disable backups via PUT /v2026-04-27/projects/{projectId}/datasets/{datasetName}/settings/backups
sanity_put_projects_by_project_id_datasets_by_dataset_name_settings_embeddingsWRITEUpdate embeddings index settings for a dataset via PUT /v2026-04-27/projects/{projectId}/datasets/{datasetName}/settings/embeddings
sanity_put_projects_by_project_id_datasets_by_dataset_name_tags_by_tag_identifierWRITEAssign a tag to a dataset via PUT /v2026-04-27/projects/{projectId}/datasets/{datasetName}/tags/{tagIdentifier}
sanity_put_projects_by_project_id_roles_by_role_nameWRITEUpdate a role (project) via PUT /v2026-04-27/projects/{projectId}/roles/{roleName}
sanity_put_projects_by_project_id_tags_by_tag_identifierWRITEUpdate a tag by identifier via PUT /v2026-04-27/projects/{projectId}/tags/{tagIdentifier}
Often connected alongside
Put Sanity behind one governed endpoint.
Same permissions, same audit trail, whatever else you connect next.