github.com/grokify/go-ringcentral-client@v0.3.31/codegen/specs-engagedigital_v3.0.0/extra/openapi-spec_topologies.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":"Topologies",
    12          "description":"This API allows to list, create, activate, read, modify and delete topologies."
    13        }
    14      ],
    15      "paths":{
    16        "/topologies":{
    17          "get":{
    18            "tags":[
    19              "Topologies"
    20            ],
    21            "summary":"Getting all topologies",
    22            "operationId":"getAllTopologies",
    23            "description":"This method renders all topologies ordered by name (in alphabetical order).\n\nAuthorization​: only users that have the right to manage topologies",
    24            "parameters":[
    25              {
    26                "name":"offset",
    27                "in":"query",
    28                "description":"The record index to start. Default value is 0.",
    29                "required":false,
    30                "schema":{
    31                  "type":"integer",
    32                  "format":"int32"
    33                }
    34              },
    35              {
    36                "name":"limit",
    37                "in":"query",
    38                "description":"The max number of records to return. Default value is 30, max value is 150.",
    39                "required":false,
    40                "schema":{
    41                  "type":"integer",
    42                  "format":"int32"
    43                }
    44              }
    45            ],
    46            "responses":{
    47              "200":{
    48                "description":"Success",
    49                "content":{
    50                  "application/json":{
    51                    "schema":{
    52                      "$ref":"#/components/schemas/GetAllTopologiesResponse"
    53                    }
    54                  }
    55                }
    56              }
    57            }
    58          },
    59          "post":{
    60            "tags":[
    61              "Topologies"
    62            ],
    63            "summary":"Creating a topology",
    64            "operationId":"createTopology",
    65            "description":"This method creates a topology. In case of success it renders the topology, otherwise, it renders an error (422 HTTP code).\n\nAuthorization​: only users that are techteam.",
    66            "parameters":[
    67              {
    68                "name":"name",
    69                "description":"The name of the topology.",
    70                "in":"query",
    71                "required":true,
    72                "schema":{
    73                  "type":"string"
    74                }
    75              },
    76              {
    77                "name":"json_config",
    78                "description":"The json describing the topology.",
    79                "in":"query",
    80                "required":false,
    81                "schema":{
    82                  "type":"string"
    83                }
    84              }
    85            ],
    86            "responses":{
    87              "200":{
    88                "description":"Success",
    89                "content":{
    90                  "application/json":{
    91                    "schema":{
    92                      "$ref":"#/components/schemas/Topology"
    93                    }
    94                  }
    95                }
    96              },
    97              "403":{
    98                "description":"Forbidden"
    99              }
   100            }
   101          }
   102        },
   103        "/topologies/{topologyId}":{
   104          "get":{
   105            "tags":[
   106              "Topologies"
   107            ],
   108            "summary":"Getting a topology from its id",
   109            "operationId":"getTopology",
   110            "description":"This method renders a topology from given id.\n\nAuthorization​: only users that have the right to manage topologies.",
   111            "parameters":[
   112              {
   113                "name":"topologyId",
   114                "in":"path",
   115                "required":true,
   116                "schema":{
   117                  "type":"string"
   118                }
   119              }
   120            ],
   121            "responses":{
   122              "200":{
   123                "description":"Success",
   124                "content":{
   125                  "application/json":{
   126                    "schema":{
   127                      "$ref":"#/components/schemas/Topology"
   128                    }
   129                  }
   130                }
   131              }
   132            }
   133          },
   134          "put":{
   135            "tags":[
   136              "Topologies"
   137            ],
   138            "summary":"Updating a topology",
   139            "operationId":"updateTopology",
   140            "description":"This method updates an existing topology from given attributes and renders it in case of success.\n\nAuthorization​: only users that have the right to manage topologies.",
   141            "parameters":[
   142              {
   143                "name":"topologyId",
   144                "in":"path",
   145                "required":true,
   146                "schema":{
   147                  "type":"string"
   148                }
   149              },
   150              {
   151                "name":"name",
   152                "description":"The name of the topology.",
   153                "in":"query",
   154                "required":false,
   155                "schema":{
   156                  "type":"string"
   157                }
   158              },
   159              {
   160                "name":"json_config",
   161                "description":"The json describing the topology.",
   162                "in":"query",
   163                "required":false,
   164                "schema":{
   165                  "type":"string"
   166                }
   167              }
   168            ],
   169            "responses":{
   170              "200":{
   171                "description":"Success",
   172                "content":{
   173                  "application/json":{
   174                    "schema":{
   175                      "$ref":"#/components/schemas/Topology"
   176                    }
   177                  }
   178                }
   179              }
   180            }
   181          },
   182          "delete":{
   183            "tags":[
   184              "Tags"
   185            ],
   186            "summary":"Deleting a topology",
   187            "operationId":"deleteTopology",
   188            "description":"This method destroys an existing topology. It renders topology itself. It renders a 404 if id is invalid.\n\nAuthorization​: only users that are techteam.",
   189            "parameters":[
   190              {
   191                "name":"topologyId",
   192                "in":"path",
   193                "required":true,
   194                "schema":{
   195                  "type":"string"
   196                }
   197              }
   198            ],
   199            "responses":{
   200              "200":{
   201                "description":"Success",
   202                "content":{
   203                  "application/json":{
   204                    "schema":{
   205                      "$ref":"#/components/schemas/Topology"
   206                    }
   207                  }
   208                }
   209              }
   210            }
   211          }
   212        },
   213        "/toplogies/{topologyId}/activate":{
   214          "get":{
   215            "tags":[
   216              "Topologies"
   217            ],
   218            "summary":"Activating a topology",
   219            "operationId":"activateTopology",
   220            "description":"This method activates an existing topology from given attributes and renders it in case of success.\n\nAuthorization​: only users that are techteam.",
   221            "parameters":[
   222              {
   223                "name":"topologyId",
   224                "in":"path",
   225                "required":true,
   226                "schema":{
   227                  "type":"string"
   228                }
   229              }
   230            ],
   231            "responses":{
   232              "200":{
   233                "description":"Success",
   234                "content":{
   235                  "application/json":{
   236                    "schema":{
   237                      "$ref":"#/components/schemas/Topology"
   238                    }
   239                  }
   240                }
   241              }
   242            }
   243          }
   244        }
   245      },
   246      "servers":[
   247        {
   248          "url":"https://DOMAIN.api.engagement.dimelo.com/1.0"
   249        }
   250      ],
   251      "components":{
   252        "schemas":{
   253          "GetAllTopologiesResponse":{
   254            "properties":{
   255              "count":{
   256                "type":"integer",
   257                "format":"int32"
   258              },
   259              "limit":{
   260                "type":"integer",
   261                "format":"int32"
   262              },
   263              "offset":{
   264                "type":"integer",
   265                "format":"int32"
   266              },
   267              "records":{
   268                "type":"array",
   269                "items":{
   270                  "$ref":"#/components/schemas/Topology"
   271                }
   272              }
   273            }
   274          },
   275          "Topology":{
   276            "properties":{
   277              "id":{
   278                "type":"string"
   279              },
   280              "created_at":{
   281                "type":"string",
   282                "format":"date-time"
   283              },
   284              "updated_at":{
   285                "type":"string",
   286                "format":"date-time"
   287              },
   288              "name":{
   289                "type":"string"
   290              },
   291              "config":{
   292                "$ref":"#/components/schemas/TopologyConfig"
   293              }
   294            }
   295          },
   296          "TopologyConfig":{
   297            "properties":{
   298              "inputs":{
   299                "$ref":"#/components/schemas/TopologyConfigInputs"
   300              },
   301              "steps":{
   302                  "type":"array",
   303                  "items":{
   304                    "$ref":"#/components/schemas/TopologyStep"
   305                  }
   306              }
   307            }
   308          },
   309          "TopologyConfigInputs":{
   310            "properties":{
   311              "inbound":{
   312                "type":"string"
   313              },
   314              "transfered":{
   315                "type":"string"
   316              }
   317            }
   318          },
   319          "TopologyStep":{
   320            "properties":{
   321              "links":{
   322                "$ref":"#/components/schemas/TopologyStepLinks"
   323              },
   324              "_type":{
   325                "type":"string"
   326              },
   327              "label":{
   328                "type":"string"
   329              }
   330            }
   331          },
   332          "TopologyStepLinks":{
   333            "properties":{
   334              "async":{
   335                "type":"string"
   336              },
   337              "realtime":{
   338                "type":"string"
   339              },
   340              "failure":{
   341                  "type":"string"
   342                },
   343                "reroute":{
   344                  "type":"string"
   345                }
   346            }
   347          }
   348        }
   349      }
   350    }