openapi: 3.1.0
info:
title: Helpcenter Agent API
version: 1.0.0
tags:
- name: Agent
paths:
/api/v1/myPreferences:
get:
tags:
- Agent
summary: Get My Preferences
description: This API fetches the preferences of the currently logged in agent.
operationId: getMyPreference
parameters:
- $ref: ./Common.json#/components/parameters/orgId
responses:
'200':
$ref: '#/components/responses/myPreference'
security:
- iam-oauth2-schema:
- Desk.settings.READ
- Desk.basic.READ
x-audience:
- external-public
patch:
tags:
- Agent
summary: Update My Preferences
description: This API updates the preferences of the currently logged in agent.
operationId: updateMyPreferences
parameters:
- $ref: ./Common.json#/components/parameters/orgId
requestBody:
$ref: '#/components/requestBodies/myPreferenceInputStrm'
responses:
'422':
$ref: ./Common.json#/components/responses/invalidDataErrorResponse
'204':
$ref: ./Common.json#/components/responses/emptyResponse
security:
- iam-oauth2-schema:
- Desk.settings.UPDATE
- Desk.basic.UPDATE
x-audience:
- external-public
/api/v1/uploadMyPhoto:
post:
tags:
- Agent
summary: Upload my photo
description: 'This API sets the profile photo for the currently logged in agent.<p><b>Note</b>: To upload your photo generate OAuthToken for the scope: Desk.settings.UPDATE,profile.userphoto.UPDATE or Desk.basic.UPDATE,profile.userphoto.UPDATE </p>'
operationId: uploadMyPhoto
parameters:
- $ref: ./Common.json#/components/parameters/orgId
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
userPhoto:
type: string
format: binary
required:
- userPhoto
responses:
'422':
$ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse
'200':
$ref: '#/components/responses/myPhotoResponse'
security:
- iam-oauth2-schema:
- Desk.settings.UPDATE
- Desk.basic.UPDATE
x-audience:
- external-public
/api/v1/agents/{agentId}/reassignment:
post:
tags:
- Agent
summary: Schedule reassignment for deactivated or deleted agents
description: This API schedules reassignment of tickets, tasks, and automations belonging to a deleted/deactivated agent to another agent within the same department.
operationId: scheduleAgentReassignment
parameters:
- $ref: '#/components/parameters/agentId'
- $ref: ./Common.json#/components/parameters/orgId
requestBody:
$ref: '#/components/requestBodies/scheduleReassignment'
responses:
'422':
$ref: ./Common.json#/components/responses/invalidDataErrorResponse
'204':
$ref: ./Common.json#/components/responses/emptyResponse
security:
- iam-oauth2-schema:
- Desk.settings.UPDATE
- Desk.basic.UPDATE
x-audience:
- external-public
/api/v1/agentsByIds:
get:
tags:
- Agent
summary: Get agent details by agentId
description: This API fetches details of agents via the agent IDs passed in the API request.
operationId: getAgentsByIds
parameters:
- name: agentIds
in: query
description: Comma-separated array of agent IDs. Maximum number of IDs allowed is 50.
required: true
style: simple
explode: true
schema:
type:
- 'null'
- array
description: Comma-separated array of agent IDs. Maximum number of IDs allowed is 50.
items:
type:
- string
- 'null'
- integer
format: int64
pattern: ([0-9]+)
uniqueItems: false
- $ref: ./Common.json#/components/parameters/orgId
responses:
'422':
$ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse
'200':
$ref: '#/components/responses/getAgentsByIdsResponse'
security:
- iam-oauth2-schema:
- Desk.settings.READ
- Desk.basic.READ
x-audience:
- external-public
/api/v1/agents/{agentId}/photo:
get:
tags:
- Agent
summary: Get agent photo
description: 'This API gets the profile photo for the given agent id.<p><b>Note</b>: To get agent photo generate OAuthToken for the scope: Desk.settings.READ,profile.userphoto.READ or Desk.basic.READ,profile.userphoto.READ </p>'
operationId: getAgentProfilePhoto
parameters:
- name: fileSize
in: query
description: Size of the image file to download. Values allowed are @THUMBNAIL@ (image with reduced dimensions and size) and @ACTUAL@ (image with actual dimensions and size). The default value is @ACTUAL@.
required: false
style: form
explode: true
schema:
type: string
description: Size of the image file to download. Values allowed are @THUMBNAIL@ (image with reduced dimensions and size) and @ACTUAL@ (image with actual dimensions and size). The default value is @ACTUAL@.
enum:
- THUMBNAIL
- ACTUAL
- $ref: '#/components/parameters/agentId'
- $ref: ./Common.json#/components/parameters/orgId
responses:
'200':
$ref: ./Common.json#/components/responses/fileResponse
security:
- iam-oauth2-schema:
- Desk.settings.READ
- Desk.basic.READ
x-audience:
- external-public
/api/v1/agents/activate:
post:
tags:
- Agent
summary: Activate agents
description: This API activates agents in your help desk.
operationId: activateAgents
parameters:
- $ref: ./Common.json#/components/parameters/orgId
requestBody:
$ref: ./Department.json#/components/requestBodies/agentIdsArray
responses:
'422':
$ref: ./Common.json#/components/responses/invalidDataErrorResponse
'204':
$ref: ./Common.json#/components/responses/emptyResponse
'403':
$ref: ./Common.json#/components/responses/forbiddenErrorResponse
security:
- iam-oauth2-schema:
- Desk.settings.UPDATE
- Desk.basic.UPDATE
x-audience:
- external-public
/api/v1/deletedAgents/{agentId}/anonymize:
post:
tags:
- Agent
summary: Anonymize deleted agent
description: This API removes the identification details of a deleted agent.
operationId: anonymizeDeletedAgent
parameters:
- $ref: '#/components/parameters/agentId'
- $ref: ./Common.json#/components/parameters/orgId
requestBody:
$ref: '#/components/requestBodies/anonymizeAgentsRequest'
responses:
'204':
$ref: ./Common.json#/components/responses/emptyResponse
security:
- iam-oauth2-schema:
- Desk.settings.UPDATE
- Desk.basic.UPDATE
x-audience:
- external-public
/api/v1/agents:
get:
tags:
- Agent
summary: List agents
description: This API lists a particular number of agents, based on the limit specified.
operationId: getAgents
parameters:
- name: include
in: query
description: Secondary information related to agents, The allowed values are profile, role. You can include all two values by separating them with commas in the API request.
required: false
style: simple
explode: true
schema:
type: array
description: Secondary information related to agents, The allowed values are @profile@, @role@. You can include all two values by separating them with commas in the API request.
items:
type: string
enum:
- profile
- role
maxItems: 2
uniqueItems: true
- name: roleIds
in: query
description: Comma-separated array of role IDs. Maximum number of IDs allowed is 50.
required: false
style: simple
explode: true
schema:
type:
- 'null'
- array
description: Comma-separated array of role IDs. Maximum number of IDs allowed is 50.
items:
type:
- string
- 'null'
- integer
format: int64
pattern: ([0-9]+)
uniqueItems: false
- name: searchStr
in: query
description: 'String to search for agents by first name, last name, or email ID. The string must contain at least one character. The supported search methods: 1) string* - Searches for agents whose first name, last name, or email ID start with the string, 2) *string* - Searches for agents whose first name, last name, or email ID contain the string, 3) string - Searches for agents whose first name, last name, or email ID is an exact match for the string'
required: false
style: form
explode: true
schema:
type:
- string
- 'null'
description: 'String to search for agents by first name, last name, or email ID. The string must contain at least one character. The supported search methods: 1) string* - Searches for agents whose first name, last name, or email ID start with the string, 2) *string* - Searches for agents whose first name, last name, or email ID contain the string, 3) string - Searches for agents whose first name, last name, or email ID is an exact match for the string'
maxLength: 100
minLength: 0
pattern: ([0-9a-zA-Z_\-\.\$@\?\,\:\'\/\!\P{InBasicLatin}\s])+
- $ref: '#/components/parameters/limit'
- name: rolePermissionType
in: query
description: Types of roles and permissions of the agents to list. The allowed values are @AgentPublic@, @AgentPersonal@,@AgentTeamPersonal@, @Admin@, @Light@, @Custom@, and @${NON_LIGHT}@. @${NON_LIGHT}@ refers to agents who are not associated with the light agent profile.
required: false
style: form
explode: true
schema:
type:
- string
- 'null'
description: Types of roles and permissions of the agents to list. The allowed values are @AgentPublic@, @AgentPersonal@,@AgentTeamPersonal@, @Admin@, @Light@, @Custom@, and @${NON_LIGHT}@. @${NON_LIGHT}@ refers to agents who are not associated with the light agent profile.
enum:
- AgentPublic
- AgentPersonal
- AgentTeamPersonal
- Admin
- Custom
- Light
maxLength: 100
minLength: 0
- name: profileIds
in: query
description: Comma-separated array of profile IDs. Maximum number of IDs allowed is 50.
required: false
style: simple
explode: true
schema:
type:
- 'null'
- array
description: Comma-separated array of profile IDs. Maximum number of IDs allowed is 50.
items:
type:
- string
- 'null'
- integer
format: int64
pattern: ([0-9]+)
uniqueItems: false
- $ref: '#/components/parameters/from'
- $ref: '#/components/parameters/isConfirmed'
- name: departmentIds
in: query
description: Comma-separated array of department IDs. Maximum number of IDs allowed is 50.
required: false
style: simple
explode: true
schema:
type:
- 'null'
- array
description: Comma-separated array of department IDs. Maximum number of IDs allowed is 50.
items:
type:
- string
- 'null'
- integer
format: int64
pattern: ([0-9]+)
uniqueItems: false
- $ref: '#/components/parameters/status'
- $ref: ./Common.json#/components/parameters/orgId
responses:
'204':
$ref: ./Common.json#/components/responses/emptyResponse
'200':
$ref: '#/components/responses/agentListArray'
security:
- iam-oauth2-schema:
- Desk.settings.READ
- Desk.basic.READ
x-audience:
- external-public
post:
tags:
- Agent
summary: Add agent
description: 'This API adds an agent to your help desk.<p><br>Keep in mind the following points while adding an agent: <ol> <li>The<b>emailId</b>,<b>lastName</b>,<b>associatedDepartmentIds</b>, and <b>rolePermissionType</b> are mandatory in the API request.</li> <li>To assign the profile and role for the agents, pass any of the following values with the <b>rolePermissionType</b> key: <ol type="a"><li>For the Support Administrator profile and CEO role, pass <b>"rolePermissionType"</b>:<b>"Admin"</b></li> <li>For the Agent profile and public role, pass <b>"rolePermissionType"</b>:<b>"AgentPublic"</b><li>For the Agent profile and personal role, pass <b>"rolePermissionType"</b>:<b>"AgentPersonal"</b></li> </li><li>For custom profiles and roles, pass <b>"rolePermissionType"</b>:<b>"Custom"</b> and <b>"roleId"</b>:<b>"<actual role ID>"</b>, <b>"profileId"</b>:<b>"<actual profile ID>"</b> </li><li>For the light agent profile and role, pass <b>"rolePermissionType"</b>:<b>"Light"</b></li><li>For the Agent profile and Personal Team role, pass <b>"rolePermissionType"</b>:<b>"AgentTeamPersonal"</b></li></ol> </li></ol></p>'
operationId: addAgent
parameters:
- $ref: ./Common.json#/components/parameters/orgId
requestBody:
$ref: '#/components/requestBodies/addAgentInputStream'
responses:
'422':
$ref: ./Common.json#/components/responses/invalidDataErrorResponse
'200':
$ref: '#/components/responses/agentCFResponse'
security:
- iam-oauth2-schema:
- Desk.settings.CREATE
- Desk.basic.CREATE
x-audience:
- external-public
/api/v1/myinfo:
get:
tags:
- Agent
summary: Get My Information
description: 'This API fetches details of the currently logged in agent. '
operationId: getMyInfo
parameters:
- name: include
in: query
description: Secondary information related to the agent. Values allowed are profile, role, associatedDepartments, and associatedChatDepartments. You can pass multiple values by separating them with commas in the query param
required: false
style: simple
explode: true
schema:
type: array
description: Secondary information related to the agent. Values allowed are @profile@, @role@, @associatedDepartments@, and @associatedChatDepartments@. You can pass multiple values by separating them with commas in the query param
items:
type: string
enum:
- profile
- role
- associatedDepartments
- associatedChatDepartments
maxItems: 4
uniqueItems: true
- $ref: ./Common.json#/components/parameters/orgId
responses:
'200':
$ref: '#/components/responses/getMyInfoResponse'
security:
- iam-oauth2-schema:
- Desk.settings.READ
- Desk.basic.READ
x-audience:
- external-public
/api/v1/agents/{agentId}:
get:
tags:
- Agent
summary: Get agent
description: This API fetches details of an agent in your help desk.
operationId: getAgent
parameters:
- name: include
in: query
description: Secondary information related to the agent. Values allowed are profile, role, associatedDepartments, associatedChatDepartments and verifiedEmails. You can include all four values by separating them with commas in the API request.
required: false
style: simple
explode: true
schema:
type: array
description: Secondary information related to the agent. Values allowed are @profile@, @role@, @associatedDepartments@, @associatedChatDepartments@ and @verifiedEmails@. You can include all four values by separating them with commas in the API request.
items:
type: string
enum:
- profile
- role
- associatedDepartments
- associatedChatDepartments
- verifiedEmails
maxItems: 5
uniqueItems: true
- $ref: '#/components/parameters/agentId'
- $ref: ./Common.json#/components/parameters/orgId
responses:
'200':
$ref: '#/components/responses/getAgentResponse'
security:
- iam-oauth2-schema:
- Desk.settings.READ
- Desk.basic.READ
x-audience:
- external-public
patch:
tags:
- Agent
summary: Update agent
description: This API updates details of an agent.
operationId: updateAgent
parameters:
- $ref: '#/components/parameters/agentId'
- $ref: ./Common.json#/components/parameters/orgId
requestBody:
$ref: '#/components/requestBodies/updateAgent_addAgentInputStream'
responses:
'200':
$ref: '#/components/responses/updateAgentResponse'
'422':
$ref: ./Common.json#/components/responses/invalidDataErrorResponse
'403':
$ref: ./Common.json#/components/responses/forbiddenErrorResponse
security:
- iam-oauth2-schema:
- Desk.settings.UPDATE
- Desk.basic.UPDATE
x-audience:
- external-public
/api/v1/agents/{agentId}/deactivate:
post:
tags:
- Agent
summary: Deactivate agent
description: This API deactivates an agent in your help desk.
operationId: deactivateAgents
parameters:
- $ref: '#/components/parameters/agentId'
- $ref: ./Common.json#/components/parameters/orgId
responses:
'204':
$ref: ./Common.json#/components/responses/emptyResponse
security:
- iam-oauth2-schema:
- Desk.settings.UPDATE
- Desk.basic.UPDATE
x-audience:
- external-public
/api/v1/deleteMyPhoto:
post:
tags:
- Agent
summary: Delete My Photo
description: This API deletes the profile photo of the currently logged in agent.
operationId: deleteMyPhoto
parameters:
- $ref: ./Common.json#/components/parameters/orgId
responses:
'204':
$ref: ./Common.json#/components/responses/emptyResponse
security:
- iam-oauth2-schema:
- Desk.settings.UPDATE
- Desk.basic.UPDATE
x-audience:
- external-public
/api/v1/agents/deleteUnconfirmed:
post:
tags:
- Agent
summary: Delete unconfirmed agents
description: This API deletes unconfirmed agents from your help desk.
operationId: deleteUnconfirmedAgent
parameters:
- $ref: ./Common.json#/components/parameters/orgId
requestBody:
$ref: '#/components/requestBodies/deleteUnConfAgentRequest'
responses:
'422':
$ref: ./Common.json#/components/responses/invalidDataErrorResponse
'204':
$ref: ./Common.json#/components/responses/emptyResponse
security:
- iam-oauth2-schema:
- Desk.settings.UPDATE
- Desk.basic.UPDATE
x-audience:
- external-public
/api/v1/agents/count:
get:
tags:
- Agent
summary: Get agents count
description: This API lists the agents count by status, confirmed and include light
operationId: getAgentsCount
parameters:
- $ref: '#/components/parameters/isConfirmed'
- name: includeLightAgent
in: query
description: Count light agent.
required: false
style: form
explode: true
schema:
type: boolean
description: Count light agent.
- $ref: '#/components/parameters/status'
- $ref: ./Common.json#/components/parameters/orgId
responses:
'200':
$ref: ./Department.json#/components/responses/deptCountResponse
security:
- iam-oauth2-schema:
- Desk.settings.READ
- Desk.basic.READ
x-audience:
- external-public
/api/v1/agents/reinvite:
post:
tags:
- Agent
summary: Reinvite unconfirmed agents
description: This API sends reinvitation mails to unconfirmed agents.
operationId: reInviteAgents
parameters:
- $ref: ./Common.json#/components/parameters/orgId
requestBody:
$ref: ./Department.json#/components/requestBodies/reInviteAgents_agentIdsArray
responses:
'422':
$ref: ./Common.json#/components/responses/invalidDataErrorResponse
'204':
$ref: ./Common.json#/components/responses/emptyResponse
security:
- iam-oauth2-schema:
- Desk.settings.UPDATE
- Desk.basic.UPDATE
x-audience:
- external-public
components:
schemas:
myPreferenceInputStrm:
type:
- 'null'
- object
additionalProperties: false
properties:
namePattern:
type:
- 'null'
- array
items:
type:
- string
- 'null'
enum:
- LAST_NAME
- FIRST_NAME
maxLength: 100
minLength: 0
maxItems: 2
minItems: 2
uniqueItems: true
currentDepartment:
type:
- string
- 'null'
- integer
format: int64
pattern: ([0-9]+)
required:
- currentDepartment
- namePattern
agentIdsResponseArray:
type:
- 'null'
- array
items:
oneOf:
- $ref: '#/components/schemas/agentIdsResponse'
- $ref: '#/components/schemas/agentIdsCFResponse'
agentIdsCFResponse:
allOf:
- type:
- 'null'
- object
additionalProperties: false
properties:
cf:
type:
- 'null'
- object
additionalProperties: false
patternProperties:
([0-9a-zA-Z_\-\.\$@\?\,\:\'\/\!\P{InBasicLatin}\s])+:
type:
- string
- 'null'
maxLength: 100
minLength: 0
pattern: ([0-9a-zA-Z_\-\.\$@\?\,\:\'\/\!\P{InBasicLatin}\s])+
required:
- cf
- $ref: '#/components/schemas/agentIdsResponse'
agentCFResponse:
additionalProperties: false
allOf:
- $ref: '#/components/schemas/agentCFInputStream'
- type:
- 'null'
- object
properties:
photoURL:
type:
- string
- 'null'
maxLength: 100
minLength: 0
pattern: ([0-9a-zA-Z_\-\.\$@\?\,\:\'\/\!\P{InBasicLatin}\s])+
name:
type:
- string
- 'null'
maxLength: 100
minLength: 0
timeZone:
type:
- string
- 'null'
maxLength: 100
minLength: 0
pattern: '[a-zA-Z_/\-\+0-9]*'
isConfirmed:
type:
- boolean
- 'null'
id:
type:
- string
- 'null'
- integer
format: int64
pattern: ([0-9]+)
zuid:
type:
- string
- 'null'
- integer
format: int32
pattern: ([0-9]+)
isZiaAgent:
type:
- boolean
- 'null'
description: Indicates whether the agent is a Zia agent or a human agent
required:
- id
- isConfirmed
- isZiaAgent
- name
- photoURL
- timeZone
- zuid
agentResponse:
additionalProperties: false
allOf:
- $ref: '#/components/schemas/agentInputStream'
- type:
- 'null'
- object
properties:
photoURL:
type:
- string
- 'null'
maxLength: 100
minLength: 0
pattern: ([0-9a-zA-Z_\-\.\$@\?\,\:\'\/\!\P{InBasicLatin}\s])+
roleId:
type:
- string
- 'null'
- integer
format: int64
pattern: ([0-9]+)
profileId:
type:
- string
- 'null'
- integer
format: int64
pattern: ([0-9]+)
name:
type:
- string
- 'null'
maxLength: 100
minLength: 0
timeZone:
type:
- string
- 'null'
maxLength: 100
minLength: 0
pattern: '[a-zA-Z_/\-\+0-9]*'
isConfirmed:
type:
- boolean
- 'null'
id:
type:
- string
- 'null'
- integer
format: int64
pattern: ([0-9]+)
zuid:
type:
- string
- 'null'
- integer
format: int32
pattern: ([0-9]+)
isZiaAgent:
type:
- boolean
- 'null'
description: Indicates whether the agent is a Zia agent or a human agent
required:
- id
- isConfirmed
- isZiaAgent
- name
- photoURL
- profileId
- roleId
- timeZone
- zuid
agentResponseArray:
type:
- 'null'
- array
items:
anyOf:
- $ref: '#/components/schemas/agentResponse'
- $ref: '#/components/schemas/agentCFResponse'
newReassignOwner:
type:
- 'null'
- object
additionalProperties: false
properties:
departmentId:
type:
- string
- 'null'
- integer
format: int64
pattern: ([0-9]+)
taskNewOwner:
type:
- string
- 'null'
- integer
format: int64
pattern: ([0-9]+)
ticketNewOwner:
type:
- string
- 'null'
- integer
format: int64
pattern: ([0-9]+)
required:
- departmentId
- taskNewOwner
- ticketNewOwner
agentIdsResponse:
type:
- 'null'
- object
additionalProperties: false
properties:
lastName:
type:
- string
- 'null'
maxLength: 50
minLength: 0
extn:
type:
- string
- 'null'
maxLength: 100
minLength: 0
pattern: '[0-9a-zA-Z_\-\.\$@\?\,\:\''\/\!\P{InBasicLatin}\s]+|^$'
roleId:
type:
- string
- 'null'
- integer
format: int64
pattern: ([0-9]+)
mobile:
type:
- string
- 'null'
maxLength: 100
minLength: 0
pattern: '[0-9a-zA-Z_\-\.\$@\?\,\:\''\/\!\P{InBasicLatin}\s]+|^$'
emailId:
type:
- string
- 'null'
maxLength: 100
minLength: 0
pattern: ^[a-zA-Z0-9\_]([a-zA-Z0-9\_\+\-\.\'&]*)@(?=.{4,256}$)(([a-zA-Z0-9]+)(([\-\_]*[a-zA-Z0-9])*)[\.])+[a-zA-Z]{2,22}$
zuid:
type:
- string
- 'null'
- integer
format: int32
pattern: ([0-9]+)
associatedDepartmentIds:
type:
- 'null'
- array
items:
type:
- string
- 'null'
- integer
format: int64
pattern: ([0-9]+)
uniqueItems: true
photoURL:
type:
- string
- 'null'
maxLength: 100
minLength: 0
pattern: ([0-9a-zA-Z_\-\.\$@\?\,\:\'\/\!\P{InBasicLatin}\s])+
firstName:
type:
- string
- 'null'
maxLength: 50
minLength: 0
phone:
type:
- string
- 'null'
maxLength: 100
minLength: 0
pattern: '[0-9a-zA-Z_\-\.\$@\?\,\:\''\/\!\P{InBasicLatin}\s]+|^$'
profileId:
type:
- string
- 'null'
- integer
format: int64
pattern: ([0-9]+)
channelExpert:
type:
- 'null'
- array
items:
type:
- string
- 'null'
x-dynamic-enum: true
uniqueItems: false
rolePermissionType:
type:
- string
- 'null'
enum:
- AgentPublic
- AgentPersonal
- AgentTeamPersonal
- Admin
- Custom
- Light
maxLength: 100
minLength: 0
isConfirmed:
type:
- boolean
- 'null'
aboutInfo:
type:
- string
- 'null'
maxLength: 65535
minLength: 0
pattern: '[0-9a-zA-Z_\-\.\$@\?\,\:\''\/\!\P{InBasicLatin}\s]+|^$'
id:
type:
- string
- 'null'
- integer
format: int64
pattern: ([0-9]+)
status:
type:
- string
- 'null'
enum:
- ACTIVE
- DISABLED
- DELETED
- IMPORTED
maxLength: 100
minLength: 0
isZiaAgent:
type:
- boolean
- 'null'
description: Indicates whether the agent is a Zia agent or a human agent
required:
- aboutInfo
- associatedDepartmentIds
- channelExpert
- emailId
- extn
- firstName
- id
- isConfirmed
- lastName
- mobile
- phone
- photoURL
- profileId
- roleId
- rolePermissionType
- status
- zuid
addAgentInputStream:
type:
- 'null'
- object
additionalProperties: false
properties:
lastName:
type:
- string
- 'null'
maxLength: 50
minLength: 0
extn:
type:
- string
- 'null'
maxLength: 100
minLength: 0
pattern: '[0-9a-zA-Z_\-\.\$@\?\,\:\''\/\!\P{InBasicLatin}\s]+|^$'
roleId:
type:
- string
- 'null'
- integer
format: int64
pattern: ([0-9]+)
langCode:
type:
- string
- 'null'
maxLength: 100
minLength: 0
pattern: '[a-zA-Z_]*'
mobile:
type:
- string
- 'null'
maxLength: 100
minLength: 0
pattern: '[0-9a-zA-Z_\-\.\$@\?\,\:\''\/\!\P{InBasicLatin}\s]+|^$'
emailId:
type:
- string
- 'null'
maxLength: 100
minLength: 0
pattern: ^[a-zA-Z0-9\_]([a-zA-Z0-9\_\+\-\.\'&]*)@(?=.{4,256}$)(([a-zA-Z0-9]+)(([\-\_]*[a-zA-Z0-9])*)[\.])+[a-zA-Z]{2,22}$
associatedChatDepartmentIds:
type:
- 'null'
- array
items:
type:
- string
- 'null'
- integer
format: int64
pattern: ([0-9]+)
uniqueItems: true
associatedDepartmentIds:
type:
- 'null'
- array
items:
type:
- string
- 'null'
- integer
format: int64
pattern: ([0-9]+)
uniqueItems: true
firstName:
type:
- string
- 'null'
maxLength: 50
minLength: 0
phone:
type:
- string
- 'null'
maxLength: 100
minLength: 0
pattern: '[0-9a-zA-Z_\-\.\$@\?\,\:\''\/\!\P{InBasicLatin}\s]+|^$'
countryCode:
type:
- string
- 'null'
maxLength: 100
minLength: 0
pattern:
# --- truncated at 32 KB (139 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/zoho/refs/heads/main/openapi/zoho-agent-api-openapi.yml