Newscred Work Requests API
The Work Requests API from Newscred — 13 operation(s) for work requests.
The Work Requests API from Newscred — 13 operation(s) for work requests.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/newscred-work-requests-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Optimizely CMP Open API Documentation Work Requests API
version: V3
servers:
- description: v3 version of Optimizely CMP Open API
url: https://api.cmp.optimizely.com/v3
security:
- OAuth2:
- openid
- profile
- offline_access
tags:
- name: Work Requests
paths:
/work-requests:
get:
description: '<span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Get a list of work requests. '
operationId: listWorkRequests
parameters:
- example:
- 1265ca474ba987cc925164aa7
- 606995f714ace404593cce4c
in: query
name: created_by
schema:
description: Unique identifier of the creator of the work requests. You can append multiple times, for example `created_by=creator1&created_by=creator2`.
type: string
- example:
- Accepted
- Submitted
in: query
name: status
schema:
description: Status of a work request. You can append multiple times, for example `status=Submitted&status=Declined`
enum:
- Submitted
- Accepted
- Completed
- Declined
type: string
- example: due_date
in: query
name: order_by
schema:
description: Ordering parameter of the work requests.
enum:
- priority
- status
- created_at
- due_date
type: string
- example: desc
in: query
name: order_as
schema:
description: Sorting order of the work requests.
enum:
- asc
- desc
type: string
- description: Unique identifiers of the templates. You can append multiple times, for example `template_ids=template1&template_ids=template2`.
example:
- 1265ca474ba987cc925164aa7
- 606995f714ace404593cce4c
in: query
name: template_ids
schema:
items:
type: string
type: array
- description: Date and time as the lower limit to filter work requests 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 work requests by `created_at`, in ISO 8601 UTC format
example: '2018-12-31T23:59:59Z'
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 work requests
items:
$ref: '#/components/schemas/WorkRequestResponse'
type: array
pagination:
allOf:
- $ref: '#/components/schemas/Pagination'
- properties:
next:
example: https://api.cmp.optimizely.com/v3/work-requests?offset=10&page_size=10
type:
- string
- 'null'
type: object
required:
- data
- pagination
type: object
description: List of fetched work requests
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
summary: GET /work-requests
tags:
- Work Requests
post:
description: '<span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Create a work request. '
operationId: createWorkRequest
requestBody:
content:
application/json:
example:
assignees:
- 74ba987cc9251689abc123
form_fields:
- identifier: title
type: text
values:
- Some title
- identifier: brief
type: brief
values:
- type: attachment_brief
value:
key: 10d5c89aebe611eca11302420ac80002
name: Attachment
- identifier: 630c486a90546926f034ea28
type: richtext
values:
- <b>rich</b> text
- identifier: 630c479690546926f034ea13
type: label
values:
- 630c479690546926f034ea15
- identifier: 630c47be90546926f034ea17
type: dropdown
values:
- 630c47be90546926f034ea18
- identifier: 630c482b90546926f034ea22
type: simple_number
values:
- 1234.345678
- identifier: 630c484b90546926f034ea23
type: percentage_number
values:
- 23
- identifier: 630c481b90546926f034ea21
type: currency_number
values:
- 123.56
- identifier: 630c485e90546926f034ea24
type: checkbox
values:
- 630c485e90546926f034ea25
- identifier: 630c47d290546926f034ea1b
type: radio_button
values:
- 630c47d290546926f034ea1c
- identifier: creative_assets
type: file
values:
- key: creative-asset-key-1
name: Creative Asset 1
- key: creative-asset-key-2
name: Creative Asset 2
- identifier: due_date
type: date
values:
- '2022-02-20T12:02:03.000000Z'
- identifier: media_links
type: text_area
values:
- 'some text
more text'
template_id: 5c89aebe611eca11302420af
schema:
$ref: '#/components/schemas/WorkRequestCreateRequest'
description: Payload to create a work request
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/WorkRequestResponse'
description: Created work request
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
summary: POST /work-requests
tags:
- Work Requests
/work-requests/{id}:
get:
description: '<span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Get a work request by ID. '
operationId: getWorkRequest
parameters:
- example: 9119a313057e401189407116fcd3aa24
in: path
name: id
required: true
schema:
description: Unique identifier of the work request
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/WorkRequestResponse'
description: Fetched work request
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
summary: GET /work-requests/{id}
tags:
- Work Requests
patch:
description: '<span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Updates a work request. '
operationId: updateWorkRequest
parameters:
- example: 9119a313057e401189407116fcd3aa24
in: path
name: id
required: true
schema:
description: Unique identifier of the work request
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WorkRequestUpdateRequest'
description: Payload to update the work request
required: true
responses:
'204':
description: Work request 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 /work-requests/{id}
tags:
- Work Requests
/work-requests/{id}/approved-assets:
get:
description: <span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Get a list of approved assets of a work request.
operationId: listWorkRequestApprovedAssets
parameters:
- example: da80cfd7bbf84959a8a981acbad996b3
in: path
name: id
required: true
schema:
description: Unique identifier of the work request
type: string
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/page_size'
responses:
'200':
content:
application/json:
schema:
additionalProperties: false
properties:
data:
description: List of work request approved assets
items:
$ref: '#/components/schemas/WorkRequestApprovedAssetResponse'
type: array
pagination:
allOf:
- $ref: '#/components/schemas/Pagination'
- properties:
next:
example: https://api.cmp.optimizely.com/v3/work-requests/da80cfd7bbf84959a8a981acbad996b3/approved-assets?offset=10&page_size=10
type:
- string
- 'null'
type: object
required:
- data
- pagination
type: object
description: List of approved assets for the work request
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
summary: GET /work-requests/{id}/approved-assets
tags:
- Work Requests
/work-requests/{id}/attachments:
post:
description: '<span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Create attachments for a work request. '
operationId: addAttachmentToWorkRequest
parameters:
- example: da80cfd7bbf84959a8a981acbad996b3
in: path
name: id
required: true
schema:
description: Unique identifier of the work request
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AttachmentRequest'
description: Payload to create an attachment
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/AttachmentResponse'
description: Created attachment for the work request
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
summary: POST /work-requests/{id}/attachments
tags:
- Work Requests
/work-requests/{id}/campaigns:
post:
description: '<span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Create a new campaign from a work request. '
operationId: createCampaignFromWorkRequest
parameters:
- example: da80cfd7bbf84959a8a981acbad996b3
in: path
name: id
required: true
schema:
description: Unique identifier of the work request
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WorkRequestCampaignRequest'
description: Payload to create a campaign
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/WorkRequestCampaignResponse'
description: Created a campaign from a work request
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
summary: POST /work-requests/{id}/campaigns
tags:
- Work Requests
/work-requests/{id}/comments:
get:
description: '<span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Get list of comments for a work request. '
operationId: listWorkRequestComments
parameters:
- example: da80cfd7bbf84959a8a981acbad996b3
in: path
name: id
required: true
schema:
description: Unique identifier of the work request
type: string
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/page_size'
responses:
'200':
content:
application/json:
schema:
additionalProperties: false
properties:
data:
description: List of work request comments
items:
$ref: '#/components/schemas/WorkRequestCommentResponse'
type: array
pagination:
allOf:
- $ref: '#/components/schemas/Pagination'
- properties:
next:
example: https://api.cmp.optimizely.com/v3/work-requests/da80cfd7bbf84959a8a981acbad996b3/comments?offset=10&page_size=10
type:
- string
- 'null'
type: object
required:
- data
- pagination
type: object
description: List of comments for the work request
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
summary: GET /work-requests/{id}/comments
tags:
- Work Requests
post:
description: '<span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Post a comment on a work request. '
operationId: addCommentToWorkRequest
parameters:
- example: da80cfd7bbf84959a8a981acbad996b3
in: path
name: id
required: true
schema:
description: Unique identifier of the work request
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CommentWithReplyCreateRequest'
description: Payload to add comment
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/WorkRequestCommentResponse'
description: Created comment for the work request
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
summary: POST /work-requests/{id}/comments
tags:
- Work Requests
/work-requests/{id}/creative-assets:
post:
description: '<span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Create creative assets for a work request. '
operationId: createWorkRequestCreativeAsset
parameters:
- example: da80cfd7bbf84959a8a981acbad996b3
in: path
name: id
required: true
schema:
description: Unique identifier of the work request
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreativeAssetRequest'
description: Payload to create creative assets
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CreativeAssetResponse'
description: Created creative asset for the work request
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
summary: POST /work-requests/{id}/creative-assets
tags:
- Work Requests
/work-requests/{id}/related-resources:
get:
description: <span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Get a list of work request related resources.
operationId: listWorkRequestRelatedResources
parameters:
- example: da80cfd7bbf84959a8a981acbad996b3
in: path
name: id
required: true
schema:
description: Unique identifier of the work request
type: string
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/page_size'
responses:
'200':
content:
application/json:
schema:
additionalProperties: false
properties:
data:
description: List of work request related resources
items:
$ref: '#/components/schemas/WorkRequestRelatedResourceResponse'
type: array
pagination:
allOf:
- $ref: '#/components/schemas/Pagination'
- properties:
next:
example: https://api.cmp.optimizely.com/v3/work-requests/5fe4925ef8a9378056bf4e37/related-resources?offset=10&page_size=10
type:
- string
- 'null'
type: object
required:
- data
- pagination
type: object
description: List of fetched work request related resources
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
summary: GET /work-requests/{id}/related-resources
tags:
- Work Requests
/work-requests/{id}/tasks:
post:
description: '<span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Create a new task from a work request. '
operationId: createTaskFromWorkRequest
parameters:
- example: da80cfd7bbf84959a8a981acbad996b3
in: path
name: id
required: true
schema:
description: Unique identifier of the work request
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WorkRequestTaskRequest'
description: Payload to create a task
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/WorkRequestTaskResponse'
description: Created a task from a work request
'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 /work-requests/{id}/tasks
tags:
- Work Requests
/work-requests/{work_request_id}/attachments/{attachment_id}:
delete:
description: <span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Delete a work request attachment.
operationId: deleteWorkRequestAttachment
parameters:
- example: 7674a2a69f8d4eb48e8d4dafaebc7238
in: path
name: work_request_id
required: true
schema:
description: Unique identifier of the work request
type: string
- example: 62f2052962f36e010b9471f1
in: path
name: attachment_id
required: true
schema:
description: Unique identifier of the work request attachment
type: string
responses:
'204':
description: Deleted the attachment
'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 /work-requests/{work_request_id}/attachments/{attachment_id}
tags:
- Work Requests
/work-requests/{work_request_id}/comments/{comment_id}:
get:
description: <span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Get a work request comment by ID.
operationId: getWorkRequestComment
parameters:
- example: da80cfd7bbf84959a8a981acbad996b3
in: path
name: work_request_id
required: true
schema:
description: Unique identifier of the work request
type: string
- example: 5fe38c39574b52a62a089239
in: path
name: comment_id
required: true
schema:
description: Unique identifier of the work request comment
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/WorkRequestCommentResponse'
description: Fetched work request comment
'400':
$ref: '#/components/responses/ClientError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
summary: GET /work-requests/{work_request_id}/comments/{comment_id}
tags:
- Work Requests
/work-requests/{work_request_id}/creative-assets/{creative_asset_id}:
delete:
description: <span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Delete a work request creative asset.
operationId: deleteWorkRequestCreativeAsset
parameters:
- example: 7674a2a69f8d4eb48e8d4dafaebc7238
in: path
name: work_request_id
required: true
schema:
description: Unique identifier of the work request
type: string
- example: 209d2d281e2b11edbac602420ac80012
in: path
name: creative_asset_id
required: true
schema:
description: Unique identifier of the work request creative asset
type: string
responses:
'204':
description: Deleted the creative asset
'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 /work-requests/{work_request_id}/creative-assets/{creative_asset_id}
tags:
- Work Requests
/work-requests/{work_request_id}/form-fields/{form_field_identifier}:
put:
description: <span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Updates a work request form field.
operationId: updateWorkRequestFormField
parameters:
- example: 7674a2a69f8d4eb48e8d4dafaebc7238
in: path
name: work_request_id
required: true
schema:
description: Unique identifier of the work request
type: string
- example: 209d2d281e2b11edbac602420ac80012
in: path
name: form_field_identifier
required: true
schema:
description: Unique identifier of the work request form field
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WorkRequestFormFieldUpdateRequest'
description: Payload to update the work request form field
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/WorkRequestRequestFormFieldUpdateResponse'
description: Updated work request form field
'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: PUT /work-requests/{work_request_id}/form-fields/{form_field_identifier}
tags:
- Work Requests
components:
schemas:
BaseFormFieldResponse:
properties:
identifier:
description: Identifier of the form field collected from the template form field
example: brief
type: string
is_protected:
description: True when this form field is read-only and only organization admins can modify it. Absent or false for editable fields.
example: false
type: boolean
type:
description: Type of the form field
example: brief
type: string
values:
description: Values of the form field
type: array
required:
- identifier
- type
- values
type: object
WorkRequestUpdateRequest:
additionalProperties: false
properties:
assignees:
description: List of users assigned to the work request
items:
description: Unique identifier of the assignee
example: 6asdcnfnfdsfdsfd54sgfd54sf
type: string
minItems: 0
type: array
priority:
description: Update the priority of the work request
enum:
- Low
- Medium
- High
example: Low
type: string
status:
description: Update the status of the work request
enum:
- Accepted
- Declined
- Submitted
- Completed
example: Submitted
type: string
type: object
WorkRequestRequestFormFieldTextTypePayload:
properties:
type:
description: Type of the form field
enum:
- text
example: text
type: string
values:
description: Value of the form field
example:
- Hello world
items:
type: string
maxItems: 1
type: array
required:
- type
- values
type: object
WorkRequestResponse:
additionalProperties: false
properties:
assignees:
description: List of assigned users to the work request
items:
properties:
full_name:
description: Full name of the assignee
example: John Doe
type: string
id:
description: Unique identifier of the assignee
example: 6asdcnfnfdsfdsfd54sgfd54sf
type: string
image_url:
description: URL of the profile picture of the assignee. `null` if the assignee has not provided an image
example: https://images.cmp.optimizely.com/6a485f72ba424f9397c71ddf0cfb8f59
type:
- string
- 'null'
links:
description: Meta links
properties:
self:
description: URL of the assigned user
example: https://api.cmp.optimizely.com/v3/users/6asdcnfnfdsfdsfd54sgfd54sf
type: string
required:
- self
type: object
type:
description: Type of the assignee
enum:
- user
- team
example: user
type: string
required:
- id
- full_name
- image_url
- links
- type
type: object
type: array
created_at:
description: Date and time on which the work request was created, in ISO 8601 UTC format (2022-04-30T06:00:00.000Z)
example: '2022-04-30T06:00:00.000Z'
format: date-time
type: string
created_by:
additionalProperties: false
description: Creator of the work request
properties:
id:
description: Unique identifier of the creator of the work request
example: 6asdcnfnfdsfdsfd54sgfd54sf
type: string
links:
additionalProperties: false
description: Meta links
properties:
self:
description: URL of the creator
example: https://api.cmp.optimizely.com/v3/users/6asdcnfnfdsfdsfd54sgfd54sf
type: string
required:
- self
type: object
required:
- id
- links
type: object
form_fields:
description: Populated form fields following the template
example:
- identifier: title
type: text
values:
- Some title
- identifier: brief
type: brief
values:
- type: attachment_brief
value:
id: attachment-1
name: Attachment
url: http://images.cmp.optimizely.com/attachment-1?token=jwt.auth.token
- identifier: 630c486a90546926f034ea28
type: richtext
values:
- <b>rich</b> text
- identifier: 630c479690546926f034ea13
type: label
values:
- id: 630c479690546926f034ea15
name: value-1
- identifier: 630c47be90546926f034ea17
type: dropdown
values:
- id: 630c47be90546926f034ea18
name: option 1
- id: 630c47be90546926f034ea20
name: option 3
- identifier: 630c482b90546926f034ea22
type: simple_number
values:
- '1234.345678'
- identifier: 630c484b90546926f034ea23
type: percentage_number
values:
# --- truncated at 32 KB (86 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/newscred/refs/heads/main/openapi/newscred-work-requests-api-openapi.yml