Get Started
Configure your Org
Manage Content Workspaces
Search for Content
Create and Manage Emails
Create and Manage Email Templates
Publish Content Items
Integrate Form Submissions
Security
Use the CMS Search endpoints in Connect API to search for content in your marketing content workspace.
First, find the ID of the content workspace or folder that you want to search. If you know the workspace ID, skip this step. Otherwise, retrieve a list of workspaces by issuing a GET request to the /services/data/{apiVersion}/connect/cms/spaces endpoint.
1GET /services/data/{apiVersion}/connect/cms/spaces HTTP/1.1
2Host: {subdomain}.my.salesforce.com
3Authorization: Bearer YOUR_BEARER_TOKENIf the request is successful, the response includes a list of workspaces.
1{
2 "spaces": [
3 {
4 "apiName": "MCN_Workspace",
5 "id": "0ZuQZ0000004YSv0AM",
6 "name": "MCN Workspace",
7 "spaceType": {
8 "apiName": "marketing"
9 }
10 }
11 ]
12}Copy the id value of the workspace to use in your search query.
Issue a GET request to the /services/data/{apiVersion}/connect/cms/items/search endpoint. The request can include the query parameters listed in this table.
| Query Parameter | Data Type | Description |
|---|---|---|
contentSpaceOrFolderIds | string | Required. The ID of the workspace or folder to search. |
contentTypeFQN | string | The fully qualified name of a content type to filter by in the search. |
languages | string | A locale code for filtering the results. Provide a locale code, such as en_CA or es_MX, or specify All to retrieve all languages. |
page | int | The page number of results to return. The first page of results is page 0. |
pageSize | int | The number of results to return per page. The maximum value is 250. The default value is 25. |
queryTerm | string | The search term. Use * as a wildcard to return all content. |
scope | string | The search scope. Use All to search across all fields, or TitleOnly to search titles only. |
Include the workspace ID in the contentSpaceOrFolderIds query parameter.
1GET /services/data/{apiVersion}/connect/cms/items/search?queryTerm=*&scope=All&pageSize=250&contentSpaceOrFolderIds=0ZuQZ0000004YSv0AM HTTP/1.1
2Host: {subdomain}.my.salesforce.com
3Authorization: Bearer YOUR_BEARER_TOKENIf the request is successful, the response includes a list of content items.
1{
2 "count": 49,
3 "currentPageUri": "/services/data/v67.0/connect/cms/items/search?page=0&pageSize=250",
4 "nextPageUri": "/services/data/v67.0/connect/cms/items/search?page=1&pageSize=250",
5 "items": [
6 {
7 "id": "9PsQZ00000072oH0AQ",
8 "contentKey": "MCNUSLTYAES5CLRKYWXFUXDXW2BM",
9 "title": "Email_20260323_145319",
10 "status": "Draft",
11 "contentType": {
12 "developerName": "sfdc_cms__email",
13 "label": "Email"
14 },
15 "managedContentId": "20YQZ0000007G3F2AU",
16 "managedContentSpaceId": "0ZuQZ0000003xWc0AI"
17 }
18 ]
19}The response includes the properties in this table.
| Property | Data Type | Description |
|---|---|---|
count | int | The total number of results for the query. |
currentPageUri | string | The address of the current page of results |
nextPageUri | string | The address of the next page of results, if one exists. |
items | int | An array of content items that match the search criteria. |
Each content item includes a contentKey that you can use to retrieve the full content details.
You can filter search results by content type or language.
To return only emails or email templates, include the contentTypeFQN query parameter. This example returns only content with the content type sfdc_cms__email.
1GET /services/data/{apiVersion}/connect/cms/items/search?queryTerm=*&scope=All&pageSize=250&contentSpaceOrFolderIds=0ZuQZ0000004YSv0AM&contentTypeFQN=sfdc_cms__email HTTP/1.1
2Host: {subdomain}.my.salesforce.com
3Authorization: Bearer YOUR_BEARER_TOKENTo return content in a specific language, include the languages query parameter. This example returns only items with the en_US locale code.
1GET /services/data/{apiVersion}/connect/cms/items/search?queryTerm=*&scope=All&pageSize=250&contentSpaceOrFolderIds=0ZuQZ0000004YSv0AM&languages=en_US HTTP/1.1
2Host: {subdomain}.my.salesforce.com
3Authorization: Bearer YOUR_BEARER_TOKEN