# Sanity

Sanity is a headless CMS platform that provides structured content storage and APIs for modern applications

- **Category:** developer tools
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 16
- **Triggers:** 0
- **Slug:** `SANITY`
- **Version:** 20260429_00

## Tools

### Add Default Role to Users

**Slug:** `SANITY_ADD_DEFAULT_ROLE_TO_USERS`

Apply organization default role to all users. Use when you need to assign the organization's default role to all existing users in the organization. Requires the resource ID of the organization.

### Create Attribute Definition

**Slug:** `SANITY_CREATE_ATTR_DEFINITION`

Tool to create a new user attribute definition in Sanity. Use when you need to define a custom attribute (like 'customer-tier' or 'subscription-level') that can be attached to resources. The key must be unique within the resource. The attribute can have a type of 'string', 'number', or 'boolean' and can optionally be a list of values or read-only.

### Create Prompt Post

**Slug:** `SANITY_CREATE_PROMPT_POST`

Send a one-shot prompt to the Sanity Content Agent. Stateless one-shot prompt endpoint. No thread management or message persistence. Ideal for simple, single-turn interactions. Use when you need to send a single prompt and receive a response without maintaining conversation context.

### Delete User Attribute Definition

**Slug:** `SANITY_DELETE_ATTR_DEFINITION`

Delete a user attribute definition. Use when you need to remove a custom attribute definition from an organization or project in Sanity. The attribute definition controls how user attributes are structured and validated for a given resource. Deleting a definition does not delete existing user attribute values, but users will no longer be able to set values for that attribute.

### Delete User Attributes

**Slug:** `SANITY_DELETE_USER_ATTRIBUTES`

Delete custom attributes from a Sanity user within an organization. Use this tool when you need to remove specific custom attributes from a user account. The action deletes the attributes specified in the request and returns the updated attribute list for the user. Example use case: Removing outdated metadata like 'location' or 'year_started' from a user profile.

### Get Invite By Token

**Slug:** `SANITY_GET_INVITE_BY_TOKEN`

Retrieve an invite by its public token. Use this action when you need to fetch details about an invite using the invite token that was shared with the invitee. Returns invite information including status, role, and inviter details.

### Get Organization Role

**Slug:** `SANITY_GET_ORG_ROLE`

Retrieve a specific organization role by its ID. Use this action when you need to fetch details about an organization role including its permissions, title, description, and whether it applies to users or robots. The role must exist for the specified organization.

### Get Permission

**Slug:** `SANITY_GET_PERMISSION`

Get a permission for a specific resource. Use when you need to retrieve details about a particular permission including its actions, parameters, and scope. The action retrieves permission information based on the resource type, resource ID, and permission name provided in the path parameters.

### Get Robots

**Slug:** `SANITY_GET_ROBOTS`

Tool to get robots with access to a resource. Use when you need to retrieve a list of robots (service accounts) that have been granted access to a specific resource along with their assigned roles. This action supports pagination through the next_cursor parameter.

### Get Role

**Slug:** `SANITY_GET_ROLE`

Retrieve a specific role for a given resource type and resource ID. Use this action when you need to fetch details about a role including its permissions, title, description, and whether it applies to users or robots. The role must exist for the specified resource.

### List Resource Users

**Slug:** `SANITY_GET_USERS`

List all users of a resource and their assigned roles. Use when you need to retrieve user information and role assignments for a specific project or organization. Supports pagination via cursor.

### List Organization Roles

**Slug:** `SANITY_LIST_ORG_ROLES`

List all roles available for an organization. Use this action to retrieve all available roles that can be assigned to users within a specific Sanity organization. The organization_id is required to identify which organization's roles to list.

### List User Attributes

**Slug:** `SANITY_LIST_USER_ATTRIBUTES`

Tool to retrieve user attributes from a Sanity organization. Use when you need to get the attributes (such as roles, permissions, or custom properties) associated with a specific user in a Sanity organization. Supports pagination via the cursor parameter.

### Query All Screening

**Slug:** `SANITY_QUERY_ALL_SCREENING`

Execute a GROQ query to fetch all screening documents from Sanity. Uses the Sanity HTTP query API endpoint. Default query retrieves all documents of type 'screening'. Supports optional query parameters for dynamic queries.

### Update Organization ACL

**Slug:** `SANITY_UPDATE_ORG_ACL`

Tool to assign a role to a member in a Sanity organization. Use when adding or modifying user roles within an organization.

### Update User Attributes Values

**Slug:** `SANITY_UPDATE_USER_ATTRIBUTES_VALUES`

Update user attribute values for a resource. Use this action to set or update custom attributes for a user within an organization or project. When setting a value for an attribute key that also exists in SAML, the Sanity value will take precedence and shadow the SAML value.
