Skip to main content

Appointments API v2 (Reference) v1.0.0

Appointments API v2 reference.

info

You are viewing REST API documentation. This documentation is auto-generated from a swagger specification which itself is generated from annotations in the source code of the project. It is possible that this documentation includes bugs and that code samples are incomplete or wrong.

Authentication

  • API Key (jwtBearerToken)
    • Parameter Name: Authorization, in: header. Authentication and authorization using a valid JWT token

Schedule & Manage Appointments

Retrieve All Appointments with Optional Filtering

GET /api/v2/appointments/ HTTP/1.1
Accept: application/json

Base paths: /api/v2/appointments

Retrieves a paginated list of all available appointments, with the ability to apply filters based on organizer IDs, agent IDs, appointment durations, and date ranges. The use of certain filters, specifically organizerId (deprecated) and agentId, is dependent on the user's role and application settings.

NOTE:

  • When the "Agents can only view appointments assigned to them" option is enabled (default), non-supervisors are restricted to their own user ID. Any agentId or organizerId values are ignored, and results include appointments where the caller is the organizer OR the assigned agent. In this mode, filters are replaced by the caller's authenticated user ID from the access token (JWT).
  • ROLE_SUPERVISOR: Can filter by agentId or (deprecated) organizerId. If agentId is provided, organizerId is ignored.

Required authorization: ROLE_AGENT, ROLE_SUPERVISOR, or ROLE_CLIENT_SERVICE

Parameters

ParameterInTypeRequiredDescription
applicationIdquerystringfalseUnique application identifier
organizerIdqueryarray[string]falseDeprecated: use AgentIDs.
agentIdqueryarray[string]falseAgentIDs filters appointments by the assigned agent.
durationqueryarray[string]falseSlots filters appointments by their duration.
rangequeryarray[string]falseRange filters appointments within a specified start and end date range.
pageSizequeryinteger(int64)falsePage size - number of items per page.
pageNumberqueryinteger(int64)falsePage number - 1-based page index.
sortOrderquerystringfalseSort order - ascending or descending.
sortFieldquerystringfalseField to use for sorting.
Detailed descriptions

organizerId: Deprecated: use AgentIDs. OrganizerIDs filters appointments by organizer. It accepts a list of organizer ID values (comma-separated). This filter is applicable only when authorized with ROLE_SUPERVISOR; otherwise, it is ignored. If agentId is provided, organizerId is ignored.

agentId: AgentIDs filters appointments by the assigned agent. Accepts a comma-separated list of agent IDs. For non-supervisors, when the "Agents can only view appointments assigned to them" option is enabled, the provided agentId is ignored and replaced by the caller's authenticated user ID from the access token (JWT).

duration: Slots filters appointments by their duration. It accepts a list of duration values (comma-separated) in ISO 8601 format.

range: Range filters appointments within a specified start and end date range. It accepts a range (comma-separated) specified as start and end dates in UTC, in ISO 8601 format.

Enumerated Values
ParameterValue
sortOrderasc
sortOrderdesc

Responses

Overview
StatusMeaningDescriptionSchema
200OKnoneFindAppointmentsResponsePaged
400Bad RequestBadRequest. The request was malformed or missing required query parameters.None
401UnauthorizedUnauthorized. Authorization information is missing or invalid.None
403ForbiddenForbidden. Access to the requested resource or operation is forbidden.None
404Not FoundStatusNotFound. No appointments found matching the criteria.None
500Internal Server ErrorInternal Server Error. An unexpected error occurred, preventing the successful processing of the request.None
Examples

200 Response

