github.com/grokify/go-ringcentral-client@v0.3.31/codegen/specs-engagedigital_v3.0.0/openapi-spec_agent-status.json (about)

     1    {
     2      "openapi":"3.0.0",
     3      "info":{
     4        "description":"",
     5        "version":"1.0",
     6        "title":"Engage Digital API",
     7        "termsOfService":"https://developer.ringcentral.com"
     8      },
     9      "tags":[
    10        {
    11          "name":"Agent Status"
    12        }
    13      ],
    14      "paths":{
    15        "/status":{
    16          "get":{
    17            "tags":[
    18              "Agent Status"
    19            ],
    20            "summary":"Get all connected agents status",
    21            "operationId":"getAllAgentStatus",
    22            "description":"This method get all currently connected agents & their status.\n\nAuthorization​: only users that have the right to monitor the task view.",
    23            "responses":{
    24              "200":{
    25                "description":"Success",
    26                "content":{
    27                  "application/json":{
    28                    "schema":{
    29                      "type":"array",
    30                      "items":{
    31                        "$ref":"#/components/schemas/AgentStatus"
    32                      }
    33                    }
    34                  }
    35                }
    36              }
    37            }
    38          }
    39        },
    40        "/status/{agentId}":{
    41          "get":{
    42            "tags":[
    43              "Agent Status"
    44            ],
    45            "summary":"Get a connected agent status",
    46            "operationId":"getAgentStatus",
    47            "description":"This method get the status of a connected agent. Returns a 404 if the user does not exist (not_found) or if he’s not connected (disconnected).\n\nAuthorization​: only users that have the right to monitor the task view.",
    48            "parameters":[
    49              {
    50                "name":"agentId",
    51                "in":"path",
    52                "required":true,
    53                "schema":{
    54                  "type":"string"
    55                }
    56              }
    57            ],
    58            "responses":{
    59              "200":{
    60                "description":"Success",
    61                "content":{
    62                  "application/json":{
    63                    "schema":{
    64                      "$ref":"#/components/schemas/AgentStatus"
    65                    }
    66                  }
    67                }
    68              }
    69            }
    70          },
    71          "put":{
    72            "tags":[
    73              "Agent Status"
    74            ],
    75            "summary":"Changing an agent's status",
    76            "operationId":"changeAgentStatus",
    77            "description":"This method updates an agent's availability. Can be used to set either channels statuses OR custom  status. If both parameters are provided, ignores custom status.The status parameter​ **MUST** b​e either “away” or “available”.\n\nAuthorization​: only users that have the right to monitor the task view.",
    78            "parameters":[
    79              {
    80                "name":"agentId",
    81                "in":"path",
    82                "required":true,
    83                "schema":{
    84                  "type":"string"
    85                }
    86              },
    87              {
    88                "name":"status",
    89                "in":"query",
    90                "required":false,
    91                "description":"A hash of channel_id => availability (must contain all channels).",
    92                "schema":{
    93                  "type":"string"
    94                }
    95              },
    96              {
    97                "name":"custom_status_id",
    98                "in":"query",
    99                "required":false,
   100                "description":"id of presence status (optional)",
   101                "schema":{
   102                  "type":"string"
   103                }
   104              }
   105            ],
   106            "responses":{
   107              "200":{
   108                "description":"Success",
   109                "content":{
   110                  "application/json":{
   111                    "schema":{
   112                      "$ref":"#/components/schemas/AgentStatus"
   113                    }
   114                  }
   115                }
   116              }
   117            }
   118          }
   119        }
   120      },
   121      "servers":[
   122        {
   123          "url":"https://DOMAIN.api.engagement.dimelo.com/1.0"
   124        }
   125      ],
   126      "components":{
   127        "securitySchemes":{
   128          "bearerAuth":{
   129            "type":"http",
   130            "scheme":"bearer"
   131          }
   132        },
   133        "schemas":{
   134          "GetAllAgentStatusResponse":{
   135            "properties":{
   136              "count":{
   137                "type":"integer",
   138                "format":"int32"
   139              },
   140              "limit":{
   141                "type":"integer",
   142                "format":"int32"
   143              },
   144              "offset":{
   145                "type":"integer",
   146                "format":"int32"
   147              },
   148              "records":{
   149                "type":"array",
   150                "items":{
   151                  "$ref":"#/components/schemas/AgentStatus"
   152                }
   153              }
   154            }
   155          },
   156          "AgentStatus":{
   157            "properties":{
   158              "agent_id":{
   159                "type":"string"
   160              },
   161              "channels":{
   162                "type":"array",
   163                "items":{
   164                  "$ref":"#/components/schemas/AgentStatusChannel"
   165                }
   166              },
   167              "custom_status":{
   168                "$ref":"#/components/schemas/AgentCustomStatus"
   169              }
   170            }
   171          },
   172          "AgentStatusChannel":{
   173            "properties":{
   174              "id":{
   175                "type":"string"
   176              },
   177              "name":{
   178                "type":"string"
   179              },
   180              "status":{
   181                "type":"string"
   182              },
   183              "busyness":{
   184                "type":"string",
   185                "enum":[
   186                  "unoccupied","ok","busy","full"
   187                ]
   188              }
   189            }
   190          },
   191          "AgentCustomStatus":{
   192            "description":"The \"custom_status\" attribute represent the custom \"away\" status selected, it can either be:\n* 1. null — ​The agent is available or in the generic \"Away\" status\n2. { \"id\":\"5582b1f4776562af9b000008\" } — ​The id of the custom status",
   193            "properties":{
   194              "id":{
   195                "type":"string"
   196              }
   197            }
   198          }
   199        }
   200      }
   201    }