OpenPhone Tasks API
The Tasks API from OpenPhone — 10 operation(s) for tasks.
The Tasks API from OpenPhone — 10 operation(s) for tasks.
openapi: 3.1.0
info:
title: Quo Public Calls Tasks API
version: 1.0.0
description: API for connecting with Quo.
contact:
name: Quo Support
email: support@quo.com
url: https://support.quo.com/
termsOfService: https://www.quo.com/terms
servers:
- description: Production server
url: https://api.quo.com
security:
- apiKey: []
tags:
- name: Tasks
paths:
/v1/tasks:
get:
tags:
- Tasks
summary: List tasks
description: Retrieve a list of tasks
operationId: listTasks_v1
parameters:
- in: query
name: maxResults
required: true
schema:
description: Maximum number of results to return per page.
default: 50
maximum: 100
minimum: 1
type: integer
- in: query
name: pageToken
required: false
schema:
type: string
security:
- apiKey: []
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
required:
- data
- totalItems
properties:
data:
type: array
items:
type: object
required:
- taskId
- phoneNumberId
- conversationId
- activityId
- phoneNumberGroupId
- orgId
- title
- description
- dueDate
- assignedTo
- assignedBy
- createdAt
- createdBy
- completed
- isDeleted
- revision
properties:
taskId:
pattern: ^TK(.*)$
type: string
phoneNumberId:
anyOf:
- pattern: ^PN(.*)$
type: string
- type: 'null'
conversationId:
anyOf:
- pattern: ^CN(.*)$
type: string
- type: 'null'
activityId:
anyOf:
- pattern: ^AC(.*)$
type: string
- type: 'null'
phoneNumberGroupId:
anyOf:
- type: string
- type: 'null'
orgId:
pattern: ^OR(.*)$
type: string
title:
anyOf:
- type: string
- type: 'null'
description:
anyOf:
- type: string
- type: 'null'
dueDate:
anyOf:
- format: date-time
type: string
- type: 'null'
assignedTo:
anyOf:
- anyOf:
- pattern: ^US(.*)$
type: string
- pattern: ^SYU(.*)$
type: string
- type: 'null'
assignedBy:
anyOf:
- anyOf:
- pattern: ^US(.*)$
type: string
- pattern: ^SYU(.*)$
type: string
- type: 'null'
createdAt:
format: date-time
type: string
createdBy:
type: string
completed:
type: boolean
isDeleted:
type: boolean
revision:
type: string
nextPageToken:
type: string
totalItems:
description: Total number of items available.
type: integer
'400':
description: Bad Request
content:
application/json:
schema:
type: object
required:
- message
- code
- status
- docs
- title
properties:
message:
type: string
code:
const: '0600400'
type: string
status:
const: 400
type: number
docs:
const: https://quo.com/docs
type: string
title:
const: Bad Request
type: string
trace:
type: string
errors:
type: array
items:
type: object
required:
- path
- message
- schema
properties:
path:
type: string
message:
type: string
value: {}
schema:
type: object
required:
- type
properties:
type:
type: string
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
required:
- message
- code
- status
- docs
- title
properties:
message:
type: string
code:
const: '0600401'
type: string
status:
const: 401
type: number
docs:
const: https://quo.com/docs
type: string
title:
const: Unauthorized
type: string
trace:
type: string
errors:
type: array
items:
type: object
required:
- path
- message
- schema
properties:
path:
type: string
message:
type: string
value: {}
schema:
type: object
required:
- type
properties:
type:
type: string
'402':
description: Open Tasks Limit Reached
content:
application/json:
schema:
type: object
required:
- message
- code
- status
- docs
- title
properties:
message:
type: string
code:
const: '0600402'
type: string
status:
const: 402
type: number
docs:
const: https://quo.com/docs
type: string
title:
const: Open Tasks Limit Reached
type: string
trace:
type: string
errors:
type: array
items:
type: object
required:
- path
- message
- schema
properties:
path:
type: string
message:
type: string
value: {}
schema:
type: object
required:
- type
properties:
type:
type: string
'403':
description: Forbidden
content:
application/json:
schema:
type: object
required:
- message
- code
- status
- docs
- title
properties:
message:
type: string
code:
const: '0600403'
type: string
status:
const: 403
type: number
docs:
const: https://quo.com/docs
type: string
title:
const: Forbidden
type: string
trace:
type: string
errors:
type: array
items:
type: object
required:
- path
- message
- schema
properties:
path:
type: string
message:
type: string
value: {}
schema:
type: object
required:
- type
properties:
type:
type: string
'404':
description: Not Found
content:
application/json:
schema:
type: object
required:
- message
- code
- status
- docs
- title
properties:
message:
type: string
code:
const: '0600404'
type: string
status:
const: 404
type: number
docs:
const: https://quo.com/docs
type: string
title:
const: Not Found
type: string
trace:
type: string
errors:
type: array
items:
type: object
required:
- path
- message
- schema
properties:
path:
type: string
message:
type: string
value: {}
schema:
type: object
required:
- type
properties:
type:
type: string
'500':
description: Unknown error
content:
application/json:
schema:
type: object
required:
- message
- code
- status
- docs
- title
properties:
message:
type: string
code:
const: '0601500'
type: string
status:
const: 500
type: number
docs:
const: https://quo.com/docs
type: string
title:
const: Unknown
type: string
trace:
type: string
errors:
type: array
items:
type: object
required:
- path
- message
- schema
properties:
path:
type: string
message:
type: string
value: {}
schema:
type: object
required:
- type
properties:
type:
type: string
post:
tags:
- Tasks
summary: Create a task
description: Create a task linked to a phone number, conversation, or conversation activity. Provide exactly one of `phoneNumberId`, `conversationId`, or `activityId`.
operationId: createTask_v1
parameters: []
security:
- apiKey: []
requestBody:
required: true
content:
application/json:
schema:
description: The task to create. Provide exactly one of `phoneNumberId`, `conversationId`, or `activityId` to link the task to that resource.
anyOf:
- additionalProperties: false
type: object
required:
- title
- description
- phoneNumberId
properties:
title:
description: The title of the task.
examples:
- Follow up with customer
type: string
example: Follow up with customer
description:
description: The description of the task.
examples:
- Discuss pricing and onboarding next steps.
type: string
example: Discuss pricing and onboarding next steps.
dueDate:
format: date-time
type: string
assignedTo:
pattern: ^US(.*)$
type: string
phoneNumberId:
pattern: ^PN(.*)$
type: string
- additionalProperties: false
type: object
required:
- title
- description
- conversationId
properties:
title:
description: The title of the task.
examples:
- Follow up with customer
type: string
example: Follow up with customer
description:
description: The description of the task.
examples:
- Discuss pricing and onboarding next steps.
type: string
example: Discuss pricing and onboarding next steps.
dueDate:
format: date-time
type: string
assignedTo:
pattern: ^US(.*)$
type: string
conversationId:
pattern: ^CN(.*)$
type: string
- additionalProperties: false
type: object
required:
- title
- description
- activityId
properties:
title:
description: The title of the task.
examples:
- Follow up with customer
type: string
example: Follow up with customer
description:
description: The description of the task.
examples:
- Discuss pricing and onboarding next steps.
type: string
example: Discuss pricing and onboarding next steps.
dueDate:
format: date-time
type: string
assignedTo:
pattern: ^US(.*)$
type: string
activityId:
pattern: ^AC(.*)$
type: string
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
type: object
required:
- taskId
- revision
- phoneNumberId
properties:
taskId:
pattern: ^TK(.*)$
type: string
revision:
type: string
phoneNumberId:
pattern: ^PN(.*)$
type: string
conversationId:
pattern: ^CN(.*)$
type: string
activityId:
pattern: ^AC(.*)$
type: string
'400':
description: Bad Request
content:
application/json:
schema:
type: object
required:
- message
- code
- status
- docs
- title
properties:
message:
type: string
code:
const: '0600400'
type: string
status:
const: 400
type: number
docs:
const: https://quo.com/docs
type: string
title:
const: Bad Request
type: string
trace:
type: string
errors:
type: array
items:
type: object
required:
- path
- message
- schema
properties:
path:
type: string
message:
type: string
value: {}
schema:
type: object
required:
- type
properties:
type:
type: string
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
required:
- message
- code
- status
- docs
- title
properties:
message:
type: string
code:
const: '0600401'
type: string
status:
const: 401
type: number
docs:
const: https://quo.com/docs
type: string
title:
const: Unauthorized
type: string
trace:
type: string
errors:
type: array
items:
type: object
required:
- path
- message
- schema
properties:
path:
type: string
message:
type: string
value: {}
schema:
type: object
required:
- type
properties:
type:
type: string
'402':
description: Open Tasks Limit Reached
content:
application/json:
schema:
type: object
required:
- message
- code
- status
- docs
- title
properties:
message:
type: string
code:
const: '0600402'
type: string
status:
const: 402
type: number
docs:
const: https://quo.com/docs
type: string
title:
const: Open Tasks Limit Reached
type: string
trace:
type: string
errors:
type: array
items:
type: object
required:
- path
- message
- schema
properties:
path:
type: string
message:
type: string
value: {}
schema:
type: object
required:
- type
properties:
type:
type: string
'403':
description: Forbidden
content:
application/json:
schema:
type: object
required:
- message
- code
- status
- docs
- title
properties:
message:
type: string
code:
const: '0600403'
type: string
status:
const: 403
type: number
docs:
const: https://quo.com/docs
type: string
title:
const: Forbidden
type: string
trace:
type: string
errors:
type: array
items:
type: object
required:
- path
- message
- schema
properties:
path:
type: string
message:
type: string
value: {}
schema:
type: object
required:
- type
properties:
type:
type: string
'404':
description: Not Found
content:
application/json:
schema:
type: object
required:
- message
- code
- status
- docs
- title
properties:
message:
type: string
code:
const: '0600404'
type: string
status:
const: 404
type: number
docs:
const: https://quo.com/docs
type: string
title:
const: Not Found
type: string
trace:
type: string
errors:
type: array
items:
type: object
required:
- path
- message
- schema
properties:
path:
type: string
message:
type: string
value: {}
schema:
type: object
required:
- type
properties:
type:
type: string
'500':
description: Unknown error
content:
application/json:
schema:
type: object
required:
- message
- code
- status
- docs
- title
properties:
message:
type: string
code:
const: '0601500'
type: string
status:
const: 500
type: number
docs:
const: https://quo.com/docs
type: string
title:
const: Unknown
type: string
trace:
type: string
errors:
type: array
items:
type: object
required:
- path
- message
- schema
properties:
path:
type: string
message:
type: string
value: {}
schema:
type: object
required:
- type
properties:
type:
type: string
/v1/tasks/{taskId}:
get:
tags:
- Tasks
summary: Gets a task by ID
description: Retrieve a single task by its ID
operationId: getTaskById_v1
parameters:
- in: path
name: taskId
required: true
schema:
pattern: ^TK(.*)$
type: string
security:
- apiKey: []
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
type: object
required:
- taskId
- phoneNumberId
- conversationId
- activityId
- phoneNumberGroupId
- orgId
- title
- description
- dueDate
- assignedTo
- assignedBy
- createdAt
- createdBy
- completed
- isDeleted
- revision
properties:
taskId:
pattern: ^TK(.*)$
type: string
phoneNumberId:
anyOf:
- pattern: ^PN(.*)$
type: string
- type: 'null'
conversationId:
anyOf:
- pattern: ^CN(.*)$
type: string
- type: 'null'
activityId:
anyOf:
- pattern: ^AC(.*)$
type: string
- type: 'null'
phoneNumberGroupId:
anyOf:
- type: string
- type: 'null'
orgId:
pattern: ^OR(.*)$
type: string
title:
anyOf:
- type: string
- type: 'null'
description:
anyOf:
- type: string
- type: 'null'
dueDate:
anyOf:
- format: date-time
type: string
- type: 'null'
assignedTo:
anyOf:
- anyOf:
- pattern: ^US(.*)$
type: string
- pattern: ^SYU(.*)$
type: string
- type: 'null'
assignedBy:
anyOf:
- anyOf:
- pattern: ^US(.*)$
type: string
- pattern: ^SYU(.*)$
type: string
- type: 'null'
createdAt:
format: date-time
type: string
createdBy:
type: string
completed:
type: boolean
isDeleted:
type: boolean
revision:
type: string
'400':
description: Bad Request
content:
application/json:
schema:
type: object
required:
- message
- code
- status
- docs
- title
properties:
message:
type: string
code:
const: '0600400'
type: string
status:
const: 400
type: number
docs:
const: https://quo.com/docs
type: string
title:
const: Bad Request
type: string
trace:
type: string
errors:
type: array
items:
type: object
required:
- path
- message
- schema
properties:
path:
type: string
message:
# --- truncated at 32 KB (141 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/openphone/refs/heads/main/openapi/openphone-tasks-api-openapi.yml