EN IT

Preview Content (V2)

Draft/preview content endpoints using the V2 flat-dictionary model with separate translations.

Base URL: https://api.contit.cloud

POST /v2/preview-contents/{contentTypeKey}/ids V2

Get preview content IDs only (V2)

Returns only the IDs of matching draft/preview content items.

Requires ReadAccess policy

Path Parameters

NameTypeRequiredDescription
contentTypeKey string The content type key

Request Body application/json

PropertyTypeRequiredDescription
filter object Filter tree
page integer Page number
pageSize integer Items per page

Responses

200 Success
ids string[] Array of content item IDs
total integer Total matching items
401 Unauthorized

Code examples

curl -X POST "https://api.contit.cloud/v2/preview-contents/{contentTypeKey}/ids" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "filter": "filter_value",
  "page": 1,
  "pageSize": 1
}'
using var http = new HttpClient();
http.DefaultRequestHeaders.Add("X-Api-Key", "YOUR_API_KEY");

var content = new StringContent("{
  \"filter\": \"filter_value\",
  \"page\": 1,
  \"pageSize\": 1
}",
    Encoding.UTF8, "application/json");
var response = await http.PostAsync(
    "https://api.contit.cloud/v2/preview-contents/{contentTypeKey}/ids", content);

response.EnsureSuccessStatusCode();
var json = await response.Content.ReadAsStringAsync();
const response = await fetch(
  "https://api.contit.cloud/v2/preview-contents/{contentTypeKey}/ids",
  {
    method: "POST",
    headers: {
      "X-Api-Key": "YOUR_API_KEY",
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
  "filter": "filter_value",
  "page": 1,
  "pageSize": 1
})
  }
);

const data = await response.json();
import requests

headers = {"X-Api-Key": "YOUR_API_KEY"}
payload = {
  "filter": "filter_value",
  "page": 1,
  "pageSize": 1
}

response = requests.post(
    "https://api.contit.cloud/v2/preview-contents/{contentTypeKey}/ids",
    json=payload,
    headers=headers
)

data = response.json()
Example Request
{
  "filter": null,
  "page": 1,
  "pageSize": 50
}
Example Response 200
{
  "ids": [
    "d4e5f6a7-b8c9-0123-defg-456789012345"
  ],
  "total": 1
}
Try it Live
GET /v2/preview-contents/{contentTypeKey}/{id} V2

Get single preview content (V2)

Retrieve a single draft/preview content item using the V2 model.

Requires ReadAccess policy

Path Parameters

NameTypeRequiredDescription
contentTypeKey string The content type key
id string The content item ID (GUID)

Responses

200 Success
id string Content item ID
fields object Flat dictionary of field key to value
translations object Dictionary of field key to locale-value pairs
401 Unauthorized
404 Not Found

Code examples

curl -X GET "https://api.contit.cloud/v2/preview-contents/{contentTypeKey}/{id}" \
  -H "X-Api-Key: YOUR_API_KEY"
using var http = new HttpClient();
http.DefaultRequestHeaders.Add("X-Api-Key", "YOUR_API_KEY");

var response = await http.GetAsync("https://api.contit.cloud/v2/preview-contents/{contentTypeKey}/{id}");

response.EnsureSuccessStatusCode();
var json = await response.Content.ReadAsStringAsync();
const response = await fetch(
  "https://api.contit.cloud/v2/preview-contents/{contentTypeKey}/{id}",
  {
    method: "GET",
    headers: {
      "X-Api-Key": "YOUR_API_KEY",
    }
  }
);

const data = await response.json();
import requests

headers = {"X-Api-Key": "YOUR_API_KEY"}

response = requests.get(
    "https://api.contit.cloud/v2/preview-contents/{contentTypeKey}/{id}",
    headers=headers
)

data = response.json()
Example Response 200
{
  "id": "d4e5f6a7-b8c9-0123-defg-456789012345",
  "fields": {
    "title": "Draft Article",
    "body": "<p>Work in progress...</p>",
    "status": "draft"
  },
  "translations": {
    "title": {
      "en": "Draft Article",
      "it": "Bozza Articolo"
    }
  }
}
Try it Live
PUT /v2/preview-contents/{contentTypeKey} V2

Create or update preview content (V2)

Create or update a draft content item using the V2 flat-dictionary model.

Requires WriteAccess policy

Path Parameters

NameTypeRequiredDescription
contentTypeKey string The content type key

Request Body application/json

PropertyTypeRequiredDescription
id string Content item ID. Omit to create.
fields object Flat dictionary of field key to value
translations object Translations dictionary
clientInfo string Optional client identifier

Responses

200 Success
id string Content item ID
fields object Flat field dictionary
translations object Translations dictionary
401 Unauthorized

Code examples

curl -X PUT "https://api.contit.cloud/v2/preview-contents/{contentTypeKey}" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "id": "id_value",
  "fields": "fields_value",
  "translations": "translations_value",
  "clientInfo": "clientInfo_value"
}'
using var http = new HttpClient();
http.DefaultRequestHeaders.Add("X-Api-Key", "YOUR_API_KEY");

var content = new StringContent("{
  \"id\": \"id_value\",
  \"fields\": \"fields_value\",
  \"translations\": \"translations_value\",
  \"clientInfo\": \"clientInfo_value\"
}",
    Encoding.UTF8, "application/json");
var response = await http.PutAsync(
    "https://api.contit.cloud/v2/preview-contents/{contentTypeKey}", content);

response.EnsureSuccessStatusCode();
var json = await response.Content.ReadAsStringAsync();
const response = await fetch(
  "https://api.contit.cloud/v2/preview-contents/{contentTypeKey}",
  {
    method: "PUT",
    headers: {
      "X-Api-Key": "YOUR_API_KEY",
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
  "id": "id_value",
  "fields": "fields_value",
  "translations": "translations_value",
  "clientInfo": "clientInfo_value"
})
  }
);

const data = await response.json();
import requests

headers = {"X-Api-Key": "YOUR_API_KEY"}
payload = {
  "id": "id_value",
  "fields": "fields_value",
  "translations": "translations_value",
  "clientInfo": "clientInfo_value"
}

response = requests.put(
    "https://api.contit.cloud/v2/preview-contents/{contentTypeKey}",
    json=payload,
    headers=headers
)

data = response.json()
Example Request
{
  "fields": {
    "title": "New Draft",
    "body": "<p>Draft content</p>"
  },
  "translations": {
    "title": {
      "en": "New Draft",
      "it": "Nuova Bozza"
    }
  },
  "clientInfo": "cms-editor-v2"
}
Example Response 200
{
  "id": "a7b8c9d0-e1f2-3456-hijk-234567890123",
  "fields": {
    "title": "New Draft",
    "body": "<p>Draft content</p>"
  },
  "translations": {
    "title": {
      "en": "New Draft",
      "it": "Nuova Bozza"
    }
  }
}
Try it Live