# Prismic

Prismic is a headless CMS that enables developers and content teams to manage and deliver content seamlessly across various platforms.

- **Category:** website builders
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 13
- **Triggers:** 0
- **Slug:** `PRISMIC`
- **Version:** 20260223_00

## Tools

### Get Prismic Documents with Fulltext Search

**Slug:** `PRISMIC_CONTENT_API_GET_DOCUMENTS_WITH_FULLTEXT_SEARCH`

Search Prismic documents using full-text search. Searches across all text fields in documents for the specified terms. The search is case-insensitive and matches based on root words. Automatically retrieves the current master ref. Returns paginated results ordered by relevance.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | Yes | Full-text search query in Prismic predicate format. Must be wrapped in double square brackets. Format: [[fulltext(document, "your search terms")]]. Searches across all text fields in documents. Multiple words will match documents containing all terms. |
| `lang` | string | No | Language code (e.g., 'en-us'). |
| `page` | integer | No | Page number, must be >= 1 |
| `fetch` | string | No | Comma-separated list of field API IDs to fetch. |
| `pageSize` | integer | No | Number of documents per page (1-100). |
| `orderings` | string | No | Sorting order, e.g., '[my.article.date desc]' |
| `fetchLinks` | string | No | Comma-separated list of linked document fields to fetch. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Prismic: Query Documents

**Slug:** `PRISMIC_CONTENT_API_QUERY_DOCUMENTS`

Tool to query Prismic documents using predicates and pagination. Use when you need to fetch multiple documents from a repository after obtaining a ref.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | No | Query predicate(s) to filter documents using Prismic predicate syntax. Use double brackets for predicates: '[[at(document.type, "page")]]'. For multiple predicates, combine them in one string: '[[at(document.type, "blog")][at(document.tags, ["featured"])]]'. |
| `ref` | string | Yes | Content release reference ID from the repository (typically the master ref). Use PRISMIC_REPOSITORY_API_GET_REFS action to obtain valid ref values. |
| `lang` | string | No | Language code to query (e.g., 'en-us'), default '*' for all languages |
| `page` | integer | No | Page number for pagination, starting from 1 |
| `after` | string | No | Document ID to paginate after for deep pagination. |
| `fetch` | string | No | Comma-separated list of specific fields to fetch for each document (e.g., 'document.title,document.description'). Reduces response size by only including specified fields. |
| `pageSize` | integer | No | Number of documents per page (1-100) |
| `orderings` | string | No | Sort order, e.g., '[my.article.date desc]' |
| `fetchLinks` | string | No | Comma-separated list of fields from linked documents to include in the response (e.g., 'author.name,category.title'). Allows fetching related content in a single query. |
| `graphQuery` | string | No | GraphQuery to specify which fields to return. |
| `access_token` | string | No | Private API content token for authentication, if required. |
| `integrationFieldsRef` | string | No | Reference of integration fields content. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Prismic Documents by Tag

**Slug:** `PRISMIC_GET_DOCUMENTS_BY_TAG`

Retrieves Prismic documents filtered by a specific tag. Tags in Prismic are labels assigned to documents for categorization and filtering. This action performs an exact match query on document.tags and returns all documents that have the specified tag. Supports pagination, language filtering, and custom sorting.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tag` | string | Yes | Tag to filter documents (exact match). |
| `lang` | string | No | Language code (e.g., 'en-us'). |
| `page` | integer | No | Page number, must be >= 1. |
| `after` | string | No | Document ID to paginate after for deep pagination. |
| `pageSize` | integer | No | Number of documents per page (1-100). |
| `orderings` | string | No | Sorting order in Prismic format. Use '[document.first_publication_date desc]' for built-in fields or '[my.type.field desc]' for custom fields. Multiple orderings can be chained. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Prismic Documents by Type

**Slug:** `PRISMIC_GET_DOCUMENTS_BY_TYPE`

Fetch Prismic documents filtered by custom type. Returns paginated results of all documents matching the specified type. Automatically retrieves the master ref and supports optional filtering by language, sorting, and cursor-based pagination.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `lang` | string | No | Language code to filter documents by locale (e.g., 'en-us', 'fr-fr'). Only returns documents in the specified language. |
| `page` | integer | No | Page number for pagination (starting from 1). |
| `type` | string | Yes | The custom type API ID to filter documents by (e.g., 'blog_post', 'article', 'page'). This is an exact match filter. |
| `after` | string | No | Cursor-based pagination parameter. Use the document ID from the last result to fetch the next set of results. Useful for deep pagination beyond page 50. |
| `pageSize` | integer | No | Number of documents to return per page. Must be between 1 and 100. |
| `orderings` | string | No | Sort order for results. Format: '[my.custom_type.field_name desc]' or '[my.custom_type.field_name]' for ascending. Multiple orderings can be combined. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Prismic Repository Info

**Slug:** `PRISMIC_REPOSITORY_API_GET_INFO`

Retrieves comprehensive metadata about a Prismic repository including available refs (content versions), custom types, languages, tags, bookmarks, and API forms. This is typically the first API call made after authentication to discover repository configuration and available content endpoints. The 'refs' field is particularly important as refs are required for querying documents via the Content API.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Prismic Tags

**Slug:** `PRISMIC_TAGS_API_GET_ALL_TAGS`

Tool to retrieve all tags from Prismic repository. Use when you need the full list of tags for filtering or categorization.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Prismic: Get Custom Types

**Slug:** `PRISMIC_TYPES_API_GET_TYPES`

Retrieves all custom types (content models) defined in the Prismic repository. Custom types define the structure of content in Prismic. This action returns metadata about each custom type including its ID, label, structure definition (JSON schema), and whether it's repeatable. Use this to discover available content types before querying documents, or to understand the content model of a repository. Returns an empty list if no custom types are defined in the repository.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (1-indexed). Use with limit parameter to navigate through results. |
| `sort` | string | No | Sort order for results. Common values include 'name' to sort alphabetically by custom type name. |
| `limit` | integer | No | Maximum number of custom types to return per page. If not specified, returns all custom types. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
