openapi: 3.2.0
info:
title: Newscred Library API
version: V3
description: 'Operations tagged Library across 2 of this provider''s published API definitions: newscred-cmp-open-api-openapi.json, newscred-welcome-open-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- description: v3 version of Optimizely CMP Open API
url: https://api.cmp.optimizely.com/v3
- url: https://api.welcomesoftware.com/v3
description: v3 version of _Welcome_ Open API
tags:
- name: Library
paths:
/articles/{id}:
get:
description: Get an article
operationId: getArticle
parameters:
- example: 5d7f910551b00a722e0418830cee6631
in: path
name: id
required: true
schema:
description: Unique identifier of the article
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryArticle'
description: Fetched article
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
summary: GET /articles/{id}
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
servers:
- description: v3 version of Optimizely CMP Open API
url: https://api.cmp.optimizely.com/v3
/asset-lineages:
get:
description: Experimental Get the list of asset lineage.
operationId: listAssetLineages
parameters:
- example: 1265ca474ba987cc925164aa7
in: query
name: asset_id
schema:
description: Unique identifier of the asset. Can be appended multiple times, such as `asset_id=assetId1&asset_id=assetId2`
type: string
- example: external
in: query
name: used_in
schema:
description: Indicates where an asset is being used.
enum:
- external
type: string
- description: Date and time as the lower limit to filter asset lineages by `created_at`, in ISO 8601 UTC format
example: '2018-11-30T13:32:44Z'
in: query
name: created_at__from
required: false
schema:
format: date-time
type: string
- description: Date and time as the upper limit to filter asset lineages by `created_at`, in ISO 8601 UTC format
example: '2018-11-30T13:32:44Z'
in: query
name: created_at__to
required: false
schema:
format: date-time
type: string
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/page_size'
responses:
'200':
content:
application/json:
schema:
additionalProperties: false
properties:
data:
description: List of asset lineage
items:
$ref: '#/components/schemas/AssetLineageResponse'
type: array
pagination:
allOf:
- $ref: '#/components/schemas/Pagination'
- properties:
next:
example: https://api.cmp.optimizely.com/v3/asset-lineages?offset=10&page_size=10
type:
- string
- 'null'
type: object
required:
- data
- pagination
type: object
description: List of fetched asset lineage
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
summary: GET /asset-lineages
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
servers:
- description: v3 version of Optimizely CMP Open API
url: https://api.cmp.optimizely.com/v3
/assets:
get:
description: 'Get the list of assets. Assets are sorted by `modified_at` in descending order.
To get assets that are not inside any folder, pass `include_subfolder_assets=false` in the query param.
'
operationId: listAssets
parameters:
- description: 'Asset type to filter by. Example: `type=image&type=video`'
examples:
multiple:
summary: Filter by multiple types
value:
- article
- image
- video
single:
summary: Filter by a single type
value:
- image
explode: true
in: query
name: type
schema:
default:
- article
- image
- video
- raw_file
- structured_content
items:
enum:
- article
- image
- video
- raw_file
- structured_content
type: string
type: array
style: form
- description: Label to filter by. **Must be passed as urlencoded string**. Labels that do not exist are ignored. If none of the provided labels exist, filtering is not applied. Example – `label=%7B%22group%22%3A%22ee63e3ee43925bb5cc8cd17b817d93ee%22%2C%22values%22%3A%5B%226706efc7828cd6aaedbc0434139cd3e1%22%2C%221f32651216cf2aefcaa08be1ea7dedf1%22%5D%7D`
examples:
multiple:
summary: Filter by multiple labels
value:
- '{"group": "ee63e3ee43925bb5cc8cd17b817d93ee", "values": ["6706efc7828cd6aaedbc0434139cd3e1", "1f32651216cf2aefcaa08be1ea7dedf1"]}'
- '{"group": "126123b543912bb5cc12d17b817d9312", "values": ["aa63e3ee43925bb5cc8cd17b817d93aa", "df697bd824a944bf7d4fb6e350d9c5bd"]}'
single:
summary: Filter by a single label
value:
- '{"group": "ee63e3ee43925bb5cc8cd17b817d93ee", "values": ["6706efc7828cd6aaedbc0434139cd3e1", "1f32651216cf2aefcaa08be1ea7dedf1"]}'
explode: true
in: query
name: label
schema:
items:
additionalProperties: false
properties:
group:
description: Identifier of the label group
example: 2467e583a60e23fda2b89db81a453cd2
type: string
values:
description: List of identifiers of the label values
items:
description: Identifier of the label value
example: 71c378f3fee3d822759d1bdc2aab628c
type: string
type: array
required:
- group
- values
type: object
type: array
style: form
- description: List of fields to filter by. **Must be passed as base64 encoded string**. Fields that do not exist are ignored. If none of the provided fields exist, filtering is not applied. Example – `fields=Wwp7CiJpZCI6ICI2N2E4NDZhMWM3NzU1YTFwNThpNjh5MzVhIiwKInZhbHVlcyI6IFsiNjdhODQ2YTFjNzc1YWU1YWExYTE0YTA1Il0KfQpd=`
examples:
multiple:
summary: Filter by multiple fields
value:
- '[{"id": "ee63e3ee43925bb5cc8cd17b817d93ee", "values": ["6706efc7828cd6aaedbc0434139cd3e1", "1f32651216cf2aefcaa08be1ea7dedf1"]}, {"id": "126123b543912bb5cc12d17b817d9312", "values": ["aa63e3ee43925bb5cc8cd17b817d93aa", "df697bd824a944bf7d4fb6e350d9c5bd"]}]'
single:
summary: Filter by a single field
value:
- '[{"id": "ee63e3ee43925bb5cc8cd17b817d93ee", "values": ["6706efc7828cd6aaedbc0434139cd3e1", "1f32651216cf2aefcaa08be1ea7dedf1"]}]'
explode: true
in: query
name: fields
schema:
items:
additionalProperties: false
properties:
id:
description: Identifier of the field
example: 2467e583a60e23fda2b89db81a453cd2
type: string
values:
description: List of identifiers of the field values
items:
description: Identifier of the field value
example: 71c378f3fee3d822759d1bdc2aab628c
type: string
type: array
required:
- id
- values
type: object
type: array
style: form
- description: Date and time as the lower limit to filter assets by `created_at`, in ISO 8601 UTC format
example: '2018-11-30T13:32:44Z'
in: query
name: created_at__from
required: false
schema:
format: date-time
type: string
- description: Date and time as the upper limit to filter assets by `created_at`, in ISO 8601 UTC format
example: '2018-11-30T13:32:44Z'
in: query
name: created_at__to
required: false
schema:
format: date-time
type: string
- description: Date and time as the lower limit to filter assets by `modified_at`, in ISO 8601 UTC format
example: '2018-11-30T13:32:44Z'
in: query
name: modified_at__from
required: false
schema:
format: date-time
type: string
- description: Date and time as the upper limit to filter assets by `modified_at`, in ISO 8601 UTC format
example: '2018-11-30T13:32:44Z'
in: query
name: modified_at__to
required: false
schema:
format: date-time
type: string
- description: ID of the library folder to include assets from
example: 6bb8db20a5b611ebae319b7c541b1a7f
in: query
name: folder_id
required: false
schema:
type: string
- description: Indicates whether assets from subfolders need to be included
example: 'false'
in: query
name: include_subfolder_assets
required: false
schema:
default: true
type: boolean
- description: Search assets by title or content description
example: Cute Cat
in: query
name: search_text
required: false
schema:
type: string
- description: ID of the campaign to include assets from
example: 673218bee23887779e9e9a6f
in: query
name: campaign_id
required: false
schema:
type: string
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/page_size'
responses:
'200':
content:
application/json:
schema:
additionalProperties: false
properties:
data:
description: List of assets
items:
$ref: '#/components/schemas/AssetResponse'
type: array
pagination:
allOf:
- $ref: '#/components/schemas/Pagination'
- properties:
next:
example: https://api.cmp.optimizely.com/v3/assets?offset=10&page_size=10
type:
- string
- 'null'
type: object
total_count:
description: Total number of assets found based on the request
type: number
required:
- data
- pagination
- total_count
type: object
description: List of fetched assets
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
summary: GET /assets
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
post:
description: Create a new asset. Supports only `images`, `videos`, and `raw files`. See [Upload assets](https://docs.developers.optimizely.com/content-marketing-platform/docs/upload-assets) to upload an asset.
operationId: createAsset
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryAssetCreateRequest'
description: Payload to create an asset
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/AssetResponse'
description: Created asset
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
summary: POST /assets
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
servers:
- description: v3 version of Optimizely CMP Open API
url: https://api.cmp.optimizely.com/v3
/assets/{asset_id}/fields:
get:
description: Experimental Get the list of fields of an asset.
operationId: listAssetFields
parameters:
- example: 5f857f30e1c4a2038d6179e9
in: path
name: asset_id
required: true
schema:
description: Unique identifier of the asset
type: string
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/page_size'
responses:
'200':
content:
application/json:
schema:
additionalProperties: false
properties:
data:
description: List of fields
items:
$ref: '#/components/schemas/AssetFieldListResponseItem'
type: array
pagination:
allOf:
- $ref: '#/components/schemas/Pagination'
- properties:
next:
example: https://api.cmp.optimizely.com/v3/assets/5f857f30e1c4a2038d6179e9/fields?offset=10&page_size=10
type:
- string
- 'null'
type: object
required:
- data
- pagination
type: object
description: List of fetched fields
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
summary: GET assets/{asset_id}/fields
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
put:
description: Experimental Replace existing fields of an asset.
operationId: updateAssetFields
parameters:
- example: 5f857f30e1c4a2038d6179e9
in: path
name: asset_id
required: true
schema:
description: Unique identifier of the asset
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AssetFieldsUpdateRequest'
description: Payload to replace the fields
required: true
responses:
'200':
content:
application/json:
schema:
additionalProperties: false
properties:
data:
description: List of fields
items:
$ref: '#/components/schemas/AssetFieldListResponseItem'
type: array
links:
additionalProperties: false
description: Meta links
properties:
asset_fields:
description: URL to get the asset fields
example: https://api.cmp.optimizely.com/v3/assets/5f857f30e1c4a2038d6179e9/fields
type: string
asset_url:
description: URL of the asset
example: https://api.cmp.optimizely.com/v3/asset-urls/5f857f30e1c4a2038d6179e9
type: string
required:
- asset_fields
- asset_url
type: object
required:
- data
- links
type: object
description: List of fields after replacement
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
summary: PUT /assets/{asset_id}/fields
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
servers:
- description: v3 version of Optimizely CMP Open API
url: https://api.cmp.optimizely.com/v3
/assets/{asset_id}/fields/{field_id}:
put:
description: 'Experimental Update the field value of an asset. '
operationId: updateAssetField
parameters:
- example: 5f857f30e1c4a2038d6179e9
in: path
name: asset_id
required: true
schema:
description: Unique identifier of the asset
type: string
- example: 4f857f30e1c4a2038d6179e7
in: path
name: field_id
required: true
schema:
description: Unique identifier of the field of the asset
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AssetFieldUpdateRequest'
description: Payload to update the field value
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AssetFieldUpdateResponse'
description: Updated the asset field
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
summary: PUT /assets/{asset_id}/fields/{field_id}
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
servers:
- description: v3 version of Optimizely CMP Open API
url: https://api.cmp.optimizely.com/v3
/assets/{asset_id}/lineages:
post:
description: Experimental Add a new external asset lineage.
operationId: createAssetLineage
parameters:
- example: 5d7f910551b00a722e0418830cee6631
in: path
name: asset_id
required: true
schema:
description: Unique identifier of the asset
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AssetLineageCreateRequest'
description: Payload to add an external asset lineage for a library asset
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/AssetLineageResponse'
description: Created external asset lineage
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'422':
$ref: '#/components/responses/UnprocessableEntity'
summary: POST /assets/{asset_id}/lineages
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
servers:
- description: v3 version of Optimizely CMP Open API
url: https://api.cmp.optimizely.com/v3
/assets/{asset_id}/lineages/{lineage_id}:
delete:
description: Experimental Delete an asset lineage.
operationId: deleteAssetLineage
parameters:
- example: 5d7f910551b00a722e0418830cee6631
in: path
name: asset_id
required: true
schema:
description: Unique identifier of the asset
type: string
- example: ff3f8e024f0611ed993202420ac8001b
in: path
name: lineage_id
required: true
schema:
description: Unique identifier of the lineage
type: string
responses:
'204':
description: Deleted the asset lineage
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'422':
$ref: '#/components/responses/UnprocessableEntity'
summary: DELETE /assets/{asset_id}/lineages/{lineage_id}
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
servers:
- description: v3 version of Optimizely CMP Open API
url: https://api.cmp.optimizely.com/v3
/assets/{asset_id}/permissions:
get:
description: Experimental List of entities that have permission to access the asset
operationId: listAssetPermissions
parameters:
- example: 5d7f910551b00a722e0418830cee6631
in: path
name: asset_id
required: true
schema:
description: Unique identifier of the asset
type: string
- example: view
in: query
name: access
schema:
description: To filter by specific access level. Cannot be used in addition to max_access and min_access params.
enum:
- view
- edit
- comment
- delete
type: string
- example: view
in: query
name: max_access
schema:
description: To filter by specific access level and higher. Cannot be used in addition to access and min_access params.
enum:
- view
- edit
- comment
- delete
type: string
- example: view
in: query
name: min_access
schema:
description: To filter by specific access level and lower. Cannot be used in addition to access and max_access params.
enum:
- view
- edit
- comment
- delete
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AssetPermissionListResponseItem'
description: List of permissions
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
summary: GET /assets/{asset_id}/permissions
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
post:
description: Experimental Grant asset access to users or teams
operationId: addAssetPermissions
parameters:
- example: 5d7f910551b00a722e0418830cee6631
in: path
name: asset_id
required: true
schema:
description: Unique identifier of the asset
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AssetPermissionBulkCreateRequest'
description: Payload to add list of accessors to asset permissions
required: true
responses:
'204':
description: Permission access granted
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
summary: POST /assets/{asset_id}/permissions
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
servers:
- description: v3 version of Optimizely CMP Open API
url: https://api.cmp.optimizely.com/v3
/assets/{asset_id}/permissions/{accessor_id}:
delete:
description: Experimental Remove accessor's access from an asset
operationId: removeAssetPermission
parameters:
- example: 5d7f910551b00a722e0418830cee6631
in: path
name: asset_id
required: true
schema:
description: Unique identifier of the asset
type: string
- example: 5d7f910551b00a722e0418830cee6631
in: path
name: accessor_id
required: true
schema:
description: Unique identifier of the accessor. Accessor should be a user or a team. Accessor cannot be an owner.
type: string
responses:
'204':
description: Accessor's access removed
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'422':
$ref: '#/components/responses/UnprocessableEntity'
summary: DELETE /asstes/{asset_id}/permissions/{accessor_id}
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
patch:
description: Experimental Update accessor's access level and ownership of asset
operationId: updateAssetPermission
parameters:
- example: 5d7f910551b00a722e0418830cee6631
in: path
name: asset_id
required: true
schema:
description: Unique identifier of the asset
type: string
- example: 5d7f910551b00a722e0418830cee6631
in: path
name: accessor_id
required: true
schema:
description: Unique identifier of the accessor. Accessor should be a user or a team.
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AssetPermissionUpdateRequest'
description: Payload to update permission of accessors
required: true
responses:
'204':
description: Permission access granted
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'422':
$ref: '#/components/responses/UnprocessableEntity'
summary: PATCH /assets/{asset_id}/permissions/{accessor_id}
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
servers:
- description: v3 version of Optimizely CMP Open API
url: https://api.cmp.optimizely.com/v3
/assets/{asset_id}/related-assets:
get:
description: 'Returns a paginated list of related assets for the specified asset. Only supported for asset types: article, image, video, raw_file, and structured_content.'
operationId: listRelatedAssets
parameters:
- example: 5d7f910551b00a722e0418830cee6631
in: path
name: asset_id
required: true
schema:
description: Unique identifier of the asset
type: string
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/page_size'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RelatedAssetsListResponse'
description: List of related assets
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
summary: GET /assets/{asset_id}/related-assets
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
put:
description: 'Replaces all related assets for the specified asset. Only supported for asset types: article, image, video, raw_file, and structured_content.'
operationId: replaceRelatedAssets
parameters:
- example: 5d7f910551b00a722e0418830cee6631
in: path
name: asset_id
required: true
schema:
description: Unique identifier of the asset
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ReplaceRelatedAssetsRequest'
description: List of related assets to set for the specified asset
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ReplaceRelatedAssetsResponse'
description: Successfully replaced related assets
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
summary: PUT /assets/{asset_id}/related-assets
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
servers:
- description: v3 version of Optimizely CMP Open API
url: https://api.cmp.optimizely.com/v3
/assets/{asset_id}/renditions:
get:
description: 'Experimental Get the renditions of an asset given its `id`. '
operationId: listAssetRenditions
parameters:
- example: 5d7f910551b00a722e0418830cee6631
in: path
name: asset_id
required: true
schema:
description: Unique identifier of the asset
type: string
responses:
'200':
content:
application/json:
schema:
additionalProperties: false
properties:
data:
description: List of renditions
items:
$ref: '#/components/schemas/BaseAssetRenditionResponse'
type: array
pagination:
allOf:
- $ref: '#/components/schemas/Pagination'
- properties:
next:
example: https://api.cmp.optimizely.com/v3/assets/5d7f910551b00a722e0418830cee6631/renditions?offset=10&page_size=10
type:
- string
- 'null'
type: object
required:
- data
- pagination
type: object
description: List of fetched renditions
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
summary: GET /assets/{asset_id}/renditions
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
servers:
- description: v3 version of Optimizely CMP Open API
url: https://api.cmp.optimizely.com/v3
/assets/{asset_id}/versions:
post:
description: Add a new version to a library asset. Supports adding versions to only `images`, `videos`, and `raw files` type assets. See [Upload assets](https://docs.developers.optimizely.com/content-marketing-platform/docs/upload-assets) to upload a version to a library asset.
operationId: createAssetVersion
parameters:
- example: 5d7f910551b00a722e0418830cee6631
in: path
name: asset_id
required: true
schema:
description: Unique identifier of the asset
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AssetVersionCreateRequest'
description: Payload to add a version to a library asset
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryAssetVersionResponse'
description: Created version
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'422':
$ref: '#/components/responses/UnprocessableEntity'
summary: POST /assets/{asset_id}/versions
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
servers:
- description: v3 version of Optimizely CMP Open API
url: https://api.cmp.optimizely.com/v3
/file-urls:
post:
description: Generates download URLs of files given file guid.
operationId: createFileUrls
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FileUrlBulkCreateRequest'
description: Payload to generate download URLs for files.
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/BatchFileUrlResponse'
description: Generated URLs
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
summary: POST /file-urls
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
servers:
- description: v3 version of Optimizely CMP Open API
url: https://api.cmp.optimizely.com/v3
/folders:
get:
description: Get the list of folders sorted by `modified_at` in descending order.
operationId: listFolders
parameters:
- description: ID of the parent folder to filter by
example: 1d9d8aeca10811ebbc640242ac12001b
in: query
name: parent_folder_id
required: false
schema:
type: string
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/page_size'
responses:
'200':
content:
application/json:
schema:
additionalProperties: false
properties:
data:
description: List of folders
items:
$ref: '#/components/schemas/FolderResponse'
type: array
pagination:
allOf:
- $ref: '#/components/schemas/Pagination'
- properties:
next:
example: https://api.cmp.optimizely.com/v3/folders?offset=10&page_size=10
type:
- string
- 'null'
type: object
required:
- data
- pagination
type: object
description: List of fetched folders
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
summary: GET /folders
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
post:
description: Create a folder. Use the `parent_folder_id` field to create a nested folder.
operationId: createFolder
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FolderCreateRequest'
description: Payload to create a folder
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/FolderResponse'
description: Created folder
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
summary: POST /folders
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
servers:
- description: v3 version of Optimizely CMP Open API
url: https://api.cmp.optimizely.com/v3
/folders/{id}:
delete:
description: Experimental Delete a folder.
operationId: deleteFolder
parameters:
- example: 5d7f910551b00a722e0418830cee6632
in: path
name: id
required: true
schema:
description: Unique identifier of the folder
type: string
responses:
'204':
description: Folder deleted successfully
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
summary: DELETE /folders/{id}
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
get:
description: Get a folder
operationId: getFolder
parameters:
- example: 5d7f910551b00a722e0418830cee6632
in: path
name: id
required: true
schema:
description: Unique identifier of the folder
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/FolderResponse'
description: Fetched folder
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
summary: GET /folders/{id}
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
patch:
description: Experimental Update a folder's name and/or parent.
operationId: updateFolder
parameters:
- example: 5d7f910551b00a722e0418830cee6632
in: path
name: id
required: true
schema:
description: Unique identifier of the folder
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FolderUpdateRequest'
description: Payload to update a folder
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/FolderResponse'
description: Updated Folder
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
summary: PATCH /folders/{id}
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
servers:
- description: v3 version of Optimizely CMP Open API
url: https://api.cmp.optimizely.com/v3
/folders/{id}/permissions:
get:
description: Experimental List of entities that have permission to access the folder
operationId: listFolderPermissions
parameters:
- example: 5d7f910551b00a722e0418830cee6631
in: path
name: id
required: true
schema:
description: Unique identifier of the folder
type: string
- example: view
in: query
name: access
schema:
description: To filter by specific access level. Cannot be used in addition to max_access and min_access params.
enum:
- view
- edit
- comment
- delete
type: string
- example: view
in: query
name: max_access
schema:
description: To filter by specific access level and higher. Cannot be used in addition to access and min_access params.
enum:
- view
- edit
- comment
- delete
type: string
- example: view
in: query
name: min_access
schema:
description: To filter by specific access level and lower. Cannot be used in addition to access and max_access params.
enum:
- view
- edit
- comment
- delete
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/FolderPermissionListResponseItem'
description: List of permissions
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
summary: GET /folders/{id}/permissions
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
post:
description: Experimental Grant folder access to users or teams
operationId: addFolderPermissions
parameters:
- example: 5d7f910551b00a722e0418830cee6631
in: path
name: id
required: true
schema:
description: Unique identifier of the folder
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FolderPermissionBulkCreateRequest'
description: Payload to add list of accessors to folder permissions
required: true
responses:
'204':
description: Permission access granted
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
summary: POST /folders/{id}/permissions
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
servers:
- description: v3 version of Optimizely CMP Open API
url: https://api.cmp.optimizely.com/v3
/folders/{id}/permissions/{accessor_id}:
delete:
description: Experimental Remove accessor's access from a folder
operationId: removeFolderPermission
parameters:
- example: 5d7f910551b00a722e0418830cee6631
in: path
name: id
required: true
schema:
description: Unique identifier of the folder
type: string
- example: 5d7f910551b00a722e0418830cee6631
in: path
name: accessor_id
required: true
schema:
description: Unique identifier of the accessor. Accessor should be a user or a team. Accessor cannot be an owner.
type: string
responses:
'204':
description: Accessor's access removed
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'422':
$ref: '#/components/responses/UnprocessableEntity'
summary: DELETE /folders/{id}/permissions/{accessor_id}
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
patch:
description: Experimental Update accessor's access level and ownership of folder
operationId: updateFolderPermission
parameters:
- example: 5d7f910551b00a722e0418830cee6631
in: path
name: id
required: true
schema:
description: Unique identifier of the folder
type: string
- example: 5d7f910551b00a722e0418830cee6631
in: path
name: accessor_id
required: true
schema:
description: Unique identifier of the accessor. Accessor should be a user or a team.
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FolderPermissionUpdateRequest'
description: Payload to update permission of accessors
required: true
responses:
'204':
description: Permission access granted
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'422':
$ref: '#/components/responses/UnprocessableEntity'
summary: PATCH /folders/{id}/permissions/{accessor_id}
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
servers:
- description: v3 version of Optimizely CMP Open API
url: https://api.cmp.optimizely.com/v3
/images/{id}:
delete:
description: Delete an image
operationId: deleteImage
parameters:
- example: 5d7f910551b00a722e0418830cee6632
in: path
name: id
required: true
schema:
description: Unique identifier of the image
type: string
responses:
'204':
description: Deleted the image
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'422':
$ref: '#/components/responses/UnprocessableEntity'
summary: DELETE /images/{id}
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
get:
description: Get an image
operationId: getImage
parameters:
- example: 5d7f910551b00a722e0418830cee6632
in: path
name: id
required: true
schema:
description: Unique identifier of the image
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryImage'
description: Fetched image
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
summary: GET /images/{id}
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
patch:
description: Updates an image
operationId: updateImage
parameters:
- example: 5d7f910551b00a722e0418830cee6631
in: path
name: id
required: true
schema:
description: Unique identifier of the image
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryImageUpdateRequest'
description: Payload to update the image
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryImage'
description: Updated Image
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'422':
$ref: '#/components/responses/UnprocessableEntity'
summary: PATCH /images/{id}
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
servers:
- description: v3 version of Optimizely CMP Open API
url: https://api.cmp.optimizely.com/v3
/raw-files/{id}:
delete:
description: Delete a raw file
operationId: deleteRawFile
parameters:
- example: 5d7f910551b00a722e0418830cee6634
in: path
name: id
required: true
schema:
description: Unique identifier of the raw file
type: string
responses:
'200':
description: Deleted the raw file
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'422':
$ref: '#/components/responses/UnprocessableEntity'
summary: DELETE /raw-files/{id}
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
get:
description: Get a raw file
operationId: getRawFile
parameters:
- example: 5d7f910551b00a722e0418830cee6634
in: path
name: id
required: true
schema:
description: Unique identifier of the raw file
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryRawFile'
description: Fetched raw file
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
summary: GET /raw-files/{id}
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
patch:
description: Updates a raw file
operationId: updateRawFile
parameters:
- example: 5d7f910551b00a722e0418830cee6631
in: path
name: id
required: true
schema:
description: Unique identifier of the raw file
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryRawFileUpdateRequest'
description: Payload to update the raw file
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryRawFile'
description: Raw file updated
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'422':
$ref: '#/components/responses/UnprocessableEntity'
summary: PATCH /raw-files/{id}
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
servers:
- description: v3 version of Optimizely CMP Open API
url: https://api.cmp.optimizely.com/v3
/rendition-configs/{id}:
get:
description: 'Experimental Get a rendition configuration of an organization given its `id`. '
operationId: getRenditionConfig
parameters:
- example: 5d7f910551b00a722e0418830cee6631
in: path
name: id
required: true
schema:
description: Unique identifier of the rendition configuration
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RenditionConfigResponse'
description: Data of a rendition configuration
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
summary: GET /rendition-configs/{id}
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
servers:
- description: v3 version of Optimizely CMP Open API
url: https://api.cmp.optimizely.com/v3
/renditions/{id}:
get:
description: 'Experimental Get a rendition given its `id`. '
operationId: getRendition
parameters:
- example: c2603a6e0b4811eebea95edf08e23f48
in: path
name: id
required: true
schema:
description: Unique identifier of the rendition
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DetailedAssetRenditionResponse'
description: Details of the rendition
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
summary: GET /renditions/{id}
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
servers:
- description: v3 version of Optimizely CMP Open API
url: https://api.cmp.optimizely.com/v3
/structured-contents:
post:
description: Experimental Creates a structured content.
operationId: createStructuredContent
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryStructuredContentCreateRequest'
description: Payload to create the structured content
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryStructuredContent'
description: Structured content created
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'422':
$ref: '#/components/responses/UnprocessableEntity'
summary: POST /structured-contents
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
servers:
- description: v3 version of Optimizely CMP Open API
url: https://api.cmp.optimizely.com/v3
/structured-contents/{id}:
get:
description: 'Experimental Get the structured content. '
operationId: getStructuredContent
parameters:
- example: a24b834427a043ab8caed1ded4606f7d
in: path
name: id
required: true
schema:
description: Unique identifier of the structured content
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryStructuredContent'
description: Fetched structured content
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
summary: GET /structured-contents/{id}
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
patch:
description: 'Experimental Updates a structured content. '
operationId: updateStructuredContent
parameters:
- example: 5d7f910551b00a722e0418830cee6631
in: path
name: id
required: true
schema:
description: Unique identifier of the structured content
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryStructuredContentUpdateRequest'
description: Payload to update the structured content
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryStructuredContent'
description: Structured content updated
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'422':
$ref: '#/components/responses/UnprocessableEntity'
summary: PATCH /structured-contents/{id}
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
servers:
- description: v3 version of Optimizely CMP Open API
url: https://api.cmp.optimizely.com/v3
/videos/{id}:
delete:
description: Delete a video
operationId: deleteVideo
parameters:
- example: 5d7f910551b00a722e0418830cee6633
in: path
name: id
required: true
schema:
description: Unique identifier of the video
type: string
responses:
'204':
description: Deleted the video
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'422':
$ref: '#/components/responses/UnprocessableEntity'
summary: DELETE /videos/{id}
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
get:
description: Get a video
operationId: getVideo
parameters:
- example: 5d7f910551b00a722e0418830cee6633
in: path
name: id
required: true
schema:
description: Unique identifier of the video
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryVideo'
description: Fetched video
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
summary: GET /videos/{id}
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
patch:
description: Updates a video
operationId: updateVideo
parameters:
- example: 5d7f910551b00a722e0418830cee6631
in: path
name: id
required: true
schema:
description: Unique identifier of the Video
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryVideoUpdateRequest'
description: Payload to update the video
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryVideo'
description: Video Updated
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'422':
$ref: '#/components/responses/UnprocessableEntity'
summary: PATCH /videos/{id}
tags:
- Library
security:
- OAuth2:
- openid
- profile
- offline_access
servers:
- description: v3 version of Optimizely CMP Open API
url: https://api.cmp.optimizely.com/v3
components:
schemas:
NumberTypeObjectFieldUpdatePayload:
allOf:
- $ref: '#/components/schemas/BaseObjectFieldUpdatePayload'
- properties:
values:
description: Accepts a single numeric value
items:
example: 200
type: number
maxItems: 1
type: array
type: object
MultiChoiceTypeObjectField:
allOf:
- $ref: '#/components/schemas/BaseObjectField'
- $ref: '#/components/schemas/MultiChoiceTypeObjectFieldUpdatePayload'
AssetFieldTypes:
description: Type of the field
enum:
- checkbox
- currency_number
- date
- dropdown
- label
- radio_button
- text_area
- percentage_number
- rich_text
- simple_number
- text
example: image
type: string
RelatedAssetItem:
additionalProperties: false
properties:
content:
additionalProperties: false
properties:
type:
description: "Type of the content.\n - article – `html_body`\n - image, raw_file, video – `url`\n - structured_content – `api_url`"
enum:
- url
- api_url
- html_body
example: url
type: string
value:
description: Content of the asset. - article – the html body - image, raw_file, video – the download URL - structured_content – api url
type: string
required:
- type
- value
type: object
file_extension:
description: File extension of the asset
example: png
type:
- string
- 'null'
id:
description: Unique identifier for the asset
example: 5d7f910551b00a722e0418830cee6631
type: string
links:
additionalProperties: false
description: Meta links
properties:
self:
description: URL of the asset (only GET is supported)
example: https://api.cmp.optimizely.com/v3/images/5d7f910551b00a722e0418830cee6631
type: string
required:
- self
type: object
mime_type:
description: MIME type of the asset
example: image/png
type:
- string
- 'null'
title:
description: Title of the asset
example: sample_image.png
type: string
type:
description: Type of the asset
enum:
- article
- image
- video
- raw_file
- structured_content
example: image
type: string
required:
- id
- title
- type
- mime_type
- file_extension
- content
- links
type: object
LocalizedFieldValuesWithEmbeddedContent:
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/ContentFieldValueWithEmbeddedModel'
- $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
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
NumberFieldValueModel:
properties:
num_value:
description: Value of the field value
type: number
order_index:
description: Order index of the field value
type: integer
required:
- num_value
type: object
LocationFieldValueModel:
properties:
latitude:
description: Longitude of the field value
type: number
longitude:
description: Longitude of the field value
type: number
order_index:
description: Order index of the field value
type: integer
required:
- longitude
- latitude
type: object
RichTextFieldValueModel:
properties:
order_index:
description: Order index of the field value
type: integer
rich_text_value:
description: Value of the field value
type: string
required:
- rich_text_value
type: object
VersionedContentTypeModel:
properties:
component:
description: Indicates whether the content type is a component
type: boolean
content_type_guid:
description: Unique identifier of the content type
type: string
created_at:
description: Date and time on which the content type was created, in ISO 8601 UTC format
format: date-time
type: string
created_by:
description: Unique identifier of the user who created the content type
type: string
description:
description: Description of the content type
type: string
disabled:
description: Disabled status of the content type
type: boolean
links:
description: Meta links
properties:
self:
description: URL of the content type
example: https://api.cmp.optimizely.com/v3/structured-content/content-types/9fda53cf66a14fd487251480ca695c7b
type: string
versions:
description: URL of the content type versions
example: https://api.cmp.optimizely.com/v3/structured-content/content-types/9fda53cf66a14fd487251480ca695c7b/versions
type: string
type: object
name:
description: Name of the content type
type: string
source:
description: Source of the content type
type: string
source_id:
description: Source of the content type
type: string
source_metadata:
description: Source metadata of the content type
type: string
thumbnail_guid:
description: Thumbnail GUID of the content type
type: string
updated_at:
description: Date and time on which the content type was last updated, in ISO 8601 UTC format
format: date-time
type: string
updated_by:
description: Unique identifier of the user who last updated the content type
type: string
version:
$ref: '#/components/schemas/SCContentTypeVersion'
required:
- name
- component
- content_type_guid
- created_by
- updated_by
- created_at
- updated_at
- links
- version
type: object
CoreFieldDef:
properties:
editor_metadata:
anyOf:
- type: object
- items: {}
type: array
description: Editor metadata of the field
field_type:
$ref: '#/components/schemas/FieldType'
help_text:
description: Helptext of the field
type: string
is_list:
description: Indicates whether the field is a list
type: boolean
is_required:
description: Required status of the field
type: boolean
key:
description: Key of the field
type: string
max_list_length:
description: Maximum length of the list
type: integer
min_list_length:
description: Minimum length of the list
type: integer
name:
description: Name of the field
type: string
need_internationalization:
description: Indicates whether the field needs internationalization
type: boolean
order_index:
description: Order index of the field
type: integer
source_id:
description: Source ID of the field
type: string
source_metadata:
description: Source metadata of the field
type: string
required:
- key
- name
- is_list
- is_required
- need_internationalization
type: object
LibraryStructuredContent:
additionalProperties: false
properties:
content_body:
$ref: '#/components/schemas/ContentDetailsModel'
created_at:
description: Date and time on which the structured content was created, in ISO 8601 UTC format (2020-02-10T10:40:45Z)
example: '2019-10-06T13:15:30Z'
format: date-time
type: string
file_location:
description: Location of the folder containing the structured content in the library
example: /all files/
type: string
folder_id:
description: ID of the folder containing the structured content in the library
example: 6bb8db20a5b611ebae319b7c541b1a5a
type:
- string
- 'null'
id:
description: Unique identifier of the structured content
example: a24b834427a043ab8caed1ded4606f7d
type: string
is_archived:
description: Whether the structured content is archived or not
example: true
type: boolean
labels:
description: Labels associated with the structured content
items:
$ref: '#/components/schemas/ResourceLabelResponse'
type: array
links:
description: Meta links
properties:
self:
description: URL of the structured content
example: https://api.cmp.optimizely.com/v3/structured-contents/a24b834427a043ab8caed1ded4606f7d
type: string
required:
- self
type: object
modified_at:
description: Date and time of the most recent modification of the structured content, in ISO 8601 UTC format (2020-02-10T10:40:45Z)
example: '2019-10-07T13:15:30Z'
format: date-time
type: string
owner_organization_id:
description: ID of owner organization of the structured content
example: 5108c3a9becac35915111191
type: string
title:
description: Title of the structured content
example: Some webpage
type: string
required:
- id
- title
- created_at
- modified_at
- folder_id
- file_location
- is_archived
- labels
- owner_organization_id
- links
type: object
LibraryRawFile:
additionalProperties: false
properties:
allow_se_indexing:
description: Whether the raw file is allowed to be indexed by search engines
example: true
type: boolean
attribution_text:
description: Attribution of raw file
example: Text
type:
- string
- 'null'
created_at:
description: Date and time on which the raw file was created, in ISO 8601 UTC format (2020-02-10T10:40:45Z)
example: '2019-10-06T13:15:30Z'
format: date-time
type: string
description:
description: Description of the raw file
example: Very important file
type:
- string
- 'null'
expires_at:
description: Date and time for the expiration of the raw file, in ISO 8601 UTC format (2020-02-10T10:40:45Z)
example: '2019-10-07T13:15:30Z'
format: date-time
type:
- string
- 'null'
file_extension:
description: File extension of the raw file
example: zip
type:
- string
- 'null'
file_location:
description: Location of the folder containing the raw file in the library
example: /all files/
type: string
file_size:
description: Size of the raw file in bytes
example: 11244
type: integer
folder_id:
description: ID of the folder containing the raw file in the library
example: 6bb8db20a5b611ebae319b7c541b1a5a
type:
- string
- 'null'
id:
description: Unique identifier of the raw file
example: 5d7f910551b00a722e0418830cee6634
type: string
is_archived:
description: Whether the raw file is archived or not
example: false
type: boolean
is_public:
description: Whether the raw file URL is public or not
example: true
type: boolean
labels:
description: Labels associated to the raw file
items:
$ref: '#/components/schemas/ResourceLabelResponse'
type: array
mime_type:
description: MIME type of the raw file
example: application/zip
type: string
modified_at:
description: Date and time of the most recent modification of the raw file, in ISO 8601 UTC format (2020-02-10T10:40:45Z)
example: '2019-10-07T13:15:30Z'
format: date-time
type: string
owner_id:
description: ID of the raw file owner
example: 5108c3a9becac35915111191
type: string
owner_organization_id:
description: ID of owner organization of the raw file
example: 5108c3a9becac35915111191
type: string
tags:
description: Tags for the raw file
items:
$ref: '#/components/schemas/Tag'
type: array
thumbnail_url:
description: URL of the thumbnail of the raw file
example: http://images.cmp.optimizely.com/Zz0xODQ3NDU3Y2Y2YmYzOTlmNjkyOTgyZDY3Y2I3YWM2OA==
type:
- string
- 'null'
title:
description: Title of the raw file
example: documents.zip
type: string
url:
description: Download the URL of the raw file
example: https://files.cmp.optimizely.com/171451644651701b96f1122009f026bc
type: string
version_id:
description: Version id of raw file
example: 5d7f910551b00a722e0418830cee6631
type: string
version_number:
description: Version number of raw file
example: 2
type: integer
required:
- id
- title
- description
- mime_type
- file_extension
- created_at
- modified_at
- file_size
- folder_id
- file_location
- is_archived
- is_public
- allow_se_indexing
- url
- labels
- owner_organization_id
- expires_at
- thumbnail_url
- version_number
- version_id
- tags
- attribution_text
- owner_id
type: object
LibraryAssetVersionResponse:
additionalProperties: false
properties:
asset_id:
description: Unique identifier of the asset
example: 5d7f910551b00a722e0418830cee6631
type: string
content:
additionalProperties: false
description: Content of the version
properties:
type:
description: Type of the content
enum:
- url
example: url
type: string
value:
description: Content of the version. It is the download URL for image, raw file, and video.
example: http://images.cmp.optimizely.com/Zz0xODQ3NDU3Y2Y2YmYzOTlmNjkyOTgyZDY3Y2I3YWM2OA==S
type: string
required:
- type
- value
type: object
created_at:
description: Date and time on which the version was created, in ISO 8601 UTC format (2020-02-10T10:40:45Z)
example: '2019-10-06T13:15:30Z'
format: date-time
type: string
links:
additionalProperties: false
description: Meta links
properties:
asset:
description: URL of the asset that the version is associated with
example: https://api.cmp.optimizely.com/v3/images/5d7f910551b00a722e0418830cee6631
type: string
required:
- asset
type: object
mime_type:
description: MIME type of the version
example: image/png
type: string
title:
description: Title of the asset
example: sample_image.png
type: string
type:
description: Type of the version
enum:
- image
- video
- raw_file
example: image
type: string
version_number:
description: The serial number of the version
example: 2
type: integer
required:
- version_number
- asset_id
- title
- type
- mime_type
- created_at
- content
- links
type: object
AssetContent:
additionalProperties: false
description: Content of the asset
properties:
type:
description: "Type of the content. \n - article – `html_body`\n - image, raw_file, video – `url`\n - structured_content – `api_url`"
enum:
- url
- api_url
- html_body
example: url
type: string
value:
description: Content of the asset. - article – the html body - image, raw_file, video – the download URL - structured_content – api url
example: http://images.cmp.optimizely.com/Zz0xODQ3NDU3Y2Y2YmYzOTlmNjkyOTgyZDY3Y2I3YWM2OA==S
type: string
required:
- type
- value
type: object
DropdownTypeObjectField:
allOf:
- $ref: '#/components/schemas/BaseObjectField'
- $ref: '#/components/schemas/DropdownTypeObjectFieldUpdatePayload'
DetailedAssetRenditionResponse:
allOf:
- $ref: '#/components/schemas/BaseAssetRenditionResponse'
- properties:
alt_text:
description: Alternative text for rendition
example: image title
type:
- string
- 'null'
asset_type:
description: Type of the original asset the rendition was generated from
example: image
type: string
height:
description: The height (in pixels) of the rendition
example: 400
type:
- integer
- 'null'
modified_at:
description: Date and time on which the rendition was last modified, in ISO 8601 UTC format
example: '2022-09-27T09:14:30Z'
format: date-time
type: string
original_asset_id:
description: ID of the original asset the rendition was generated from
example: 5d7f910551b00a722e0418830cee6631
type: string
rendition_config_id:
description: ID of rendition config used to generate the rendition
example: f910551b00ae0418830cee6631452651
type: string
status:
description: Status of the rendition's generation
enum:
- Done
- InProgress
- Error
example: Done
type: string
width:
description: The width (in pixels) of the rendition
example: 600
type:
- integer
- 'null'
required:
- modified_at
- original_asset_id
- width
- height
- alt_text
- asset_type
- status
type: object
StructuredContentBody:
additionalProperties:
items:
$ref: '#/components/schemas/LocalizedFieldValuesWithEmbeddedContent'
type: array
description: The fields of structured content
properties:
has_embedded:
description: Whether the structured content has embedded content reference field values
type:
- boolean
- 'null'
type: object
LibraryImageUpdateRequest:
additionalProperties: false
properties:
allow_se_indexing:
description: Whether the image is allowed to be indexed by search engines
example: true
type: boolean
alt_text:
description: Alt text of the image. Set an empty string to clear the alt text.
example: Sample alt text
minLength: 0
type: string
attribution_text:
description: Attribution text of the image. Set an empty string to clear the attribution text.
example: Sample attribution text
minLength: 0
type: string
description:
description: Description of the image. Set an empty string to clear the description.
example: Image of a cute cat
minLength: 0
type: string
expires_at:
description: Date and time when the image expires, in ISO 8601 UTC format
example: '2019-10-07T13:15:30Z'
format: date-time
type:
- string
- 'null'
folder_id:
description: ID of the folder containing the image in the library
example: 6bb8db20a5b611ebae319b7c541b1a5a
type:
- string
- 'null'
is_archived:
description: Whether the image should be archived
example: true
type: boolean
is_public:
description: Whether the image URL should be public
example: true
type: boolean
labels:
deprecated: true
description: Please use [PUT /assets/{asset_id}/fields](https://docs.developers.optimizely.com/content-marketing-platform/reference/put_assets-asset-id-fields) or [PUT /assets/{asset_id}/fields/{field_id}](https://docs.developers.optimizely.com/content-marketing-platform/reference/put_assets-asset-id-fields-field-id) API to update label type asset fields
items:
$ref: '#/components/schemas/ResourceLabelRequest'
type: array
tags:
description: Tags of the image. Provided tags will replace the existing ones. Set an empty array to clear the existing tags.
example:
- dhaka
- new york
- london
items:
maxLength: 100
minLength: 1
type: string
maxItems: 100
minItems: 0
type: array
uniqueItems: true
title:
description: Title of the image
example: cat.jpeg
minLength: 1
type: string
type: object
Error:
additionalProperties: true
description: Error payload
properties:
errors:
additionalProperties: true
description: Additional information
properties: {}
type: object
message:
description: Message describing the error
example: Not found
type: string
required:
- message
type: object
AssetFieldTypeDropdown:
allOf:
- $ref: '#/components/schemas/BaseAssetField'
- properties:
choices:
description: Choices of the dropdown
items:
properties:
id:
description: Identifier of the choice
example: 6ceee2f4fa3411ecb37802420ac8001b
type: string
name:
description: Name of the choice
example: Dropdown 1 Choice 1
type: string
required:
- id
- name
type: object
type: array
is_multi_select:
description: Allow users to select multiple values from the dropdown
type: boolean
required:
- is_multi_select
- choices
type: object
AssetFieldsUpdateRequest:
items:
additionalProperties: false
discriminator:
mapping:
checkbox: '#/components/schemas/MultiChoiceTypeObjectField'
currency_number: '#/components/schemas/NumberTypeObjectField'
date: '#/components/schemas/DateTypeObjectField'
dropdown: '#/components/schemas/DropdownTypeObjectField'
image: '#/components/schemas/AssetTypeObjectField'
label: '#/components/schemas/MultiChoiceTypeObjectField'
percentage_number: '#/components/schemas/NumberTypeObjectField'
radio_button: '#/components/schemas/RadioButtonTypeObjectField'
rich_text: '#/components/schemas/StringTypeObjectField'
simple_number: '#/components/schemas/NumberTypeObjectField'
text: '#/components/schemas/StringTypeObjectField'
text_area: '#/components/schemas/StringTypeObjectField'
video: '#/components/schemas/AssetTypeObjectField'
propertyName: type
oneOf:
- $ref: '#/components/schemas/StringTypeObjectField'
- $ref: '#/components/schemas/MultiChoiceTypeObjectField'
- $ref: '#/components/schemas/DropdownTypeObjectField'
- $ref: '#/components/schemas/RadioButtonTypeObjectField'
- $ref: '#/components/schemas/NumberTypeObjectField'
- $ref: '#/components/schemas/DateTypeObjectField'
- $ref: '#/components/schemas/AssetTypeObjectField'
type: object
type: array
FolderPermissionListResponseItem:
additionalProperties: false
properties:
data:
description: List of Permissions
items:
$ref: '#/components/schemas/BasePermissionsResponseSchema'
type: array
pagination:
allOf:
- $ref: '#/components/schemas/Pagination'
- properties:
next:
example: https://api.cmp.optimizely.com/v3/folders/c00bfb60703f11ef805602420ac8001b/permissions?offset=10&page_size=10
type:
- string
- 'null'
type: object
required:
- data
- pagination
type: object
FolderCreateRequest:
additionalProperties: false
properties:
name:
description: Name of the folder
example: Optimizely Digital Asset Management
minLength: 1
type: string
parent_folder_id:
description: ID of the parent folder
example: 5e6f910551b00a722e0418830cee6630
type:
- string
- 'null'
required:
- name
type: object
JSONFieldValueModel:
properties:
json_value:
anyOf:
- type: object
- items: {}
type: array
description: Value of the field value
order_index:
description: Order index of the field value
type: integer
required:
- json_value
type: object
AssetPermissionUpdateRequest:
additionalProperties: false
properties:
access_type:
description: Set the level of access the accessor has to the asset
enum:
- view
- edit
example: view
type: string
is_owner:
description: Used to set an accessor as owner. This field can only be set to true as an owner cannot be removed without another accessor being set as the new owner. A team cannot be an owner.
example: true
type: boolean
type: object
ContentTypeFieldEmbedMixConfig:
description: "Ref Type:\n * `1` Refer only\n * `2` Refer and create embed\n * `3` Create only\n"
enum:
- 1
- 2
- 3
type: integer
StringTypeObjectField:
allOf:
- $ref: '#/components/schemas/BaseObjectField'
- $ref: '#/components/schemas/StringTypeObjectFieldUpdatePayload'
RadioButtonTypeObjectFieldUpdatePayload:
allOf:
- $ref: '#/components/schemas/BaseObjectFieldUpdatePayload'
- properties:
values:
description: Accepts a single choice Id.
items:
example: 9119a313057e401189407116fcd3
type: string
maxItems: 1
type: array
type: object
ContentFieldsVersionValidation:
properties:
fields:
additionalProperties:
additionalProperties:
$ref: '#/components/schemas/error_reason'
type: object
description: Validation for the fields
type: object
type: object
DateTypeObjectFieldUpdatePayload:
allOf:
- $ref: '#/components/schemas/BaseObjectFieldUpdatePayload'
- properties:
values:
description: Array of date-time values, in ISO 8601 UTC format (2020-02-10T10:40:45Z)
items:
description: Date and time, in ISO 8601 UTC format (2020-02-10T10:40:45Z)
example: '2020-02-10T10:40:45Z'
format: date-time
type: string
maxItems: 1
type: array
type: object
BaseObjectField:
allOf:
- $ref: '#/components/schemas/BaseObjectFieldUpdatePayload'
- properties:
id:
description: Unique identifier of the field
example: 41aac313bda1e40b6cde7116fc24a
type: string
required:
- id
type: object
SCContentTypeVersion:
allOf:
- $ref: '#/components/schemas/BaseContentTypeVersionModel'
- properties:
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
type: object
NumberFieldDefinition:
properties:
core:
$ref: '#/components/schemas/CoreFieldDef'
default_values:
description: Default values of the field
items:
type: number
type: array
max_value:
description: Maximum value of the field
type: number
min_value:
description: Minimum value of the field
type: number
required:
- core
type: object
AssetVersionCreateRequest:
additionalProperties: false
properties:
key:
description: Unique identifier of the file upload session. This is the `upload_meta_fields.key` field retrieved from the `/v3/upload-url` endpoint.
maxLength: 100
type: string
title:
description: Title of the asset
example: sample_image.png
maxLength: 100
minLength: 1
type: string
required:
- key
- title
type: object
ArticleAuthorResponse:
additionalProperties: false
description: Author of the article
properties:
name:
description: Name of Author
example: John Doe
type:
- string
- 'null'
required:
- name
type: object
RenditionConfigResponse:
additionalProperties: false
properties:
asset_type:
description: The asset type this config applies to
example: image
type: string
height:
description: The expected height (in pixels) of the renditions generated using this config
example: 400
type:
- integer
- 'null'
id:
description: Unique identifier of the rendition config
example: 5d7f910551b00a722e0418830cee6631
type: string
input_format:
description: The file format of the target asset
example: JPG
type:
- string
- 'null'
name:
description: Name of the rendition config
example: Facebook
type: string
output_format:
description: The file format of the generated rendition
example: PNG
type:
- string
- 'null'
quality:
description: The quality (percent) of the renditions generated using this config
example: 80
type:
- number
- 'null'
width:
description: The expected width (in pixels) of the renditions generated using this config
example: 600
type:
- integer
- 'null'
required:
- id
- name
- asset_type
- input_format
- width
- height
- output_format
- quality
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
DateTypeObjectField:
allOf:
- $ref: '#/components/schemas/BaseObjectField'
- $ref: '#/components/schemas/DateTypeObjectFieldUpdatePayload'
DropdownTypeObjectFieldUpdatePayload:
allOf:
- $ref: '#/components/schemas/BaseObjectFieldUpdatePayload'
- properties:
values:
description: Array of choice ID. Multiple choice values are not acceptable for `is_multi_select=false`.
items:
example: 9119a313057e401189407116fcd3
type: string
type: array
type: object
AssetResponse:
additionalProperties: false
properties:
content:
$ref: '#/components/schemas/AssetContent'
created_at:
description: Date and time on which the asset was created, in ISO 8601 UTC format (2020-02-10T10:40:45Z)
example: '2019-10-06T13:15:30Z'
format: date-time
type: string
file_extension:
description: File extension of the asset
example: png
type:
- string
- 'null'
file_location:
description: Location of the folder containing the asset in the library
example: /all assets/important assets
type: string
folder_id:
description: ID of the folder containing the asset in the library
example: 6bb8db20a5b611ebae319b7c541b1a5a
type:
- string
- 'null'
id:
description: Unique identifier for the asset
example: 5d7f910551b00a722e0418830cee6631
type: string
is_archived:
description: Whether the asset is archived or not
example: false
type: boolean
labels:
description: Labels associated with the asset
items:
$ref: '#/components/schemas/ResourceLabelResponse'
type: array
links:
additionalProperties: false
description: Meta links
properties:
self:
description: URL of the asset (only GET is supported)
example: https://api.cmp.optimizely.com/v3/images/5d7f910551bw0a722e0418830cee6631
type: string
required:
- self
type: object
mime_type:
description: MIME type of the asset
example: image/png
type: string
modified_at:
description: Date and time of the most recent modification of the asset, in ISO 8601 UTC format (2020-02-10T10:40:45Z)
example: '2019-10-07T13:15:30Z'
format: date-time
type: string
owner_organization_id:
description: ID of the asset's owner organization
example: 5108c3a9becac35915111191
type: string
thumbnail_url:
description: URL of the asset's thumbnail
example: https://images1.cmp.optimizely.com/Pz1kYmI9Z2FkYTJtZWI5VGI1WZq4MTZkNTdmGHjM5OGRmYq==
type:
- string
- 'null'
title:
description: Title of the asset
example: sample_image.png
type: string
type:
description: Type of the asset
enum:
- article
- image
- video
- raw_file
- structured_content
example: image
type: string
required:
- id
- title
- type
- mime_type
- file_extension
- created_at
- modified_at
- folder_id
- file_location
- is_archived
- content
- labels
- links
- owner_organization_id
- thumbnail_url
type: object
AssetFieldTypeCommon:
allOf:
- $ref: '#/components/schemas/BaseAssetField'
- type: object
AssetPermissionListResponseItem:
additionalProperties: false
properties:
data:
description: List of Permissions
items:
$ref: '#/components/schemas/BasePermissionsResponseSchema'
type: array
pagination:
allOf:
- $ref: '#/components/schemas/Pagination'
- properties:
next:
example: https://api.cmp.optimizely.com/v3/assets/c00bfb60703f11ef805602420ac8001b/permissions?offset=10&page_size=10
type:
- string
- 'null'
type: object
required:
- data
- pagination
type: object
AssetFieldUpdateResponse:
additionalProperties: false
properties:
id:
description: Unique identifier for the field
example: 5a7f910511b0a72230ce6631
type: string
links:
additionalProperties: false
description: Meta links
properties:
asset:
description: URL of the asset
example: https://api.cmp.optimizely.com/v3/assets/5f857f30e1c4a2038d6179e9
type: string
asset_fields:
description: URL of the asset fields
example: https://api.cmp.optimizely.com/v3/assets/5f857f30e1c4a2038d6179e9/fields
type: string
required:
- asset_fields
- asset
type: object
name:
description: Name of the field
example: Image Field
type: string
type:
$ref: '#/components/schemas/AssetFieldTypes'
values:
description: List of values selected or from user input
items:
example: 1nu8ue9wf8u9nusd9u
type: string
type: array
required:
- id
- name
- type
- values
- links
type: object
LibraryAssetType:
description: An enumeration.
enum:
- article
- image
- video
- raw_file
- structured_content
type: string
LibraryAssetFieldDefinition:
properties:
allowed_types:
items:
$ref: '#/components/schemas/LibraryAssetType'
type: array
core:
$ref: '#/components/schemas/CoreFieldDef'
default_values:
description: Default values for the field
items:
$ref: '#/components/schemas/LibraryAssetDefaultValue'
type: array
required:
- core
- allowed_types
type: object
FolderUpdateRequest:
additionalProperties: false
anyOf:
- required:
- name
- required:
- parent_folder_id
properties:
name:
description: Name of the folder
example: Optimizely Digital Asset Management
minLength: 1
type: string
parent_folder_id:
description: ID of the parent folder. If you pass null, the folder will be moved to the root.
example: 5e6f910551b00a722e0418830cee6630
type:
- string
- 'null'
type: object
FolderPermissionBulkCreateRequest:
additionalProperties: false
properties:
permissions:
description: List of permissions to be granted to folder
items:
additionalProperties: false
properties:
access_type:
description: level of access the accessor has to the folder
enum:
- view
- edit
example: view
type: string
id:
description: Unique identifier of accessor
example: 5d7f910551b00a722e0418830cee6632
type: string
is_owner:
default: false
description: Indicates if the accessor is the owner of the folder. A team cannot be an owner.
example: false
type: boolean
required:
- id
- access_type
type: object
minItems: 1
type: array
type:
description: Type of the accessor
enum:
- user
- team
example: user
type: string
required:
- type
- permissions
type: object
ReplaceRelatedAssetsResponse:
additionalProperties: false
properties:
id:
description: Unique identifier for the asset
example: 5d7f910551b00a722e0418830cee6631
type: string
related_assets:
items:
additionalProperties: false
properties:
id:
description: Unique identifier for the asset
example: 5d7f910551b00a722e0418830cee6631
type: string
required:
- id
type: object
type: array
required:
- id
- related_assets
type: object
DatetimeFieldValueModel:
properties:
datetime_value:
description: Value of the field value
format: date-time
type: string
order_index:
description: Order index of the field value
type: integer
required:
- datetime_value
type: object
DeleteLocaleFieldValueModel:
properties:
delete:
description: Should be true if the field value with locale needs to be deleted
type: boolean
locale:
type: string
required:
- locale
- delete
type: object
BaseFieldDefinition:
properties:
base_type:
$ref: '#/components/schemas/BaseFieldDefinitionType'
core:
$ref: '#/components/schemas/CoreFieldDef'
default_values:
items:
anyOf:
- $ref: '#/components/schemas/LocationDefaultValue'
- type: boolean
- format: uri
maxLength: 65536
minLength: 1
type: string
- type: object
- items: {}
type: array
type: array
required:
- core
- base_type
type: object
LibraryImage:
additionalProperties: false
properties:
allow_se_indexing:
description: Whether the image is allowed to be indexed by search engines
example: true
type: boolean
alt_text:
description: Alternative text for image
example: image title
type:
- string
- 'null'
attribution_text:
description: Attribution of Image
example: Nature
type:
- string
- 'null'
created_at:
description: Date and time on which the image was created, in ISO 8601 UTC format (2020-02-10T10:40:45Z)
example: '2019-10-06T13:15:30Z'
format: date-time
type: string
description:
description: Description of the image
example: Very important image
type:
- string
- 'null'
expires_at:
description: Date and time for the expiration of the image, in ISO 8601 UTC format (2020-02-10T10:40:45Z)
example: '2019-10-07T13:15:30Z'
format: date-time
type:
- string
- 'null'
file_extension:
description: File extension of the image file
example: jpg
type:
- string
- 'null'
file_location:
description: Location of the folder containing the image in the library
example: /images/
type: string
file_size:
description: Size of the image in bytes
example: 11244
type: integer
focal_point:
additionalProperties: false
description: Focal point of the image
properties:
x:
description: X coordinate of the focal point
example: 35
type: integer
y:
description: Y coordinate of the focal point
example: 75
type: integer
required:
- x
- y
type:
- object
- 'null'
folder_id:
description: ID of the folder containing the image in the library
example: 6bb8db20a5b611ebae319b7c541b1a5a
type:
- string
- 'null'
id:
description: Unique identifier of the image
example: 5d7f910551b00a722e0418830cee6632
type: string
image_resolution:
additionalProperties: false
description: Width and height of the image in pixels
properties:
height:
description: Height of the image in pixels
example: 800
type: integer
width:
description: Width of the image in pixels
example: 700
type: integer
required:
- height
- width
type: object
is_archived:
description: Whether the image is archived or not
example: true
type: boolean
is_public:
description: Whether the image URL is public or not
example: true
type: boolean
labels:
description: Labels associated with the image
items:
$ref: '#/components/schemas/ResourceLabelResponse'
type: array
mime_type:
description: MIME type of the image
example: image/jpeg
type: string
modified_at:
description: Date and time of the most recent modification of the image, in ISO 8601 UTC format (2020-02-10T10:40:45Z)
example: '2019-10-07T13:15:30Z'
format: date-time
type: string
owner_id:
description: ID of the image owner
example: 5108c3a9becac35915111191
type: string
owner_organization_id:
description: ID of owner organization of the image
example: 5108c3a9becac35915111191
type: string
tags:
description: Tags for the image
items:
$ref: '#/components/schemas/Tag'
type: array
thumbnail_url:
description: URL of the thumbnail of the image
example: http://images.cmp.optimizely.com/Zz0xODQ3NDU3Y2Y2YmYzOTlmNjkyOTgyZDY3Y2I3YWM2OA==
type:
- string
- 'null'
title:
description: Title of the image
example: cat.jpeg
type: string
url:
description: Download the URL of the image
example: http://images.cmp.optimizely.com/Zz0xODQ3NDU3Y2Y2YmYzOTlmNjkyOTgyZDY3Y2I3YWM2OA==
type: string
version_id:
description: Version id of image
example: 5d7f910551b00a722e0418830cee6631
type: string
version_number:
description: Version number of image
example: 2
type: integer
required:
- id
- title
- description
- mime_type
- file_extension
- created_at
- modified_at
- file_size
- image_resolution
- folder_id
- file_location
- is_archived
- is_public
- allow_se_indexing
- url
- labels
- owner_organization_id
- expires_at
- thumbnail_url
- version_number
- version_id
- alt_text
- tags
- attribution_text
- owner_id
- focal_point
type: object
ContentFieldWithEmbeddedPatchValueModel:
properties:
content_id:
type: string
patch_details:
$ref: '#/components/schemas/RecursivePatchStructuredContentFields'
required:
- content_id
- patch_details
type: object
RecursivePatchStructuredContentFields:
additionalProperties: false
properties:
content_body:
$ref: '#/components/schemas/StructuredContentFields'
title: Contentbody
type: object
expired:
description: Expired status of the content
title: Expired
type: boolean
expiry_datetime:
description: Date and time on which the content will expire, in ISO 8601 UTC format
format: date-time
title: Expirydatetime
type:
- string
- 'null'
root_content:
description: This is true when the content is not embedded in another content through a content type reference field
title: Rootcontent
type: boolean
source:
description: Source of the content
title: Source
type:
- string
- 'null'
source_id:
description: Source id of the content
title: Sourceid
type:
- string
- 'null'
source_metadata:
title: Sourcemetadata
type: string
title:
description: Title of the structured content
example: Some webpage
type: string
type: object
ContentFieldValueWithEmbeddedModel:
properties:
content_details:
$ref: '#/components/schemas/RecursiveStructuredContent'
description: The embedded content object
title: Contentdetails
required:
- content_details
type: object
AssetFieldTypeCurrencyNumber:
allOf:
- $ref: '#/components/schemas/BaseAssetField'
- properties:
currency_code:
description: Currency code of the numerical field
example: USD
type: string
decimal_places:
description: Decimal place of the numerical field
example: 2
type:
- integer
- 'null'
has_thousand_separator:
description: Whether the numerical field has a thousand separator
example: true
type: boolean
required:
- has_thousand_separator
- decimal_places
- currency_code
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
AssetLineageCreateRequest:
additionalProperties: false
properties:
icon_url:
description: Website favicon url
example: https://domain.xyz/path/to/favicon
type: string
name:
description: Name of the source
example: Some website name
type: string
rendition_id:
description: Unique identifier of a rendition of an existing version of the asset
example: 1d7491a891b00a721e0419630a7f8a4b
type: string
uri:
description: URI of the resource where the asset is used. If this is an external url, make sure the url starts with http:// or https://.
example: https://domain.xyz/path/to/resource
type: string
required:
- name
- uri
type: object
AssetFieldTypeSimpleNumber:
allOf:
- $ref: '#/components/schemas/BaseAssetField'
- properties:
decimal_places:
description: Decimal place of the numerical field
example: 2
type:
- integer
- 'null'
has_thousand_separator:
description: Whether the numerical field has a thousand separator
example: true
type: boolean
required:
- has_thousand_separator
- decimal_places
type: object
RelatedAssetsListResponse:
additionalProperties: false
properties:
data:
description: List of related assets
items:
$ref: '#/components/schemas/RelatedAssetItem'
type: array
pagination:
allOf:
- $ref: '#/components/schemas/Pagination'
- properties:
next:
example: https://api.cmp.optimizely.com/v3/assets/5d7f910551b00a722e0418830cee6631/related-assets?offset=10&page_size=10
type:
- string
- 'null'
type: object
required:
- data
- pagination
type: object
BaseFieldDefinitionType:
description: An enumeration.
enum:
- boolean
- json
- url
- location
type: string
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
BooleanFieldValueModel:
properties:
bool_value:
description: Value of the field value
type: boolean
order_index:
description: Order index of the field value
type: integer
required:
- bool_value
type: object
RecursiveStructuredContent:
additionalProperties:
items:
$ref: '#/components/schemas/LocalizedFieldValuesWithEmbeddedContent'
type: array
properties:
content_type_guid:
description: The guid of the content's content type
title: Contenttypeguid
type: string
expired:
description: Expired status of the content
title: Expired
type: boolean
expiry_datetime:
description: Date and time on which the content will expire, in ISO 8601 UTC format
format: date-time
title: Expirydatetime
type:
- string
- 'null'
root_content:
description: This is true when the content is not embedded in another content through a content type reference field
title: Rootcontent
type: boolean
source:
description: Source of the content
title: Source
type:
- string
- 'null'
source_id:
description: Source id of the content
title: Sourceid
type:
- string
- 'null'
source_metadata:
description: Source metadata of the content
title: Sourcemetadata
type:
- string
- 'null'
title:
description: Title of the structured content
example: Some webpage
type: string
required:
- content_type_guid
- root_content
type: object
FieldType:
description: An enumeration.
enum:
- boolean
- number
- text-field
- rich-text
- datetime
- library-asset
- content-type
- json
- url
- choice
- location
type: string
MultiChoiceTypeObjectFieldUpdatePayload:
allOf:
- $ref: '#/components/schemas/BaseObjectFieldUpdatePayload'
- properties:
values:
description: Array of choice IDs
items:
example: 9119a313057e401189407116fcd3
type: string
type: array
type: object
FolderPermissionUpdateRequest:
additionalProperties: false
properties:
access_type:
description: Set the level of access the accessor has to the folder
enum:
- view
- edit
example: view
type: string
is_owner:
description: Used to set an accessor as owner. This field can only be set to true as an owner cannot be removed without another accessor being set as the new owner. A team cannot be an owner.
example: true
type: boolean
type: object
AssetFieldUpdateRequest:
additionalProperties: false
discriminator:
mapping:
checkbox: '#/components/schemas/MultiChoiceTypeObjectFieldUpdatePayload'
currency_number: '#/components/schemas/NumberTypeObjectFieldUpdatePayload'
date: '#/components/schemas/DateTypeObjectFieldUpdatePayload'
dropdown: '#/components/schemas/DropdownTypeObjectFieldUpdatePayload'
image: '#/components/schemas/AssetTypeObjectFieldUpdatePayload'
label: '#/components/schemas/MultiChoiceTypeObjectFieldUpdatePayload'
percentage_number: '#/components/schemas/NumberTypeObjectFieldUpdatePayload'
radio_button: '#/components/schemas/RadioButtonTypeObjectFieldUpdatePayload'
rich_text: '#/components/schemas/StringTypeObjectFieldUpdatePayload'
simple_number: '#/components/schemas/NumberTypeObjectFieldUpdatePayload'
text: '#/components/schemas/StringTypeObjectFieldUpdatePayload'
text_area: '#/components/schemas/StringTypeObjectFieldUpdatePayload'
video: '#/components/schemas/AssetTypeObjectFieldUpdatePayload'
propertyName: type
oneOf:
- $ref: '#/components/schemas/StringTypeObjectFieldUpdatePayload'
- $ref: '#/components/schemas/MultiChoiceTypeObjectFieldUpdatePayload'
- $ref: '#/components/schemas/DropdownTypeObjectFieldUpdatePayload'
- $ref: '#/components/schemas/RadioButtonTypeObjectFieldUpdatePayload'
- $ref: '#/components/schemas/NumberTypeObjectFieldUpdatePayload'
- $ref: '#/components/schemas/DateTypeObjectFieldUpdatePayload'
- $ref: '#/components/schemas/AssetTypeObjectFieldUpdatePayload'
type: object
AssetTypeObjectFieldUpdatePayload:
allOf:
- $ref: '#/components/schemas/BaseObjectFieldUpdatePayload'
- properties:
values:
description: Payload for fields with attachments
items:
properties:
key:
description: Unique identifier of the file upload session. This is the `upload_meta_fields.key` field retrieved from the `/v3/upload-url` endpoint.
example: ce8995aea58b11ea8cd90242ac120005
type: string
title:
description: Title of the image or video
example: Sample.jpeg
minLength: 1
type: string
required:
- title
- key
maxItems: 1
type: array
type: object
FileUrlBulkCreateRequest:
additionalProperties: false
properties:
guids:
description: List of guids of assets representing binary files to generate URLs for the corresponding files
items:
example:
- 791569bab45811eebb2802420ac8001c
- 467569bab45811eebb2802420ac8111h
type: string
minItems: 1
type: array
required:
- guids
type: object
AllowedContentTypeItem:
properties:
name:
description: Name of the item
type: string
url:
description: URL of the item
type: string
required:
- name
- url
type: object
TextFieldDefinition:
properties:
core:
$ref: '#/components/schemas/CoreFieldDef'
default_values:
description: Default values of the field
items:
type: string
type: array
max_length:
description: Maximum length of the field
type: integer
min_length:
description: Minimum length of the field
type: integer
validation_pattern:
description: Validation pattern of the field
type: string
required:
- core
- validation_pattern
- min_length
type: object
NumberTypeObjectField:
allOf:
- $ref: '#/components/schemas/BaseObjectField'
- $ref: '#/components/schemas/NumberTypeObjectFieldUpdatePayload'
error_reason:
description: An enumeration.
enum:
- REQUIRED_FIELD_ABSENT
- LIST_EMPTY
- INVALID_STATE
- INVALID_SELF_REF
- MIN_NOT_MET
- MAX_NOT_MET
- PATTERN_ERROR
title: error_reason
type: string
AssetFieldListResponseItem:
discriminator:
mapping:
checkbox: '#/components/schemas/AssetFieldTypeCheckbox'
currency_number: '#/components/schemas/AssetFieldTypeCurrencyNumber'
date: '#/components/schemas/AssetFieldTypeCommon'
dropdown: '#/components/schemas/AssetFieldTypeDropdown'
image: '#/components/schemas/AssetFieldTypeCommon'
label: '#/components/schemas/AssetFieldTypeLabel'
percentage_number: '#/components/schemas/AssetFieldTypePercentageNumber'
radio_button: '#/components/schemas/AssetFieldTypeRadio'
rich_text: '#/components/schemas/AssetFieldTypeCommon'
simple_number: '#/components/schemas/AssetFieldTypeSimpleNumber'
text: '#/components/schemas/AssetFieldTypeCommon'
text_area: '#/components/schemas/AssetFieldTypeCommon'
video: '#/components/schemas/AssetFieldTypeCommon'
propertyName: type
oneOf:
- $ref: '#/components/schemas/AssetFieldTypeCommon'
- $ref: '#/components/schemas/AssetFieldTypeLabel'
- $ref: '#/components/schemas/AssetFieldTypeDropdown'
- $ref: '#/components/schemas/AssetFieldTypeRadio'
- $ref: '#/components/schemas/AssetFieldTypeCheckbox'
- $ref: '#/components/schemas/AssetFieldTypeSimpleNumber'
- $ref: '#/components/schemas/AssetFieldTypePercentageNumber'
- $ref: '#/components/schemas/AssetFieldTypeCurrencyNumber'
FeaturedImageResponse:
additionalProperties: false
properties:
attribution_text:
description: Attribution text of the featured image
example: This is a sample attribution text
type:
- string
- 'null'
caption:
description: Caption of the featured image
example: This is a sample caption
type: string
description:
description: Description of the featured image
example: This is a sample description
type:
- string
- 'null'
height:
description: Height of the featured image in pixels
example: 400
type: integer
mime_type:
description: MIME type of the featured image
example: image/jpeg
type: string
source:
additionalProperties: false
description: Source of the featured image
properties:
name:
description: Organization or vendor name of the featured image
example: Reuters
type:
- string
- 'null'
required:
- name
type: object
thumbnail:
description: URL of the featured image thumbnail
example: https://images-cdn.cmp.optimizely.com/Zz01Y2FkOWFjZWQ5OTMxMWViYjY3OTEzNDMzOWM3ZDNhNA==?width=75&height=75
type:
- string
- 'null'
url:
description: URL of the featured image
example: https://images-cdn.cmp.optimizely.com/sample.jpeg
type: string
width:
description: Width of the featured image in pixels
example: 700
type: integer
required:
- attribution_text
- caption
- description
- mime_type
- source
- height
- width
- thumbnail
- url
type: object
BaseContentTypeVersionModel:
properties:
created_at:
description: Date and time on which the version was created, in ISO 8601 UTC format
format: date-time
type: string
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
latest:
description: Indicates whether the version is the latest
type: boolean
links:
description: Meta links
properties:
content_type:
description: URL of the content type
example: https://api.cmp.optimizely.com/v3/structured-content/content-types/555876bf63e94ea4b3ec4da318736414
type: string
self:
description: URL of the content type version
example: https://api.cmp.optimizely.com/v3/structured-content/content-types/555876bf63e94ea4b3ec4da318736414/versions/31a6d15b09c54a04935203eb958ae058
type: string
type: object
version_guid:
description: Unique identifier of the version
type: string
required:
- version_guid
- created_by
- created_at
- latest
- expected_locales
- links
type: object
AssetFieldTypeLabel:
allOf:
- $ref: '#/components/schemas/BaseAssetField'
- properties:
choices:
description: Choices of the label
items:
properties:
id:
description: Identifier of the choice
example: 6ceee2f4fa3411ecb37802420ac8001b
type: string
name:
description: Name of the choice
example: Label 1 Choice 1
type: string
required:
- id
- name
type: object
type: array
is_multi_select:
description: Select multiple values from the label
type: boolean
required:
- is_multi_select
- choices
type: object
LibraryAssetDefaultValue:
properties:
asset_guid:
description: Unique identifier of the asset
type: string
asset_type:
$ref: '#/components/schemas/LibraryAssetType'
required:
- asset_type
- asset_guid
type: object
ContentTypeFieldDefinition:
properties:
allow_ref_edit:
description: Whether to allow ref editing
type: boolean
allowed_content_types:
description: List of allowed content types
items:
type: string
type: array
content_type_links:
additionalProperties:
$ref: '#/components/schemas/AllowedContentTypeItem'
description: Links related to the content type
type: object
core:
$ref: '#/components/schemas/CoreFieldDef'
default_value:
description: Default value for the field
type: string
ref_type:
$ref: '#/components/schemas/ContentTypeFieldEmbedMixConfig'
required:
- core
- allowed_content_types
- ref_type
type: object
DatetimeFieldDefinition:
properties:
core:
$ref: '#/components/schemas/CoreFieldDef'
default_values:
description: Default values of the field
items:
format: date-time
type: string
type: array
max_date:
description: Maximum date of the field
format: date-time
type: string
min_date:
description: Minimum date of the field
format: date-time
type: string
required:
- core
- min_date
- max_date
type: object
LibraryAssetFieldValueModel:
properties:
asset_guid:
description: Asset GUID of the field value
type: string
asset_type:
$ref: '#/components/schemas/LibraryAssetType'
links:
additionalProperties:
type: string
description: Meta links
type: object
order_index:
description: Order index of the field value
type: integer
required:
- asset_guid
- asset_type
type: object
AssetFieldTypeCheckbox:
allOf:
- $ref: '#/components/schemas/BaseAssetField'
- properties:
choices:
description: Choices of the checkbox
items:
properties:
id:
description: Identifier of the choice
example: 6ceee2f4fa3411ecb37802420ac8001b
type: string
name:
description: Name of the choice
example: Checkbox 1 Choice 1
type: string
required:
- id
- name
type: object
type: array
required:
- choices
type: object
LocationDefaultValue:
properties:
latitude:
description: Latitude of the location
type: number
longitude:
description: Longitude of the location
type: number
required:
- longitude
- latitude
type: object
URLFieldValueModel:
properties:
order_index:
description: Order index of the field value
type: integer
url:
description: URL of the field value
format: uri
maxLength: 65536
minLength: 1
type: string
required:
- url
type: object
ChoiceFieldDefinition:
properties:
choices:
additionalProperties:
type: string
description: Choices of the field
type: object
core:
$ref: '#/components/schemas/CoreFieldDef'
default_values:
description: Default values of the field
items:
type: string
type: array
display_option:
$ref: '#/components/schemas/ChoiceDisplayOption'
required:
- core
- choices
type: object
Tag:
additionalProperties: false
properties:
guid:
description: Unique identifier of the tag
example: 5d7f910551b00a722e0418830cee6633
type: string
name:
description: Name of the tag
example: Sample Tag
type: string
required:
- guid
- name
type: object
LibraryRawFileUpdateRequest:
additionalProperties: false
properties:
allow_se_indexing:
description: Whether the raw file is allowed to be indexed by search engines
example: true
type: boolean
attribution_text:
description: Attribution text of the raw file. Set an empty string to clear the attribution text.
example: Sample attribution text
minLength: 0
type: string
description:
description: Description of the raw file. Set an empty string to clear the description.
example: A zip file that contains some documents
minLength: 0
type: string
expires_at:
description: Date and time when the raw file expires, in ISO 8601 UTC format
example: '2019-10-07T13:15:30Z'
format: date-time
type:
- string
- 'null'
folder_id:
description: ID of the folder containing the raw file in the library
example: 6bb8db20a5b611ebae319b7c541b1a5a
type:
- string
- 'null'
is_archived:
description: Whether the raw file should be archived
example: true
type: boolean
is_public:
description: Whether the raw file URL should be public
example: true
type: boolean
labels:
deprecated: true
description: Please use [PUT /assets/{asset_id}/fields](https://docs.developers.optimizely.com/content-marketing-platform/reference/put_assets-asset-id-fields) or [PUT /assets/{asset_id}/fields/{field_id}](https://docs.developers.optimizely.com/content-marketing-platform/reference/put_assets-asset-id-fields-field-id) API to update label type asset fields
items:
$ref: '#/components/schemas/ResourceLabelRequest'
type: array
tags:
description: Tags of the raw file. Provided tags will replace the existing ones. Set an empty array to clear the existing tags.
example:
- dhaka
- new york
- london
items:
maxLength: 100
minLength: 1
type: string
maxItems: 100
minItems: 0
type: array
uniqueItems: true
title:
description: Title of the raw file
example: documents.zip
minLength: 1
type: string
type: object
StructuredContentFields:
additionalProperties:
items:
anyOf:
- $ref: '#/components/schemas/PatchLocalizedFieldValuesWithEmbeddedContent'
- $ref: '#/components/schemas/DeleteLocaleFieldValueModel'
type: array
description: The fields of structured content
type: object
PatchLocalizedFieldValuesWithEmbeddedContent:
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/ContentFieldValueWithEmbeddedModel'
- $ref: '#/components/schemas/ContentFieldValueModel'
- $ref: '#/components/schemas/URLFieldValueModel'
- $ref: '#/components/schemas/JSONFieldValueModel'
- $ref: '#/components/schemas/ChoiceFieldValueModel'
- $ref: '#/components/schemas/LocationFieldValueModel'
- $ref: '#/components/schemas/DeleteFieldValueModel'
- $ref: '#/components/schemas/ContentFieldWithEmbeddedPatchValueModel'
type: array
locale:
description: The default value should be en_US
type: string
required:
- locale
- field_values
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
StringTypeObjectFieldUpdatePayload:
allOf:
- $ref: '#/components/schemas/BaseObjectFieldUpdatePayload'
- properties:
values:
description: Any single string
items:
example: This is a test string
type: string
type: array
type: object
BaseObjectFieldUpdatePayload:
properties:
type:
description: Type of the field
example: checkbox
type: string
values:
description: Values for the campaign field
type: array
required:
- type
- values
type: object
LibraryAssetCreateRequest:
additionalProperties: false
properties:
folder_id:
description: ID of the folder where the asset should be added
example: 5d7f910551b00a722e0418830cee6631
type:
- string
- 'null'
key:
description: Unique identifier of the file upload session. This is the `upload_meta_fields.key` field retrieved from the `/v3/upload-url` endpoint.
maxLength: 100
type: string
title:
description: Title of the asset
example: sample_image.png
maxLength: 100
minLength: 1
type: string
required:
- key
- title
type: object
AssetFieldTypePercentageNumber:
allOf:
- $ref: '#/components/schemas/BaseAssetField'
- properties:
decimal_places:
description: Decimal place of the numerical field
example: 2
type:
- integer
- 'null'
required:
- decimal_places
type: object
AssetFieldTypeRadio:
allOf:
- $ref: '#/components/schemas/BaseAssetField'
- properties:
choices:
description: Choices of the radio button
items:
properties:
id:
description: Identifier of the choice
example: 6ceee2f4fa3411ecb37802420ac8001b
type: string
name:
description: Name of the choice
example: Radio 1 Choice 1
type: string
required:
- id
- name
type: object
type: array
required:
- choices
type: object
BatchFileUrlResponse:
additionalProperties: false
properties:
urls:
additionalProperties:
description: Returns download URLs of files in a hashmap with guids of assets representing binary files as the key. For public files, it will return the public URL. For private files, a tokenized URL is provided. For invalid file guids, the URL will be `null`.
type:
- string
- 'null'
description: List of urls for Files.
example:
'000': null
791569bab45811eebb2802420ac8001c: http://images.cmp.optimizely.com/Zz0xODQ3NDU3Y2Y2YmYzOTlmNjkyOTgyZDY3Y2I3YWM2OA==
947769bab45811eebb2802420ac8072n: http://images.cmp.optimizely.com/Zz0xODQ3NDU3Y2Y2YmYzOTlmNjkyOTgyZDY3Y2I3YWM2OA==?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOlsiNDVhY2MyYmVhMGExMTF
type: object
required:
- urls
type: object
ResourceLabelResponse:
additionalProperties: false
description: Label associated to a fetched resource
properties:
group:
additionalProperties: false
description: Label group
properties:
id:
description: Identifier of the label group
example: 2467e583a60e23fda2b89db81a453cd2
type: string
name:
description: Name of the label group
example: Content Format
type: string
required:
- id
- name
type: object
values:
description: List of values of the label
items:
additionalProperties: false
properties:
id:
description: Identifier of the label value
example: 71c378f3fee3d822759d1bdc2aab628c
type: string
name:
description: Name of the label value
example: Photos
type: string
required:
- id
- name
type: object
type: array
required:
- group
- values
type: object
LibraryStructuredContentUpdateRequest:
additionalProperties: false
properties:
content_body:
description: The structured content body
properties:
expired:
description: Expired status of the content
title: Expired
type:
- boolean
- 'null'
expiry_datetime:
description: Date and time on which the content will expire, in ISO 8601 UTC format
format: date-time
title: Expirydatetime
type:
- string
- 'null'
fields:
$ref: '#/components/schemas/StructuredContentFields'
title: Contentbody
type:
- object
- 'null'
source:
description: Source of the content
title: Source
type:
- string
- 'null'
source_id:
description: Source id of the content
title: Sourceid
type:
- string
- 'null'
source_metadata:
description: Source metadata of the content
title: Sourcemetadata
type:
- string
- 'null'
title:
description: Title of the structured content
example: Some webpage
type:
- string
- 'null'
type: object
is_archived:
description: Whether the structured content should be archived
example: true
type: boolean
title:
description: Title of the structured content asset
type:
- string
- 'null'
type: object
ReplaceRelatedAssetsRequest:
additionalProperties: false
properties:
related_assets:
items:
additionalProperties: false
properties:
id:
description: Unique identifier for the asset
example: 5d7f910551b00a722e0418830cee6631
type: string
required:
- id
type: object
type: array
required:
- related_assets
type: object
DeleteFieldValueModel:
properties:
delete:
description: Should be true if the field value needs to be deleted
type: boolean
order_index:
description: Order index of the field value
type: integer
required:
- delete
type: object
ContentDetailsModel:
properties:
content_guid:
description: Unique identifier of the content
type: string
content_type:
$ref: '#/components/schemas/VersionedContentTypeModel'
content_type_guid:
description: Unique identifier of the content type
type: string
content_type_name:
description: Name of the content type
type: string
created_at:
description: Date and time on which the content was created, in ISO 8601 UTC format
format: date-time
type: string
created_by:
description: Unique identifier of the user who created the content
type: string
expired:
description: Expired status of the content
type: boolean
expiry_datetime:
description: Date and time on which the content will expire, in ISO 8601 UTC format
format: date-time
type: string
latest_fields_version:
$ref: '#/components/schemas/ContentFieldsVersionDetails'
links:
description: Meta links
properties:
definition:
description: URL of the content definition
example: https://api.cmp.optimizely.com/v3/structured-content/content-types/5291e00b990a49f1857adc024fd26620/versions/a8b48d529701452aa56a4e752e1b0ffc
type: string
self:
description: URL of the content
example: https://api.cmp.optimizely.com/v3/structured-content/contents/a24b834428a043ab8caed1ded4606f7d
type: string
type: object
primary_locale:
description: The primary locale of the content
example: en_US
type: string
root_content:
description: This is true when the content is not embedded in another content through a content type reference field
type: boolean
source:
description: Source of the content
type: string
source_id:
description: Source ID of the content
type: string
source_metadata:
description: Source metadata of the content
type: string
template_guid:
description: Template GUID of the content
type: string
title:
description: Title of the content
type: string
updated_at:
description: Date and time on which the content was last updated, in ISO 8601 UTC format
format: date-time
type: string
updated_by:
description: Unique identifier of the user who last updated the content
type: string
required:
- root_content
- title
- latest_fields_version
- content_guid
- created_by
- updated_by
- created_at
- updated_at
- content_type_guid
- content_type_name
- links
type: object
AssetLineageResponse:
additionalProperties: false
properties:
asset_id:
description: Unique identifier of the asset
example: 5d7f910551b00a722e0418830cee6632
type: string
created_at:
description: Date and time on which the asset lineage was created, in ISO 8601 UTC format (2020-02-10T10:40:45Z)
example: '2019-10-06T13:15:30Z'
format: date-time
type: string
icon_url:
description: Icon url of the asset lineage
example: https://somewebsite.com/abc.png
type:
- string
- 'null'
id:
description: Unique identifier of the asset lineage
example: 5d7f910551b00a722e0418830cee6631
type: string
links:
additionalProperties: false
description: Meta links
properties:
asset:
description: URL of the asset
example: https://api.cmp.optimizely.com/v3/articles/5d7f910551bw0a722e0418830cee6632
type: string
self:
description: URL of the asset lineage
example: https://api.cmp.optimizely.com/v3/assets/5d7f910551bw0a722e0418830cee6632/lineages/5d7f910551bw0a722e0418830cee6631
type: string
required:
- self
- asset
type: object
name:
description: Name of the source
example: Sample Name
type: string
rendition_id:
description: Unique identifier of a rendition of the asset
example: 1d7491a891b00a721e0419630a7f8a4b
type:
- string
- 'null'
uri:
description: Unique identifier of the location where the asset is being used
example: https://somewebsite.com
type: string
used_in:
description: Indicates where the asset is being used
enum:
- external
example: external
type: string
version_id:
description: Unique identifier of the asset version
example: 5d7f910551b00a722e0418830cee6633
type: string
required:
- id
- name
- asset_id
- version_id
- used_in
- uri
- icon_url
- rendition_id
- created_at
- links
type: object
FolderResponse:
additionalProperties: false
properties:
created_at:
description: Date and time on which the folder was created, in ISO 8601 UTC format (2020-02-10T10:40:45Z)
example: '2019-10-06T13:15:30Z'
format: date-time
type: string
id:
description: Unique identifier of the folder
example: 5d7f910551b00a722e0418830cee6632
type: string
links:
additionalProperties: false
description: Meta links
properties:
assets:
description: URL of the assets inside the folder
example: https://api.cmp.optimizely.com/v3/assets?folder_id=5d7f910551b00a722e0418830cee6632&include_subfolder_assets=false
type: string
child_folders:
description: URL of the children list of the folder
example: https://api.cmp.optimizely.com/v3/folders?parent_folder_id=5d7f910551b00a722e0418830cee6632
type: string
parent_folder:
description: URL of the parent of the folder
example: https://api.cmp.optimizely.com/v3/folders/1d9d8aeca10811ebbc640242ac12001b
type:
- string
- 'null'
self:
description: URL of the folder
example: https://api.cmp.optimizely.com/v3/folders/5d7f910551b00a722e0418830cee6632
type: string
required:
- self
- parent_folder
- child_folders
- assets
type: object
modified_at:
description: Date and time of the most recent modification of the folder, in ISO 8601 UTC format (2020-02-10T10:40:45Z)
example: '2019-10-07T13:15:30Z'
format: date-time
type: string
name:
description: Name of the folder
example: icons
type: string
parent_folder_id:
description: ID of the parent folder
example: 1d9d8aeca10811ebbc640242ac12001b
type:
- string
- 'null'
path:
description: Folder location
example: /images/icons
type: string
required:
- id
- name
- parent_folder_id
- path
- created_at
- modified_at
- links
type: object
ResourceLabelRequest:
additionalProperties: false
description: Payload to associate labels to a resource
properties:
group:
description: Label group
example: 2467e583a60e23fda2b89db81a453cd2
maxLength: 32
minLength: 32
type: string
values:
description: List of values of the label
items:
example: 71c378f3fee3d822759d1bdc2aab628c
maxLength: 32
minLength: 32
type: string
type: array
required:
- group
- values
type: object
AssetPermissionBulkCreateRequest:
additionalProperties: false
properties:
permissions:
description: List of permissions to be granted to asset
items:
additionalProperties: false
properties:
access_type:
description: level of access the accessor has to the asset
enum:
- view
- edit
example: view
type: string
id:
description: Unique identifier of accessor
example: 5d7f910551b00a722e0418830cee6632
type: string
is_owner:
default: false
description: Indicates if the accessor is the owner of the asset. A team cannot be an owner.
example: false
type: boolean
required:
- id
- access_type
type: object
minItems: 1
type: array
type:
description: Type of the accessor
enum:
- user
- team
example: user
type: string
required:
- type
- permissions
type: object
ContentFieldsVersionDetails:
properties:
content_hash:
description: Content hash of the version
type: string
created_at:
description: Date and time on which the version was created, in ISO 8601 UTC format
format: date-time
type: string
created_by:
description: Unique identifier of the user who created the version
type: string
fields:
additionalProperties:
items:
$ref: '#/components/schemas/LocalizedFieldValues'
type: array
description: List of fields
type: object
source_id:
description: Source ID of the version
type: string
source_metadata:
description: Source metadata of the version
type: string
validation:
$ref: '#/components/schemas/ContentFieldsVersionValidation'
version_guid:
description: Unique identifier of the version
type: string
required:
- fields
- created_by
- created_at
- version_guid
- content_hash
type: object
ChoiceDisplayOption:
description: An enumeration.
enum:
- radio
- dropdown
- tag
- checkbox
type: string
Pagination:
additionalProperties: false
description: Pagination related information
properties:
next:
description: URL to the next page
example: https://api.cmp.optimizely.com/?offset=10&page_size=10
type:
- string
- 'null'
previous:
description: URL to the previous page
example: null
type:
- string
- 'null'
required:
- next
- previous
type: object
BaseAssetField:
additionalProperties: false
properties:
id:
description: Identifier of the field
example: 64be245ec0d79e79fdf1ad84
type: string
name:
description: Name of the field
example: Simple Text
type: string
type:
description: Type of the field
example: text
type: string
values:
description: List of selected values or from user input
items:
type: string
type: array
required:
- id
- name
- type
- values
type: object
BaseAssetRenditionResponse:
additionalProperties: false
properties:
created_at:
description: Date and time on which the rendition was created, in ISO 8601 UTC format
example: '2022-09-27T08:18:41Z'
format: date-time
type: string
id:
description: Unique identifier of the rendition
example: 5d7f910551b00a722e0418830cee6631
type: string
mime_type:
description: MIME type of the rendition
example: image/png
type: string
name:
description: Name of the rendition
example: Facebook
type: string
url:
description: URL of the rendition
example: https://files.cmp.optimizely.com/download/6ceee2f4fa3411ecb37802420ac8001b
type: string
required:
- id
- name
- created_at
- mime_type
- url
type: object
LibraryArticle:
additionalProperties: false
properties:
authors:
description: List of authors of the article
items:
$ref: '#/components/schemas/ArticleAuthorResponse'
type: array
created_at:
description: Date and time on which the article was created, in ISO 8601 UTC format (2020-02-10T10:40:45Z)
example: '2019-10-06T13:15:30Z'
format: date-time
type: string
expires_at:
description: Date and time for the expiration of the article, in ISO 8601 UTC format (2020-02-10T10:40:45Z)
example: '2019-10-07T13:15:30Z'
format: date-time
type:
- string
- 'null'
file_location:
description: Location of the folder containing the article in the library
example: /all assets/
type: string
folder_id:
description: ID of the folder containing the article in the library
example: 6bb8db20a5b611ebae319b7c541b1a5a
type:
- string
- 'null'
group_id:
description: Unique identifier of the source article in case of copied or translated articles
example: 7949c82ce3ae11eba378dbacdf18f20c
type:
- string
- 'null'
html_body:
description: Content of the article
example: Article text
type: string
id:
description: Unique identifier of the article
example: 5d7f910551b00a722e0418830cee6631
type: string
images:
description: Featured images of the article
items:
$ref: '#/components/schemas/FeaturedImageResponse'
type: array
is_archived:
description: Whether the article is archived or not
example: false
type: boolean
labels:
description: Labels associated with the article
items:
$ref: '#/components/schemas/ResourceLabelResponse'
type: array
lang_code:
description: Language code depicting the language of the article
example: eng
type:
- string
- 'null'
meta_description:
description: Meta description of the article
example: Article text
type:
- string
- 'null'
meta_keywords:
description: Meta Keywords of the article
example:
- key
- word
- keyword
items:
type: string
type: array
meta_title:
description: Meta title of the article
example: 3 Ways Influencer Marketing Will Further Mature in 2020
type:
- string
- 'null'
meta_url:
description: Meta URL of the article
example: /
type:
- string
- 'null'
modified_at:
description: Date and time of the most recent modification of the article, in ISO 8601 UTC format (2020-02-10T10:40:45Z)
example: '2019-10-07T13:15:30Z'
format: date-time
type: string
owner_id:
description: ID of the article owner
example: 5108c3a9becac35915111191
type: string
owner_organization_id:
description: ID of owner organization of the article
example: 5108c3a9becac35915111191
type: string
pixel_key:
description: Unique tracking pixel of the article
example: https://pixel.cmp.optimizely.com/px.gif?key=YXJ0aWNsZT0zZmJjN2Y5NmUzYzcxMWViOGVmNTAyNDJhYzEyMDAxOA==
type: string
source_article:
description: Link to the vendor article for Marketplace article or Task article ID for created article
example: https://source-vendor.com/sample-article
type:
- string
- 'null'
source_name:
description: Name of the article's source
example: Optimizely CMP
type:
- string
- 'null'
tags:
description: Tags for the article
items:
$ref: '#/components/schemas/Tag'
type: array
thumbnail_url:
description: URL of the thumbnail of the article
example: http://images.cmp.optimizely.com/Zz0xODQ3NDU3Y2Y2YmYzOTlmNjkyOTgyZDY3Y2I3YWM2OA==
type:
- string
- 'null'
title:
description: Title of the article
example: 3 Ways Influencer Marketing Will Further Mature in 2020
type: string
url:
description: Link to the published article
example: https://example.com/sample-article
type:
- string
- 'null'
version_id:
description: Version id of article
example: 5d7f910551b00a722e0418830cee6631
type: string
version_number:
description: Version number of article
example: 2
type: integer
required:
- id
- title
- created_at
- modified_at
- html_body
- folder_id
- url
- file_location
- is_archived
- labels
- group_id
- meta_title
- meta_description
- meta_url
- meta_keywords
- source_article
- source_name
- authors
- lang_code
- pixel_key
- images
- owner_organization_id
- expires_at
- thumbnail_url
- version_number
- version_id
- tags
- owner_id
type: object
RadioButtonTypeObjectField:
allOf:
- $ref: '#/components/schemas/BaseObjectField'
- $ref: '#/components/schemas/RadioButtonTypeObjectFieldUpdatePayload'
LibraryVideo:
additionalProperties: false
properties:
allow_se_indexing:
description: Whether the video is allowed to be indexed by search engines
example: true
type: boolean
alt_text:
description: Alternative text for video
example: video title
type:
- string
- 'null'
attribution_text:
description: Attribution of Video
example: Sci-fi
type:
- string
- 'null'
created_at:
description: Date and time on which the video was created, in ISO 8601 UTC format (2020-02-10T10:40:45Z)
example: '2019-10-06T13:15:30Z'
format: date-time
type: string
description:
description: Description of the video
example: Very important video
type:
- string
- 'null'
expires_at:
description: Date and time for the expiration of the video, in ISO 8601 UTC format (2020-02-10T10:40:45Z)
example: '2019-10-07T13:15:30Z'
format: date-time
type:
- string
- 'null'
file_extension:
description: File extension of the video file
example: mp4
type:
- string
- 'null'
file_location:
description: Location of the folder containing the video in the library
example: /example/
type: string
file_size:
description: Size of the video in bytes
example: 11244
type: integer
folder_id:
description: ID of the folder containing the video in the library
example: 6bb8db20a5b611ebae319b7c541b1a5a
type:
- string
- 'null'
id:
description: Unique identifier for the video
example: 5d7f910551b00a722e0418830cee6633
type: string
is_archived:
description: Whether the video is archived or not
example: true
type: boolean
is_public:
description: Whether the video URL is public
example: true
type: boolean
labels:
description: Labels associated with the video
items:
$ref: '#/components/schemas/ResourceLabelResponse'
type: array
mime_type:
description: MIME type of the video
example: video/mp4
type: string
modified_at:
description: Date and time of the most recent modification of the video, in ISO 8601 UTC format (2020-02-10T10:40:45Z)
example: '2019-10-07T13:15:30Z'
format: date-time
type: string
owner_id:
description: ID of the video owner
example: 5108c3a9becac35915111191
type: string
owner_organization_id:
description: ID of owner organization of the video
example: 5108c3a9becac35915111191
type: string
tags:
description: Tags for the video
items:
$ref: '#/components/schemas/Tag'
type: array
thumbnail_url:
description: URL of the thumbnail of the video
example: http://images.cmp.optimizely.com/Zz0xODQ3NDU3Y2Y2YmYzOTlmNjkyOTgyZDY3Y2I3YWM2OA==
type:
- string
- 'null'
title:
description: Title of the video
example: product.mp4
type: string
url:
description: Download the URL of the video
example: https://videos.cmp.optimizely.com/03a747babe81ceb55763fa085bqa20dc
type: string
version_id:
description: Version id of video
example: 5d7f910551b00a722e0418830cee6631
type: string
version_number:
description: Version number of video
example: 2
type: integer
required:
- id
- title
- description
- mime_type
- file_extension
- created_at
- modified_at
- file_size
- folder_id
- file_location
- is_archived
- is_public
- allow_se_indexing
- url
- labels
- owner_organization_id
- expires_at
- thumbnail_url
- version_number
- version_id
- alt_text
- tags
- attribution_text
- owner_id
type: object
LibraryStructuredContentCreateRequest:
additionalProperties: false
properties:
content_body:
description: The structured content body
properties:
content_type_guid:
description: The guid of the content's content type
title: Contenttypeguid
type: string
expired:
description: Expired status of the content
title: Expired
type: boolean
expiry_datetime:
description: Date and time on which the content will expire, in ISO 8601 UTC format
format: date-time
title: Expirydatetime
type:
- string
- 'null'
fields:
$ref: '#/components/schemas/StructuredContentBody'
title: fields
type:
- object
- 'null'
root_content:
description: This is true when the content is not embedded in another content through a content type reference field
title: Rootcontent
type: boolean
source:
description: Source of the content
title: Source
type:
- string
- 'null'
source_id:
description: Source id of the content
title: Sourceid
type:
- string
- 'null'
source_metadata:
description: Source metadata of the content
title: Sourcemetadata
type:
- string
- 'null'
title:
description: Title of the structured content
example: Some webpage
type: string
required:
- content_type_guid
- root_content
type: object
folder_id:
description: ID of the folder containing the structured content in the library
example: 6bb8db20a5b611ebae319b7c541b1a5a
type:
- string
- 'null'
title:
description: Title of the structured content asset
type: string
required:
- content_body
type: object
LibraryVideoUpdateRequest:
additionalProperties: false
properties:
allow_se_indexing:
description: Whether the video is allowed to be indexed by search engines
example: true
type: boolean
alt_text:
description: Alt text of the video. Set an empty string to clear the alt text.
example: Sample alt text
minLength: 0
type: string
attribution_text:
description: Attribution text of the video. Set an empty string to clear the attribution text.
example: Sample attribution text
minLength: 0
type: string
description:
description: Description of the video. Set an empty string to clear the description.
example: A short video on product demo
minLength: 0
type: string
expires_at:
description: Date and time when the video expires, in ISO 8601 UTC format
example: '2019-10-07T13:15:30Z'
format: date-time
type:
- string
- 'null'
folder_id:
description: ID of the folder containing the video in the library
example: 6bb8db20a5b611ebae319b7c541b1a5a
type:
- string
- 'null'
is_archived:
description: Whether the video should be archived
example: true
type: boolean
is_public:
description: Whether the video URL should be public
example: true
type: boolean
labels:
deprecated: true
description: Please use [PUT /assets/{asset_id}/fields](https://docs.developers.optimizely.com/content-marketing-platform/reference/put_assets-asset-id-fields) or [PUT /assets/{asset_id}/fields/{field_id}](https://docs.developers.optimizely.com/content-marketing-platform/reference/put_assets-asset-id-fields-field-id) API to update label type asset fields
items:
$ref: '#/components/schemas/ResourceLabelRequest'
type: array
tags:
description: Tags of the video. Provided tags will replace the existing ones. Set an empty array to clear the existing tags.
example:
- dhaka
- new york
- london
items:
maxLength: 100
minLength: 1
type: string
maxItems: 100
minItems: 0
type: array
uniqueItems: true
title:
description: Title of the video
example: product.mp4
minLength: 1
type: string
type: object
ContentFieldValueModel:
properties:
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
type: object
BasePermissionsResponseSchema:
additionalProperties: false
properties:
access_type:
description: level of access the accessor has to the resource
enum:
- view
- edit
- comment
- delete
example: view
type: string
id:
description: Unique identifier of the accessor
example: 5d7f910551b00a722e0418830cee6631
type: string
is_owner:
description: Indicates if the accessor is the owner of the object
example: false
type: boolean
links:
additionalProperties: false
properties:
accessor:
description: links for user and team type objects
example: https://api.cmp.optimizely.com/v3/users/5f857f30e1c4a2038d6179e9
type:
- string
- 'null'
required:
- accessor
type: object
name:
description: Name of the accessor
example: John Doe
type: string
type:
description: Type of the accessor
enum:
- user
- team
- organization
example: user
type: string
required:
- id
- name
- type
- access_type
- is_owner
- links
type: object
AssetTypeObjectField:
allOf:
- $ref: '#/components/schemas/BaseObjectField'
- $ref: '#/components/schemas/AssetTypeObjectFieldUpdatePayload'
AssetRequest:
type: object
additionalProperties: false
properties:
key:
type: string
maxLength: 100
description: Unique identifier of the file upload session. This is the `upload_meta_fields.key` field which was retrieved from the `/v3/upload-url` endpoint
title:
type: string
minLength: 1
maxLength: 100
description: Title of the asset
example: sample_image.png
required:
- key
- title
AssetResponse_2:
type: object
additionalProperties: false
properties:
id:
type: string
description: Unique identifier for the asset
example: 5d7f910551b00a722e0418830cee6631
title:
type: string
description: Title of the asset
example: sample_image.png
type:
type: string
enum:
- article
- image
- video
- raw_file
description: Type of the asset
example: image
mime_type:
type: string
description: MIME type of the asset
example: image/png
created_at:
type: string
format: date-time
description: Date and time, in ISO 8601 UTC format, on which the asset has been created (eg. 2020-02-10T10:40:45Z)
example: '2019-10-06T13:15:30Z'
modified_at:
type: string
format: date-time
description: Date and time, in ISO 8601 UTC format, of the most recent modification of the asset (eg. 2020-02-10T10:40:45Z)
example: '2019-10-07T13:15:30Z'
folder_id:
type:
- string
- 'null'
description: ID of the folder containing the asset in Library
example: 6bb8db20a5b611ebae319b7c541b1a5a
file_location:
type: string
description: Location of the folder containing the asset in Library
example: /all assets/important assets
content:
$ref: '#/components/schemas/AssetContent_2'
labels:
type: array
description: Labels associated to the asset
items:
$ref: '#/components/schemas/ResourceLabelResponse'
links:
type: object
additionalProperties: false
description: Meta links
properties:
self:
type: string
description: URL of the asset, currently only GET is supported
example: https://api.welcomesoftware.com/v3/images/5d7f910551bw0a722e0418830cee6631
required:
- self
owner_organization_id:
type: string
description: ID of the asset's owner organization
example: 5108c3a9becac35915111191
required:
- id
- title
- type
- mime_type
- created_at
- modified_at
- folder_id
- file_location
- content
- labels
- links
- owner_organization_id
FolderResponse_2:
type: object
additionalProperties: false
properties:
id:
type: string
description: Unique identifier of the folder
example: 5d7f910551b00a722e0418830cee6632
name:
type: string
description: Name of the folder
example: icons
parent_folder_id:
type:
- string
- 'null'
description: ID of the parent of the folder
example: 1d9d8aeca10811ebbc640242ac12001b
path:
type: string
description: Folder location
example: /images/icons
created_at:
type: string
format: date-time
description: Date and time, in ISO 8601 UTC format, on which the folder has been created (eg. 2020-02-10T10:40:45Z)
example: '2019-10-06T13:15:30Z'
modified_at:
type: string
format: date-time
description: Date and time, in ISO 8601 UTC format, of the most recent modification of the folder (eg. 2020-02-10T10:40:45Z)
example: '2019-10-07T13:15:30Z'
links:
type: object
additionalProperties: false
description: Meta links
properties:
self:
type: string
description: URL of the folder
example: https://api.welcomesoftware.com/v3/folders/5d7f910551b00a722e0418830cee6632
parent_folder:
type:
- string
- 'null'
description: URL of the parent of the folder
example: https://api.welcomesoftware.com/v3/folders/1d9d8aeca10811ebbc640242ac12001b
child_folders:
type: string
description: URL of the children list of the folder
example: https://api.welcomesoftware.com/v3/folders?parent_folder_id=5d7f910551b00a722e0418830cee6632
assets:
type: string
description: URL of the assets inside the folder
example: https://api.welcomesoftware.com/v3/assets?folder_id=5d7f910551b00a722e0418830cee6632&include_subfolder_assets=false
required:
- self
- parent_folder
- child_folders
- assets
required:
- id
- name
- parent_folder_id
- path
- created_at
- modified_at
- links
Pagination_2:
type: object
additionalProperties: false
description: Pagination related information
properties:
next:
type:
- string
- 'null'
description: URL to the next page
example: https://api.welcomesoftware.com/?offset=10&page_size=10
previous:
type:
- string
- 'null'
description: URL to the previous page
example: null
required:
- next
- previous
LibraryRawFile_2:
type: object
additionalProperties: false
properties:
id:
type: string
description: Unique identifier of the raw file
example: 5d7f910551b00a722e0418830cee6634
title:
type: string
description: Title of the raw file
example: documents.zip
description:
type:
- string
- 'null'
description: Description of the raw file
example: Very important file
mime_type:
type: string
description: MIME type of the raw file
example: application/zip
created_at:
type: string
format: date-time
description: Date and time, in ISO 8601 UTC format, on which the raw file has been created (eg. 2020-02-10T10:40:45Z)
example: '2019-10-06T13:15:30Z'
modified_at:
type: string
format: date-time
description: Date and time, in ISO 8601 UTC format, of the most recent modification of the raw file (eg. 2020-02-10T10:40:45Z)
example: '2019-10-07T13:15:30Z'
file_size:
type: integer
description: Size of the raw file in bytes
example: 11244
folder_id:
type:
- string
- 'null'
description: ID of the folder containing the raw file in Library
example: 6bb8db20a5b611ebae319b7c541b1a5a
file_location:
type: string
description: Location of the folder containing the raw file in Library
example: /all files/
is_public:
type: boolean
description: Whether the raw file url is public or not
example: true
url:
type: string
description: Download url of the raw file
example: https://s3.amazonaws.com/files.welcomesoftware.com/171451644651701b96f1122009f026bc
labels:
type: array
description: Labels associated to the raw file
items:
$ref: '#/components/schemas/ResourceLabelResponse'
owner_organization_id:
type: string
description: ID of owner organization of the raw file
example: 5108c3a9becac35915111191
required:
- id
- title
- description
- mime_type
- created_at
- modified_at
- file_size
- folder_id
- file_location
- is_public
- url
- labels
- owner_organization_id
LibraryRawFilePatchRequest:
type: object
additionalProperties: false
properties:
title:
type: string
minLength: 1
description: Title of the raw file
example: documents.zip
is_public:
type: boolean
description: Whether the raw file url should be public or not
example: true
labels:
type: array
description: Labels to associate with the raw file
items:
$ref: '#/components/schemas/ResourceLabelRequest'
LibraryAssetVersionResponse_2:
type: object
additionalProperties: false
properties:
version_number:
type: integer
description: The serial number of the version
example: 2
asset_id:
type: string
description: Unique identifier of the asset
example: 5d7f910551b00a722e0418830cee6631
title:
type: string
description: Title of the asset
example: sample_image.png
type:
type: string
enum:
- image
- video
- raw_file
description: Type of the version
example: image
mime_type:
type: string
description: MIME type of the version
example: image/png
created_at:
type: string
format: date-time
description: Date and time, in ISO 8601 UTC format, on which the version has been created (eg. 2020-02-10T10:40:45Z)
example: '2019-10-06T13:15:30Z'
content:
description: Content of the version
type: object
additionalProperties: false
properties:
type:
type: string
description: Type of the content
enum:
- url
example: url
value:
type: string
description: Content of the version. For image, raw file and video it is the download URL
example: http://images.welcomesoftware.com/Zz0xODQ3NDU3Y2Y2YmYzOTlmNjkyOTgyZDY3Y2I3YWM2OA==S
required:
- type
- value
links:
type: object
additionalProperties: false
description: Meta links
properties:
asset:
type: string
description: URL of the asset that the version is associated with
example: https://api.welcomesoftware.com/v3/images/5d7f910551b00a722e0418830cee6631
required:
- asset
required:
- version_number
- asset_id
- title
- type
- mime_type
- created_at
- content
- links
FeaturedImageResponse_2:
type: object
additionalProperties: false
properties:
attribution_text:
type:
- string
- 'null'
description: Attribution text of the featured image
example: This is a sample attribution text
caption:
type: string
description: Caption of the featured image
example: This is a sample caption
description:
type:
- string
- 'null'
description: Description of the featured image
example: This is a sample description
mime_type:
type: string
description: MIME type of the featured image
example: image/jpeg
source:
type: object
description: Source of the featured image
additionalProperties: false
properties:
name:
type:
- string
- 'null'
description: Organization or vendor name of the featured image
example: Reuters
required:
- name
url:
type: string
description: URL of the featured image
example: https://images-cdn.welcomesoftware.com/sample.jpeg
height:
type: integer
description: Height of the featured image in pixels
example: 400
width:
type: integer
description: Width of the featured image in pixels
example: 700
thumbnail:
type:
- string
- 'null'
description: URL of the featured image thumbnail
example: https://images-cdn.welcomesoftware.com/Zz01Y2FkOWFjZWQ5OTMxMWViYjY3OTEzNDMzOWM3ZDNhNA==?width=75&height=75
required:
- attribution_text
- caption
- description
- mime_type
- source
- height
- width
- thumbnail
- url
LibraryArticle_2:
type: object
additionalProperties: false
properties:
id:
type: string
description: Unique identifier of the article
example: 5d7f910551b00a722e0418830cee6631
title:
type: string
description: Title of the article
example: 3 Ways Influencer Marketing Will Further Mature in 2020
created_at:
type: string
format: date-time
description: Date and time, in ISO 8601 UTC format, on which the article has been created (eg. 2020-02-10T10:40:45Z)
example: '2019-10-06T13:15:30Z'
modified_at:
type: string
format: date-time
description: Date and time, in ISO 8601 UTC format, of the most recent modification of the article (eg. 2020-02-10T10:40:45Z)
example: '2019-10-07T13:15:30Z'
html_body:
type: string
description: Content of the article
example: Article text
folder_id:
type:
- string
- 'null'
description: ID of the folder containing the article in Library
example: 6bb8db20a5b611ebae319b7c541b1a5a
file_location:
type: string
description: Location of the folder containing the article in Library
example: /all assets/
labels:
type: array
description: Labels associated to the article
items:
$ref: '#/components/schemas/ResourceLabelResponse'
group_id:
type:
- string
- 'null'
description: Unique identifier of the source article in case of copied or translated articles
example: 7949c82ce3ae11eba378dbacdf18f20c
meta_title:
type:
- string
- 'null'
description: Meta title of the article
example: 3 Ways Influencer Marketing Will Further Mature in 2020
meta_description:
type:
- string
- 'null'
description: Meta description of the article
example: Article text
meta_url:
type:
- string
- 'null'
description: Meta url of the article
example: /
meta_keywords:
type: array
description: Meta Keywords of the article
items:
type: string
example:
- key
- word
- keyword
source_article:
type:
- string
- 'null'
description: Link to the vendor article for Marketplace article or Task article ID for created article
example: https://source-vendor.com/sample-article
url:
type:
- string
- 'null'
description: Link to the published article
example: https://welcomesoftware.com/sample-article
authors:
type: array
description: List of authors of the article
items:
$ref: '#/components/schemas/ArticleAuthorResponse'
lang_code:
type:
- string
- 'null'
description: Language code depicting language of the article
example: eng
pixel_key:
type: string
description: Unique tracking pixel of the article
example: https://pixel.welcomesoftware.com/px.gif?key=YXJ0aWNsZT0zZmJjN2Y5NmUzYzcxMWViOGVmNTAyNDJhYzEyMDAxOA==
images:
type: array
description: Featured images of the article
items:
$ref: '#/components/schemas/FeaturedImageResponse_2'
owner_organization_id:
type: string
description: ID of owner organization of the article
example: 5108c3a9becac35915111191
required:
- id
- title
- created_at
- modified_at
- html_body
- folder_id
- url
- file_location
- labels
- group_id
- meta_title
- meta_description
- meta_url
- meta_keywords
- source_article
- authors
- lang_code
- pixel_key
- images
- owner_organization_id
AssetContent_2:
description: Content of the asset
type: object
additionalProperties: false
properties:
type:
type: string
description: Type of the content. For article it is `html_body` and for image, raw file and video it is `url`
enum:
- url
- html_body
example: url
value:
type: string
description: Content of the asset. For article it is the html body and for image, raw file and video it is the download URL
example: http://images.welcomesoftware.com/Zz0xODQ3NDU3Y2Y2YmYzOTlmNjkyOTgyZDY3Y2I3YWM2OA==S
required:
- type
- value
LibraryVideoPatchRequest:
type: object
additionalProperties: false
properties:
title:
type: string
minLength: 1
description: Title of the video
example: product.mp4
is_public:
type: boolean
description: Whether the video url should be public or not
example: true
labels:
type: array
description: Labels to associate with the video
items:
$ref: '#/components/schemas/ResourceLabelRequest'
LibraryVideo_2:
type: object
additionalProperties: false
properties:
id:
type: string
description: Unique identifier for the video
example: 5d7f910551b00a722e0418830cee6633
title:
type: string
description: Title of the video
example: product.mp4
description:
type:
- string
- 'null'
description: Description of the video
example: Very important video
mime_type:
type: string
description: MIME type of the video
example: video/mp4
created_at:
type: string
format: date-time
description: Date and time, in ISO 8601 UTC format, on which the video has been created (eg. 2020-02-10T10:40:45Z)
example: '2019-10-06T13:15:30Z'
modified_at:
type: string
format: date-time
description: Date and time, in ISO 8601 UTC format, of the most recent modification of the video (eg. 2020-02-10T10:40:45Z)
example: '2019-10-07T13:15:30Z'
file_size:
type: integer
description: Size of the video in bytes
example: 11244
folder_id:
type:
- string
- 'null'
description: ID of the folder containing the video in Library
example: 6bb8db20a5b611ebae319b7c541b1a5a
file_location:
type: string
description: Location of the folder containing the video in Library
example: /example/
is_public:
type: boolean
description: Whether the video url is public or not
example: true
url:
type: string
description: Download url of the video
example: https://s3.amazonaws.com/videos.welcomesoftware.com/03a747babe81ceb55763fa085bqa20dc
labels:
type: array
description: Labels associated to the video
items:
$ref: '#/components/schemas/ResourceLabelResponse'
owner_organization_id:
type: string
description: ID of owner organization of the video
example: 5108c3a9becac35915111191
required:
- id
- title
- description
- mime_type
- created_at
- modified_at
- file_size
- folder_id
- file_location
- is_public
- url
- labels
- owner_organization_id
LibraryImagePatchRequest:
type: object
additionalProperties: false
properties:
title:
type: string
minLength: 1
description: Title of the image
example: cat.jpeg
is_public:
type: boolean
description: Whether the image url should be public or not
example: true
labels:
type: array
description: Labels to associate with the image
items:
$ref: '#/components/schemas/ResourceLabelRequest'
LibraryImage_2:
type: object
additionalProperties: false
properties:
id:
type: string
description: Unique identifier of the image
example: 5d7f910551b00a722e0418830cee6632
title:
type: string
description: Title of the image
example: cat.jpeg
description:
type:
- string
- 'null'
description: Description of the image
example: Very important image
mime_type:
type: string
description: MIME type of the image
example: image/jpeg
created_at:
type: string
format: date-time
description: Date and time, in ISO 8601 UTC format, on which the image has been created (eg. 2020-02-10T10:40:45Z)
example: '2019-10-06T13:15:30Z'
modified_at:
type: string
format: date-time
description: Date and time, in ISO 8601 UTC format, of the most recent modification of the image (eg. 2020-02-10T10:40:45Z)
example: '2019-10-07T13:15:30Z'
file_size:
type: integer
description: Size of the image in bytes
example: 11244
image_resolution:
type: object
additionalProperties: false
description: Width and height of the image in pixels
properties:
height:
type: integer
description: Height of the image in pixels
example: 800
width:
type: integer
description: Width of the image in pixels
example: 700
required:
- height
- width
folder_id:
type:
- string
- 'null'
description: ID of the folder containing the image in Library
example: 6bb8db20a5b611ebae319b7c541b1a5a
file_location:
type: string
description: Location of the folder containing the image in Library
example: /images/
is_public:
type: boolean
description: Whether the image url is public or not
example: true
url:
type: string
description: Download URL of the image
example: http://images.welcomesoftware.com/Zz0xODQ3NDU3Y2Y2YmYzOTlmNjkyOTgyZDY3Y2I3YWM2OA==
labels:
type: array
description: Labels associated to the image
items:
$ref: '#/components/schemas/ResourceLabelResponse'
owner_organization_id:
type: string
description: ID of owner organization of the image
example: 5108c3a9becac35915111191
required:
- id
- title
- description
- mime_type
- created_at
- modified_at
- file_size
- image_resolution
- folder_id
- file_location
- is_public
- url
- labels
- owner_organization_id
parameters:
page_size:
description: Number of results to return per page
example: 15
in: query
name: page_size
schema:
default: 10
maximum: 100
minimum: 1
type: integer
offset:
description: Starting index of results (zero indexed)
example: 5
in: query
name: offset
schema:
default: 0
minimum: 0
type: integer
responses:
UnprocessableEntity:
content:
application/json:
example:
message: Resource cannot be processed
schema:
$ref: '#/components/schemas/Error'
description: Unprocessable entity error
Unauthorized:
content:
application/json:
example:
message: Unauthorized
schema:
$ref: '#/components/schemas/Error'
description: Authorization error
NotFound:
content:
application/json:
example:
message: Resource not found
schema:
$ref: '#/components/schemas/Error'
description: Not found error
Forbidden:
content:
application/json:
example:
message: You do not have the permission to perform this operation
schema:
$ref: '#/components/schemas/Error'
description: Permission error
ClientError:
content:
application/json:
example:
message: 'Unsupported arguments: a,b,c'
schema:
$ref: '#/components/schemas/Error'
description: Client error
Forbidden_2:
description: Permission error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
message: User does not have the permission to perform this operation
UnprocessableEntity_2:
description: Unprocessable entity error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
message: Resource is unprocessable
securitySchemes:
OAuth2:
flows:
authorizationCode:
authorizationUrl: https://accounts.cmp.optimizely.com/o/oauth2/v1/auth
scopes:
offline_access: Grants the ability to refresh access_token using the refresh token even when user is not present (not logged in).
openid: Grants the ability to receive a unique identifier for the user.
profile: Grants access to user profile information.
tokenUrl: https://accounts.cmp.optimizely.com/o/oauth2/v1/token
clientCredentials:
scopes: {}
tokenUrl: https://accounts.cmp.optimizely.com/o/oauth2/v1/token
type: oauth2
x-refined-from:
- newscred-cmp-open-api-openapi.json
- newscred-welcome-open-api-openapi.yml
x-tagGroups:
- name: API
tags:
- Uploader
- Library
- Labels
- Brand Compliance
- Tasks
- Task Step
- Campaigns
- Publishing
- Templates
- Users
- Work Requests
- Structured Contents
- Assets
- Milestones
- Teams
- Settings
- Workflows
- Fields
- Events