{
"content": [
{
"applicationId": "bf8215e5-a39e-490a-a0e2-07df6a3d8c1f",
"duration": "PT5M0s (5 minutes)",
"end": "2022-01-31T19:05:00.0Z",
"id": "f46f165d-383a-4432-9a3e-9c805a152e0c",
"interaction": {
"customFields": {
"property1": "string",
"property2": "string"
},
"properties": {
"property1": "string",
"property2": "string"
},
"routing": {
"properties": {
"deploymentId": "c461a74-af3a-4b55-a461-bafbf077a34e"
},
"type": "GENESYS_CLOUD_FLOW"
},
"state": "PENDING"
},
"locale": "en_US",
"metadata": {
"prop1": {}
},
"notes": "CRM ref: 3nv-1gt-4rt",
"notificationHeaders": "{\"x-channel\": widget\"}",
"notificationsActive": true,
"organizer": {
"id": "c59a1ee2-e71d-4370-9ac8-26de220104db",
"type": "CUSTOMER"
},
"participants": [
{
"id": "2460b086-8d27-4cd3-a7ef-cdc8b4c17f0c",
"type": "CUSTOMER"
},
{
"id": "36c1r718-9ab5-48c9-aeab-fas5f37b0ec4",
"type": "AGENT"
}
],
"start": "2022-01-31T19:00:00.0Z",
"targetAssignment": {
"id": "string",
"type": "string"
},
"timezone": "Europe/Berlin",
"title": "Product installation review"
}
],
"pageCount": 4,
"pageNumber": 1,
"pageSize": 25,
"sortField": "name",
"sortOrder": "asc",
"total": 100
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: jwtBearerToken

Code samples

curl -X GET /api/v2/appointments/ \
-H 'Accept: application/json' \ -H 'Authorization: API_KEY'

Schedule a New Appointment

POST /api/v2/appointments/ HTTP/1.1
Content-Type: application/json
Accept: application/json

Base paths: /api/v2/appointments

Creates a new appointment and optionally returns RoomAccess details if the appointment has been activated. Activation can occur either explicitly through the /appointments/activate endpoint or automatically when the "Automatically activate an appointment" option is enabled at the application level.

This operation also supports specifying interaction routing information, which enables the explicit setting of a Genesys Widget deployment of choice and accommodates different routing types for customer interactions. Interaction routing is crucial for directing the scheduled appointment through the desired channels and ensuring the optimal engagement experience.

For detailed information on interaction routing and how to configure it in your schedule appointment requests, refer to our comprehensive guide: Interaction routing for Appointments.

NOTE:

  • RoomAccess information, including the appointment room's URL and expiration time, is only returned for appointments that have been activated. This ensures that room access details are securely managed and only made available when necessary.
  • If application-specific notifications are active and properly configured, relevant notifications will be dispatched to inform customers accordingly.

Required authorization: ROLE_AGENT or ROLE_CLIENT_SERVICE

Request body

{
"applicationId": "bf8215e5-a39e-490a-a0e2-07df6a3d8c1f",
"customers": [
{
"contact": {
"primaryEmail": "user@provider.net",
"primaryPhone": "2102234988"
},
"metadata": {
"refNo": "CS-9838"
},
"name": {
"firstName": "Bobby",
"lastName": "Ewing"
},
"username": "ewingb@myorg.com"
}
],
"duration": "\"PT5M\"",
"interaction": {
"customFields": {
"property1": "string",
"property2": "string"
},
"routing": {
"properties": "{\"deploymentId\": \"c461a74-af3a-4b55-a461-bafbf077a34e\"} or {\"touchpointId\": \"c461a74-af3a-4b55-a461-bafbf077a34e\"}",
"type": "GENESYS_CLOUD_FLOW or TALKDESK_DIGITAL_CONNECT"
}
},
"locale": "\"en-GB\"",
"metadata": {
"prop1": {}
},
"notes": "CRM ref: 3nv-1gt-4rt",
"notificationHeaders": "{\"x-channel\": widget\"}",
"start": "\"2022-01-31T19:00:00.0Z\"",
"targetAssignment": {
"id": "string",
"type": "string"
},
"timezone": "\"Europe/Berlin\"",
"title": "Product installation review"
}

Parameters

ParameterInTypeRequiredDescription
bodybodyScheduleAppointmentRequestfalsenone

Responses

Overview
StatusMeaningDescriptionSchema
200OKnoneAppointmentResponse
400Bad RequestBad request. The request was malformed or missing required fields.None
401UnauthorizedUnauthorized. Authorization information is missing or invalid.None
403ForbiddenForbidden. Access to the requested resource or operation is forbidden.None
500Internal Server ErrorInternal Server Error. An unexpected error occurred, preventing the successful processing of the request.None
Examples

200 Response

{
"applicationId": "bf8215e5-a39e-490a-a0e2-07df6a3d8c1f",
"duration": "PT5M0s (5 minutes)",
"end": "2022-01-31T19:05:00.0Z",
"id": "f46f165d-383a-4432-9a3e-9c805a152e0c",
"interaction": {
"customFields": {
"property1": "string",
"property2": "string"
},
"properties": {
"property1": "string",
"property2": "string"
},
"routing": {
"properties": {
"deploymentId": "c461a74-af3a-4b55-a461-bafbf077a34e"
},
"type": "GENESYS_CLOUD_FLOW"
},
"state": "PENDING"
},
"locale": "en_US",
"metadata": {
"prop1": {}
},
"notes": "CRM ref: 3nv-1gt-4rt",
"notificationHeaders": "{\"x-channel\": widget\"}",
"notificationsActive": true,
"organizer": {
"id": "c59a1ee2-e71d-4370-9ac8-26de220104db",
"type": "CUSTOMER"
},
"participants": [
{
"id": "2460b086-8d27-4cd3-a7ef-cdc8b4c17f0c",
"type": "CUSTOMER"
},
{
"id": "36c1r718-9ab5-48c9-aeab-fas5f37b0ec4",
"type": "AGENT"
}
],
"secureToken": "string",
"start": "2022-01-31T19:00:00.0Z",
"targetAssignment": {
"id": "string",
"type": "string"
},
"timezone": "Europe/Berlin",
"title": "Product installation review"
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: jwtBearerToken

Code samples

curl -X POST /api/v2/appointments/ \
-H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'Authorization: API_KEY'

UpdateAppointment an Existing Appointment

PUT /api/v2/appointments/ HTTP/1.1
Content-Type: application/json
Accept: application/json

Base paths: /api/v2/appointments

Updates the details of an existing appointment, such as the title, notes, and metadata. This endpoint allows for the modification of appointment information post-creation, ensuring the appointment data remains relevant and up-to-date.

NOTE: Sending empty data for any field will overwrite any previously saved information for that field. This behavior is intentional to allow for the clearing of information. Ensure that only fields intended to be updated or cleared are included in the request.

Required authorization: ROLE_AGENT, ROLE_SUPERVISOR, or ROLE_CLIENT_SERVICE

Request body

{
"customer": {
"contact": {
"primaryEmail": "user@provider.net",
"primaryPhone": "2102234988"
},
"metadata": {
"refNo": "CS-9838"
},
"name": {
"firstName": "Bobby",
"lastName": "Ewing"
},
"participantId": "string",
"username": "ewingb@myorg.com"
},
"id": "f46f165d-383a-4432-9a3e-9c805a152e0c",
"metadata": {
"prop1": {}
},
"notes": "CRM ref: 3nv-1gt-4rt",
"notificationHeaders": {
"property1": "string",
"property2": "string"
},
"title": "Product installation review"
}

Parameters

ParameterInTypeRequiredDescription
bodybodyUpdateAppointmentRequestfalsenone

Responses

Overview
StatusMeaningDescriptionSchema
200OKnoneAppointmentResponse
400Bad RequestBad request. The request was malformed or missing required fields.None
401UnauthorizedUnauthorized. Authorization information is missing or invalid.None
403ForbiddenForbidden. Access to the requested resource or operation is forbidden.None
404Not FoundStatusNotFound. The specified appointment could not be found.None
500Internal Server ErrorInternal Server Error. An unexpected error occurred, preventing the successful processing of the request.None
Examples

200 Response

{
"applicationId": "bf8215e5-a39e-490a-a0e2-07df6a3d8c1f",
"duration": "PT5M0s (5 minutes)",
"end": "2022-01-31T19:05:00.0Z",
"id": "f46f165d-383a-4432-9a3e-9c805a152e0c",
"interaction": {
"customFields": {
"property1": "string",
"property2": "string"
},
"properties": {
"property1": "string",
"property2": "string"
},
"routing": {
"properties": {
"deploymentId": "c461a74-af3a-4b55-a461-bafbf077a34e"
},
"type": "GENESYS_CLOUD_FLOW"
},
"state": "PENDING"
},
"locale": "en_US",
"metadata": {
"prop1": {}
},
"notes": "CRM ref: 3nv-1gt-4rt",
"notificationHeaders": "{\"x-channel\": widget\"}",
"notificationsActive": true,
"organizer": {
"id": "c59a1ee2-e71d-4370-9ac8-26de220104db",
"type": "CUSTOMER"
},
"participants": [
{
"id": "2460b086-8d27-4cd3-a7ef-cdc8b4c17f0c",
"type": "CUSTOMER"
},
{
"id": "36c1r718-9ab5-48c9-aeab-fas5f37b0ec4",
"type": "AGENT"
}
],
"secureToken": "string",
"start": "2022-01-31T19:00:00.0Z",
"targetAssignment": {
"id": "string",
"type": "string"
},
"timezone": "Europe/Berlin",
"title": "Product installation review"
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: jwtBearerToken

Code samples

curl -X PUT /api/v2/appointments/ \
-H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'Authorization: API_KEY'

Activate an Appointment

POST /api/v2/appointments/activate/{id} HTTP/1.1
Accept: application/json

Base paths: /api/v2/appointments

Explicitly activates a previously scheduled appointment, making it ready for use. If the appointment is already active, this operation returns the existing room details without creating new resources.

NOTE: Auto-activation is enabled by default for most applications, so explicit activation is usually unnecessary. Use this endpoint only when auto-activation is disabled or when you need to force activation earlier. When activation happens here and invite notifications are configured, ROOM/invite notifications are triggered.

Required authorization: ROLE_CLIENT_SERVICE

Parameters

ParameterInTypeRequiredDescription
idpathstringtrueId is the unique identifier of the appointment to be activated.

Responses

Overview
StatusMeaningDescriptionSchema
200OKnoneAppointmentResponse
400Bad RequestBad request. The request was malformed or missing required fields.None
401UnauthorizedUnauthorized. Authorization information is missing or invalid.None
403ForbiddenForbidden. Access to the requested resource or operation is forbidden.None
404Not FoundStatusNotFound. The specified appointment could not be found.None
500Internal Server ErrorInternal Server Error. An unexpected error occurred, preventing the successful processing of the request.None
Examples

200 Response

{
"applicationId": "bf8215e5-a39e-490a-a0e2-07df6a3d8c1f",
"duration": "PT5M0s (5 minutes)",
"end": "2022-01-31T19:05:00.0Z",
"id": "f46f165d-383a-4432-9a3e-9c805a152e0c",
"interaction": {
"customFields": {
"property1": "string",
"property2": "string"
},
"properties": {
"property1": "string",
"property2": "string"
},
"routing": {
"properties": {
"deploymentId": "c461a74-af3a-4b55-a461-bafbf077a34e"
},
"type": "GENESYS_CLOUD_FLOW"
},
"state": "PENDING"
},
"locale": "en_US",
"metadata": {
"prop1": {}
},
"notes": "CRM ref: 3nv-1gt-4rt",
"notificationHeaders": "{\"x-channel\": widget\"}",
"notificationsActive": true,
"organizer": {
"id": "c59a1ee2-e71d-4370-9ac8-26de220104db",
"type": "CUSTOMER"
},
"participants": [
{
"id": "2460b086-8d27-4cd3-a7ef-cdc8b4c17f0c",
"type": "CUSTOMER"
},
{
"id": "36c1r718-9ab5-48c9-aeab-fas5f37b0ec4",
"type": "AGENT"
}
],
"secureToken": "string",
"start": "2022-01-31T19:00:00.0Z",
"targetAssignment": {
"id": "string",
"type": "string"
},
"timezone": "Europe/Berlin",
"title": "Product installation review"
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: jwtBearerToken

Code samples

curl -X POST /api/v2/appointments/activate/{id} \
-H 'Accept: application/json' \ -H 'Authorization: API_KEY'

Schedule a New Appointment as Customer

POST /api/v2/appointments/basic HTTP/1.1
Content-Type: application/json
Accept: application/json

Base paths: /api/v2/appointments

Schedule a new appointment as a customer with OTP verification.

Required authorization: Basic authentication with OTP Verification

Request body

{
"applicationId": "bf8215e5-a39e-490a-a0e2-07df6a3d8c1f",
"customers": [
{
"contact": {
"primaryEmail": "user@provider.net",
"primaryPhone": "2102234988"
},
"metadata": {
"refNo": "CS-9838"
},
"name": {
"firstName": "Bobby",
"lastName": "Ewing"
},
"username": "ewingb@myorg.com"
}
],
"duration": "\"PT5M\"",
"interaction": {
"customFields": {
"property1": "string",
"property2": "string"
},
"routing": {
"properties": "{\"deploymentId\": \"c461a74-af3a-4b55-a461-bafbf077a34e\"} or {\"touchpointId\": \"c461a74-af3a-4b55-a461-bafbf077a34e\"}",
"type": "GENESYS_CLOUD_FLOW or TALKDESK_DIGITAL_CONNECT"
}
},
"locale": "\"en-GB\"",
"metadata": {
"prop1": {}
},
"notes": "CRM ref: 3nv-1gt-4rt",
"notificationHeaders": "{\"x-channel\": widget\"}",
"start": "\"2022-01-31T19:00:00.0Z\"",
"targetAssignment": {
"id": "string",
"type": "string"
},
"timezone": "\"Europe/Berlin\"",
"title": "Product installation review"
}

Parameters

ParameterInTypeRequiredDescription
bodybodyScheduleAppointmentRequestfalsenone

Responses

Overview
StatusMeaningDescriptionSchema
200OKnoneAppointmentResponse
400Bad RequestBad request. The request was malformed or missing required fields.None
401UnauthorizedUnauthorized. Authorization information is missing or invalid.None
403ForbiddenForbidden. Access to the requested resource or operation is forbidden.None
500Internal Server ErrorInternal Server Error. An unexpected error occurred while scheduling the appointment.None
Examples

200 Response

{
"applicationId": "bf8215e5-a39e-490a-a0e2-07df6a3d8c1f",
"duration": "PT5M0s (5 minutes)",
"end": "2022-01-31T19:05:00.0Z",
"id": "f46f165d-383a-4432-9a3e-9c805a152e0c",
"interaction": {
"customFields": {
"property1": "string",
"property2": "string"
},
"properties": {
"property1": "string",
"property2": "string"
},
"routing": {
"properties": {
"deploymentId": "c461a74-af3a-4b55-a461-bafbf077a34e"
},
"type": "GENESYS_CLOUD_FLOW"
},
"state": "PENDING"
},
"locale": "en_US",
"metadata": {
"prop1": {}
},
"notes": "CRM ref: 3nv-1gt-4rt",
"notificationHeaders": "{\"x-channel\": widget\"}",
"notificationsActive": true,
"organizer": {
"id": "c59a1ee2-e71d-4370-9ac8-26de220104db",
"type": "CUSTOMER"
},
"participants": [
{
"id": "2460b086-8d27-4cd3-a7ef-cdc8b4c17f0c",
"type": "CUSTOMER"
},
{
"id": "36c1r718-9ab5-48c9-aeab-fas5f37b0ec4",
"type": "AGENT"
}
],
"secureToken": "string",
"start": "2022-01-31T19:00:00.0Z",
"targetAssignment": {
"id": "string",
"type": "string"
},
"timezone": "Europe/Berlin",
"title": "Product installation review"
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: None

Code samples

curl -X POST /api/v2/appointments/basic \
-H 'Content-Type: application/json' \ -H 'Accept: application/json'

Reassign an Existing Appointment to a New Agent

PUT /api/v2/appointments/reassign/ HTTP/1.1
Content-Type: application/json
Accept: application/json

Base paths: /api/v2/appointments

Reassigns an existing appointment to a new agent by updating the appointment's owner and associated AGENT participant. This action facilitates the transfer of responsibility for an appointment to another agent, ensuring continuity of whsvc and management.

NOTE: This operation will replace the current owner (organizer) and any associated AGENT participants with the new AGENT specified in the request. If the appointment is reassigned to the same agent already assigned, no changes will be made.

Required authorization: ROLE_AGENT or ROLE_SUPERVISOR

Request body

{
"id": "f46f165d-383a-4432-9a3e-9c805a152e0c",
"userId": "36c1r718-9ab5-48c9-aeab-fas5f37b0ec4"
}

Parameters

ParameterInTypeRequiredDescription
bodybodyReassignAppointmentRequestfalsenone

Responses

Overview
StatusMeaningDescriptionSchema
200OKnoneAppointmentResponse
400Bad RequestBadRequest. The request was malformed, missing required fields, or the specified agent ID was invalid.None
401UnauthorizedUnauthorized. Authorization information is missing or invalid.None
403ForbiddenForbidden. Access to the requested resource or operation is forbidden.None
404Not FoundStatusNotFound. The specified appointment or agent could not be found.None
500Internal Server ErrorInternal Server Error. An unexpected error occurred, preventing the successful processing of the request.None
Examples

200 Response

{
"applicationId": "bf8215e5-a39e-490a-a0e2-07df6a3d8c1f",
"duration": "PT5M0s (5 minutes)",
"end": "2022-01-31T19:05:00.0Z",
"id": "f46f165d-383a-4432-9a3e-9c805a152e0c",
"interaction": {
"customFields": {
"property1": "string",
"property2": "string"
},
"properties": {
"property1": "string",
"property2": "string"
},
"routing": {
"properties": {
"deploymentId": "c461a74-af3a-4b55-a461-bafbf077a34e"
},
"type": "GENESYS_CLOUD_FLOW"
},
"state": "PENDING"
},
"locale": "en_US",
"metadata": {
"prop1": {}
},
"notes": "CRM ref: 3nv-1gt-4rt",
"notificationHeaders": "{\"x-channel\": widget\"}",
"notificationsActive": true,
"organizer": {
"id": "c59a1ee2-e71d-4370-9ac8-26de220104db",
"type": "CUSTOMER"
},
"participants": [
{
"id": "2460b086-8d27-4cd3-a7ef-cdc8b4c17f0c",
"type": "CUSTOMER"
},
{
"id": "36c1r718-9ab5-48c9-aeab-fas5f37b0ec4",
"type": "AGENT"
}
],
"secureToken": "string",
"start": "2022-01-31T19:00:00.0Z",
"targetAssignment": {
"id": "string",
"type": "string"
},
"timezone": "Europe/Berlin",
"title": "Product installation review"
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: jwtBearerToken

Code samples

curl -X PUT /api/v2/appointments/reassign/ \
-H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'Authorization: API_KEY'

Reschedule an Existing Appointment

PUT /api/v2/appointments/reschedule/ HTTP/1.1
Content-Type: application/json
Accept: application/json

Base paths: /api/v2/appointments

Modifies the schedule of an existing appointment by adjusting its start time, duration, and time zone. This operation is designed to accommodate changes in availability or scheduling preferences.

NOTE:

  • If the appointment is already active, the scheduled times associated with the "RoomAccess" information will be updated to reflect the new schedule. However, the URL or link provided for video conference access will not change. This means that while the appointment time may be adjusted, the access link for participants remains the same, ensuring uninterrupted and seamless access according to the new timing.
  • If application-specific notifications are active and properly configured, relevant notifications will be dispatched to inform customers accordingly.

Required authorization: ROLE_AGENT, ROLE_SUPERVISOR, or ROLE_CLIENT_SERVICE

Request body

{
"duration": "\"PT5M\"",
"id": "f46f165d-383a-4432-9a3e-9c805a152e0c",
"locale": "\"en-GB\"",
"start": "\"2022-01-31T19:00:00.0Z\"",
"timezone": "\"Europe/Berlin\""
}

Parameters

ParameterInTypeRequiredDescription
bodybodyRescheduleAppointmentRequestfalsenone

Responses

Overview
StatusMeaningDescriptionSchema
200OKnoneAppointmentResponse
400Bad RequestBadRequest. The request was malformed, missing required fields, or specified an invalid schedule.None
401UnauthorizedUnauthorized. Authorization information is missing or invalid.None
403ForbiddenForbidden. Access to the requested resource or operation is forbidden.None
404Not FoundStatusNotFound. The specified appointment could not be found.None
500Internal Server ErrorInternal Server Error. An unexpected error occurred, preventing the successful processing of the request.None
Examples

200 Response

{
"applicationId": "bf8215e5-a39e-490a-a0e2-07df6a3d8c1f",
"duration": "PT5M0s (5 minutes)",
"end": "2022-01-31T19:05:00.0Z",
"id": "f46f165d-383a-4432-9a3e-9c805a152e0c",
"interaction": {
"customFields": {
"property1": "string",
"property2": "string"
},
"properties": {
"property1": "string",
"property2": "string"
},
"routing": {
"properties": {
"deploymentId": "c461a74-af3a-4b55-a461-bafbf077a34e"
},
"type": "GENESYS_CLOUD_FLOW"
},
"state": "PENDING"
},
"locale": "en_US",
"metadata": {
"prop1": {}
},
"notes": "CRM ref: 3nv-1gt-4rt",
"notificationHeaders": "{\"x-channel\": widget\"}",
"notificationsActive": true,
"organizer": {
"id": "c59a1ee2-e71d-4370-9ac8-26de220104db",
"type": "CUSTOMER"
},
"participants": [
{
"id": "2460b086-8d27-4cd3-a7ef-cdc8b4c17f0c",
"type": "CUSTOMER"
},
{
"id": "36c1r718-9ab5-48c9-aeab-fas5f37b0ec4",
"type": "AGENT"
}
],
"secureToken": "string",
"start": "2022-01-31T19:00:00.0Z",
"targetAssignment": {
"id": "string",
"type": "string"
},
"timezone": "Europe/Berlin",
"title": "Product installation review"
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: jwtBearerToken

Code samples

curl -X PUT /api/v2/appointments/reschedule/ \
-H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'Authorization: API_KEY'

DeleteAppointment an Appointment

DELETE /api/v2/appointments/{id} HTTP/1.1

Base paths: /api/v2/appointments

Deletes an existing appointment identified by its unique ID. This action permanently removes the appointment from the system, along with any associated participant and scheduling information. If application-specific notifications are active and configured correctly, relevant notifications will be sent to inform involved participants about the cancellation.

IMPORTANT: Deletion is irreversible. It is advisable to confirm the deletion intent and ensure that application-specific notifications are set up correctly to alert participants of the appointment's cancellation.

NOTE: If application-specific notifications are active and properly configured, relevant notifications will be dispatched to inform customers.

Required authorization: ROLE_AGENT, ROLE_SUPERVISOR, or ROLE_CLIENT_SERVICE

Parameters

ParameterInTypeRequiredDescription
idpathstringtrueId specifies the unique identifier of the appointment to delete.

Responses

Overview
StatusMeaningDescriptionSchema
204No ContentNoContent. Successful deletion of the appointment. No additional content is returned, but relevant notifications may be dispatched if configured.None
401Unauthorizeddescription: Unauthorized. Authorization information is missing or invalid.None
403ForbiddenForbidden. Access to the requested resource or operation is forbidden for the user's role.None
404Not FoundStatusNotFound. The specified appointment could not be found, indicating that it may already have been deleted or never existed.None
500Internal Server ErrorInternal Server Error. An unexpected error occurred, preventing the successful processing of the request.None
caution

To perform this operation, you must be authenticated by means of one of the following methods: jwtBearerToken

Code samples

curl -X DELETE /api/v2/appointments/{id} \
-H 'Authorization: API_KEY'

Retrieve an Appointment by ID

GET /api/v2/appointments/{id} HTTP/1.1
Accept: application/json

Base paths: /api/v2/appointments

Retrieves detailed information about an existing appointment using its unique identifier. This endpoint enables users with appropriate roles to access appointment details, ensuring efficient management and coordination.

NOTE:

  • Accessing this endpoint with ROLE_CUSTOMER requires verification of the 'conferenceId' provided in the JWT token, ensuring that customers can only access appointments relevant to them.
  • RoomAccess information, including the appointment room's URL and expiration time, is only returned for appointments that have been activated. This ensures that room access details are securely managed and only made available when necessary.

Required authorization: ROLE_AGENT, ROLE_SUPERVISOR, ROLE_CUSTOMER, or ROLE_CLIENT_SERVICE

Parameters

ParameterInTypeRequiredDescription
idpathstringtrueUnique appointment identifier

Responses

Overview
StatusMeaningDescriptionSchema
200OKnoneAppointmentResponse
400Bad RequestBad request. The request was malformed or missing required fields.None
401UnauthorizedUnauthorized. Authorization information is missing or invalid.None
403ForbiddenForbidden. Access to the requested resource or operation is forbidden.None
404Not FoundStatusNotFound. The specified appointment could not be found.None
500Internal Server ErrorInternal Server Error. An unexpected error occurred, preventing the successful processing of the request.None
Examples

200 Response

{
"applicationId": "bf8215e5-a39e-490a-a0e2-07df6a3d8c1f",
"duration": "PT5M0s (5 minutes)",
"end": "2022-01-31T19:05:00.0Z",
"id": "f46f165d-383a-4432-9a3e-9c805a152e0c",
"interaction": {
"customFields": {
"property1": "string",
"property2": "string"
},
"properties": {
"property1": "string",
"property2": "string"
},
"routing": {
"properties": {
"deploymentId": "c461a74-af3a-4b55-a461-bafbf077a34e"
},
"type": "GENESYS_CLOUD_FLOW"
},
"state": "PENDING"
},
"locale": "en_US",
"metadata": {
"prop1": {}
},
"notes": "CRM ref: 3nv-1gt-4rt",
"notificationHeaders": "{\"x-channel\": widget\"}",
"notificationsActive": true,
"organizer": {
"id": "c59a1ee2-e71d-4370-9ac8-26de220104db",
"type": "CUSTOMER"
},
"participants": [
{
"id": "2460b086-8d27-4cd3-a7ef-cdc8b4c17f0c",
"type": "CUSTOMER"
},
{
"id": "36c1r718-9ab5-48c9-aeab-fas5f37b0ec4",
"type": "AGENT"
}
],
"secureToken": "string",
"start": "2022-01-31T19:00:00.0Z",
"targetAssignment": {
"id": "string",
"type": "string"
},
"timezone": "Europe/Berlin",
"title": "Product installation review"
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: None

Code samples

curl -X GET /api/v2/appointments/{id} \
-H 'Accept: application/json'

Search & Eligibility

Retrieve the Number of Scheduled Appointments within a Specified Time Frame

GET /api/v2/appointments/count?applicationId=bf8215e5-a39e-490a-a0e2-07df6a3d8c1f&organizationId=mypurecloud.de_9da4d7e6-38c4-4a90-be39-0942f9843645&start=%222022-01-31T19%3A00%3A00.0Z%22&timeFrame=%22PT10H%22 HTTP/1.1
Accept: application/json

Base paths: /api/v2/appointments

This endpoint returns a count of distinct appointments based on the application identifier, start time, and timeframe provided in the query parameters. It is useful for obtaining quick analytics on appointment scheduling volumes within specific intervals. No authorization is required to access this endpoint.

Parameters

ParameterInTypeRequiredDescription
applicationIdquerystringtrueUnique application identifier
organizationIdquerystringtrueUnique organization identifier
startquerystring(date-time)trueStartTime is the UTC start date and time for counting appointments.
timeFramequerystring(duration)trueTimeFrame for searching scheduled appointments relative to each start date in ISO 8601 format.

Responses

Overview
StatusMeaningDescriptionSchema
200OKnoneInline
400Bad RequestBad request. The request was malformed or missing required fields.None
401UnauthorizedUnauthorized. Authorization information is missing or invalid.None
403ForbiddenForbidden. Access to the requested resource or operation is forbidden.None
500Internal Server ErrorInternal Server Error. An unexpected error occurred, preventing the successful processing of the request.None
Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
anonymous[AppointmentCountResponse]falsenonenone
» countinteger(int64)falsenoneCount represents the number of appointments scheduled within the specified duration.
» durationstringfalsenoneDuration of the appointment, represented in ISO 8601 duration format.
» endstring(date-time)falsenoneEndTime is the scheduled end date and time of the appointment in UTC.
» startstring(date-time)falsenoneStartTime is the scheduled start date and time of the appointment in UTC.
» timezonestringfalsenoneTimeZone specifies the local time zone of the appointment.
Examples

200 Response

[
{
"count": 2,
"duration": "PT5M0s (5 minutes)",
"end": "2022-01-31T19:05:00.0Z",
"start": "2022-01-31T19:00:00.0Z",
"timezone": "Europe/Berlin"
}
]
caution

To perform this operation, you must be authenticated by means of one of the following methods: None

Code samples

curl -X GET /api/v2/appointments/count?applicationId=bf8215e5-a39e-490a-a0e2-07df6a3d8c1f&organizationId=mypurecloud.de_9da4d7e6-38c4-4a90-be39-0942f9843645&start=%222022-01-31T19%3A00%3A00.0Z%22&timeFrame=%22PT10H%22 \
-H 'Accept: application/json'

DEPRECATED: Find Appointments Eligible for Activation

GET /api/v2/appointments/eligible HTTP/1.1

Base paths: /api/v2/appointments

[DEPRECATED] This endpoint has been deprecated as appointment activations no longer have time constraints. Previously, it was used to find all scheduled appointments eligible for activation within a specified timeframe, with eligibility calculated relative to the appointment start date.

NOTE: All scheduled appointments not previously activated explicitly or via the "Automatically activate an appointment" option are now considered eligible for activation at any time, removing the need for time-based eligibility checks. This change is designed to simplify the activation process and enhance flexibility in managing appointments.

Required authorization: ROLE_CLIENT_SERVICE

Parameters

ParameterInTypeRequiredDescription
timeFramequerystring(duration)falseTimeFrame specifies the duration to search for eligible appointments from the start date.
Detailed descriptions

timeFrame: TimeFrame specifies the duration to search for eligible appointments from the start date. It is represented in ISO 8601 duration format.

Responses

Overview
StatusMeaningDescriptionSchema
200OKnoneNone
400Bad RequestBad request. The request was malformed or missing required fields.None
401UnauthorizedUnauthorized. Authorization information is missing or invalid.None
403ForbiddenForbidden. Access to the requested resource or operation is forbidden.None
500Internal Server ErrorInternal Server Error. An unexpected error occurred, preventing the successful processing of the request.None
Response Headers
StatusHeaderTypeFormatDescription
200FindAllAppointmentsEligibleForActivationResponsearrayThe body of the response contains an array of appointments eligible for activation.
caution

To perform this operation, you must be authenticated by means of one of the following methods: jwtBearerToken

Code samples

curl -X GET /api/v2/appointments/eligible \
-H 'Authorization: API_KEY'

Get Count of Overlapping Appointments

GET /api/v2/appointments/overlap/count?applicationId=bf8215e5-a39e-490a-a0e2-07df6a3d8c1f&organizationId=mypurecloud.de_9da4d7e6-38c4-4a90-be39-0942f9843645&start=%222022-01-31T19%3A00%3A00.0Z%22&duration=%22PT5M%22 HTTP/1.1
Accept: application/json

Base paths: /api/v2/appointments

Retrieves the number of overlapping appointments for a given application, based on specified start time and duration. An overlapping appointment is defined as any existing appointment, SCHEDULED or ACTIVATED, that intersects with the provided time range, considering both the start time and duration.

NOTE: Overlapping is evaluated based on the start time and duration you provide, identifying any appointments that would conflict within the specified timeframe. Useful for identifying potential scheduling conflicts in advance.

Required authorization: This endpoint does not require authorization.

Parameters

ParameterInTypeRequiredDescription
applicationIdquerystringtrueUnique application identifier
organizationIdquerystringtrueUnique organization identifier
startquerystring(date-time)trueStartTime is the UTC start date and time for checking overlaps.
durationquerystring(duration)trueDuration of the appointment to check for overlaps in ISO 8601 format.

Responses

Overview
StatusMeaningDescriptionSchema
200OKnoneAppointmentOverlapResponse
400Bad RequestBad request. The request was malformed or missing required fields.None
401UnauthorizedUnauthorized. Authorization information is missing or invalid.None
403ForbiddenForbidden. Access to the requested resource or operation is forbidden.None
500Internal Server ErrorInternalServerErrorResponse. An unexpected error occurred, preventing the successful processing of the request.None
Examples

200 Response

{
"count": 0
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: None

Code samples

curl -X GET /api/v2/appointments/overlap/count?applicationId=bf8215e5-a39e-490a-a0e2-07df6a3d8c1f&organizationId=mypurecloud.de_9da4d7e6-38c4-4a90-be39-0942f9843645&start=%222022-01-31T19%3A00%3A00.0Z%22&duration=%22PT5M%22 \
-H 'Accept: application/json'

Participants

Add an Agent as a Participant to an Existing Appointment

POST /api/v2/appointments/participants/agents/ HTTP/1.1
Content-Type: application/json
Accept: application/json

Base paths: /api/v2/appointments

Adds a participant of type AGENT to an existing appointment, enhancing the appointment's collaboration and handling capabilities. This operation is intended for roles with scheduling or supervisory responsibilities to dynamically adjust the agent lineup as needed.

NOTE: Attempting to add an agent who is already a participant in the given appointment will result in a 'StatusConflict' error, indicating that the agent's participation has already been established.

Required authorization: ROLE_AGENT or ROLE_SUPERVISOR

Request body

{
"id": "f46f165d-383a-4432-9a3e-9c805a152e0c",
"userId": "36c1r718-9ab5-48c9-aeab-fas5f37b0ec4"
}

Parameters

ParameterInTypeRequiredDescription
bodybodyAddParticipantAgentRequestfalsenone

Responses

Overview
StatusMeaningDescriptionSchema
200OKnoneParticipantDetails
400Bad RequestBadRequest. The request was malformed, missing required fields.None
401UnauthorizedUnauthorized. Authorization information is missing or invalid.None
403ForbiddenForbidden. Access to the requested resource or operation is forbidden.None
404Not FoundStatusNotFound. The specified appointment or agent could not be found.None
409ConflictStatusConflict. The specified agent is already a participant of the appointment.None
500Internal Server ErrorInternal Server Error. An unexpected error occurred, preventing the successful processing of the request.None
Examples

200 Response

{
"contact": {
"primaryEmail": "user@provider.net",
"primaryPhone": "2102234988"
},
"expiresAt": "2019-08-24T14:15:22Z",
"id": "c59a1ee2-e71d-4370-9ac8-26de220104db",
"metadata": {
"refNo": "CS-9838"
},
"name": {
"firstName": "Bobby",
"lastName": "Ewing"
},
"ticket": {
"accessUrl": "string",
"expiresAt": "2019-08-24T14:15:22Z"
},
"type": "CUSTOMER",
"username": "ewingb@myorg.com"
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: jwtBearerToken

Code samples

curl -X POST /api/v2/appointments/participants/agents/ \
-H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'Authorization: API_KEY'

Add a Customer as a Participant to an Existing Appointment

POST /api/v2/appointments/participants/customers/ HTTP/1.1
Content-Type: application/json
Accept: application/json

Base paths: /api/v2/appointments

Adds a participant of type CUSTOMER to an existing appointment. This action allows for the inclusion of customers in the appointment scheduling system, facilitating direct engagement and interaction within the scheduled activities.

This operation is designed to enable roles with customer interaction responsibilities, such as agents or supervisors, to include customers in appointments, ensuring that all relevant parties are integrated into the appointment's planning and execution.

Required authorization: ROLE_AGENT or ROLE_SUPERVISOR

Request body

{
"customer": {
"contact": {
"primaryEmail": "user@provider.net",
"primaryPhone": "2102234988"
},
"metadata": {
"refNo": "CS-9838"
},
"name": {
"firstName": "Bobby",
"lastName": "Ewing"
},
"username": "ewingb@myorg.com"
},
"id": "f46f165d-383a-4432-9a3e-9c805a152e0c"
}

Parameters

ParameterInTypeRequiredDescription
bodybodyAddParticipantCustomerRequestfalsenone

Responses

Overview
StatusMeaningDescriptionSchema
200OKnoneParticipantDetails
400Bad RequestBadRequest. The request was malformed, missing required fields.None
401UnauthorizedUnauthorized. Authorization information is missing or invalid.None
403ForbiddenForbidden. Access to the requested resource or operation is forbidden.None
404Not FoundStatusNotFound. The specified appointment or customer could not be found.None
500Internal Server ErrorInternal Server Error. An unexpected error occurred, preventing the successful processing of the request.None
Examples

200 Response

{
"contact": {
"primaryEmail": "user@provider.net",
"primaryPhone": "2102234988"
},
"expiresAt": "2019-08-24T14:15:22Z",
"id": "c59a1ee2-e71d-4370-9ac8-26de220104db",
"metadata": {
"refNo": "CS-9838"
},
"name": {
"firstName": "Bobby",
"lastName": "Ewing"
},
"ticket": {
"accessUrl": "string",
"expiresAt": "2019-08-24T14:15:22Z"
},
"type": "CUSTOMER",
"username": "ewingb@myorg.com"
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: jwtBearerToken

Code samples

curl -X POST /api/v2/appointments/participants/customers/ \
-H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'Authorization: API_KEY'

DeleteAppointment a Participant from an Appointment

DELETE /api/v2/appointments/{id}/participants/{participantId} HTTP/1.1
Accept: application/json

Base paths: /api/v2/appointments

Removes a specific participant from an existing appointment by their unique identifier. This action allows for the adjustment of the participant list, ensuring that only relevant users are included in the appointment.

Required authorization: ROLE_AGENT or ROLE_SUPERVISOR

Parameters

ParameterInTypeRequiredDescription
idpathstringtrueId specifies the unique identifier of the appointment from which a Participant will be deleted.
participantIdpathstringtrueParticipantId specifies the unique identifier of the Participant to delete.

Responses

Overview
StatusMeaningDescriptionSchema
200OKnoneAppointmentResponse
400Bad RequestBad request. The request was malformed or missing required fields.None
401UnauthorizedUnauthorized. Authorization information is missing or invalid.None
403ForbiddenForbidden. Access to the requested resource or operation is forbidden.None
404Not FoundStatusNotFound. The specified appointment or participant could not be found.None
500Internal Server ErrorInternal Server Error. An unexpected error occurred, preventing the successful processing of the request.None
Examples

200 Response

{
"applicationId": "bf8215e5-a39e-490a-a0e2-07df6a3d8c1f",
"duration": "PT5M0s (5 minutes)",
"end": "2022-01-31T19:05:00.0Z",
"id": "f46f165d-383a-4432-9a3e-9c805a152e0c",
"interaction": {
"customFields": {
"property1": "string",
"property2": "string"
},
"properties": {
"property1": "string",
"property2": "string"
},
"routing": {
"properties": {
"deploymentId": "c461a74-af3a-4b55-a461-bafbf077a34e"
},
"type": "GENESYS_CLOUD_FLOW"
},
"state": "PENDING"
},
"locale": "en_US",
"metadata": {
"prop1": {}
},
"notes": "CRM ref: 3nv-1gt-4rt",
"notificationHeaders": "{\"x-channel\": widget\"}",
"notificationsActive": true,
"organizer": {
"id": "c59a1ee2-e71d-4370-9ac8-26de220104db",
"type": "CUSTOMER"
},
"participants": [
{
"id": "2460b086-8d27-4cd3-a7ef-cdc8b4c17f0c",
"type": "CUSTOMER"
},
{
"id": "36c1r718-9ab5-48c9-aeab-fas5f37b0ec4",
"type": "AGENT"
}
],
"secureToken": "string",
"start": "2022-01-31T19:00:00.0Z",
"targetAssignment": {
"id": "string",
"type": "string"
},
"timezone": "Europe/Berlin",
"title": "Product installation review"
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: jwtBearerToken

Code samples

curl -X DELETE /api/v2/appointments/{id}/participants/{participantId} \
-H 'Accept: application/json' \ -H 'Authorization: API_KEY'

Get Participant Details

GET /api/v2/appointments/{id}/participants/{participantId} HTTP/1.1
Accept: application/json

Base paths: /api/v2/appointments

Retrieves the details of a specific participant belonging to an existing appointment. The accessibility of participant details varies based on the user's role.

Required authorization: ROLE_AGENT, ROLE_SUPERVISOR or ROLE_CUSTOMER

NOTE:

  • ROLE_CUSTOMER: Authorized to retrieve details of participants with type CUSTOMER only. Attempting to retrieve details of a participant type CUSTOMER after an appointment has expired may result in a 'StatusNotFound' error.
  • When accessing with ROLE_CUSTOMER, the relevant 'conferenceId' from the JWT token will also be verified.

Parameters

ParameterInTypeRequiredDescription
idpathstringtrueId specifies the unique identifier of the appointment.
participantIdpathstringtrueParticipantId specifies the unique identifier of the Participant.

Responses

Overview
StatusMeaningDescriptionSchema
200OKnoneParticipantDetails
400Bad RequestBad request. The request was malformed or missing required fields.None
401UnauthorizedUnauthorized. Authorization information is missing or invalid.None
403ForbiddenForbidden. Access to the requested resource or operation is forbidden.None
404Not FoundStatusNotFound. No participant details found matching the criteria.None
500Internal Server ErrorInternalServerError. An unexpected error occurred while retrieving participant details.None
Examples

200 Response

{
"contact": {
"primaryEmail": "user@provider.net",
"primaryPhone": "2102234988"
},
"expiresAt": "2019-08-24T14:15:22Z",
"id": "c59a1ee2-e71d-4370-9ac8-26de220104db",
"metadata": {
"refNo": "CS-9838"
},
"name": {
"firstName": "Bobby",
"lastName": "Ewing"
},
"ticket": {
"accessUrl": "string",
"expiresAt": "2019-08-24T14:15:22Z"
},
"type": "CUSTOMER",
"username": "ewingb@myorg.com"
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: jwtBearerToken

Code samples

curl -X GET /api/v2/appointments/{id}/participants/{participantId} \
-H 'Accept: application/json' \ -H 'Authorization: API_KEY'

UpdateAppointment Participant state

PUT /api/v2/appointments/{id}/participants/{participantId} HTTP/1.1
Accept: application/json

Base paths: /api/v2/appointments

Updates the state of a specific participant belonging to an existing appointment. The new state should be provided in the request body.

Required authorization: ROLE_AGENT, ROLE_SUPERVISOR or ROLE_CUSTOMER

NOTE:

  • ROLE_CUSTOMER: Authorized to update the state of participants with type CUSTOMER only. Attempting to update the state of a participant type CUSTOMER after an appointment has expired may result in a 'StatusNotFound' error.
  • When accessing with ROLE_CUSTOMER, the relevant 'conferenceId' from the JWT token will also be verified.

Parameters

ParameterInTypeRequiredDescription
idpathstringtrueId specifies the unique identifier of the appointment.
participantIdpathstringtrueParticipantId specifies the unique identifier of the Participant.
statequerystringfalsestate specifies the new state of the Participant.
Detailed descriptions

state: state specifies the new state of the Participant. Possible values are: "WAITING", "JOINED", "LEFT".

Responses

Overview
StatusMeaningDescriptionSchema
200OKnoneAppointmentResponse
400Bad RequestBad request. The request was malformed or missing required fields.None
401UnauthorizedUnauthorized. Authorization information is missing or invalid.None
403ForbiddenForbidden. Access to the requested resource or operation is forbidden.None
404Not FoundStatusNotFound. No appointment or participant found matching the criteria.None
500Internal Server ErrorInternalServerError. An unexpected error occurred while updating participant state.None
Examples

200 Response

{
"applicationId": "bf8215e5-a39e-490a-a0e2-07df6a3d8c1f",
"duration": "PT5M0s (5 minutes)",
"end": "2022-01-31T19:05:00.0Z",
"id": "f46f165d-383a-4432-9a3e-9c805a152e0c",
"interaction": {
"customFields": {
"property1": "string",
"property2": "string"
},
"properties": {
"property1": "string",
"property2": "string"
},
"routing": {
"properties": {
"deploymentId": "c461a74-af3a-4b55-a461-bafbf077a34e"
},
"type": "GENESYS_CLOUD_FLOW"
},
"state": "PENDING"
},
"locale": "en_US",
"metadata": {
"prop1": {}
},
"notes": "CRM ref: 3nv-1gt-4rt",
"notificationHeaders": "{\"x-channel\": widget\"}",
"notificationsActive": true,
"organizer": {
"id": "c59a1ee2-e71d-4370-9ac8-26de220104db",
"type": "CUSTOMER"
},
"participants": [
{
"id": "2460b086-8d27-4cd3-a7ef-cdc8b4c17f0c",
"type": "CUSTOMER"
},
{
"id": "36c1r718-9ab5-48c9-aeab-fas5f37b0ec4",
"type": "AGENT"
}
],
"secureToken": "string",
"start": "2022-01-31T19:00:00.0Z",
"targetAssignment": {
"id": "string",
"type": "string"
},
"timezone": "Europe/Berlin",
"title": "Product installation review"
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: jwtBearerToken

Code samples

curl -X PUT /api/v2/appointments/{id}/participants/{participantId} \
-H 'Accept: application/json' \ -H 'Authorization: API_KEY'

Interaction Lifecycle & Routing

Accept appointment interaction

PUT /api/v2/appointments/{id}/accept HTTP/1.1
Content-Type: application/json
Accept: application/json

Base paths: /api/v2/appointments

Marks the appointment interaction as accepted by the specified participant. Required authorization: ROLE_AGENT

Request body

"string"

Parameters

ParameterInTypeRequiredDescription
idpathstringtrueId is the unique identifier of the appointment.
bodybodystringtruenone

Responses

Overview
StatusMeaningDescriptionSchema
200OKnoneAppointmentResponse
400Bad RequestBad request. The request was malformed or missing required fields.None
401UnauthorizedUnauthorized. Authorization information is missing or invalid.None
403ForbiddenForbidden. Access to the requested resource or operation is forbidden.None
404Not FoundStatusNotFound. No appointment found matching the specified id.None
500Internal Server ErrorInternal Server Error. An unexpected error occurred while updating interaction state.None
Examples

200 Response

{
"applicationId": "bf8215e5-a39e-490a-a0e2-07df6a3d8c1f",
"duration": "PT5M0s (5 minutes)",
"end": "2022-01-31T19:05:00.0Z",
"id": "f46f165d-383a-4432-9a3e-9c805a152e0c",
"interaction": {
"customFields": {
"property1": "string",
"property2": "string"
},
"properties": {
"property1": "string",
"property2": "string"
},
"routing": {
"properties": {
"deploymentId": "c461a74-af3a-4b55-a461-bafbf077a34e"
},
"type": "GENESYS_CLOUD_FLOW"
},
"state": "PENDING"
},
"locale": "en_US",
"metadata": {
"prop1": {}
},
"notes": "CRM ref: 3nv-1gt-4rt",
"notificationHeaders": "{\"x-channel\": widget\"}",
"notificationsActive": true,
"organizer": {
"id": "c59a1ee2-e71d-4370-9ac8-26de220104db",
"type": "CUSTOMER"
},
"participants": [
{
"id": "2460b086-8d27-4cd3-a7ef-cdc8b4c17f0c",
"type": "CUSTOMER"
},
{
"id": "36c1r718-9ab5-48c9-aeab-fas5f37b0ec4",
"type": "AGENT"
}
],
"secureToken": "string",
"start": "2022-01-31T19:00:00.0Z",
"targetAssignment": {
"id": "string",
"type": "string"
},
"timezone": "Europe/Berlin",
"title": "Product installation review"
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: jwtBearerToken

Code samples

curl -X PUT /api/v2/appointments/{id}/accept \
-H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'Authorization: API_KEY'

Mark appointment interaction as failed

PUT /api/v2/appointments/{id}/failed HTTP/1.1
Accept: application/json

Base paths: /api/v2/appointments

Marks the appointment interaction as failed and captures the interaction error details. Required authorization: ROLE_AGENT or ROLE_CUSTOMER

Parameters

ParameterInTypeRequiredDescription
idpathstringtrueId is the unique identifier of the appointment.
systemMessagequerystringfalsenone
userMessagequerystringfalsenone

Responses

Overview
StatusMeaningDescriptionSchema
200OKnoneAppointmentResponse
400Bad RequestBad request. The request was malformed or missing required fields.None
401UnauthorizedUnauthorized. Authorization information is missing or invalid.None
403ForbiddenForbidden. Access to the requested resource or operation is forbidden.None
404Not FoundStatusNotFound. No appointment found matching the specified id.None
500Internal Server ErrorInternal Server Error. An unexpected error occurred while updating interaction state.None
Examples

200 Response

{
"applicationId": "bf8215e5-a39e-490a-a0e2-07df6a3d8c1f",
"duration": "PT5M0s (5 minutes)",
"end": "2022-01-31T19:05:00.0Z",
"id": "f46f165d-383a-4432-9a3e-9c805a152e0c",
"interaction": {
"customFields": {
"property1": "string",
"property2": "string"
},
"properties": {
"property1": "string",
"property2": "string"
},
"routing": {
"properties": {
"deploymentId": "c461a74-af3a-4b55-a461-bafbf077a34e"
},
"type": "GENESYS_CLOUD_FLOW"
},
"state": "PENDING"
},
"locale": "en_US",
"metadata": {
"prop1": {}
},
"notes": "CRM ref: 3nv-1gt-4rt",
"notificationHeaders": "{\"x-channel\": widget\"}",
"notificationsActive": true,
"organizer": {
"id": "c59a1ee2-e71d-4370-9ac8-26de220104db",
"type": "CUSTOMER"
},
"participants": [
{
"id": "2460b086-8d27-4cd3-a7ef-cdc8b4c17f0c",
"type": "CUSTOMER"
},
{
"id": "36c1r718-9ab5-48c9-aeab-fas5f37b0ec4",
"type": "AGENT"
}
],
"secureToken": "string",
"start": "2022-01-31T19:00:00.0Z",
"targetAssignment": {
"id": "string",
"type": "string"
},
"timezone": "Europe/Berlin",
"title": "Product installation review"
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: jwtBearerToken

Code samples

curl -X PUT /api/v2/appointments/{id}/failed \
-H 'Accept: application/json' \ -H 'Authorization: API_KEY'

Retrieve appointment interaction details

GET /api/v2/appointments/{id}/interaction HTTP/1.1
Accept: application/json

Base paths: /api/v2/appointments

Returns the current interaction metadata for an appointment. Required authorization: ROLE_AGENT, ROLE_SUPERVISOR, or ROLE_CUSTOMER

Parameters

ParameterInTypeRequiredDescription
idpathstringtrueId is the unique identifier of the appointment.

Responses

Overview
StatusMeaningDescriptionSchema
200OKnoneInteractionResponse
400Bad RequestBad request. The request was malformed or missing required fields.None
401UnauthorizedUnauthorized. Authorization information is missing or invalid.None
403ForbiddenForbidden. Access to the requested resource or operation is forbidden.None
404Not FoundStatusNotFound. No appointment found matching the specified id.None
500Internal Server ErrorInternal Server Error. An unexpected error occurred while retrieving interaction details.None
Examples

200 Response

{
"customFields": {
"property1": "string",
"property2": "string"
},
"properties": {
"property1": "string",
"property2": "string"
},
"routing": {
"properties": {
"deploymentId": "c461a74-af3a-4b55-a461-bafbf077a34e"
},
"type": "GENESYS_CLOUD_FLOW"
},
"state": "PENDING"
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: jwtBearerToken

Code samples

curl -X GET /api/v2/appointments/{id}/interaction \
-H 'Accept: application/json' \ -H 'Authorization: API_KEY'

Update appointment interaction details

PUT /api/v2/appointments/{id}/interaction HTTP/1.1
Content-Type: application/json
Accept: application/json

Base paths: /api/v2/appointments

Updates the interaction metadata for an appointment, including routing configuration and channel context. Required authorization: ROLE_AGENT or ROLE_SUPERVISOR

Request body

{
"customFields": {
"property1": "string",
"property2": "string"
},
"routing": {
"properties": "{\"deploymentId\": \"c461a74-af3a-4b55-a461-bafbf077a34e\"} or {\"touchpointId\": \"c461a74-af3a-4b55-a461-bafbf077a34e\"}",
"type": "GENESYS_CLOUD_FLOW or TALKDESK_DIGITAL_CONNECT"
}
}

Parameters

ParameterInTypeRequiredDescription
idpathstringtrueId is the unique identifier of the appointment.
bodybodyUpdateInteractionBodytruenone

Responses

Overview
StatusMeaningDescriptionSchema
200OKnoneAppointmentResponse
400Bad RequestBad request. The request was malformed or missing required fields.None
401UnauthorizedUnauthorized. Authorization information is missing or invalid.None
403ForbiddenForbidden. Access to the requested resource or operation is forbidden.None
404Not FoundStatusNotFound. No appointment found matching the specified id.None
500Internal Server ErrorInternal Server Error. An unexpected error occurred while updating interaction details.None
Examples

200 Response

{
"applicationId": "bf8215e5-a39e-490a-a0e2-07df6a3d8c1f",
"duration": "PT5M0s (5 minutes)",
"end": "2022-01-31T19:05:00.0Z",
"id": "f46f165d-383a-4432-9a3e-9c805a152e0c",
"interaction": {
"customFields": {
"property1": "string",
"property2": "string"
},
"properties": {
"property1": "string",
"property2": "string"
},
"routing": {
"properties": {
"deploymentId": "c461a74-af3a-4b55-a461-bafbf077a34e"
},
"type": "GENESYS_CLOUD_FLOW"
},
"state": "PENDING"
},
"locale": "en_US",
"metadata": {
"prop1": {}
},
"notes": "CRM ref: 3nv-1gt-4rt",
"notificationHeaders": "{\"x-channel\": widget\"}",
"notificationsActive": true,
"organizer": {
"id": "c59a1ee2-e71d-4370-9ac8-26de220104db",
"type": "CUSTOMER"
},
"participants": [
{
"id": "2460b086-8d27-4cd3-a7ef-cdc8b4c17f0c",
"type": "CUSTOMER"
},
{
"id": "36c1r718-9ab5-48c9-aeab-fas5f37b0ec4",
"type": "AGENT"
}
],
"secureToken": "string",
"start": "2022-01-31T19:00:00.0Z",
"targetAssignment": {
"id": "string",
"type": "string"
},
"timezone": "Europe/Berlin",
"title": "Product installation review"
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: jwtBearerToken

Code samples

curl -X PUT /api/v2/appointments/{id}/interaction \
-H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'Authorization: API_KEY'

Appointment Notifications (Per Appointment)

Get Appointment Notification History

GET /api/v2/appointments/{id}/notifications HTTP/1.1
Accept: application/json

Base paths: /api/v2/appointments

Retrieves notification statuses for a specific appointment. Supports paging through query parameters. When invoked by an agent, the results are filtered to the caller's current assignment.

Field notes: scheduledFor: present only for scheduled notification types (ROOM, REMINDER, FOLLOW_UP) and represents the planned delivery time; omitted for event-style types where not applicable. nextRetryAt: present when an automatic retry is scheduled; omitted otherwise. nextPollAt: present while provider status polling is in progress (e.g. PENDING or SUBMITTED states); omitted for terminal states.

Required authorization: ROLE_SUPERVISOR or ROLE_AGENT

Parameters

ParameterInTypeRequiredDescription
idpathstringtrueId is the unique identifier of the appointment.
pageSizequeryinteger(int64)falsePage size - number of items per page
pageNumberqueryinteger(int64)falsePage number - 1-based page index
sortOrderquerystringfalseSort order - ascending or descending
sortFieldquerystringfalseField to use for sorting
typequeryarray[string]falseTypes filters the notification types.
channelqueryarray[string]falseChannels filters the notification channels.
statusqueryarray[string]falseStatuses filters the notification statuses.
Detailed descriptions

type: Types filters the notification types. Possible values: CREATE, UPDATE, RESCHEDULE, REASSIGN, ROOM, REMINDER, CANCELLED, FOLLOW_UP, IN_PROGRESS, COMPLETED, FAILED, NO_SHOW, PARTICIPANT_ADDED, PARTICIPANT_REMOVED, PARTICIPANT_UPDATED, INTERACTION_UPDATED. Accepts repeated query params (recommended) or comma-separated values.

channel: Channels filters the notification channels. Possible values: EMAIL, SMS, WEBHOOKS. Values are case-insensitive. Accepts repeated query params (recommended) or comma-separated values.

status: Statuses filters the notification statuses. Possible values: DELIVERED, FAILED, INITIALIZED, PENDING, CANCELLED. Values are case-insensitive. Accepts repeated query params (recommended) or comma-separated values.

Enumerated Values
ParameterValue
sortOrderasc
sortOrderdesc

Responses

Overview
StatusMeaningDescriptionSchema
200OKnoneListAppointmentNotificationsResponsePaged
400Bad RequestBad request.None
401UnauthorizedUnauthorized.None
403ForbiddenForbidden.None
404Not FoundStatusNotFound.None
500Internal Server ErrorInternal Server Error.None
Examples

200 Response

{
"content": [
{
"appointmentId": "2fd76778-6392-4faa-a84e-9e02d059af21",
"canRetry": true,
"channel": "EMAIL",
"createdAt": "2024-06-01T09:00:00Z",
"id": "d3f9e4a2-9c3b-4f1a-bc0a-0ef8c4a9f9a1",
"message": "Queued for delivery",
"nextPollAt": "2024-06-01T09:01:30Z",
"nextRetryAt": "2024-06-01T09:02:00Z",
"offset": "PT30M",
"providerStatus": "QUEUED",
"recipient": {
"displayName": "Bobby Ewing",
"type": "CUSTOMER"
},
"retryCount": 1,
"scheduledFor": "2024-06-01T08:30:00Z",
"status": "PENDING",
"type": "REMINDER",
"updatedAt": "2024-06-01T09:01:00Z"
},
{
"appointmentId": "2fd76778-6392-4faa-a84e-9e02d059af21",
"canRetry": false,
"channel": "SMS",
"createdAt": "2024-06-01T08:59:00Z",
"id": "a1b2c3d4-1111-2222-3333-444455556666",
"message": "Delivered",
"providerStatus": "DELIVERED",
"recipient": {
"displayName": "Bobby Ewing",
"type": "CUSTOMER"
},
"retryCount": 0,
"status": "DELIVERED",
"type": "CREATE",
"updatedAt": "2024-06-01T09:00:05Z"
}
],
"pageCount": 4,
"pageNumber": 1,
"pageSize": 25,
"sortField": "name",
"sortOrder": "asc",
"total": 100
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: jwtBearerToken

Code samples

curl -X GET /api/v2/appointments/{id}/notifications \
-H 'Accept: application/json' \ -H 'Authorization: API_KEY'

Get Appointment Notification Events

GET /api/v2/appointments/{id}/notifications/events HTTP/1.1
Accept: application/json

Base paths: /api/v2/appointments

Retrieves notification events for a specific appointment. Supports paging through query parameters. When invoked by an agent, the results are filtered to the caller's current assignment.

Field notes: scheduledFor: present only for scheduled notification types (ROOM, REMINDER, FOLLOW_UP) and represents the planned delivery time; omitted for event-style types where not applicable. nextPollAt: present while provider status polling is in progress; omitted for terminal states.

Required authorization: ROLE_SUPERVISOR or ROLE_AGENT

Parameters

ParameterInTypeRequiredDescription
idpathstringtrueId is the unique identifier of the appointment.
pageSizequeryinteger(int64)falsePage size - number of items per page
pageNumberqueryinteger(int64)falsePage number - 1-based page index
sortOrderquerystringfalseSort order - ascending or descending
sortFieldquerystringfalseField to use for sorting
typequeryarray[string]falseTypes filters the notification types.
channelqueryarray[string]falseChannels filters the notification channels.
statusqueryarray[string]falseStatuses filters the notification statuses.
statusIdqueryarray[string]falseStatusIDs filters notification events to the given notification status identifiers.
Detailed descriptions

type: Types filters the notification types. Possible values: CREATE, UPDATE, RESCHEDULE, REASSIGN, ROOM, REMINDER, CANCELLED, FOLLOW_UP, IN_PROGRESS, COMPLETED, FAILED, NO_SHOW, PARTICIPANT_ADDED, PARTICIPANT_REMOVED, PARTICIPANT_UPDATED, INTERACTION_UPDATED. Accepts repeated query params (recommended) or comma-separated values.

channel: Channels filters the notification channels. Possible values: EMAIL, SMS, WEBHOOKS. Values are case-insensitive. Accepts repeated query params (recommended) or comma-separated values.

status: Statuses filters the notification statuses. Possible values: DELIVERED, FAILED, INITIALIZED, PENDING, CANCELLED. Values are case-insensitive.

statusId: StatusIDs filters notification events to the given notification status identifiers. Accepts repeated query params (recommended) or comma-separated values.

Enumerated Values
ParameterValue
sortOrderasc
sortOrderdesc

Responses

Overview
StatusMeaningDescriptionSchema
200OKnoneListAppointmentNotificationEventsResponsePaged
400Bad RequestBad request.None
401UnauthorizedUnauthorized.None
403ForbiddenForbidden.None
404Not FoundStatusNotFound.None
500Internal Server ErrorInternal Server Error.None
Examples

200 Response

{
"content": [
{
"appointmentId": "2fd76778-6392-4faa-a84e-9e02d059af21",
"channel": "EMAIL",
"conversationId": "conv-3d2f4a",
"id": "7c3b1ad6-2e55-4c8f-9f2d-8ca9e78f1a0e",
"message": "Queued for delivery",
"messageId": "msg-07f1e",
"nextPollAt": "2024-06-01T09:01:30Z",
"offset": "PT30M",
"pollAttempts": 1,
"providerStatus": "QUEUED",
"recipient": {
"displayName": "Bobby Ewing",
"type": "CUSTOMER"
},
"retryCount": 1,
"scheduledFor": "2024-06-01T08:30:00Z",
"status": "PENDING",
"statusId": "d3f9e4a2-9c3b-4f1a-bc0a-0ef8c4a9f9a1",
"timestamp": "2024-06-01T09:00:30Z",
"type": "REMINDER"
},
{
"appointmentId": "2fd76778-6392-4faa-a84e-9e02d059af21",
"channel": "SMS",
"conversationId": "conv-3d2f4a",
"id": "0e8f7d6c-aaaa-bbbb-cccc-ddddeeeeffff",
"message": "Delivered",
"messageId": "msg-07f1e",
"pollAttempts": 0,
"providerStatus": "DELIVERED",
"recipient": {
"displayName": "Bobby Ewing",
"type": "CUSTOMER"
},
"retryCount": 0,
"status": "DELIVERED",
"statusId": "a1b2c3d4-1111-2222-3333-444455556666",
"timestamp": "2024-06-01T09:00:05Z",
"type": "CREATE"
}
],
"pageCount": 4,
"pageNumber": 1,
"pageSize": 25,
"sortField": "name",
"sortOrder": "asc",
"total": 100
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: jwtBearerToken

Code samples

curl -X GET /api/v2/appointments/{id}/notifications/events \
-H 'Accept: application/json' \ -H 'Authorization: API_KEY'

Schemas

AddParticipantAgentRequest

{
"id": "f46f165d-383a-4432-9a3e-9c805a152e0c",
"userId": "36c1r718-9ab5-48c9-aeab-fas5f37b0ec4"
}

Properties

NameTypeRequiredRestrictionsDescription
idstringtruenoneId is the unique identifier of the appointment.
in: path
userIdstringtruenoneAgentId is the unique identifier of the user (agent) to be added to the appointment.

AddParticipantCustomerRequest

{
"customer": {
"contact": {
"primaryEmail": "user@provider.net",
"primaryPhone": "2102234988"
},
"metadata": {
"refNo": "CS-9838"
},
"name": {
"firstName": "Bobby",
"lastName": "Ewing"
},
"username": "ewingb@myorg.com"
},
"id": "f46f165d-383a-4432-9a3e-9c805a152e0c"
}

Properties

NameTypeRequiredRestrictionsDescription
customerCustomerDetailstruenonenone
idstringtruenoneId is the unique identifier of the appointment.
in: path

Appointment

{
"applicationId": "bf8215e5-a39e-490a-a0e2-07df6a3d8c1f",
"duration": "PT5M0s (5 minutes)",
"end": "2022-01-31T19:05:00.0Z",
"id": "f46f165d-383a-4432-9a3e-9c805a152e0c",
"interaction": {
"customFields": {
"property1": "string",
"property2": "string"
},
"properties": {
"property1": "string",
"property2": "string"
},
"routing": {
"properties": {
"deploymentId": "c461a74-af3a-4b55-a461-bafbf077a34e"
},
"type": "GENESYS_CLOUD_FLOW"
},
"state": "PENDING"
},
"locale": "en_US",
"metadata": {
"prop1": {}
},
"notes": "CRM ref: 3nv-1gt-4rt",
"notificationHeaders": "{\"x-channel\": widget\"}",
"notificationsActive": true,
"organizer": {
"id": "c59a1ee2-e71d-4370-9ac8-26de220104db",
"type": "CUSTOMER"
},
"participants": [
{
"id": "2460b086-8d27-4cd3-a7ef-cdc8b4c17f0c",
"type": "CUSTOMER"
},
{
"id": "36c1r718-9ab5-48c9-aeab-fas5f37b0ec4",
"type": "AGENT"
}
],
"start": "2022-01-31T19:00:00.0Z",
"targetAssignment": {
"id": "string",
"type": "string"
},
"timezone": "Europe/Berlin",
"title": "Product installation review"
}

Properties

NameTypeRequiredRestrictionsDescription
applicationIdstringtruenoneUnique application identifier
durationstringfalsenoneDuration of the appointment, represented in ISO 8601 duration format.
endstring(date-time)falsenoneEndTime is the scheduled end date and time of the appointment in UTC.
idstringfalsenoneUnique identifier of the appointment
interactionInteractionDatafalsenonenone
localestringfalsenoneLocale used for customer notifications.
metadataobjectfalsenoneAny additional information that might be of use.
» additionalPropertiesanyfalsenonenone
notesstringfalsenoneAdditional notes
notificationHeadersobjectfalsenoneNotificationHeaders propagated to all applicable notifications i.e. webhook notifications
» additionalPropertiesstringfalsenonenone
notificationsActivebooleanfalsenoneNotificationsActive indicates whether notifications for this appointment are active.
organizerOrganizerfalsenonenone
participants[Participant]falsenoneParticipants lists all participants of this appointment.
startstring(date-time)falsenoneStartTime is the scheduled start date and time of the appointment in UTC.
targetAssignmentTargetAssignmentfalsenonenone
timezonestringfalsenoneTimeZone specifies the local time zone of the appointment.
titlestringfalsenoneAppointment title

AppointmentCountResponse

{
"count": 2,
"duration": "PT5M0s (5 minutes)",
"end": "2022-01-31T19:05:00.0Z",
"start": "2022-01-31T19:00:00.0Z",
"timezone": "Europe/Berlin"
}

Properties

NameTypeRequiredRestrictionsDescription
countinteger(int64)falsenoneCount represents the number of appointments scheduled within the specified duration.
durationstringfalsenoneDuration of the appointment, represented in ISO 8601 duration format.
endstring(date-time)falsenoneEndTime is the scheduled end date and time of the appointment in UTC.
startstring(date-time)falsenoneStartTime is the scheduled start date and time of the appointment in UTC.
timezonestringfalsenoneTimeZone specifies the local time zone of the appointment.

AppointmentOverlapResponse

{
"count": 0
}

Properties

NameTypeRequiredRestrictionsDescription
countinteger(int64)falsenonenone

AppointmentResponse

{
"applicationId": "bf8215e5-a39e-490a-a0e2-07df6a3d8c1f",
"duration": "PT5M0s (5 minutes)",
"end": "2022-01-31T19:05:00.0Z",
"id": "f46f165d-383a-4432-9a3e-9c805a152e0c",
"interaction": {
"customFields": {
"property1": "string",
"property2": "string"
},
"properties": {
"property1": "string",
"property2": "string"
},
"routing": {
"properties": {
"deploymentId": "c461a74-af3a-4b55-a461-bafbf077a34e"
},
"type": "GENESYS_CLOUD_FLOW"
},
"state": "PENDING"
},
"locale": "en_US",
"metadata": {
"prop1": {}
},
"notes": "CRM ref: 3nv-1gt-4rt",
"notificationHeaders": "{\"x-channel\": widget\"}",
"notificationsActive": true,
"organizer": {
"id": "c59a1ee2-e71d-4370-9ac8-26de220104db",
"type": "CUSTOMER"
},
"participants": [
{
"id": "2460b086-8d27-4cd3-a7ef-cdc8b4c17f0c",
"type": "CUSTOMER"
},
{
"id": "36c1r718-9ab5-48c9-aeab-fas5f37b0ec4",
"type": "AGENT"
}
],
"secureToken": "string",
"start": "2022-01-31T19:00:00.0Z",
"targetAssignment": {
"id": "string",
"type": "string"
},
"timezone": "Europe/Berlin",
"title": "Product installation review"
}

Properties

NameTypeRequiredRestrictionsDescription
applicationIdstringtruenoneUnique application identifier
durationstringfalsenoneDuration of the appointment, represented in ISO 8601 duration format.
endstring(date-time)falsenoneEndTime is the scheduled end date and time of the appointment in UTC.
idstringfalsenoneUnique identifier of the appointment
interactionInteractionDatafalsenonenone
localestringfalsenoneLocale used for customer notifications.
metadataobjectfalsenoneAny additional information that might be of use.
» additionalPropertiesanyfalsenonenone
notesstringfalsenoneAdditional notes
notificationHeadersobjectfalsenoneNotificationHeaders propagated to all applicable notifications i.e. webhook notifications
» additionalPropertiesstringfalsenonenone
notificationsActivebooleanfalsenoneNotificationsActive indicates whether notifications for this appointment are active.
organizerOrganizerfalsenonenone
participants[Participant]falsenoneParticipants lists all participants of this appointment.
secureTokenstringfalsenoneSecureToken is an HMAC-SHA256 token derived from the appointment's master key.
It is included only for authorised requests.
startstring(date-time)falsenoneStartTime is the scheduled start date and time of the appointment in UTC.
targetAssignmentTargetAssignmentfalsenonenone
timezonestringfalsenoneTimeZone specifies the local time zone of the appointment.
titlestringfalsenoneAppointment title

AssignmentTargetType

"string"

AssignmentTargetType defines the destination of an appointment.

Properties

NameTypeRequiredRestrictionsDescription
AssignmentTargetType defines the destination of an appointment.stringfalsenonenone

Contact

{
"primaryEmail": "user@provider.net",
"primaryPhone": "2102234988"
}

Properties

NameTypeRequiredRestrictionsDescription
primaryEmailstringfalsenonePrimaryEmail is the primary contact email address of the user.
primaryPhonestringfalsenonePrimaryPhone is the primary contact telephone number of the user.

CustomerDetails

{
"contact": {
"primaryEmail": "user@provider.net",
"primaryPhone": "2102234988"
},
"metadata": {
"refNo": "CS-9838"
},
"name": {
"firstName": "Bobby",
"lastName": "Ewing"
},
"username": "ewingb@myorg.com"
}

Properties

NameTypeRequiredRestrictionsDescription
contactContactfalsenonenone
metadataobjectfalsenoneMetadata holds unstructured additional information that might be useful.
» additionalPropertiesanyfalsenonenone
nameNamefalsenonenone
usernamestringfalsenoneUsername of the user.

CustomerDetailsRequest

{
"contact": {
"primaryEmail": "user@provider.net",
"primaryPhone": "2102234988"
},
"metadata": {
"refNo": "CS-9838"
},
"name": {
"firstName": "Bobby",
"lastName": "Ewing"
},
"participantId": "string",
"username": "ewingb@myorg.com"
}

Properties

NameTypeRequiredRestrictionsDescription
contactContactfalsenonenone
metadataobjectfalsenoneMetadata holds unstructured additional information that might be useful.
» additionalPropertiesanyfalsenonenone
nameNamefalsenonenone
participantIdstringfalsenoneCustomerId specifies the unique identifier of the Participant.
usernamestringfalsenoneUsername of the user.

FindAppointmentsEligibleResponse

{
"eligibleFrom": "2022-01-31T19:00:00.0Z",
"id": "f46f165d-383a-4432-9a3e-9c805a152e0c",
"start": "2022-01-31T19:00:00.0Z",
"timezone": "Europe/Berlin"
}

Properties

NameTypeRequiredRestrictionsDescription
eligibleFromstring(date-time)falsenoneEligibleFrom is the UTC date and time from which the appointment is eligible for activation.
idstringfalsenoneUnique identifier of the appointment
startstring(date-time)falsenoneStartTime is the scheduled start date and time in UTC for the appointment.
timezonestringfalsenoneTimeZone specifies the local time zone for the appointment.

FindAppointmentsResponsePaged

{
"content": [
{
"applicationId": "bf8215e5-a39e-490a-a0e2-07df6a3d8c1f",
"duration": "PT5M0s (5 minutes)",
"end": "2022-01-31T19:05:00.0Z",
"id": "f46f165d-383a-4432-9a3e-9c805a152e0c",
"interaction": {
"customFields": {
"property1": "string",
"property2": "string"
},
"properties": {
"property1": "string",
"property2": "string"
},
"routing": {
"properties": {
"deploymentId": "c461a74-af3a-4b55-a461-bafbf077a34e"
},
"type": "GENESYS_CLOUD_FLOW"
},
"state": "PENDING"
},
"locale": "en_US",
"metadata": {
"prop1": {}
},
"notes": "CRM ref: 3nv-1gt-4rt",
"notificationHeaders": "{\"x-channel\": widget\"}",
"notificationsActive": true,
"organizer": {
"id": "c59a1ee2-e71d-4370-9ac8-26de220104db",
"type": "CUSTOMER"
},
"participants": [
{
"id": "2460b086-8d27-4cd3-a7ef-cdc8b4c17f0c",
"type": "CUSTOMER"
},
{
"id": "36c1r718-9ab5-48c9-aeab-fas5f37b0ec4",
"type": "AGENT"
}
],
"start": "2022-01-31T19:00:00.0Z",
"targetAssignment": {
"id": "string",
"type": "string"
},
"timezone": "Europe/Berlin",
"title": "Product installation review"
}
],
"pageCount": 4,
"pageNumber": 1,
"pageSize": 25,
"sortField": "name",
"sortOrder": "asc",
"total": 100
}

Properties

NameTypeRequiredRestrictionsDescription
content[Appointment]falsenonenone
pageCountinteger(int64)falsenoneNumber of pages for the provided page size
pageNumberinteger(int64)falsenonePage number - 1-based page index
pageSizeinteger(int64)falsenonePage size - number of items per page
sortFieldstringfalsenoneField to use for sorting
sortOrderstringfalsenoneSort order - ascending or descending
totalinteger(int64)falsenoneTotal number of entities in the result set
Enumerated Values
PropertyValue
sortOrderasc
sortOrderdesc

InteractionData

{
"customFields": {
"property1": "string",
"property2": "string"
},
"properties": {
"property1": "string",
"property2": "string"
},
"routing": {
"properties": {
"deploymentId": "c461a74-af3a-4b55-a461-bafbf077a34e"
},
"type": "GENESYS_CLOUD_FLOW"
},
"state": "PENDING"
}

Properties

NameTypeRequiredRestrictionsDescription
customFieldsobjectfalsenoneKey value pair custom fields relevant to this interaction
» additionalPropertiesstringfalsenonenone
propertiesobjectfalsenoneKey value pair property relevant to this interaction
» additionalPropertiesstringfalsenonenone
routingRoutingDatafalsenonenone
statestringfalsenoneCurrent state of this interaction
Enumerated Values
PropertyValue
statePENDING
stateCOMPLETE

InteractionDataRequest

{
"customFields": {
"property1": "string",
"property2": "string"
},
"routing": {
"properties": "{\"deploymentId\": \"c461a74-af3a-4b55-a461-bafbf077a34e\"} or {\"touchpointId\": \"c461a74-af3a-4b55-a461-bafbf077a34e\"}",
"type": "GENESYS_CLOUD_FLOW or TALKDESK_DIGITAL_CONNECT"
}
}

Properties

NameTypeRequiredRestrictionsDescription
customFieldsobjectfalsenoneCustomFields to be propagated to the customer interaction.
» additionalPropertiesstringfalsenonenone
routingRoutingDataRequesttruenonenone

InteractionResponse

{
"customFields": {
"property1": "string",
"property2": "string"
},
"properties": {
"property1": "string",
"property2": "string"
},
"routing": {
"properties": {
"deploymentId": "c461a74-af3a-4b55-a461-bafbf077a34e"
},
"type": "GENESYS_CLOUD_FLOW"
},
"state": "PENDING"
}

Properties

NameTypeRequiredRestrictionsDescription
customFieldsobjectfalsenoneKey value pair custom fields relevant to this interaction
» additionalPropertiesstringfalsenonenone
propertiesobjectfalsenoneKey value pair property relevant to this interaction
» additionalPropertiesstringfalsenonenone
routingRoutingDatafalsenonenone
statestringfalsenoneCurrent state of this interaction
Enumerated Values
PropertyValue
statePENDING
stateCOMPLETE

ListAppointmentNotificationEventsResponsePaged

{
"content": [
{
"appointmentId": "2fd76778-6392-4faa-a84e-9e02d059af21",
"channel": "EMAIL",
"conversationId": "conv-3d2f4a",
"id": "7c3b1ad6-2e55-4c8f-9f2d-8ca9e78f1a0e",
"message": "Queued for delivery",
"messageId": "msg-07f1e",
"nextPollAt": "2024-06-01T09:01:30Z",
"offset": "PT30M",
"pollAttempts": 1,
"providerStatus": "QUEUED",
"recipient": {
"displayName": "Bobby Ewing",
"type": "CUSTOMER"
},
"retryCount": 1,
"scheduledFor": "2024-06-01T08:30:00Z",
"status": "PENDING",
"statusId": "d3f9e4a2-9c3b-4f1a-bc0a-0ef8c4a9f9a1",
"timestamp": "2024-06-01T09:00:30Z",
"type": "REMINDER"
},
{
"appointmentId": "2fd76778-6392-4faa-a84e-9e02d059af21",
"channel": "SMS",
"conversationId": "conv-3d2f4a",
"id": "0e8f7d6c-aaaa-bbbb-cccc-ddddeeeeffff",
"message": "Delivered",
"messageId": "msg-07f1e",
"pollAttempts": 0,
"providerStatus": "DELIVERED",
"recipient": {
"displayName": "Bobby Ewing",
"type": "CUSTOMER"
},
"retryCount": 0,
"status": "DELIVERED",
"statusId": "a1b2c3d4-1111-2222-3333-444455556666",
"timestamp": "2024-06-01T09:00:05Z",
"type": "CREATE"
}
],
"pageCount": 4,
"pageNumber": 1,
"pageSize": 25,
"sortField": "name",
"sortOrder": "asc",
"total": 100
}

Properties

NameTypeRequiredRestrictionsDescription
content[NotificationEvent]falsenonenone
pageCountinteger(int64)falsenoneNumber of pages for the provided page size
pageNumberinteger(int64)falsenonePage number - 1-based page index
pageSizeinteger(int64)falsenonePage size - number of items per page
sortFieldstringfalsenoneField to use for sorting
sortOrderstringfalsenoneSort order - ascending or descending
totalinteger(int64)falsenoneTotal number of entities in the result set
Enumerated Values
PropertyValue
sortOrderasc
sortOrderdesc

ListAppointmentNotificationsResponsePaged

{
"content": [
{
"appointmentId": "2fd76778-6392-4faa-a84e-9e02d059af21",
"canRetry": true,
"channel": "EMAIL",
"createdAt": "2024-06-01T09:00:00Z",
"id": "d3f9e4a2-9c3b-4f1a-bc0a-0ef8c4a9f9a1",
"message": "Queued for delivery",
"nextPollAt": "2024-06-01T09:01:30Z",
"nextRetryAt": "2024-06-01T09:02:00Z",
"offset": "PT30M",
"providerStatus": "QUEUED",
"recipient": {
"displayName": "Bobby Ewing",
"type": "CUSTOMER"
},
"retryCount": 1,
"scheduledFor": "2024-06-01T08:30:00Z",
"status": "PENDING",
"type": "REMINDER",
"updatedAt": "2024-06-01T09:01:00Z"
},
{
"appointmentId": "2fd76778-6392-4faa-a84e-9e02d059af21",
"canRetry": false,
"channel": "SMS",
"createdAt": "2024-06-01T08:59:00Z",
"id": "a1b2c3d4-1111-2222-3333-444455556666",
"message": "Delivered",
"providerStatus": "DELIVERED",
"recipient": {
"displayName": "Bobby Ewing",
"type": "CUSTOMER"
},
"retryCount": 0,
"status": "DELIVERED",
"type": "CREATE",
"updatedAt": "2024-06-01T09:00:05Z"
}
],
"pageCount": 4,
"pageNumber": 1,
"pageSize": 25,
"sortField": "name",
"sortOrder": "asc",
"total": 100
}

Properties

NameTypeRequiredRestrictionsDescription
content[NotificationStatus]falsenonenone
pageCountinteger(int64)falsenoneNumber of pages for the provided page size
pageNumberinteger(int64)falsenonePage number - 1-based page index
pageSizeinteger(int64)falsenonePage size - number of items per page
sortFieldstringfalsenoneField to use for sorting
sortOrderstringfalsenoneSort order - ascending or descending
totalinteger(int64)falsenoneTotal number of entities in the result set
Enumerated Values
PropertyValue
sortOrderasc
sortOrderdesc

Name

{
"firstName": "Bobby",
"lastName": "Ewing"
}

Properties

NameTypeRequiredRestrictionsDescription
firstNamestringfalsenoneFirstName is the first name of the user.
lastNamestringfalsenoneLastName is the last name of the user.

NotificationEvent

{
"appointmentId": "2fd76778-6392-4faa-a84e-9e02d059af21",
"channel": "EMAIL",
"conversationId": "conv-3d2f4a",
"errorMessage": "rejected by provider",
"id": "7c3b1ad6-2e55-4c8f-9f2d-8ca9e78f1a0e",
"message": "Queued for delivery",
"messageId": "msg-07f1e",
"nextPollAt": "2024-06-01T09:01:30Z",
"offset": "PT30M",
"pollAttempts": 1,
"providerStatus": "QUEUED",
"recipient": {
"displayName": "string",
"reasonCode": "string",
"type": "string"
},
"retryCount": 1,
"scheduledFor": "2024-06-01T08:30:00Z",
"status": "string",
"statusId": "d3f9e4a2-9c3b-4f1a-bc0a-0ef8c4a9f9a1",
"timestamp": "2024-06-01T09:00:30Z",
"type": "REMINDER"
}

Properties

NameTypeRequiredRestrictionsDescription
appointmentIdstringfalsenoneAssociated appointment ID
channelstringfalsenoneEmail, SMS, Webhook
conversationIdstringfalsenoneProvider conversation ID
errorMessagestringfalsenoneError details on failure
idstringfalsenoneUnique event ID
messagestringfalsenoneHuman readable status reason
messageIdstringfalsenoneProvider message ID
nextPollAtstring(date-time)falsenoneNext provider poll time (while pending/submitted)
offsetstringfalsenoneISO8601 duration (e.g. PT30M)
pollAttemptsinteger(int64)falsenoneProvider polls made
providerStatusstringfalsenoneRaw provider state
recipientNotificationRecipientfalsenonenone
retryCountinteger(int64)falsenoneNumber of delivery attempts
scheduledForstring(date-time)falsenoneTimestamp when delivery is due (only for scheduled types).
statusNotificationStatefalsenonenone
statusIdstringfalsenoneLinked notification status ID
timestampstring(date-time)falsenoneEvent time
typestringfalsenoneReminder, Follow-up, Create, Reschedule

NotificationRecipient

{
"displayName": "string",
"reasonCode": "string",
"type": "string"
}

Properties

NameTypeRequiredRestrictionsDescription
displayNamestringfalsenoneDisplayName is a human-friendly label of the recipient; when not available, mapping sets "-".
reasonCodeRecipientReasonCodefalsenonenone
typeRecipientTypefalsenonenone

NotificationState

"string"

Properties

NameTypeRequiredRestrictionsDescription
anonymousstringfalsenonenone

NotificationStatus

{
"appointmentId": "2fd76778-6392-4faa-a84e-9e02d059af21",
"canRetry": true,
"channel": "EMAIL",
"createdAt": "2024-06-01T09:00:00Z",
"errorMessage": "rejected by provider",
"id": "d3f9e4a2-9c3b-4f1a-bc0a-0ef8c4a9f9a1",
"message": "Queued for delivery",
"nextPollAt": "2024-06-01T09:01:30Z",
"nextRetryAt": "2024-06-01T09:02:00Z",
"offset": "PT30M",
"providerStatus": "QUEUED",
"recipient": {
"displayName": "string",
"reasonCode": "string",
"type": "string"
},
"retryCount": 1,
"scheduledFor": "2024-06-01T08:30:00Z",
"status": "string",
"type": "REMINDER",
"updatedAt": "2024-06-01T09:01:00Z"
}

Properties

NameTypeRequiredRestrictionsDescription
appointmentIdstringfalsenoneAssociated appointment ID
canRetrybooleanfalsenoneWhether manual retry is allowed
channelstringfalsenoneEmail, SMS, Webhook
createdAtstring(date-time)falsenoneCreation timestamp
errorMessagestringfalsenoneError details on failure
idstringfalsenoneUnique notification status ID
messagestringfalsenoneHuman readable status reason
nextPollAtstring(date-time)falsenoneNext provider poll time (while pending/submitted)
nextRetryAtstring(date-time)falsenoneTime of the next automatic retry (when applicable)
offsetstringfalsenoneISO8601 duration (e.g. PT30M)
providerStatusstringfalsenoneRaw provider-native state (last-known)
recipientNotificationRecipientfalsenonenone
retryCountinteger(int64)falsenoneNumber of delivery attempts
scheduledForstring(date-time)falsenoneTimestamp when delivery is due (only for scheduled types).
statusNotificationStatefalsenonenone
typestringfalsenoneReminder, Follow-up, Create, Reschedule, etc.
updatedAtstring(date-time)falsenoneTimestamp of last attempt

Organizer

{
"id": "c59a1ee2-e71d-4370-9ac8-26de220104db",
"type": "CUSTOMER"
}

Properties

NameTypeRequiredRestrictionsDescription
idstringfalsenoneId is the unique identifier of the Participant.
typestringfalsenoneType specifies the Participant type, which can be either AGENT or CUSTOMER.

Participant

{
"detailsAvailable": true,
"errorData": {
"systemMessage": "string",
"userMessage": "string"
},
"id": "c59a1ee2-e71d-4370-9ac8-26de220104db",
"state": "active",
"ticket": {
"accessUrl": "string",
"expiresAt": "2019-08-24T14:15:22Z"
},
"type": "CUSTOMER"
}

Properties

NameTypeRequiredRestrictionsDescription
detailsAvailablebooleanfalsenonenone
errorDataParticipantErrorfalsenonenone
idstringfalsenoneId is the unique identifier of the Participant.
statestringfalsenoneIndicates the current state of the Participant with respect to the conference.
ticketTicketfalsenonenone
typestringfalsenoneType specifies the Participant type, which can be either AGENT or CUSTOMER.

ParticipantDetails

{
"contact": {
"primaryEmail": "user@provider.net",
"primaryPhone": "2102234988"
},
"expiresAt": "2019-08-24T14:15:22Z",
"id": "c59a1ee2-e71d-4370-9ac8-26de220104db",
"metadata": {
"refNo": "CS-9838"
},
"name": {
"firstName": "Bobby",
"lastName": "Ewing"
},
"ticket": {
"accessUrl": "string",
"expiresAt": "2019-08-24T14:15:22Z"
},
"type": "CUSTOMER",
"username": "ewingb@myorg.com"
}

Properties

NameTypeRequiredRestrictionsDescription
contactContactfalsenonenone
expiresAtstring(date-time)falsenonenone
idstringfalsenoneId is the unique identifier of the Participant.
metadataobjectfalsenoneMetadata holds unstructured additional information that might be useful.
» additionalPropertiesanyfalsenonenone
nameNamefalsenonenone
ticketTicketfalsenonenone
typestringfalsenoneType specifies the Participant type, which can be either AGENT or CUSTOMER.
usernamestringfalsenoneUsername of the user.

ParticipantError

{
"systemMessage": "string",
"userMessage": "string"
}

Properties

NameTypeRequiredRestrictionsDescription
systemMessagestringfalsenonenone
userMessagestringfalsenonenone

ReassignAppointmentRequest

{
"id": "f46f165d-383a-4432-9a3e-9c805a152e0c",
"userId": "36c1r718-9ab5-48c9-aeab-fas5f37b0ec4"
}

Properties

NameTypeRequiredRestrictionsDescription
idstringtruenoneId is the unique identifier of the appointment.
in: path
userIdstringtruenoneUserId is the unique identifier of the user (agent) to be added to the appointment.

RecipientReasonCode

"string"

Example values: PDM_EXPIRED, NOT_FOUND, SYSTEM_ERROR.

Properties

NameTypeRequiredRestrictionsDescription
Example values: PDM_EXPIRED, NOT_FOUND, SYSTEM_ERROR.stringfalsenonenone

RecipientType

"string"

Allowed values: CUSTOMER, AGENT, SYSTEM.

Properties

NameTypeRequiredRestrictionsDescription
Allowed values: CUSTOMER, AGENT, SYSTEM.stringfalsenonenone

RescheduleAppointmentRequest

{
"duration": "\"PT5M\"",
"id": "f46f165d-383a-4432-9a3e-9c805a152e0c",
"locale": "\"en-GB\"",
"start": "\"2022-01-31T19:00:00.0Z\"",
"timezone": "\"Europe/Berlin\""
}

Properties

NameTypeRequiredRestrictionsDescription
durationstring(duration)truenoneDuration of the appointment in ISO 8601 format.
idstringtruenoneId is the unique identifier of the appointment.
in: path
localestringfalsenoneLocale used for the appointment and notifications. Defaults to "en-US".
startstring(date-time)truenoneStartTime is the UTC start date and time for the appointment.
timezonestringtruenoneTimeZone for the appointment.

RoutingData

{
"properties": {
"deploymentId": "c461a74-af3a-4b55-a461-bafbf077a34e"
},
"type": "GENESYS_CLOUD_FLOW"
}

Properties

NameTypeRequiredRestrictionsDescription
propertiesobjectfalsenoneRouting properties relevant to the routing type
» additionalPropertiesstringfalsenonenone
typestringfalsenoneRouting type associated with the given customer interaction
Enumerated Values
PropertyValue
typeGENESYS_CLOUD_FLOW
typeGENESYS_CLOUD_QUEUE

RoutingDataRequest

{
"properties": "{\"deploymentId\": \"c461a74-af3a-4b55-a461-bafbf077a34e\"} or {\"touchpointId\": \"c461a74-af3a-4b55-a461-bafbf077a34e\"}",
"type": "GENESYS_CLOUD_FLOW or TALKDESK_DIGITAL_CONNECT"
}

Properties

NameTypeRequiredRestrictionsDescription
propertiesobjectfalsenoneProperties are specific routing properties relevant to the RouteType.
» additionalPropertiesstringfalsenonenone
typestringfalsenoneRouteType is the routing type for the customer interaction.
Possible values: GENESYS_CLOUD_FLOW, GENESYS_CLOUD_QUEUE, TALKDESK_DIGITAL_CONNECT. Defaults to GENESYS_CLOUD_FLOW if genesys application or TALKDESK_DIGITAL_CONNECT if application is talkdesk.

ScheduleAppointmentRequest

{
"applicationId": "bf8215e5-a39e-490a-a0e2-07df6a3d8c1f",
"customers": [
{
"contact": {
"primaryEmail": "user@provider.net",
"primaryPhone": "2102234988"
},
"metadata": {
"refNo": "CS-9838"
},
"name": {
"firstName": "Bobby",
"lastName": "Ewing"
},
"username": "ewingb@myorg.com"
}
],
"duration": "\"PT5M\"",
"interaction": {
"customFields": {
"property1": "string",
"property2": "string"
},
"routing": {
"properties": "{\"deploymentId\": \"c461a74-af3a-4b55-a461-bafbf077a34e\"} or {\"touchpointId\": \"c461a74-af3a-4b55-a461-bafbf077a34e\"}",
"type": "GENESYS_CLOUD_FLOW or TALKDESK_DIGITAL_CONNECT"
}
},
"locale": "\"en-GB\"",
"metadata": {
"prop1": {}
},
"notes": "CRM ref: 3nv-1gt-4rt",
"notificationHeaders": "{\"x-channel\": widget\"}",
"start": "\"2022-01-31T19:00:00.0Z\"",
"targetAssignment": {
"id": "string",
"type": "string"
},
"timezone": "\"Europe/Berlin\"",
"title": "Product installation review"
}

Properties

NameTypeRequiredRestrictionsDescription
applicationIdstringtruenoneUnique application identifier
customers[CustomerDetails]falsenoneOptionally provide a list of customers who will participate in this appointment.
durationstring(duration)truenoneDuration of the appointment in ISO 8601 format.
interactionInteractionDataRequestfalsenonenone
localestringfalsenoneLocale used for the appointment and notifications. Defaults to "en-US".
metadataobjectfalsenoneAny additional information that might be of use.
» additionalPropertiesanyfalsenonenone
notesstringfalsenoneAdditional notes
notificationHeadersobjectfalsenoneHeaders propagated to all applicable notifications i.e. webhook notifications
» additionalPropertiesstringfalsenonenone
startstring(date-time)truenoneStartTime is the UTC start date and time for the appointment.
targetAssignmentTargetAssignmentfalsenonenone
timezonestringtruenoneTimeZone for the appointment.
titlestringfalsenoneAppointment title

TargetAssignment

{
"id": "string",
"type": "string"
}

TargetAssignment represents the assignee (agent or queue) for an appointment.

Properties

NameTypeRequiredRestrictionsDescription
idstringfalsenonenone
typeAssignmentTargetTypefalsenonenone

Ticket

{
"accessUrl": "string",
"expiresAt": "2019-08-24T14:15:22Z"
}

Ticket encapsulates access-related details for a participant.

Properties

NameTypeRequiredRestrictionsDescription
accessUrlstringfalsenonenone
expiresAtstring(date-time)falsenonenone

UpdateAppointmentRequest

{
"customer": {
"contact": {
"primaryEmail": "user@provider.net",
"primaryPhone": "2102234988"
},
"metadata": {
"refNo": "CS-9838"
},
"name": {
"firstName": "Bobby",
"lastName": "Ewing"
},
"participantId": "string",
"username": "ewingb@myorg.com"
},
"id": "f46f165d-383a-4432-9a3e-9c805a152e0c",
"metadata": {
"prop1": {}
},
"notes": "CRM ref: 3nv-1gt-4rt",
"notificationHeaders": {
"property1": "string",
"property2": "string"
},
"title": "Product installation review"
}

Properties

NameTypeRequiredRestrictionsDescription
customerCustomerDetailsRequestfalsenonenone
idstringtruenoneId is the unique identifier of the appointment.
in: path
metadataobjectfalsenoneAny additional information that might be of use.
» additionalPropertiesanyfalsenonenone
notesstringfalsenoneAdditional notes
notificationHeadersobjectfalsenonenone
» additionalPropertiesstringfalsenonenone
titlestringfalsenoneAppointment title

UpdateInteractionBody

{
"customFields": {
"property1": "string",
"property2": "string"
},
"routing": {
"properties": "{\"deploymentId\": \"c461a74-af3a-4b55-a461-bafbf077a34e\"} or {\"touchpointId\": \"c461a74-af3a-4b55-a461-bafbf077a34e\"}",
"type": "GENESYS_CLOUD_FLOW or TALKDESK_DIGITAL_CONNECT"
}
}

Properties

NameTypeRequiredRestrictionsDescription
customFieldsobjectfalsenoneCustomFields to be propagated to the customer interaction.
» additionalPropertiesstringfalsenonenone
routingRoutingDataRequesttruenonenone