Genesys Routing API

Queues, wrapup codes, skills, email & sms config, predictive routing

Operations 169

POST /api/v2/analytics/queues/observations/query Query for queue observations #
POST /api/v2/analytics/routing/activity/query Query for user activity observations #
GET /api/v2/routing/queues/{queueId}/estimatedwaittime Get Estimated Wait Time #
GET /api/v2/routing/queues/{queueId}/mediatypes/{mediaType}/estimatedwaittime Get Estimated Wait Time #
GET /api/v2/routing/availablemediatypes Get available media types #
GET /api/v2/routing/languages/{languageId} Get a routing language #
DELETE /api/v2/routing/languages/{languageId} Delete a routing language #
GET /api/v2/routing/languages Get the list of supported languages #
POST /api/v2/routing/languages Create Language #
GET /api/v2/routing/queues/divisionviews Get a paged listing of simplified queue objects, filterable by name, queue… #
GET /api/v2/routing/queues/divisionviews/all Get a paged listing of simplified queue objects, sorted by name. #
GET /api/v2/routing/queues/{queueId}/identityresolution Get Queue IdentityResolution Settings #
PUT /api/v2/routing/queues/{queueId}/identityresolution Update Queue IdentityResolution Settings #
GET /api/v2/routing/queues/{queueId} Get details about this queue #
PUT /api/v2/routing/queues/{queueId} Update a queue #
DELETE /api/v2/routing/queues/{queueId} Delete a queue #
GET /api/v2/routing/queues/{queueId}/wrapupcodes Get the wrap-up codes for a queue #
POST /api/v2/routing/queues/{queueId}/wrapupcodes Add up to 100 wrap-up codes to a queue #
DELETE /api/v2/routing/queues/{queueId}/wrapupcodes/{codeId} Delete a wrap-up code from a queue #
GET /api/v2/routing/queues/me Get a paged listing of queues the user is a member of #
GET /api/v2/routing/queues Get list of queues #
POST /api/v2/routing/queues Create a queue #
GET /api/v2/routing/settings/transcription Get Transcription Settings #
PUT /api/v2/routing/settings/transcription Update Transcription Settings #
PATCH /api/v2/routing/settings/transcription Patch Transcription Settings #
GET /api/v2/routing/settings/contactcenter Get Contact Center Settings #
PATCH /api/v2/routing/settings/contactcenter Update Contact Center Settings #
GET /api/v2/routing/settings Get an organization's routing settings #
PUT /api/v2/routing/settings Update an organization's routing settings #
DELETE /api/v2/routing/settings Delete an organization's routing settings #
GET /api/v2/routing/skills/{skillId} Get Routing Skill #
DELETE /api/v2/routing/skills/{skillId} Delete Routing Skill #
PATCH /api/v2/routing/skills/{skillId} Update Routing Skill Division #
GET /api/v2/routing/skills Get the list of routing skills. #
POST /api/v2/routing/skills Create Skill #
GET /api/v2/routing/utilization/labels/{labelId} Get details about this utilization label #
PUT /api/v2/routing/utilization/labels/{labelId} Update a utilization label #
DELETE /api/v2/routing/utilization/labels/{labelId} Delete a utilization label #
GET /api/v2/routing/utilization/labels/{labelId}/agents Get list of agent ids associated with a utilization label #
GET /api/v2/routing/utilization/labels Get list of utilization labels #
POST /api/v2/routing/utilization/labels Create a utilization label #
GET /api/v2/routing/utilization Get the organization-wide max utilization settings #
PUT /api/v2/routing/utilization Update the organization-wide max utilization settings. #
DELETE /api/v2/routing/utilization Delete the organization-wide max utilization settings and revert to the system… #
GET /api/v2/routing/assessments/{assessmentId} Retrieve a single benefit assessment #
DELETE /api/v2/routing/assessments/{assessmentId} Delete single benefit assessment #
GET /api/v2/routing/assessments Retrieve all benefit assessments #
POST /api/v2/routing/assessments Create a benefit assessment #
GET /api/v2/routing/assessments/jobs/{jobId} Retrieve a single benefit assessments job #
GET /api/v2/routing/assessments/jobs Retrieve all benefit assessment jobs #
POST /api/v2/routing/assessments/jobs Create a benefit assessment job #
PATCH /api/v2/routing/conversations/{conversationId} Update attributes of an in-queue conversation #
GET /api/v2/routing/email/domains/{domainId} Get domain #
DELETE /api/v2/routing/email/domains/{domainId} Delete a domain #
PATCH /api/v2/routing/email/domains/{domainId} Update domain settings #
PATCH /api/v2/routing/email/domains/{domainId}/validate Validate domain settings #
GET /api/v2/routing/email/domains/{domainId}/dkim Get domain dkim settings #
POST /api/v2/routing/email/domains/{domainId}/dkim Restart domain dkim #
GET /api/v2/routing/email/domains/{domainId}/verification Get domain verification settings #
POST /api/v2/routing/email/domains/{domainId}/verification Restart domain verification #
GET /api/v2/routing/email/domains/{domainId}/mailfrom Get domain mail from settings #
POST /api/v2/routing/email/domains/{domainId}/mailfrom Set domain mail from settings #
POST /api/v2/routing/email/domains/{domainId}/testconnection Tests the custom SMTP server integration connection set on this ACD domain #
GET /api/v2/routing/email/domains Get domains #
POST /api/v2/routing/email/domains Create a domain #
GET /api/v2/routing/email/setting/{emailSettingId} Get email setting. #
DELETE /api/v2/routing/email/setting/{emailSettingId} Delete an email setting. Removes the email setting and its associated settings #
PATCH /api/v2/routing/email/setting/{emailSettingId} Update an email setting. Modifies the settings for email setting #
GET /api/v2/routing/email/setting Get a paged list of email routing settings #
POST /api/v2/routing/email/setting Create a new email setting. #
GET /api/v2/routing/email/setup Get email setup #
GET /api/v2/routing/email/outbound/domains/{domainId} Get domain #
DELETE /api/v2/routing/email/outbound/domains/{domainId} Delete an outbound domain #
PATCH /api/v2/routing/email/outbound/domains/{domainId} Update configurable settings for an email domain, such as changing the sending… #
GET /api/v2/routing/email/outbound/domains/{domainId}/activation Get activation status (cname + dkim) of an outbound domain #
PUT /api/v2/routing/email/outbound/domains/{domainId}/activation Request an activation status (cname + dkim) update of an outbound domain #
POST /api/v2/routing/email/outbound/domains/{domainId}/testconnection Tests the custom SMTP server integration connection set on this outbound domain #
GET /api/v2/routing/email/outbound/domains Get outbound domains #
POST /api/v2/routing/email/outbound/domains Create a domain #
GET /api/v2/routing/email/domains/{domainName}/routes/{routeId}/identityresolution Get a route identity resolution setting #
PUT /api/v2/routing/email/domains/{domainName}/routes/{routeId}/identityresolution Update identity resolution settings for a route #
GET /api/v2/routing/email/domains/{domainName}/routes/{routeId} Get a route #
PUT /api/v2/routing/email/domains/{domainName}/routes/{routeId} Update a route #
DELETE /api/v2/routing/email/domains/{domainName}/routes/{routeId} Delete a route #
GET /api/v2/routing/email/domains/{domainName}/routes Get routes #
POST /api/v2/routing/email/domains/{domainName}/routes Create a route #
POST /api/v2/routing/email/outbound/domains/simulated Create a simulated domain #
GET /api/v2/routing/message/recipients/{recipientId} Get a recipient #
PUT /api/v2/routing/message/recipients/{recipientId} Update a recipient #
GET /api/v2/routing/message/recipients Get recipients #
GET /api/v2/routing/sms/addresses/{addressId} Get an Address by Id for SMS #
DELETE /api/v2/routing/sms/addresses/{addressId} Delete an Address by Id for SMS #
GET /api/v2/routing/sms/addresses Get a list of Addresses for SMS #
POST /api/v2/routing/sms/addresses Provision an Address for SMS #
GET /api/v2/routing/sms/availablephonenumbers Get a list of available phone numbers for SMS provisioning #
GET /api/v2/routing/sms/identityresolution/phonenumbers/{addressId} Get a SMS identity resolution settings #
PUT /api/v2/routing/sms/identityresolution/phonenumbers/{addressId} Update an SMS identity resolution settings #
POST /api/v2/routing/sms/phonenumbers/import Imports a phone number for SMS #
GET /api/v2/routing/sms/phonenumbers/{phoneNumberId} Get a phone number provisioned for SMS #
DELETE /api/v2/routing/sms/phonenumbers/{phoneNumberId} Delete a phone number provisioned for SMS #
PATCH /api/v2/routing/sms/phonenumbers/{phoneNumberId} Update a phone number provisioned for SMS #
GET /api/v2/routing/sms/phonenumbers Get a list of provisioned phone numbers #
POST /api/v2/routing/sms/phonenumbers Provision a phone number for SMS #
GET /api/v2/routing/predictors/{predictorId} Retrieve a single predictor #
DELETE /api/v2/routing/predictors/{predictorId} Delete single predictor #
PATCH /api/v2/routing/predictors/{predictorId} Update single predictor #
GET /api/v2/routing/predictors Retrieve all predictors #
POST /api/v2/routing/predictors Create a predictor #
GET /api/v2/routing/predictors/keyperformanceindicators Get a list of Key Performance Indicators #
GET /api/v2/routing/predictors/{predictorId}/models/{modelId}/features Retrieve Predictor Model Features #
GET /api/v2/routing/predictors/{predictorId}/models Retrieve Predictor Models and Top Features #
DELETE /api/v2/routing/queues/{queueId}/members/{memberId} Delete a queue member #
PATCH /api/v2/routing/queues/{queueId}/members/{memberId} Update the ring number OR joined status for a queue member #
GET /api/v2/routing/queues/{queueId}/members Get the members of this queue #
POST /api/v2/routing/queues/{queueId}/members Bulk add or delete up to 100 queue members #
PATCH /api/v2/routing/queues/{queueId}/members Join or unjoin a set of up to 100 users for a queue #
DELETE /api/v2/routing/queues/{queueId}/users/{memberId} DEPRECATED: use DELETE /routing/queues/{queueId}/members/{memberId}. #
PATCH /api/v2/routing/queues/{queueId}/users/{memberId} DEPRECATED: use PATCH /routing/queues/{queueId}/members/{memberId}. #
GET /api/v2/routing/queues/{queueId}/users DEPRECATED: use GET /routing/queues/{queueId}/members. #
POST /api/v2/routing/queues/{queueId}/users DEPRECATED: use POST /routing/queues/{queueId}/members. #
PATCH /api/v2/routing/queues/{queueId}/users DEPRECATED: use PATCH /routing/queues/{queueId}/members. #
GET /api/v2/routing/queues/{queueId}/assistant Get an assistant associated with a queue #
GET /api/v2/routing/queues/{queueId}/comparisonperiods/{comparisonPeriodId} Get a Comparison Period #
GET /api/v2/routing/queues/{queueId}/comparisonperiods Get list of comparison periods #
GET /api/v2/routing/skillexpressions/{expressionId} Get a skill expression by ID #
DELETE /api/v2/routing/skillexpressions/{expressionId} Archive a skill expression to remove it from the set of active expressions #
POST /api/v2/routing/skillexpressions/validate Validate and normalize a skill expression #
GET /api/v2/routing/skillexpressions Get skill expressions #
DELETE /api/v2/routing/skillexpressions Archive a set of skill expressions to remove them from the set of active… #
GET /api/v2/routing/skillexpressions/queue/{queueId} Get skill expressions associated with a queue #
GET /api/v2/routing/skillgroups/{skillGroupId}/members/divisions Get list of member divisions for this skill group #
POST /api/v2/routing/skillgroups/{skillGroupId}/members/divisions Add or remove member divisions for this skill group #
GET /api/v2/routing/skillgroups/{skillGroupId} Get skill group #
DELETE /api/v2/routing/skillgroups/{skillGroupId} Remove skill group definition #
PATCH /api/v2/routing/skillgroups/{skillGroupId} Update skill group definition #
GET /api/v2/routing/skillgroups/{skillGroupId}/members Get skill group members #
GET /api/v2/routing/skillgroups Get skill group listing #
POST /api/v2/routing/skillgroups Create a skill group #
GET /api/v2/routing/directroutingbackup/settings/me Get the user's Direct Routing Backup settings #
PUT /api/v2/routing/directroutingbackup/settings/me Update the user's Direct Routing Backup settings #
DELETE /api/v2/routing/directroutingbackup/settings/me Delete the user's Direct Routing Backup settings and revert to the Direct… #
GET /api/v2/routing/users/{userId}/directroutingbackup/settings Get the user's Direct Routing Backup settings #
PUT /api/v2/routing/users/{userId}/directroutingbackup/settings Update the user's Direct Routing Backup settings #
DELETE /api/v2/routing/users/{userId}/directroutingbackup/settings Delete the user's Direct Routing Backup settings and revert to the Direct… #
GET /api/v2/routing/users/{userId}/utilization Get the user's max utilization settings. #
PUT /api/v2/routing/users/{userId}/utilization Update the user's max utilization settings. #
DELETE /api/v2/routing/users/{userId}/utilization Delete the user's max utilization settings and revert to the organization-wide… #
GET /api/v2/routing/wrapupcodes/divisionviews/{codeId} Get a simplified wrap-up code #
GET /api/v2/routing/wrapupcodes/divisionviews Get a paged listing of simplified wrapup code objects, filterable by name… #
GET /api/v2/routing/wrapupcodes/{codeId} Get details about this wrap-up code #
PUT /api/v2/routing/wrapupcodes/{codeId} Update wrap-up code #
DELETE /api/v2/routing/wrapupcodes/{codeId} Delete wrap-up code #
GET /api/v2/routing/wrapupcodes Get list of wrapup codes #
POST /api/v2/routing/wrapupcodes Create a wrap-up code #
PATCH /api/v2/users/{userId}/queues/{queueId} Join or unjoin a queue for a user #
GET /api/v2/users/{userId}/queues Get queues for user #
PATCH /api/v2/users/{userId}/queues Join or unjoin a set of queues for a user #
DELETE /api/v2/users/{userId}/routinglanguages/{languageId} Remove a routing language from a user #
PATCH /api/v2/users/{userId}/routinglanguages/{languageId} Update an assigned routing language's proficiency #
GET /api/v2/users/{userId}/routinglanguages List routing languages assigned to a user #
POST /api/v2/users/{userId}/routinglanguages Assign a routing language to a user #
PATCH /api/v2/users/{userId}/routinglanguages/bulk Assign multiple routing languages to a user. #
PUT /api/v2/users/{userId}/routingskills/{skillId} Update an assigned routing skill's proficiency #
DELETE /api/v2/users/{userId}/routingskills/{skillId} Remove a routing skill from a user #
GET /api/v2/users/{userId}/routingskills List routing skills assigned to a user #
POST /api/v2/users/{userId}/routingskills Assign a routing skill to a user #
PUT /api/v2/users/{userId}/routingskills/bulk Assign multiple routing skills to a user, replacing any current assignments #
PATCH /api/v2/users/{userId}/routingskills/bulk Assign multiple routing skills to a user #
GET /api/v2/users/{userId}/skillgroups Get skill groups for a user #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/genesys-routing-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

