{
  "name": "Get Estimated Wait Time Utilization Label",
  "integrationType": "purecloud-data-actions",
  "actionType": "custom",
  "config": {
    "request": {
      "requestUrlTemplate": "/api/v2/routing/queues/${input.QUEUE_ID}/mediatypes/${input.MEDIA_TYPE}/estimatedwaittime?labelId=${input.UTILIZATION_LABEL_ID}",
      "requestType": "GET",
      "headers": {
        "Content-Type": "application/x-www-form-urlencoded",
        "UserAgent": "PureCloudIntegrations/1.0"
      },
      "requestTemplate": "${input.rawRequest}"
    },
    "response": {
      "translationMap": {
        "estimated_wait_time": "$.results[0].estimatedWaitTimeSeconds"
      },
      "translationMapDefaults": {},
      "successTemplate": "{\n   \"estimated_wait_time\": ${estimated_wait_time}\n}"
    }
  },
  "contract": {
    "input": {
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-04/schema#",
        "title": "Estimated Wait Time Request",
        "description": "The estimated wait time for a specific media type and queue.",
        "type": "object",
        "required": [
          "QUEUE_ID",
          "MEDIA_TYPE",
          "UTILIZATION_LABEL_ID"
        ],
        "properties": {
          "QUEUE_ID": {
            "type": "string",
            "description": "The queue ID."
          },
          "MEDIA_TYPE": {
            "type": "string",
            "description": "The media type of the interaction: call, chat, callback, email, social media, video communication, or message.",
            "enum": [
              "call",
              "chat",
              "callback",
              "email",
              "socialExpression",
              "videoComm",
              "message"
            ]
          },
          "UTILIZATION_LABEL_ID": {
            "type": "string"
          }
        }
      }
    },
    "output": {
      "successSchema": {
        "$schema": "http://json-schema.org/draft-04/schema#",
        "title": "Get Estimated Wait Time Response",
        "description": "Returns the estimated wait time.",
        "type": "object",
        "properties": {
          "estimated_wait_time": {
            "type": "integer",
            "title": "Estimated Wait Time in Seconds",
            "description": "The estimated wait time (in seconds) for the specified media type and queue. "
          }
        }
      }
    }
  },
  "secure": false
}