generated: '2026-08-26' method: derived source: openapi/newscred-cmp-open-api-openapi.json api: Optimizely CMP Open API v3 note: 'Entity-relationship graph derived mechanically from the CMP OpenAPI: $ref edges between component schemas plus *_id / *_ids reference fields. Nothing here is asserted beyond what the contract declares. CMP does NOT publish an id-prefix scheme — identifiers are bare 24- or 32-character hex strings (e.g. 8q7f910551b00a722e0418830cee6612), so an id carries no type information and MUST be resolved through the endpoint that produced it. Payloads compensate with a links object of absolute API URLs; the docs tell consumers to follow those links rather than build paths.' id_scheme: prefixed: false shape: opaque hex string (24 or 32 chars) note: No type-bearing prefix; resolve via links.self. domains: - domain: Tasks operations: 44 - domain: Library operations: 41 - domain: Structured Contents operations: 17 - domain: Work Requests operations: 16 - domain: Campaigns operations: 10 - domain: Events operations: 6 - domain: Fields operations: 6 - domain: Publishing operations: 5 - domain: Milestones operations: 4 - domain: Uploader operations: 4 - domain: Brand Compliance operations: 3 - domain: Users operations: 3 - domain: Settings operations: 2 - domain: Teams operations: 2 - domain: Templates operations: 2 - domain: Workflows operations: 2 - domain: Assets operations: 1 - domain: Labels operations: 1 - domain: Task Step operations: 1 schema_count: 359 relationship_count: 264 relationships: - from: AssetFieldUpdateResponse to: AssetFieldTypes type: has_one via: type - from: AssetLineageCreateRequest to: rendition type: belongs_to via: rendition_id - from: AssetLineageResponse to: asset type: belongs_to via: asset_id - from: AssetLineageResponse to: rendition type: belongs_to via: rendition_id - from: AssetLineageResponse to: version type: belongs_to via: version_id - from: AssetPermissionListResponseItem to: BasePermissionsResponseSchema type: has_many via: data - from: AssetPermissionListResponseItem to: Pagination type: has_one via: pagination - from: AssetResponse to: AssetContent type: has_one via: content - from: AssetResponse to: folder type: belongs_to via: folder_id - from: AssetResponse to: ResourceLabelResponse type: has_many via: labels - from: AssetResponse to: owner_organization type: belongs_to via: owner_organization_id - from: BaseFieldDefinition to: BaseFieldDefinitionType type: has_one via: base_type - from: BaseFieldDefinition to: CoreFieldDef type: has_one via: core - from: BaseFieldDefinition to: LocationDefaultValue type: has_many via: default_values - from: CampaignBriefResponse to: CampaignBriefTemplateValue type: has_one via: template - from: CampaignCommentResponse to: AttachmentResponse type: has_many via: attachments - from: CampaignCommentResponse to: parent_comment type: belongs_to via: parent_comment_id - from: CampaignCreateRequest to: owner type: belongs_to via: owner_id - from: CampaignFieldUpdateResponse to: CampaignFieldTypes type: has_one via: type - from: CampaignListResponseItem to: reference type: belongs_to via: reference_id - from: CampaignResponse to: BudgetResponse type: has_one via: budget - from: CampaignResponse to: ResourceLabelResponse type: has_many via: labels - from: CampaignResponse to: reference type: belongs_to via: reference_id - from: CampaignUpdateRequest to: owner type: belongs_to via: owner_id - from: ChoiceFieldDefinition to: CoreFieldDef type: has_one via: core - from: ChoiceFieldDefinition to: ChoiceDisplayOption type: has_one via: display_option - from: CommentCreateRequest to: AttachmentRequest type: has_many via: attachments - from: CommentWithReplyCreateRequest to: AttachmentRequest type: has_many via: attachments - from: CommentWithReplyCreateRequest to: parent_comment type: belongs_to via: parent_comment_id - from: ContentFieldValueExpandedModel to: ContentDetailsModel type: has_one via: content_details - from: ContentFieldValueWithEmbeddedModel to: RecursiveStructuredContent type: has_one via: content_details - from: ContentFieldWithEmbeddedPatchValueModel to: content type: belongs_to via: content_id - from: ContentFieldWithEmbeddedPatchValueModel to: RecursivePatchStructuredContentFields type: has_one via: patch_details - from: ContentFieldsVersionDetails to: LocalizedFieldValues type: has_one via: fields - from: ContentFieldsVersionDetails to: source type: belongs_to via: source_id - from: ContentFieldsVersionDetails to: ContentFieldsVersionValidation type: has_one via: validation - from: ContentFieldsVersionValidation to: error_reason type: has_one via: fields - from: ContentTypeFieldDefinition to: AllowedContentTypeItem type: has_one via: content_type_links - from: ContentTypeFieldDefinition to: CoreFieldDef type: has_one via: core - from: ContentTypeFieldDefinition to: ContentTypeFieldEmbedMixConfig type: has_one via: ref_type - from: CoreFieldDef to: FieldType type: has_one via: field_type - from: CoreFieldDef to: source type: belongs_to via: source_id - from: DatetimeFieldDefinition to: CoreFieldDef type: has_one via: core - from: EventCreateRequest to: campaign type: belongs_to via: campaign_id - from: EventCreateRequest to: MultiChoiceTypeObjectField type: has_many via: fields - from: EventCreateRequest to: StringTypeObjectField type: has_many via: fields - from: EventCreateRequest to: DropdownTypeObjectField type: has_many via: fields - from: EventCreateRequest to: DateTypeObjectField type: has_many via: fields - from: EventCreateRequest to: AssetTypeObjectField type: has_many via: fields - from: EventCreateRequest to: RadioButtonTypeObjectField type: has_many via: fields - from: EventCreateRequest to: NumberTypeObjectField type: has_many via: fields - from: EventResponse to: campaign type: belongs_to via: campaign_id - from: EventResponse to: reference type: belongs_to via: reference_id - from: FolderCreateRequest to: parent_folder type: belongs_to via: parent_folder_id - from: FolderPermissionListResponseItem to: BasePermissionsResponseSchema type: has_many via: data - from: FolderPermissionListResponseItem to: Pagination type: has_one via: pagination - from: FolderResponse to: parent_folder type: belongs_to via: parent_folder_id - from: FolderUpdateRequest to: parent_folder type: belongs_to via: parent_folder_id - from: FormField to: LogicRule type: has_many via: logic_rules - from: LabelGroup to: LabelGroupValue type: has_many via: values - from: LibraryArticle to: ArticleAuthorResponse type: has_many via: authors - from: LibraryArticle to: folder type: belongs_to via: folder_id - from: LibraryArticle to: group type: belongs_to via: group_id - from: LibraryArticle to: FeaturedImageResponse type: has_many via: images - from: LibraryArticle to: ResourceLabelResponse type: has_many via: labels - from: LibraryArticle to: owner type: belongs_to via: owner_id - from: LibraryArticle to: owner_organization type: belongs_to via: owner_organization_id - from: LibraryArticle to: Tag type: has_many via: tags - from: LibraryArticle to: version type: belongs_to via: version_id - from: LibraryAssetCreateRequest to: folder type: belongs_to via: folder_id - from: LibraryAssetDefaultValue to: LibraryAssetType type: has_one via: asset_type - from: LibraryAssetFieldDefinition to: LibraryAssetType type: has_many via: allowed_types - from: LibraryAssetFieldDefinition to: CoreFieldDef type: has_one via: core - from: LibraryAssetFieldDefinition to: LibraryAssetDefaultValue type: has_many via: default_values - from: LibraryAssetFieldValueModel to: LibraryAssetType type: has_one via: asset_type - from: LibraryAssetVersionResponse to: asset type: belongs_to via: asset_id - from: LibraryImage to: folder type: belongs_to via: folder_id - from: LibraryImage to: ResourceLabelResponse type: has_many via: labels - from: LibraryImage to: owner type: belongs_to via: owner_id - from: LibraryImage to: owner_organization type: belongs_to via: owner_organization_id - from: LibraryImage to: Tag type: has_many via: tags - from: LibraryImage to: version type: belongs_to via: version_id - from: LibraryImageUpdateRequest to: folder type: belongs_to via: folder_id - from: LibraryImageUpdateRequest to: ResourceLabelRequest type: has_many via: labels - from: LibraryRawFile to: folder type: belongs_to via: folder_id - from: LibraryRawFile to: ResourceLabelResponse type: has_many via: labels - from: LibraryRawFile to: owner type: belongs_to via: owner_id - from: LibraryRawFile to: owner_organization type: belongs_to via: owner_organization_id - from: LibraryRawFile to: Tag type: has_many via: tags - from: LibraryRawFile to: version type: belongs_to via: version_id - from: LibraryRawFileUpdateRequest to: folder type: belongs_to via: folder_id - from: LibraryRawFileUpdateRequest to: ResourceLabelRequest type: has_many via: labels - from: LibraryStructuredContent to: ContentDetailsModel type: has_one via: content_body - from: LibraryStructuredContent to: folder type: belongs_to via: folder_id - from: LibraryStructuredContent to: ResourceLabelResponse type: has_many via: labels - from: LibraryStructuredContent to: owner_organization type: belongs_to via: owner_organization_id - from: LibraryStructuredContentCreateRequest to: StructuredContentBody type: has_one via: content_body - from: LibraryStructuredContentCreateRequest to: folder type: belongs_to via: folder_id - from: LibraryStructuredContentUpdateRequest to: StructuredContentFields type: has_one via: content_body - from: LibraryVideo to: folder type: belongs_to via: folder_id - from: LibraryVideo to: ResourceLabelResponse type: has_many via: labels - from: LibraryVideo to: owner type: belongs_to via: owner_id - from: LibraryVideo to: owner_organization type: belongs_to via: owner_organization_id - from: LibraryVideo to: Tag type: has_many via: tags - from: LibraryVideo to: version type: belongs_to via: version_id - from: LibraryVideoUpdateRequest to: folder type: belongs_to via: folder_id - from: LibraryVideoUpdateRequest to: ResourceLabelRequest type: has_many via: labels - from: LocalizedFieldValues to: RichTextFieldValueModel type: has_many via: field_values - from: LocalizedFieldValues to: TextFieldValueModel type: has_many via: field_values - from: LocalizedFieldValues to: NumberFieldValueModel type: has_many via: field_values - from: LocalizedFieldValues to: ContentFieldValueExpandedModel type: has_many via: field_values - from: LocalizedFieldValues to: JSONFieldValueModel type: has_many via: field_values - from: LocalizedFieldValues to: DatetimeFieldValueModel type: has_many via: field_values - from: LocalizedFieldValues to: ContentFieldValueModel type: has_many via: field_values - from: LocalizedFieldValues to: URLFieldValueModel type: has_many via: field_values - from: LocalizedFieldValues to: LibraryAssetFieldValueModel type: has_many via: field_values - from: LocalizedFieldValues to: ChoiceFieldValueModel type: has_many via: field_values - from: LocalizedFieldValues to: LocationFieldValueModel type: has_many via: field_values - from: LocalizedFieldValues to: BooleanFieldValueModel type: has_many via: field_values - from: LocalizedFieldValuesWithEmbeddedContent to: RichTextFieldValueModel type: has_many via: field_values - from: LocalizedFieldValuesWithEmbeddedContent to: TextFieldValueModel type: has_many via: field_values - from: LocalizedFieldValuesWithEmbeddedContent to: NumberFieldValueModel type: has_many via: field_values - from: LocalizedFieldValuesWithEmbeddedContent to: JSONFieldValueModel type: has_many via: field_values - from: LocalizedFieldValuesWithEmbeddedContent to: DatetimeFieldValueModel type: has_many via: field_values - from: LocalizedFieldValuesWithEmbeddedContent to: ContentFieldValueModel type: has_many via: field_values - from: LocalizedFieldValuesWithEmbeddedContent to: URLFieldValueModel type: has_many via: field_values - from: LocalizedFieldValuesWithEmbeddedContent to: LibraryAssetFieldValueModel type: has_many via: field_values - from: LocalizedFieldValuesWithEmbeddedContent to: ChoiceFieldValueModel type: has_many via: field_values - from: LocalizedFieldValuesWithEmbeddedContent to: LocationFieldValueModel type: has_many via: field_values - from: LocalizedFieldValuesWithEmbeddedContent to: ContentFieldValueWithEmbeddedModel type: has_many via: field_values - from: LocalizedFieldValuesWithEmbeddedContent to: BooleanFieldValueModel type: has_many via: field_values - from: MilestoneCreateRequest to: campaign type: belongs_to via: campaign_id - from: MilestoneUpdateRequest to: campaign type: belongs_to via: campaign_id - from: NumberFieldDefinition to: CoreFieldDef type: has_one via: core - from: PatchLocalizedFieldValuesWithEmbeddedContent to: ContentFieldWithEmbeddedPatchValueModel type: has_many via: field_values - from: PatchLocalizedFieldValuesWithEmbeddedContent to: DeleteFieldValueModel type: has_many via: field_values - from: PatchLocalizedFieldValuesWithEmbeddedContent to: RichTextFieldValueModel type: has_many via: field_values - from: PatchLocalizedFieldValuesWithEmbeddedContent to: TextFieldValueModel type: has_many via: field_values - from: PatchLocalizedFieldValuesWithEmbeddedContent to: NumberFieldValueModel type: has_many via: field_values - from: PatchLocalizedFieldValuesWithEmbeddedContent to: JSONFieldValueModel type: has_many via: field_values - from: PatchLocalizedFieldValuesWithEmbeddedContent to: DatetimeFieldValueModel type: has_many via: field_values - from: PatchLocalizedFieldValuesWithEmbeddedContent to: ContentFieldValueModel type: has_many via: field_values - from: PatchLocalizedFieldValuesWithEmbeddedContent to: URLFieldValueModel type: has_many via: field_values - from: PatchLocalizedFieldValuesWithEmbeddedContent to: LibraryAssetFieldValueModel type: has_many via: field_values - from: PatchLocalizedFieldValuesWithEmbeddedContent to: ChoiceFieldValueModel type: has_many via: field_values - from: PatchLocalizedFieldValuesWithEmbeddedContent to: LocationFieldValueModel type: has_many via: field_values - from: PatchLocalizedFieldValuesWithEmbeddedContent to: ContentFieldValueWithEmbeddedModel type: has_many via: field_values - from: PatchLocalizedFieldValuesWithEmbeddedContent to: BooleanFieldValueModel type: has_many via: field_values - from: PublishingEventMetadataBulkCreateRequest to: PublishingEventMetadataCreateRequest type: has_many via: data - from: PublishingEventMetadataBulkCreateResponse to: PublishingEventMetadataResponse type: has_many via: data - from: PublishingEventMetadataCreateRequest to: asset type: belongs_to via: asset_id - from: PublishingEventMetadataListResponse to: PublishingEventMetadataResponse type: has_many via: data - from: PublishingEventMetadataResponse to: asset type: belongs_to via: asset_id - from: PublishingEventResponse to: PublishingEventAssets type: has_many via: assets - from: RecursivePatchStructuredContentFields to: StructuredContentFields type: has_one via: content_body - from: RecursivePatchStructuredContentFields to: source type: belongs_to via: source_id - from: RecursiveStructuredContent to: source type: belongs_to via: source_id - from: RelatedAssetsListResponse to: RelatedAssetItem type: has_many via: data - from: RelatedAssetsListResponse to: Pagination type: has_one via: pagination - from: RichTextFieldDefinition to: CoreFieldDef type: has_one via: core - from: SettingsCustomField to: MultipleOptionCustomField type: has_many via: checkbox - from: SettingsCustomField to: CurrencyCustomField type: has_many via: currency - from: SettingsCustomField to: LabelOnlyCustomField type: has_many via: date - from: SettingsCustomField to: MultipleOptionCustomField type: has_many via: dropdown - from: SettingsCustomField to: LabelOnlyCustomField type: has_many via: image - from: SettingsCustomField to: MultipleOptionCustomField type: has_many via: multi_select_dropdown - from: SettingsCustomField to: MultipleOptionCustomField type: has_many via: multichoice - from: SettingsCustomField to: NumberCustomField type: has_many via: number - from: SettingsCustomField to: PercentageCustomField type: has_many via: percentage - from: SettingsCustomField to: LabelOnlyCustomField type: has_many via: richtext - from: SettingsCustomField to: LabelOnlyCustomField type: has_many via: string - from: SettingsCustomField to: LabelOnlyCustomField type: has_many via: textarea - from: SettingsCustomField to: LabelOnlyCustomField type: has_many via: video - from: SettingsLabelGroup to: SettingsLabelGroupLabel type: has_many via: labels - from: SettingsTemplate to: FormField type: has_many via: form_fields - from: SettingsTemplate to: Instruction type: has_many via: instructions - from: SettingsTemplate to: Section type: has_many via: sections - from: SettingsWorkflow to: WorkflowChannel type: has_many via: blacklisted_channels - from: SettingsWorkflow to: WorkflowCustomfield type: has_many via: custom_fields - from: SettingsWorkflow to: WorkflowChannel type: has_many via: default_channels - from: SettingsWorkflow to: WorkflowLabel type: has_many via: labels - from: SettingsWorkflow to: WorkflowStep type: has_many via: steps - from: TaskArticle to: ResourceLabelResponse type: has_many via: labels - from: TaskArticle to: library_asset type: belongs_to via: library_asset_id - from: TaskAssetCommentResponse to: AttachmentResponse type: has_many via: attachments - from: TaskAssetDraftResponse to: asset type: belongs_to via: asset_id - from: TaskAssetRequestForLibrary to: content type: belongs_to via: content_id - from: TaskAssetResponse to: AssetContent type: has_one via: content - from: TaskAssetResponse to: ResourceLabelResponse type: has_many via: labels - from: TaskBriefResponse to: TaskBriefTemplateValue type: has_one via: template - from: TaskCommentResponse to: AttachmentResponse type: has_many via: attachments - from: TaskCommentResponse to: parent_comment type: belongs_to via: parent_comment_id - from: TaskCreateRequest to: campaign type: belongs_to via: campaign_id - from: TaskCreateRequest to: owner type: belongs_to via: owner_id - from: TaskCreateRequest to: workflow type: belongs_to via: workflow_id - from: TaskImage to: ResourceLabelResponse type: has_many via: labels - from: TaskImage to: library_asset type: belongs_to via: library_asset_id - from: TaskListResponseItem to: campaign type: belongs_to via: campaign_id - from: TaskListResponseItem to: milestone type: belongs_to via: milestone_id - from: TaskListResponseItem to: reference type: belongs_to via: reference_id - from: TaskListResponseItem to: workflow type: belongs_to via: workflow_id - from: TaskPublishingIntentCreateRequest to: channel type: belongs_to via: channel_id - from: TaskRawFile to: ResourceLabelResponse type: has_many via: labels - from: TaskRawFile to: library_asset type: belongs_to via: library_asset_id - from: TaskResponse to: campaign type: belongs_to via: campaign_id - from: TaskResponse to: ResourceLabelResponse type: has_many via: labels - from: TaskResponse to: milestone type: belongs_to via: milestone_id - from: TaskResponse to: reference type: belongs_to via: reference_id - from: TaskResponse to: TaskStep type: has_many via: steps - from: TaskResponse to: workflow type: belongs_to via: workflow_id - from: TaskStep to: TaskSubStep type: has_many via: sub_steps - from: TaskStructuredContentCreateRequest to: StructuredContentBody type: has_one via: fields - from: TaskStructuredContentCreateRequest to: source type: belongs_to via: source_id - from: TaskStructuredContentDraftRequest to: LocalizedFieldValues type: has_one via: content_body - from: TaskStructuredContentUpdateRequest to: StructuredContentFields type: has_one via: fields - from: TaskStructuredContentUpdateRequest to: source type: belongs_to via: source_id - from: TaskSubStep to: assignee type: belongs_to via: assignee_id - from: TaskSubStepCommentResponse to: AttachmentResponse type: has_many via: attachments - from: TaskSubStepRequest to: assignee type: belongs_to via: assignee_id - from: TaskUpdateRequest to: campaign type: belongs_to via: campaign_id - from: TaskUpdateRequest to: ResourceLabelRequest type: has_many via: labels - from: TaskUpdateRequest to: owner type: belongs_to via: owner_id - from: TaskUpdateRequest to: workflow type: belongs_to via: workflow_id - from: TaskVideo to: ResourceLabelResponse type: has_many via: labels - from: TaskVideo to: library_asset type: belongs_to via: library_asset_id - from: TemplateListResponse to: BaseTemplateResponse type: has_many via: data - from: TemplateListResponse to: Pagination type: has_one via: pagination - from: TextFieldDefinition to: CoreFieldDef type: has_one via: core - from: UserListResponse to: UserListResponseItem type: has_many via: data - from: UserListResponse to: Pagination type: has_one via: pagination - from: WorkRequestCampaignRequest to: owner type: belongs_to via: owner_id - from: WorkRequestCampaignRequest to: parent_campaign type: belongs_to via: parent_campaign_id - from: WorkRequestCampaignResponse to: owner type: belongs_to via: owner_id - from: WorkRequestCampaignResponse to: parent_campaign type: belongs_to via: parent_campaign_id - from: WorkRequestCampaignResponse to: reference type: belongs_to via: reference_id - from: WorkRequestCommentResponse to: AttachmentResponse type: has_many via: attachments - from: WorkRequestCommentResponse to: parent_comment type: belongs_to via: parent_comment_id - from: WorkRequestCreateRequest to: RadioButtonTypeFormFieldRequest type: has_many via: form_fields - from: WorkRequestCreateRequest to: FileTypeFormFieldRequest type: has_many via: form_fields - from: WorkRequestCreateRequest to: MultiChoiceTypeFormFieldRequest type: has_many via: form_fields - from: WorkRequestCreateRequest to: BriefTypeFormFieldRequest type: has_many via: form_fields - from: WorkRequestCreateRequest to: TextTypeFormFieldRequest type: has_many via: form_fields - from: WorkRequestCreateRequest to: NumberTypeFormFieldRequest type: has_many via: form_fields - from: WorkRequestCreateRequest to: DateTypeFormFieldRequest type: has_many via: form_fields - from: WorkRequestCreateRequest to: template type: belongs_to via: template_id - from: WorkRequestRequestFormFieldBriefTypePayload to: WorkRequestTextBriefRequest type: has_many via: values - from: WorkRequestRequestFormFieldBriefTypePayload to: WorkRequestAttachmentBriefRequest type: has_many via: values - from: WorkRequestRequestFormFieldBriefTypeResponse to: WorkRequestTextBriefResponse type: has_many via: values - from: WorkRequestRequestFormFieldBriefTypeResponse to: WorkRequestAttachmentBriefResponse type: has_many via: values - from: WorkRequestResponse to: DateTypeFormFieldResponse type: has_many via: form_fields - from: WorkRequestResponse to: BriefTypeFormFieldResponse type: has_many via: form_fields - from: WorkRequestResponse to: TextTypeFormFieldResponse type: has_many via: form_fields - from: WorkRequestResponse to: MultiChoiceTypeFormFieldResponse type: has_many via: form_fields - from: WorkRequestResponse to: FileTypeFormFieldResponse type: has_many via: form_fields - from: WorkRequestResponse to: RadioButtonTypeFormFieldResponse type: has_many via: form_fields - from: WorkRequestResponse to: NumberTypeFormFieldResponse type: has_many via: form_fields - from: WorkRequestResponse to: reference type: belongs_to via: reference_id - from: WorkRequestTaskRequest to: campaign type: belongs_to via: campaign_id - from: WorkRequestTaskRequest to: owner type: belongs_to via: owner_id - from: WorkRequestTaskRequest to: workflow type: belongs_to via: workflow_id - from: WorkRequestTaskResponse to: owner type: belongs_to via: owner_id - from: WorkRequestTaskResponse to: reference type: belongs_to via: reference_id - from: WorkflowResponse to: ObjectFieldCreateResponse type: has_many via: fields - from: WorkflowStep to: WorkflowSubStep type: has_many via: substeps