Newscred Structured Contents API
The Structured Contents API from Newscred — 11 operation(s) for structured contents.
The Structured Contents API from Newscred — 11 operation(s) for structured contents.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/newscred-structured-contents-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Optimizely CMP Open API Documentation Structured Contents API
version: V3
servers:
- description: v3 version of Optimizely CMP Open API
url: https://api.cmp.optimizely.com/v3
security:
- OAuth2:
- openid
- profile
- offline_access
tags:
- name: Structured Contents
paths:
/structured-content/content-types:
get:
description: '<span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Get content types. '
operationId: listSCContentTypes
parameters:
- in: query
name: source
required: false
schema:
description: Source of the content type
type: string
- in: query
name: disabled
required: false
schema:
default: true
description: Disabled status of the content type
type: boolean
- in: query
name: list
required: false
schema:
$ref: '#/components/schemas/ContentTypeListingOption'
default: '3'
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/BaseContentTypeModel'
type: array
description: Successful response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation error
summary: GET /structured-content/content-types
tags:
- Structured Contents
post:
description: '<span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Create content type. '
operationId: createSCContentType
parameters: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SCContentTypeCreateRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SCContentTypeCreateResponse'
description: Successful response
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/SCContentTypeCreateResponse'
description: Created
headers:
Location:
description: URL to get the created resource
schema:
type: string
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation error
summary: POST /structured-content/content-types
tags:
- Structured Contents
/structured-content/content-types/{content_type_id}:
get:
description: '<span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Get content type. '
operationId: getSCContentType
parameters:
- in: path
name: content_type_id
required: true
schema:
description: Unique identifier of the content type
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SCContentType'
description: Successful response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation error
summary: GET /structured-content/content-types/{content_type_id}
tags:
- Structured Contents
post:
description: '<span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Update content type. '
operationId: updateSCContentType
parameters:
- in: path
name: content_type_id
required: true
schema:
description: Unique identifier of the content type
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SCContentTypeUpdateRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SCContentTypeUpdateResponse'
description: Successful response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation error
summary: POST /structured-content/content-types/{content_type_id}
tags:
- Structured Contents
/structured-content/content-types/{content_type_id}/managed-migrations:
get:
description: <span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Retrieves a list of managed migration jobs for a specific content type.
operationId: listSCContentTypeManagedMigrations
parameters:
- example: 645cb61c966d0c591320f636
in: path
name: content_type_id
required: true
schema:
description: Unique identifier of the content type.
type: string
- description: Whether include a summary of content migration status (total, not started, succeeded, errored).
example: true
in: query
name: content_migration_summary
required: false
schema:
default: false
type: boolean
- description: Pagination offset (number of jobs to skip).
example: 10
in: query
name: offset
required: false
schema:
default: 0
minimum: 0
type: integer
- description: Pagination limit (number of jobs to return).
example: 25
in: query
name: limit
required: false
schema:
default: 100
minimum: 1
type: integer
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/SCContentTypeManagedMigrationResponse'
type: array
description: List of managed migration jobs for the content type.
summary: GET /structured-content/content-types/{content_type_id}/managed-migrations
tags:
- Structured Contents
post:
description: <span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Create a new managed migration job.
operationId: createSCContentTypeManagedMigration
parameters:
- example: 645cb61c966d0c591320f636
in: path
name: content_type_id
required: true
schema:
description: Unique identifier of the content type.
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SCContentTypeManagedMigrationCreateRequest'
required: true
responses:
'200':
content:
application/json:
schema:
properties:
created:
description: False if the managed migration job is not created.
type: boolean
required:
- created
type: object
description: Successful response.
'201':
content:
application/json:
schema:
properties:
created:
description: True if the managed migration job is created.
type: boolean
job_id:
description: The ID of the created managed migration job.
type: string
required:
- created
type: object
description: Created.
'400':
$ref: '#/components/responses/ClientError'
'404':
$ref: '#/components/responses/NotFound'
summary: POST /structured-content/content-types/{content_type_id}/managed-migrations
tags:
- Structured Contents
/structured-content/content-types/{content_type_id}/managed-migrations/validate:
post:
description: <span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Check managed migration possible or not.
operationId: validateSCContentTypeManagedMigration
parameters:
- example: 645cb61c966d0c591320f636
in: path
name: content_type_id
required: true
schema:
description: Unique identifier of the content type.
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SCContentTypeManagedMigrationValidateRequest'
required: true
responses:
'200':
content:
application/json:
schema:
properties:
is_managed_migration_possible:
description: False if the managed migration not possible
type: boolean
required:
- is_managed_migration_possible
type: object
description: Successful response.
'404':
content:
application/json:
example:
detail: Could not find the content type
schema:
properties:
detail:
description: error message details
type: string
required:
- detail
type: object
description: Error response when no content type found by content_type_id and instance_id
summary: POST /structured-content/content-types/{content_type_id}/managed-migrations/validate
tags:
- Structured Contents
/structured-content/content-types/{content_type_id}/managed-migrations/{job_id}:
delete:
description: <span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Delete a managed migration job with not_started status.
operationId: deleteSCContentTypeManagedMigration
parameters:
- example: 645cb61c966d0c591320f636
in: path
name: content_type_id
required: true
schema:
description: Unique identifier of the content type.
type: string
- in: path
name: job_id
required: true
schema:
description: Unique identifier of the managed migration job.
type: string
responses:
'204':
description: Successful response
'400':
$ref: '#/components/responses/ClientError'
'404':
$ref: '#/components/responses/NotFound'
summary: DELETE /structured-content/content-types/{content_type_id}/managed-migrations/{job_id}
tags:
- Structured Contents
get:
description: <span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Get details of a specific managed migration job.
operationId: getSCContentTypeManagedMigration
parameters:
- example: 645cb61c966d0c591320f636
in: path
name: content_type_id
required: true
schema:
description: Unique identifier of the content type.
type: string
- in: path
name: job_id
required: true
schema:
description: The ID of the managed migration job.
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SCContentTypeManagedMigrationResponse'
description: Successful response.
'404':
content:
application/json:
schema:
properties:
detail:
description: The error message.
type: string
type: object
description: Not Found.
summary: GET /structured-content/content-types/{content_type_id}/managed-migrations/{job_id}
tags:
- Structured Contents
patch:
description: <span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Update a managed migration job.
operationId: updateSCContentTypeManagedMigration
parameters:
- example: 645cb61c966d0c591320f636
in: path
name: content_type_id
required: true
schema:
description: Unique identifier of the content type.
type: string
- in: path
name: job_id
required: true
schema:
description: Unique identifier of the managed migration job.
type: string
requestBody:
content:
application/json:
schema:
additionalProperties: false
description: Default values for the managed migration job content.
properties:
default_values:
$ref: '#/components/schemas/LocalizedFieldValues'
required:
- default_values
type: object
description: Payload for default field values.
required: true
responses:
'200':
content:
application/json:
schema:
properties:
updated:
description: True if the managed migration job is updated.
type: boolean
type: object
description: Successful response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation error
summary: PATCH /structured-content/content-types/{content_type_id}/managed-migrations/{job_id}
tags:
- Structured Contents
/structured-content/content-types/{content_type_id}/managed-migrations/{job_id}/start:
post:
description: <span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Start managed migration job.
operationId: startSCContentTypeManagedMigration
parameters:
- in: path
name: content_type_id
required: true
schema:
description: content type id.
type: string
- in: path
name: job_id
required: true
schema:
description: Unique identifier of the job.
type: string
responses:
'200':
content:
application/json:
example:
job_id: sample_job_id
started: true
schema:
$ref: '#/components/schemas/SCContentTypeManagedMigrationStartResponse'
description: Successful response with started=true
'400':
content:
application/json:
example:
detail: 'No Job found for job_id: {job_id} and instance_id: {instance_id} with status not_started or error'
schema:
$ref: '#/components/schemas/HTTPException'
description: Error response when job found by job_id but job status is invalid (status not in [error or not_started])
'404':
content:
application/json:
example:
message: 'No Job found for job_id: {job_id} and instance_id: {instance_id}.'
schema:
$ref: '#/components/schemas/HTTPException'
description: Error response when no job found by job_id with status not_started, error
summary: POST /structured-content/content-types/{content_type_id}/managed-migrations/{job_id}/start
tags:
- Structured Contents
/structured-content/content-types/{content_type_id}/versions:
get:
description: '<span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Get content type versions. '
operationId: listSCContentTypeVersions
parameters:
- in: path
name: content_type_id
required: true
schema:
description: Unique identifier of the content type
type: string
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/BaseContentTypeVersionModel'
type: array
description: Successful response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation error
summary: GET /structured-content/content-types/{content_type_id}/versions
tags:
- Structured Contents
post:
description: '<span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Add Content Type Version. '
operationId: createSCContentTypeVersion
parameters:
- in: path
name: content_type_id
required: true
schema:
description: Unique identifier of the content type
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SCContentTypeVersionCreateRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SCContentTypeCreateResponse'
description: Successful response
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/SCContentTypeCreateResponse'
description: Created
headers:
Location:
description: URL to get the created resource
schema:
type: string
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation error
summary: POST /structured-content/content-types/{content_type_id}/versions
tags:
- Structured Contents
/structured-content/content-types/{content_type_id}/versions/{version_id}:
get:
description: '<span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Get content type version. '
operationId: getSCContentTypeVersion
parameters:
- in: path
name: content_type_id
required: true
schema:
description: Unique identifier of the content type
type: string
- in: path
name: version_id
required: true
schema:
description: Unique identifier of the content type version
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SCContentTypeVersion'
description: Successful response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation error
summary: GET /structured-content/content-types/{content_type_id}/versions/{version_id}
tags:
- Structured Contents
/structured-content/contents/{content_id}/migration:
post:
description: Migrate content to a specific content type version. <span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span>
operationId: migrateSCContent
parameters:
- in: path
name: content_id
required: true
schema:
description: Unique identifier of the content
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SCContentMigrationCreateRequest'
required: true
responses:
'201':
content:
application/json:
schema:
properties:
content_guid:
description: The identifier of the content
type: string
content_hash:
description: The hashed fingerprint of the content version
type: string
created:
description: Whether the version was created or not
type: boolean
version_guid:
description: The identifier of the content version
type: string
type: object
description: Successful response
'400':
$ref: '#/components/responses/ClientError'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/ClientError'
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation error
summary: POST /structured-content/contents/{content_id}/migration
tags:
- Structured Contents
/structured-content/contents/{content_id}/versions/{version_id}/previews/{preview_id}/acknowledge:
post:
description: <span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Acknowledge content preview. Content preview can be acknowledged only once. So make sure you are acknowledging only the content previews targeted for your integration. Otherwise it will stall acknowledgment from other integrations.
operationId: acknowledgeSCContentPreview
parameters:
- in: path
name: content_id
required: true
schema:
description: Unique identifier of the content
type: string
- in: path
name: version_id
required: true
schema:
description: Unique identifier of the content version
type: string
- in: path
name: preview_id
required: true
schema:
description: Unique identifier of the content version preview
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SCContentPreviewAcknowledgeRequest'
required: true
responses:
'200':
content:
application/json:
schema: {}
description: Successful response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation error
summary: POST /structured-content/contents/{content_id}/versions/{version_id}/previews/{preview_id}/acknowledge
tags:
- Structured Contents
/structured-content/contents/{content_id}/versions/{version_id}/previews/{preview_id}/complete:
post:
description: '<span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Complete content preview. '
operationId: completeSCContentPreview
parameters:
- in: path
name: content_id
required: true
schema:
description: Unique identifier of the content
type: string
- in: path
name: version_id
required: true
schema:
description: Unique identifier of the content version
type: string
- in: path
name: preview_id
required: true
schema:
description: Unique identifier of the content version preview
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SCContentPreviewCompleteRequest'
required: true
responses:
'200':
content:
application/json:
schema: {}
description: Successful response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation error
summary: POST /structured-content/contents/{content_id}/versions/{version_id}/previews/{preview_id}/complete
tags:
- Structured Contents
components:
schemas:
KeyedPreviewCompletedModel:
properties:
completed:
description: URL for completed preview.
format: uri
maxLength: 65536
minLength: 1
type: string
locale:
default: en_US
description: "If not specified, the `locale` will be infered from the `Content-Language` header from the `completed` URL.\n In case of multiple locales, only the first one will be considered and it will be converted to snake case.\n For example, if the `Content-Language` header from the `completed` URL returns `en-US, de, bn`, it will be inferred as `en_US`.\n If the `locale` is not specified and there is no `Content-Language` header, this will default to `en_US`."
type: string
mimeType:
default: text/html
description: "If not specified, the `mimeType` will be inferred from the `Content-Type` header from the `completed` URL.\n If the `mimeType` is not specified and there is no `Content-Type` header, this will default to `text/html`."
type: string
name:
default: ''
description: Human readable preview name to distinguish between generated preview outcomes.
type: string
orderIndex:
default: 0
description: Priority of a preview. For multiple previews, this will be used to sort the previews.
type: number
required:
- completed
type: object
SCContentTypeManagedMigrationValidateRequest:
properties:
default_values:
$ref: '#/components/schemas/LocalizedFieldValues'
description: Default values for the migration, if any.
type: object
source_content_type_version_id:
description: The ID of the source content type version to migrate from.
type: string
required:
- source_content_type_version_id
type: object
SCContentType:
allOf:
- $ref: '#/components/schemas/BaseContentTypeModel'
- properties:
latest_version:
$ref: '#/components/schemas/SCContentTypeVersion'
required:
- latest_version
type: object
SCContentTypeManagedMigrationCreateRequest:
properties:
created_by:
description: Unique identifier of the user who created the job.
type: string
default_values:
$ref: '#/components/schemas/LocalizedFieldValues'
description: Default values for the migration job, if any.
type: object
source_content_type_version_id:
description: The ID of the source content type version to migrate from.
type: string
required:
- source_content_type_version_id
- created_by
type: object
ChoiceFieldValueModel:
properties:
choice_key:
description: Choice key of the field value
type: string
order_index:
description: Order index of the field value
type: integer
required:
- choice_key
type: object
TextFieldValueModel:
properties:
order_index:
description: Order index of the field value
type: integer
text_value:
description: Value of the field value
type: string
required:
- text_value
type: object
HTTPValidationError:
properties:
detail:
description: Details of the error
items:
$ref: '#/components/schemas/ValidationError'
type: array
type: object
SCContentTypeUpdateRequest:
properties:
details:
$ref: '#/components/schemas/CoreContentType'
source_metadata:
description: Source metadata of the content type
type: string
updated_by:
description: Unique identifier of the user who updated the content type
type: string
required:
- details
- updated_by
type: object
BaseFieldDefinitionType:
description: An enumeration.
enum:
- boolean
- json
- url
- location
type: string
RichTextFieldDefinition:
properties:
core:
$ref: '#/components/schemas/CoreFieldDef'
default_values:
description: Default values of the field
items:
type: string
type: array
max_visual_text_length:
description: Maximum length of the field
type: integer
min_visual_text_length:
description: Minimum length of the field
type: integer
required:
- core
- min_visual_text_length
type: object
ContentFieldValueExpandedModel:
properties:
content_details:
$ref: '#/components/schemas/ContentDetailsModel'
content_guid:
description: Content GUID of the field value
type: string
content_url:
description: Content URL of the field value
type: string
embedded:
description: Indicates whether the field value is embedded
type: boolean
order_index:
description: Order index of the field value
type: integer
required:
- content_guid
- embedded
- content_details
type: object
SCContentTypeVersionCreateRequest:
properties:
created_by:
description: Unique identifier of the user who created the version
type: string
expected_locales:
description: Expected locales of the version
items:
type: string
type: array
field_definitions:
items:
anyOf:
- $ref: '#/components/schemas/ContentTypeFieldDefinition'
- $ref: '#/components/schemas/LibraryAssetFieldDefinition'
- $ref: '#/components/schemas/TextFieldDefinition'
- $ref: '#/components/schemas/BaseFieldDefinition'
- $ref: '#/components/schemas/DatetimeFieldDefinition'
- $ref: '#/components/schemas/RichTextFieldDefinition'
- $ref: '#/components/schemas/ChoiceFieldDefinition'
- $ref: '#/components/schemas/NumberFieldDefinition'
type: array
required:
- field_definitions
- created_by
type: object
LocalizedFieldValues:
properties:
field_values:
items:
anyOf:
- $ref: '#/components/schemas/NumberFieldValueModel'
- $ref: '#/components/schemas/BooleanFieldValueModel'
- $ref: '#/components/schemas/DatetimeFieldValueModel'
- $ref: '#/components/schemas/TextFieldValueModel'
- $ref: '#/components/schemas/RichTextFieldValueModel'
- $ref: '#/components/schemas/LibraryAssetFieldValueModel'
- $ref: '#/components/schemas/ContentFieldValueExpandedModel'
- $ref: '#/components/schemas/ContentFieldValueModel'
- $ref: '#/components/schemas/URLFieldValueModel'
- $ref: '#/components/schemas/JSONFieldValueModel'
- $ref: '#/components/schemas/ChoiceFieldValueModel'
- $ref: '#/components/schemas/LocationFieldValueModel'
type: array
locale:
type: string
required:
- locale
- field_values
type: object
SCContentTypeCreateRequest:
properties:
created_by:
description: Unique identifier of the user who is creating the content type
type: string
details:
$ref: '#/components/schemas/CoreContentType'
expected_locales:
description: Expected locales for the content type
items:
type: string
type: array
field_definitions:
items:
anyOf:
- $ref: '#/components/schemas/ContentTypeFieldDefinition'
# --- truncated at 32 KB (63 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/newscred/refs/heads/main/openapi/newscred-structured-contents-api-openapi.yml