genesys-routing-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: With the PureCloud Platform API, you can control all aspects of your PureCloud environment. With the APIs you can access the system configuration, manage conversations and more.
  version: v2
  title: PureCloud Platform Routing API
  termsOfService: https://help.genesys.cloud/articles/terms-and-conditions/
  contact:
    name: PureCloud Developer Evangelists
    url: https://developer.genesys.cloud/
    email: DeveloperEvangelists@genesys.com
  license:
    name: UNLICENSED
    url: https://help.genesys.cloud/articles/terms-and-conditions/
servers:
- url: https://api.mypurecloud.com
tags:
- name: Routing
  description: Queues, wrapup codes, skills, email & sms config, predictive routing
  externalDocs:
    description: Routing Documentation
    url: https://developer.genesys.cloud/routing/routing/
paths:
  /api/v2/analytics/queues/observations/query:
    post:
      tags:
      - Routing
      summary: Query for queue observations
      description: ''
      operationId: postAnalyticsQueuesObservationsQuery
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QueueObservationQueryResponse'
        '400':
          description: The request could not be understood by the server due to malformed syntax.
          x-inin-error-codes:
            bad.request: The request could not be understood by the server due to malformed syntax.
            response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable
            invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ'
            invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s'
            client.failed.request: The client did not produce a request with valid end of stream signaling. This can be caused by poor network connection and/or client behavior.
            invalid.property: Value [%s] is not a valid property for object [%s]
            constraint.validation: '%s'
            invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '401':
          description: No authentication bearer token specified in authorization header.
          x-inin-error-codes:
            authentication.required: No authentication bearer token specified in authorization header.
            ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]'
            bad.credentials: Invalid login credentials.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '403':
          description: You are not authorized to perform the requested action.
          x-inin-error-codes:
            missing.division.permission: This user is not permitted to query for queue.
            app.not.authorized.for.scope: App not authorized to use scope %s
            missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s'
            not.authorized: You are not authorized to perform the requested action.
            missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s'
            authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]'
            missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '404':
          description: The requested resource was not found.
          x-inin-error-codes:
            not.found: The requested resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '408':
          description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
          x-inin-error-codes:
            client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '409':
          description: The request conflicts with the current state of the target resource.
          x-inin-error-codes:
            request.conflict: The request conflicts with the current state of the target resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '413':
          description: 'The request is over the size limit. Maximum bytes: %s'
          x-inin-error-codes:
            request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '415':
          description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
          x-inin-error-codes:
            unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '429':
          description: Rate limit exceeded the maximum. Retry the request in [%s] seconds
          x-inin-error-codes:
            too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds
            too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '500':
          description: The server encountered an unexpected condition which prevented it from fulfilling the request.
          x-inin-error-codes:
            internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '503':
          description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
          x-inin-error-codes:
            service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
            general.internal.server.error: An internal server error has occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '504':
          description: The request timed out.
          x-inin-error-codes:
            authentication.request.timeout: Authentication request timeout.
            request.timeout: The request timed out.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
      security:
      - PureCloud OAuth:
        - analytics
        - analytics:readonly
      x-inin-requires-permissions:
        type: ANY
        permissions:
        - analytics:queueObservation:view
      x-purecloud-method-name: postAnalyticsQueuesObservationsQuery
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QueueObservationQuery'
        description: query
        required: true
  /api/v2/analytics/routing/activity/query:
    post:
      tags:
      - Routing
      summary: Query for user activity observations
      description: ''
      operationId: postAnalyticsRoutingActivityQuery
      parameters:
      - name: pageSize
        in: query
        description: The desired page size
        required: false
        schema:
          type: integer
          format: int32
      - name: pageNumber
        in: query
        description: The desired page number
        required: false
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoutingActivityResponse'
        '400':
          description: The request could not be understood by the server due to malformed syntax.
          x-inin-error-codes:
            bad.request: The request could not be understood by the server due to malformed syntax.
            response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable
            invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ'
            invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s'
            client.failed.request: The client did not produce a request with valid end of stream signaling. This can be caused by poor network connection and/or client behavior.
            invalid.property: Value [%s] is not a valid property for object [%s]
            constraint.validation: '%s'
            invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '401':
          description: No authentication bearer token specified in authorization header.
          x-inin-error-codes:
            authentication.required: No authentication bearer token specified in authorization header.
            ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]'
            bad.credentials: Invalid login credentials.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '403':
          description: You are not authorized to perform the requested action.
          x-inin-error-codes:
            missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s).
            app.not.authorized.for.scope: App not authorized to use scope %s
            missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s'
            not.authorized: You are not authorized to perform the requested action.
            missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s'
            authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]'
            missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '404':
          description: The requested resource was not found.
          x-inin-error-codes:
            not.found: The requested resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '408':
          description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
          x-inin-error-codes:
            client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '409':
          description: The request conflicts with the current state of the target resource.
          x-inin-error-codes:
            request.conflict: The request conflicts with the current state of the target resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '413':
          description: 'The request is over the size limit. Maximum bytes: %s'
          x-inin-error-codes:
            request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '415':
          description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
          x-inin-error-codes:
            unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '429':
          description: Rate limit exceeded the maximum. Retry the request in [%s] seconds
          x-inin-error-codes:
            too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds
            too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '500':
          description: The server encountered an unexpected condition which prevented it from fulfilling the request.
          x-inin-error-codes:
            internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '503':
          description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
          x-inin-error-codes:
            service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '504':
          description: The request timed out.
          x-inin-error-codes:
            authentication.request.timeout: Authentication request timeout.
            request.timeout: The request timed out.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
      security:
      - PureCloud OAuth:
        - analytics
        - analytics:readonly
      x-inin-requires-permissions:
        type: ANY
        permissions:
        - analytics:queueObservation:view
      x-purecloud-method-name: postAnalyticsRoutingActivityQuery
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RoutingActivityQuery'
        description: query
        required: true
  /api/v2/routing/queues/{queueId}/estimatedwaittime:
    get:
      tags:
      - Routing
      summary: Get Estimated Wait Time
      description: ''
      operationId: getRoutingQueueEstimatedwaittime
      parameters:
      - name: queueId
        in: path
        description: queueId
        required: true
        schema:
          type: string
      - name: conversationId
        in: query
        description: conversationId
        required: false
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EstimatedWaitTimePredictions'
        '400':
          description: The request could not be understood by the server due to malformed syntax.
          x-inin-error-codes:
            bad.request: The request could not be understood by the server due to malformed syntax.
            response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable
            invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ'
            invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s'
            invalid.property: Value [%s] is not a valid property for object [%s]
            constraint.validation: '%s'
            invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '401':
          description: No authentication bearer token specified in authorization header.
          x-inin-error-codes:
            authentication.required: No authentication bearer token specified in authorization header.
            ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]'
            bad.credentials: Invalid login credentials.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '403':
          description: You are not authorized to perform the requested action.
          x-inin-error-codes:
            missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s).
            app.not.authorized.for.scope: App not authorized to use scope %s
            missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s'
            missing.division.permissions: At least one of the required division permissions is missing
            not.authorized: You are not authorized to perform the requested action.
            missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s'
            authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]'
            missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '404':
          description: The requested resource was not found.
          x-inin-error-codes:
            not.found: The requested resource was not found.
            resource.not.found: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '408':
          description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
          x-inin-error-codes:
            client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '409':
          description: The request conflicts with the current state of the target resource.
          x-inin-error-codes:
            request.conflict: The request conflicts with the current state of the target resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '413':
          description: 'The request is over the size limit. Maximum bytes: %s'
          x-inin-error-codes:
            request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '415':
          description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
          x-inin-error-codes:
            unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '429':
          description: Rate limit exceeded the maximum. Retry the request in [%s] seconds
          x-inin-error-codes:
            too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds
            too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '500':
          description: The server encountered an unexpected condition which prevented it from fulfilling the request.
          x-inin-error-codes:
            internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '503':
          description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
          x-inin-error-codes:
            service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '504':
          description: The request timed out.
          x-inin-error-codes:
            authentication.request.timeout: Authentication request timeout.
            request.timeout: The request timed out.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
      security:
      - PureCloud OAuth:
        - routing
        - routing:readonly
      x-inin-requires-permissions:
        type: ALL
        permissions:
        - routing:queue:view
      x-purecloud-method-name: getRoutingQueueEstimatedwaittime
  /api/v2/routing/queues/{queueId}/mediatypes/{mediaType}/estimatedwaittime:
    get:
      tags:
      - Routing
      summary: Get Estimated Wait Time
      description: ''
      operationId: getRoutingQueueMediatypeEstimatedwaittime
      parameters:
      - name: queueId
        in: path
        description: queueId
        required: true
        schema:
          type: string
      - name: mediaType
        in: path
        description: mediaType
        required: true
        schema:
          type: string
          enum:
          - all
          - call
          - chat
          - callback
          - email
          - videoComm
          - message
      - name: labelId
        in: query
        description: Unique id that represents the interaction label used with media type for EWT calculation
        required: false
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EstimatedWaitTimePredictions'
        '400':
          description: The request could not be understood by the server due to malformed syntax.
          x-inin-error-codes:
            bad.request: The request could not be understood by the server due to malformed syntax.
            response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable
            invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ'
            invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s'
            invalid.property: Value [%s] is not a valid property for object [%s]
            constraint.validation: '%s'
            invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '401':
          description: No authentication bearer token specified in authorization header.
          x-inin-error-codes:
            authentication.required: No authentication bearer token specified in authorization header.
            ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]'
            bad.credentials: Invalid login credentials.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '403':
          description: You are not authorized to perform the requested action.
          x-inin-error-codes:
            missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s).
            app.not.authorized.for.scope: App not authorized to use scope %s
            missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s'
            missing.division.permissions: At least one of the required division permissions is missing
            not.authorized: You are not authorized to perform the requested action.
            missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s'
            authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]'
            missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '404':
          description: The requested resource was not found.
          x-inin-error-codes:
            not.found: The requested resource was not found.
            resource.not.found: The requested resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '408':
          description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
          x-inin-error-codes:
            client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '409':
          description: The request conflicts with the current state of the target resource.
          x-inin-error-codes:
            request.conflict: The request conflicts with the current state of the target resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '413':
          description: 'The request is over the size limit. Maximum bytes: %s'
          x-inin-error-codes:
            request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '415':
          description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
          x-inin-error-codes:
            unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '429':
          description: Rate limit exceeded the maximum. Retry the request in [%s] seconds
          x-inin-error-codes:
            too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds
            too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '500':
          description: The server encountered an unexpected condition which prevented it from fulfilling the request.
          x-inin-error-codes:
            internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '503':
          description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
          x-inin-error-codes:
            service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '504':
          description: The request timed out.
          x-inin-error-codes:
            division.authorization.timeout: Division authorization timed out.
            authentication.request.timeout: Authentication request timeout.
            request.timeout: The request timed out.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
      security:
      - PureCloud OAuth:
        - routing
        - routing:readonly
      x-inin-requires-permissions:
        type: ALL
        permissions:
        - routing:queue:view
      x-purecloud-method-name: getRoutingQueueMediatypeEstimatedwaittime
  /api/v2/routing/availablemediatypes:
    get:
      tags:
      - Routing
      summary: Get available media types
      description: ''
      operationId: getRoutingAvailablemediatypes
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AvailableMediaTypeEntityListing'
        '400':
          description: The request could not be understood by the server due to malformed syntax.
          x-inin-error-codes:
            bad.request: The request could not be understood by the server due to malformed syntax.
            response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable
            invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ'
            invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s'
            invalid.property: Value [%s] is not a valid property for object [%s]
            constraint.validation: '%s'
            invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBod

# --- truncated at 32 KB (1496 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/genesys/refs/heads/main/openapi/genesys-routing-api-openapi.yml