mirror of
https://github.com/Redocly/redoc.git
synced 2025-04-25 03:03:54 +03:00
1833 lines
65 KiB
YAML
1833 lines
65 KiB
YAML
openapi: 3.0.0
|
|
servers:
|
|
- url: //petstore.swagger.io/v2
|
|
description: Default server
|
|
- url: //petstore.swagger.io/sandbox
|
|
description: Sandbox server
|
|
info:
|
|
description: |
|
|
This is a sample server Petstore server.
|
|
You can find out more about Swagger at
|
|
[http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/).
|
|
For this sample, you can use the api key `special-key` to test the authorization filters.
|
|
|
|
# Introduction
|
|
This API is documented in **OpenAPI format** and is based on
|
|
[Petstore sample](http://petstore.swagger.io/) provided by [swagger.io](http://swagger.io) team.
|
|
It was **extended** to illustrate features of [generator-openapi-repo](https://github.com/Rebilly/generator-openapi-repo)
|
|
tool and [ReDoc](https://github.com/Redocly/redoc) documentation. In addition to standard
|
|
OpenAPI syntax we use a few [vendor extensions](https://github.com/Redocly/redoc/blob/main/docs/redoc-vendor-extensions.md).
|
|
|
|
# OpenAPI Specification
|
|
This API is documented in **OpenAPI format** and is based on
|
|
[Petstore sample](http://petstore.swagger.io/) provided by [swagger.io](http://swagger.io) team.
|
|
It was **extended** to illustrate features of [generator-openapi-repo](https://github.com/Rebilly/generator-openapi-repo)
|
|
tool and [ReDoc](https://github.com/Redocly/redoc) documentation. In addition to standard
|
|
OpenAPI syntax we use a few [vendor extensions](https://github.com/Redocly/redoc/blob/main/docs/redoc-vendor-extensions.md).
|
|
|
|
# Cross-Origin Resource Sharing
|
|
This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/).
|
|
And that allows cross-domain communication from the browser.
|
|
All responses have a wildcard same-origin which makes them completely public and accessible to everyone, including any code on any site.
|
|
|
|
# Authentication
|
|
|
|
Petstore offers two forms of authentication:
|
|
- API Key
|
|
- OAuth2
|
|
OAuth2 - an open protocol to allow secure authorization in a simple
|
|
and standard method from web, mobile and desktop applications.
|
|
|
|
<!-- ReDoc-Inject: <security-definitions> -->
|
|
|
|
version: 1.1.0
|
|
title: Swagger Petstore
|
|
termsOfService: 'http://swagger.io/terms/'
|
|
contact:
|
|
name: API Support
|
|
email: apiteam@swagger.io
|
|
url: https://github.com/Redocly/redoc
|
|
x-logo:
|
|
url: 'https://redocly.github.io/redoc/petstore-logo.png'
|
|
altText: Petstore logo
|
|
license:
|
|
name: Apache 2.0
|
|
url: 'http://www.apache.org/licenses/LICENSE-2.0.html'
|
|
externalDocs:
|
|
description: Find out how to create Github repo for your OpenAPI spec.
|
|
url: 'https://github.com/Rebilly/generator-openapi-repo'
|
|
tags:
|
|
- name: pet
|
|
description: Everything about your Pets
|
|
- name: Tn Option
|
|
description: Everything about your TN Options
|
|
- name: store
|
|
description: Access to Petstore orders
|
|
- name: user
|
|
description: Operations about user
|
|
- name: pet_model
|
|
x-displayName: The Pet Model
|
|
description: |
|
|
<SchemaDefinition schemaRef="#/components/schemas/Pet" />
|
|
- name: store_model
|
|
x-displayName: The Order Model
|
|
description: |
|
|
<SchemaDefinition schemaRef="#/components/schemas/Order" exampleRef="#/components/examples/Order" showReadOnly={true} showWriteOnly={true} />
|
|
x-tagGroups:
|
|
- name: General
|
|
tags:
|
|
- pet
|
|
- store
|
|
- Tn Option
|
|
- name: User Management
|
|
tags:
|
|
- user
|
|
- name: Models
|
|
tags:
|
|
- pet_model
|
|
- store_model
|
|
security:
|
|
- {}
|
|
paths:
|
|
/pet:
|
|
parameters:
|
|
- name: Accept-Language
|
|
in: header
|
|
description: 'The language you prefer for messages. Supported values are en-AU, en-CA, en-GB, en-US'
|
|
example: en-US
|
|
required: false
|
|
schema:
|
|
type: string
|
|
default: en-AU
|
|
- name: cookieParam
|
|
in: cookie
|
|
description: Some cookie
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
format: int64
|
|
post:
|
|
tags:
|
|
- pet
|
|
summary: Add a new pet to the store
|
|
description: Add new pet to the store inventory.
|
|
operationId: addPet
|
|
x-badges:
|
|
- name: Global
|
|
type: global
|
|
responses:
|
|
'405':
|
|
description: Invalid input
|
|
security:
|
|
- petstore_auth:
|
|
- 'write:pets'
|
|
- 'read:pets'
|
|
x-codeSamples:
|
|
- lang: 'C#'
|
|
source: |
|
|
PetStore.v1.Pet pet = new PetStore.v1.Pet();
|
|
pet.setApiKey("your api key");
|
|
pet.petType = PetStore.v1.Pet.TYPE_DOG;
|
|
pet.name = "Rex";
|
|
// set other fields
|
|
PetStoreResponse response = pet.create();
|
|
if (response.statusCode == HttpStatusCode.Created)
|
|
{
|
|
// Successfully created
|
|
}
|
|
else
|
|
{
|
|
// Something wrong -- check response for errors
|
|
Console.WriteLine(response.getRawResponse());
|
|
}
|
|
- lang: PHP
|
|
source: |
|
|
$form = new \PetStore\Entities\Pet();
|
|
$form->setPetType("Dog");
|
|
$form->setName("Rex");
|
|
// set other fields
|
|
try {
|
|
$pet = $client->pets()->create($form);
|
|
} catch (UnprocessableEntityException $e) {
|
|
var_dump($e->getErrors());
|
|
}
|
|
requestBody:
|
|
$ref: '#/components/requestBodies/Pet'
|
|
put:
|
|
tags:
|
|
- pet
|
|
summary: Update an existing pet
|
|
description: ''
|
|
operationId: updatePet
|
|
x-badges:
|
|
- name: US Only
|
|
type: usonly
|
|
responses:
|
|
'400':
|
|
description: Invalid ID supplied
|
|
'404':
|
|
description: Pet not found
|
|
'405':
|
|
description: Validation exception
|
|
security:
|
|
- petstore_auth:
|
|
- 'write:pets'
|
|
- 'read:pets'
|
|
x-codeSamples:
|
|
- lang: PHP
|
|
source: |
|
|
$form = new \PetStore\Entities\Pet();
|
|
$form->setPetId(1);
|
|
$form->setPetType("Dog");
|
|
$form->setName("Rex");
|
|
// set other fields
|
|
try {
|
|
$pet = $client->pets()->update($form);
|
|
} catch (UnprocessableEntityException $e) {
|
|
var_dump($e->getErrors());
|
|
}
|
|
requestBody:
|
|
$ref: '#/components/requestBodies/Pet'
|
|
'/accounts/{accountId}/tnoptions/{orderid}/history':
|
|
get:
|
|
description: Retrieve the history information associated with an order.
|
|
operationId: GetOrderHistory
|
|
x-badges:
|
|
- name: Success
|
|
type: success
|
|
parameters:
|
|
- description: ''
|
|
in: path
|
|
name: orderid
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/xml:
|
|
examples:
|
|
application/xml:
|
|
value: |-
|
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
<OrderHistoryWrapper>
|
|
<OrderHistory>
|
|
<OrderDate>2020-09-17T08:56:39.607Z</OrderDate>
|
|
<Note>Order has been received by the system.</Note>
|
|
<Author>admin</Author>
|
|
<Status>received</Status>
|
|
</OrderHistory>
|
|
<OrderHistory>
|
|
<OrderDate>2020-09-17T08:56:39.743Z</OrderDate>
|
|
<Note>Order processing has started.</Note>
|
|
<Author>admin</Author>
|
|
<Status>processing</Status>
|
|
</OrderHistory>
|
|
<OrderHistory>
|
|
<OrderDate>2020-09-17T08:56:39.820Z</OrderDate>
|
|
<Note>Order is complete.</Note>
|
|
<Author>admin</Author>
|
|
<Status>complete</Status>
|
|
</OrderHistory>
|
|
</OrderHistoryWrapper>
|
|
description: >-
|
|
The history payload is a set of history records, each of which
|
|
contains: <table style="text-align: left; width: 80%;" border="1"
|
|
cellpadding="2" cellspacing="2">
|
|
<tbody>
|
|
<tr>
|
|
<td>OrderDate</td>
|
|
<td>The date that the order history event happened</td></tr><tr><td>Status</td><td>The new state of the TN Option order - RECEIVED, PROCESSING, COMPLETE, PARTIAL, FAILED</td></tr><tr><td>Note</td><td>A Note or additional information included with the state change</td></tr><tr><td>Author</td><td>The user id that implemented the state change</td></tr></tbody></table></p>
|
|
'404':
|
|
content:
|
|
application/xml: {}
|
|
description: Not found. The order id does not exist in the system.
|
|
summary: Retrieve TN Option order history
|
|
tags:
|
|
- Tn Option
|
|
'/accounts/{accountId}/tnoptions':
|
|
get:
|
|
description: >-
|
|
Retrieve a list of the TN Option orders that are associated with the
|
|
account. A maximum of 1,000 orders can be retrieved per request. If no
|
|
date range or specific query parameter (marked by <b>*</b> below) is
|
|
provided, the order results will be limited to the last two years.
|
|
operationId: GetTnOptionOrders
|
|
x-badges:
|
|
- name: 1st Badge
|
|
type: warning
|
|
- name: 2nd Badge
|
|
type: experimental
|
|
parameters:
|
|
- description: The status of the TN Option order being searched for.
|
|
example: PROCESSING
|
|
in: query
|
|
name: status
|
|
required: false
|
|
schema:
|
|
items:
|
|
type: string
|
|
type: array
|
|
- description: <b>*</b> A Telephone Number (TN) that is referenced in the order.
|
|
example: '9199918388'
|
|
in: query
|
|
name: tn
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: >-
|
|
<b>*</b> The Customer Order ID is an ID assigned by the account
|
|
owner to provide a reference number for the TN Option order.
|
|
example: ABCCorp12345
|
|
in: query
|
|
name: customerOrderId
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: >-
|
|
For Date-based searches, the starting date of a date range
|
|
(inclusive) that will be used to find TN Option Orders that were
|
|
modified within the date range. It is in the form yyyy-MM-dd.
|
|
example: '2013-10-22'
|
|
in: query
|
|
name: modifiedDateFrom
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: >-
|
|
For Date-based searches, the ending date of a date range (inclusive)
|
|
that will be used to find TN Option Orders that were modified within
|
|
the date range. It is in the form yyyy-MM-dd.
|
|
example: '2013-10-25'
|
|
in: query
|
|
name: modifiedDateTo
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: >-
|
|
Checks the order's creation date against this value. Orders that
|
|
have a creation date after this date will be included. Format is
|
|
yyyy-MM-dd.
|
|
example: '2013-10-22'
|
|
in: query
|
|
name: createdDateFrom
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: >-
|
|
Checks the order's creation date against this value. Orders that
|
|
have a creation date before this date will be included. Format is
|
|
yyyy-MM-dd.
|
|
example: '2013-10-25'
|
|
in: query
|
|
name: createdDateTo
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: >-
|
|
Checks the order's last modified date against this value. Orders
|
|
that have a modification date after this date will be included.
|
|
Format is yyyy-MM-dd.
|
|
example: '2013-10-25'
|
|
in: query
|
|
name: lastModifiedAfter
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: >-
|
|
This is the user-name of the user that last modified the TN Option
|
|
Order.
|
|
example: smckinnon
|
|
in: query
|
|
name: lastModifiedBy
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: >-
|
|
<b>*</b> This search parameter represents the internal Bandwidth
|
|
Dashboard API ID that has been assigned to the TN Option Order. This
|
|
parameter is the first few characters of the internal ID - the
|
|
entire ID does not need to be specified.
|
|
example: ed1c0bed-e2
|
|
in: query
|
|
name: orderIdFragment
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: >-
|
|
If set to true, a list of order details will be displayed instead
|
|
the summary information.
|
|
in: query
|
|
name: orderDetails
|
|
required: false
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/xml:
|
|
examples:
|
|
example:
|
|
value: |-
|
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
<TnOptionOrderReportResponse>
|
|
<TnOptionOrders>
|
|
<TotalCount>2</TotalCount>
|
|
<TnOptionOrderSummary>
|
|
<accountId>14</accountId>
|
|
<CountOfTNs>2</CountOfTNs>
|
|
<userId>jbm</userId>
|
|
<lastModifiedDate>2016-01-15T12:01:14.363Z</lastModifiedDate>
|
|
<OrderDate>2016-01-15T12:01:14.324Z</OrderDate>
|
|
<OrderType>tn_option</OrderType>
|
|
<OrderStatus>FAILED</OrderStatus>
|
|
<OrderId>ddbdc72e-dc27-490c-904e-d0c11291b095</OrderId>
|
|
</TnOptionOrderSummary>
|
|
<TnOptionOrderSummary>
|
|
<accountId>14</accountId>
|
|
<CountOfTNs>3</CountOfTNs>
|
|
<userId>jbm</userId>
|
|
<lastModifiedDate>2016-01-15T11:22:58.969Z</lastModifiedDate>
|
|
<OrderDate>2016-01-15T11:22:58.789Z</OrderDate>
|
|
<OrderType>tn_option</OrderType>
|
|
<OrderStatus>COMPLETE</OrderStatus>
|
|
<OrderId>409033ee-88ec-43e3-85f3-538f30733963</OrderId>
|
|
</TnOptionOrderSummary>
|
|
</TnOptionOrders>
|
|
<!-- OR -->
|
|
<TnOptionOrders>
|
|
<TotalCount>2</TotalCount>
|
|
<TnOptionOrder>
|
|
<OrderCreateDate>2016-01-15T12:01:14.324Z</OrderCreateDate>
|
|
<AccountId>14</AccountId>
|
|
<CreatedByUser>jbm</CreatedByUser>
|
|
<OrderId>ddbdc72e-dc27-490c-904e-d0c11291b095</OrderId>
|
|
<LastModifiedDate>2016-01-15T12:01:14.363Z</LastModifiedDate>
|
|
<ProcessingStatus>FAILED</ProcessingStatus>
|
|
<TnOptionGroups>
|
|
<TnOptionGroup>
|
|
<NumberFormat>10digit</NumberFormat>
|
|
<RPIDFormat>10digit</RPIDFormat>
|
|
<RewriteUser>testUser1</RewriteUser>
|
|
<CallForward>6042661720</CallForward>
|
|
<CallingNameDisplay>on</CallingNameDisplay>
|
|
<Protected>true</Protected>
|
|
<Sms>on</Sms>
|
|
<FinalDestinationURI>sip:+12345678901@1.2.3.4:5060</FinalDestinationURI>
|
|
<TelephoneNumbers>
|
|
<TelephoneNumber>2018551020</TelephoneNumber>
|
|
</TelephoneNumbers>
|
|
</TnOptionGroup>
|
|
<TnOptionGroup>
|
|
<CallingNameDisplay>off</CallingNameDisplay>
|
|
<Protected>false</Protected>
|
|
<Sms>off</Sms>
|
|
<TelephoneNumbers>
|
|
<TelephoneNumber>2018551025</TelephoneNumber>
|
|
</TelephoneNumbers>
|
|
</TnOptionGroup>
|
|
</TnOptionGroups>
|
|
<ErrorList>
|
|
<Error>
|
|
<Code>5076</Code>
|
|
<Description>Telephone number is not available.</Description>
|
|
<TelephoneNumber>2018551025</TelephoneNumber>
|
|
</Error>
|
|
<Error>
|
|
<Code>5076</Code>
|
|
<Description>Telephone number is not available.</Description>
|
|
<TelephoneNumber>2018551020</TelephoneNumber>
|
|
</Error>
|
|
</ErrorList>
|
|
</TnOptionOrder>
|
|
<TnOptionOrder>
|
|
<OrderCreateDate>2016-01-15T11:22:58.789Z</OrderCreateDate>
|
|
<AccountId>14</AccountId>
|
|
<CreatedByUser>jbm</CreatedByUser>
|
|
<OrderId>409033ee-88ec-43e3-85f3-538f30733963</OrderId>
|
|
<LastModifiedDate>2016-01-15T11:22:58.969Z</LastModifiedDate>
|
|
<ProcessingStatus>COMPLETE</ProcessingStatus>
|
|
<TnOptionGroups>
|
|
<TnOptionGroup>
|
|
<CallingNameDisplay>on</CallingNameDisplay>
|
|
<TelephoneNumbers>
|
|
<TelephoneNumber>2174101601</TelephoneNumber>
|
|
</TelephoneNumbers>
|
|
</TnOptionGroup>
|
|
<TnOptionGroup>
|
|
<CallingNameDisplay>off</CallingNameDisplay>
|
|
<TelephoneNumbers>
|
|
<TelephoneNumber>2174101602</TelephoneNumber>
|
|
</TelephoneNumbers>
|
|
</TnOptionGroup>
|
|
<TnOptionGroup>
|
|
<CallingNameDisplay>systemdefault</CallingNameDisplay>
|
|
<TelephoneNumbers>
|
|
<TelephoneNumber>2174101603</TelephoneNumber>
|
|
</TelephoneNumbers>
|
|
</TnOptionGroup>
|
|
</TnOptionGroups>
|
|
<ErrorList/>
|
|
</TnOptionOrder>
|
|
</TnOptionOrders>
|
|
</TnOptionOrderReportResponse>
|
|
description: >-
|
|
The descriptive payload for the TN Option Orders query provides a
|
|
broad range of information about the TN Option Orders found by the
|
|
query, including the data associated with the order, the state of
|
|
the order, and details about the order if it was successful.
|
|
'404':
|
|
content:
|
|
application/xml: {}
|
|
description: >
|
|
Not Found. If any errors are found in the processing of the query
|
|
string a 404 will be returned. Note that parameters that are not
|
|
recognized are not considered errors, and are just ignored.
|
|
summary: Retrieve list TN Option orders
|
|
tags:
|
|
- Tn Option
|
|
post:
|
|
description: >-
|
|
Create TN Option order to assign line features to the telephone
|
|
number.<br><br>Attribute description:<ul><li>for A2pSettings
|
|
attribute</li><table style="text-align: left; width: 80%;" border="1"
|
|
cellpadding="2" cellspacing="0"><tbody><tr><th>Number
|
|
attribute</th><th>Action value</th><th>Description of
|
|
action</th></tr><tr><td>LongCode</td><td><i>systemDefault</i></td><td>Removes
|
|
the per-TN A2P attributes, and it reverts to the Location/SIP Peer
|
|
characteristics. Any values for Class or Campaign ID are not
|
|
valid</td></tr><tr><td>LongCode</td><td><i>asSpecified</i></td><td>Sets
|
|
the message class and campaign ID - this is the default if
|
|
unspecified</td></tr><tr><td>LongCode</td><td><i>off</i></td><td>Will
|
|
set the TN as a 'P' TN. Any values for Class or Campaign ID are not
|
|
valid</td></tr><tr><td>LongCode</td><td><i>delete</i></td><td>Will
|
|
delete the campaign ID from TN. Any values for Class or Campaign ID are
|
|
not valid</td></tr><tr><td>LongCode</td><td><i>unchanged</i></td><td>Do
|
|
nothing with respect to
|
|
A2P</td></tr><tr><td>TollFree</td><td><i>systemDefault</i></td><td>Removes
|
|
the per-TN A2P attributes, and it reverts to the Location/SIP Peer
|
|
characteristics. Any values for Class or Campaign ID are not
|
|
valid</td></tr><tr><td>TollFree</td><td><i>asSpecified</i></td><td>Sets
|
|
the message class and campaign ID - this is the default if
|
|
unspecified</td></tr><tr><td>TollFree</td><td><i>off</i></td><td>If the
|
|
Togglz value is set to 'on' this is invalid for Toll Free telephone
|
|
numbers. Any values for Class or Campaign ID in the payload are invalid.
|
|
If the Togglz value is set to off this behaves like and A2P TN, where
|
|
the characteristics of the TNs is set to
|
|
'P'</td></tr><tr><td>TollFree</td><td><i>unchanged</i></td><td>Do
|
|
nothing with respect to A2P</td></tr></tbody></table><li>for Origination
|
|
Route plan attribute</li><table style="text-align: left; width: 80%;"
|
|
border="1" cellpadding="2" cellspacing="0"><tbody><tr><th>Action
|
|
value</th><th>Description of
|
|
action</th></tr><tr><td>asSpecified</td><td>Creates/updates the
|
|
origination route plan for the TN with route plan details provided in
|
|
the request </td></tr><tr><td>off</td><td>Removes the origination route
|
|
plan for the TN. Route list is the request must be
|
|
empty</td></tr><tr><td>unchanged</td><td>Doesn't update/create the
|
|
origination route plan, even when route plan details exist in the
|
|
request</td></tr></tbody></table><ul><li> Origination route plan is
|
|
validated against CallForward and RewriteUser</li><ul><li
|
|
type="square">Route plan and CallForward cannot co-exist. Order is
|
|
accepted but will respond with error messages on GET.</li><li
|
|
type="square">Route plan and RewriteUser cannot co-exist. Order is
|
|
accepted but will respond with error messages on
|
|
GET.</li></ul></ul><li>for Pindrop Enabled attribute</li><table
|
|
style="text-align: left; width: 80%;" border="1" cellpadding="2"
|
|
cellspacing="0"><tbody><tr><th>Action value</th><th>Description of
|
|
action</th></tr><tr><td>true</td><td>Enables Pindrop integration on each
|
|
phone number in the option
|
|
group</td></tr><tr><td>false</td><td>Explicitly disables Pindrop
|
|
integration on each phone number in the option
|
|
group</td></tr></tbody></table><li>for other attribute</li><ul><li
|
|
type="square"> <i>systemDefault</i> - implies that the element profile
|
|
value should be removed so that the TN changes back to the default
|
|
system behavior;</li><li type="square"> <i>unchanged</i> - the value
|
|
should remain unchanged - implies a read before write model.</li><li
|
|
type="square"><u>Leaving the element out of the payload is equivalent to
|
|
<i>unchanged</i>.</u></li></ul></ul>
|
|
operationId: CreateTnOptionOrder
|
|
requestBody:
|
|
content:
|
|
application/xml:
|
|
examples:
|
|
example:
|
|
value: |-
|
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
<TnOptionOrder>
|
|
<CustomerOrderId>TnOptionOrder1</CustomerOrderId>
|
|
<TnOptionGroups>
|
|
<TnOptionGroup>
|
|
<NumberFormat>10digit</NumberFormat>
|
|
<RPIDFormat>10digit</RPIDFormat>
|
|
<RewriteUser>testUser1</RewriteUser>
|
|
<CallForward>6042661720</CallForward>
|
|
<CallingNameDisplay>on</CallingNameDisplay>
|
|
<PortOutPasscode>a1b2c3</PortOutPasscode>
|
|
<Protected>true</Protected>
|
|
<Sms>on</Sms>
|
|
<FinalDestinationURI>sip:+12345678901@1.2.3.4:5060</FinalDestinationURI>
|
|
<A2pSettings>
|
|
<MessageClass>M</MessageClass>
|
|
<CampaignId>campaignId010</CampaignId>
|
|
<Action>asSpecified</Action>
|
|
</A2pSettings>
|
|
<TelephoneNumbers>
|
|
<TelephoneNumber>2018551020</TelephoneNumber>
|
|
</TelephoneNumbers>
|
|
</TnOptionGroup>
|
|
<TnOptionGroup>
|
|
<CallingNameDisplay>off</CallingNameDisplay>
|
|
<Protected>false</Protected>
|
|
<Sms>off</Sms>
|
|
<OriginationRoutePlan>
|
|
<Route>
|
|
<Endpoint>6105552502</Endpoint>
|
|
<Priority>1</Priority>
|
|
<Weight>100</Weight>
|
|
</Route>
|
|
<Route>
|
|
<Endpoint>sip:clarkkent@dailyplanet.com</Endpoint>
|
|
<Priority>2</Priority>
|
|
<Weight>100</Weight>
|
|
</Route>
|
|
<Route>
|
|
<Endpoint>192.168.20.21</Endpoint>
|
|
<Priority>3</Priority>
|
|
<Weight>50</Weight>
|
|
</Route>
|
|
<Route>
|
|
<Endpoint>7075552509</Endpoint>
|
|
<Priority>3</Priority>
|
|
<Weight>50</Weight>
|
|
</Route>
|
|
<Route>
|
|
<Endpoint>myhost.bandwidth.example</Endpoint>
|
|
<Priority>4</Priority>
|
|
<Weight>100</Weight>
|
|
</Route>
|
|
<Action>asSpecified</Action>
|
|
</OriginationRoutePlan>
|
|
<TelephoneNumbers>
|
|
<TelephoneNumber>2018551025</TelephoneNumber>
|
|
</TelephoneNumbers>
|
|
</TnOptionGroup>
|
|
<TnOptionGroup>
|
|
<PindropEnabled>true</PindropEnabled>
|
|
<TelephoneNumbers>
|
|
<TelephoneNumber>2018551026</TelephoneNumber>
|
|
</TelephoneNumbers>
|
|
</TnOptionGroup>
|
|
</TnOptionGroups>
|
|
</TnOptionOrder>
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/xml:
|
|
examples:
|
|
example:
|
|
value: |-
|
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
<TnOptionOrderResponse>
|
|
<TnOptionOrder>
|
|
<OrderCreateDate>2016-01-15T12:01:14.324Z</OrderCreateDate>
|
|
<AccountId>14</AccountId>
|
|
<CreatedByUser>jbm</CreatedByUser>
|
|
<OrderId>ddbdc72e-dc27-490c-904e-d0c11291b095</OrderId>
|
|
<LastModifiedDate>2016-01-15T12:01:14.324Z</LastModifiedDate>
|
|
<ProcessingStatus>RECEIVED</ProcessingStatus>
|
|
<TnOptionGroups>
|
|
<TnOptionGroup>
|
|
<NumberFormat>10digit</NumberFormat>
|
|
<RPIDFormat>10digit</RPIDFormat>
|
|
<RewriteUser>testUser1</RewriteUser>
|
|
<CallForward>6042661720</CallForward>
|
|
<CallingNameDisplay>on</CallingNameDisplay>
|
|
<Protected>true</Protected>
|
|
<Sms>on</Sms>
|
|
<TelephoneNumbers>
|
|
<TelephoneNumber>2018551020</TelephoneNumber>
|
|
</TelephoneNumbers>
|
|
</TnOptionGroup>
|
|
<TnOptionGroup>
|
|
<CallingNameDisplay>off</CallingNameDisplay>
|
|
<Protected>false</Protected>
|
|
<Sms>off</Sms>
|
|
<TelephoneNumbers>
|
|
<TelephoneNumber>2018551025</TelephoneNumber>
|
|
</TelephoneNumbers>
|
|
</TnOptionGroup>
|
|
</TnOptionGroups>
|
|
<ErrorList/>
|
|
</TnOptionOrder>
|
|
</TnOptionOrderResponse>
|
|
description: Created
|
|
'400':
|
|
content:
|
|
application/xml:
|
|
examples:
|
|
example:
|
|
value: |-
|
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
<TnOptionOrderResponse>
|
|
<ResponseStatus>
|
|
<ErrorCode>5081</ErrorCode>
|
|
<Description>Number Format 'wrong' is invalid.</Description>
|
|
</ResponseStatus>
|
|
</TnOptionOrderResponse>
|
|
description: >-
|
|
Bad Request A 400 response Indicates that the order could not be
|
|
created. Error text and an error code will be provided in the
|
|
ErrorList element.
|
|
'409':
|
|
content:
|
|
application/xml:
|
|
examples:
|
|
example:
|
|
value: |-
|
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
<TnOptionOrderResponse>
|
|
<ResponseStatus>
|
|
<ErrorCode>5200</ErrorCode>
|
|
<Description>Origination route plan is not enabled for the account.</Description>
|
|
</ResponseStatus>
|
|
</TnOptionOrderResponse>
|
|
description: >-
|
|
Conflict. Error text and an error code will be provided in the
|
|
ErrorList element.
|
|
summary: Create TN Option order
|
|
tags:
|
|
- Tn Option
|
|
'/accounts/{accountId}/tnoptions/{orderid}':
|
|
get:
|
|
description: Retrieve information about a TN Option Order with specified ID.
|
|
operationId: GetTnOptionOrder
|
|
parameters:
|
|
- description: ''
|
|
in: path
|
|
name: orderid
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/xml:
|
|
examples:
|
|
example:
|
|
value: |-
|
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
<TnOptionOrder>
|
|
<OrderCreateDate>2016-01-15T11:22:58.789Z</OrderCreateDate>
|
|
<AccountId>14</AccountId>
|
|
<CreatedByUser>jbm</CreatedByUser>
|
|
<OrderId>409033ee-88ec-43e3-85f3-538f30733963</OrderId>
|
|
<LastModifiedDate>2016-01-15T11:22:58.969Z</LastModifiedDate>
|
|
<ProcessingStatus>COMPLETE</ProcessingStatus>
|
|
<TnOptionGroups>
|
|
<TnOptionGroup>
|
|
<CallingNameDisplay>on</CallingNameDisplay>
|
|
<Sms>on</Sms>
|
|
<TelephoneNumbers>
|
|
<TelephoneNumber>2174101601</TelephoneNumber>
|
|
</TelephoneNumbers>
|
|
</TnOptionGroup>
|
|
<TnOptionGroup>
|
|
<CallingNameDisplay>off</CallingNameDisplay>
|
|
<TelephoneNumbers>
|
|
<TelephoneNumber>2174101602</TelephoneNumber>
|
|
</TelephoneNumbers>
|
|
</TnOptionGroup>
|
|
<TnOptionGroup>
|
|
<CallingNameDisplay>systemdefault</CallingNameDisplay>
|
|
<FinalDestinationURI>sip:+12345678901@1.2.3.4:5060</FinalDestinationURI>
|
|
<TelephoneNumbers>
|
|
<TelephoneNumber>2174101603</TelephoneNumber>
|
|
</TelephoneNumbers>
|
|
</TnOptionGroup>
|
|
</TnOptionGroups>
|
|
<ErrorList/>
|
|
<Warnings>
|
|
<Warning>
|
|
<TelephoneNumber>2174101601</TelephoneNumber>
|
|
<Description>SMS is already Enabled or number is in processing.</Description>
|
|
</Warning>
|
|
</Warnings>
|
|
</TnOptionOrder>
|
|
description: >-
|
|
The descriptive payload for the TN Option Orders query provides a
|
|
broad range of information about the TN Option Order identified in
|
|
the URL. Included amongst the information is: <ul><li>ErrorList -
|
|
the errors discovered with codes and explanations</li><li>Warnings -
|
|
the warnings discovered with
|
|
explanations</li><li>ProcessingStatus(RECEIVED, PROCESSING,
|
|
COMPLETE, PARTIAL, FAILED) - the overall status of the
|
|
order</li></ul>
|
|
'404':
|
|
content:
|
|
application/xml:
|
|
examples:
|
|
example:
|
|
value: |-
|
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
<TnOptionOrderReportResponse>
|
|
<ResponseStatus>
|
|
<Description>The resource does not exist</Description>
|
|
</ResponseStatus>
|
|
</TnOptionOrderReportResponse>
|
|
description: Not found. The order id does not exist in the system.
|
|
summary: Retrieve TN Option order
|
|
tags:
|
|
- Tn Option
|
|
'/pet/{petId}':
|
|
get:
|
|
tags:
|
|
- pet
|
|
summary: Find pet by ID
|
|
description: Returns a single pet
|
|
operationId: getPetById
|
|
parameters:
|
|
- name: petId
|
|
in: path
|
|
description: ID of pet to return
|
|
required: true
|
|
deprecated: true
|
|
schema:
|
|
type: integer
|
|
format: int64
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Pet'
|
|
application/xml:
|
|
schema:
|
|
$ref: '#/components/schemas/Pet'
|
|
'400':
|
|
description: Invalid ID supplied
|
|
'404':
|
|
description: Pet not found
|
|
security:
|
|
- api_key: []
|
|
post:
|
|
tags:
|
|
- pet
|
|
summary: Updates a pet in the store with form data
|
|
description: ''
|
|
operationId: updatePetWithForm
|
|
parameters:
|
|
- name: petId
|
|
in: path
|
|
description: ID of pet that needs to be updated
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
format: int64
|
|
responses:
|
|
'405':
|
|
description: Invalid input
|
|
security:
|
|
- petstore_auth:
|
|
- 'write:pets'
|
|
- 'read:pets'
|
|
requestBody:
|
|
content:
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
name:
|
|
description: Updated name of the pet
|
|
type: string
|
|
status:
|
|
description: Updated status of the pet
|
|
type: string
|
|
delete:
|
|
tags:
|
|
- pet
|
|
summary: Deletes a pet
|
|
description: ''
|
|
operationId: deletePet
|
|
parameters:
|
|
- name: api_key
|
|
in: header
|
|
required: false
|
|
schema:
|
|
type: string
|
|
example: 'Bearer <TOKEN>'
|
|
- name: petId
|
|
in: path
|
|
description: Pet id to delete
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
format: int64
|
|
responses:
|
|
'400':
|
|
description: Invalid pet value
|
|
security:
|
|
- petstore_auth:
|
|
- 'write:pets'
|
|
- 'read:pets'
|
|
'/pet/{petId}/uploadImage':
|
|
post:
|
|
tags:
|
|
- pet
|
|
summary: uploads an image
|
|
description: ''
|
|
operationId: uploadFile
|
|
parameters:
|
|
- name: petId
|
|
in: path
|
|
description: ID of pet to update
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
format: int64
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
security:
|
|
- petstore_auth:
|
|
- 'write:pets'
|
|
- 'read:pets'
|
|
requestBody:
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: string
|
|
format: binary
|
|
/pet/findByStatus:
|
|
get:
|
|
tags:
|
|
- pet
|
|
summary: Finds Pets by status
|
|
description: Multiple status values can be provided with comma separated strings
|
|
operationId: findPetsByStatus
|
|
parameters:
|
|
- name: status
|
|
in: query
|
|
description: Status values that need to be considered for filter
|
|
required: true
|
|
style: form
|
|
schema:
|
|
type: array
|
|
minItems: 1
|
|
maxItems: 3
|
|
items:
|
|
type: string
|
|
enum:
|
|
- available
|
|
- pending
|
|
- sold
|
|
default: available
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Pet'
|
|
application/xml:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Pet'
|
|
'400':
|
|
description: Invalid status value
|
|
security:
|
|
- petstore_auth:
|
|
- 'write:pets'
|
|
- 'read:pets'
|
|
/pet/findByTags:
|
|
get:
|
|
tags:
|
|
- pet
|
|
summary: Finds Pets by tags
|
|
description: >-
|
|
Multiple tags can be provided with comma separated strings. Use tag1,
|
|
tag2, tag3 for testing.
|
|
operationId: findPetsByTags
|
|
deprecated: true
|
|
parameters:
|
|
- name: tags
|
|
in: query
|
|
description: Tags to filter by
|
|
required: true
|
|
style: form
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Pet'
|
|
application/xml:
|
|
schema:
|
|
type: array
|
|
maxItems: 999
|
|
items:
|
|
maxItems: 111
|
|
$ref: '#/components/schemas/Pet'
|
|
'400':
|
|
description: Invalid tag value
|
|
security:
|
|
- petstore_auth:
|
|
- 'write:pets'
|
|
- 'read:pets'
|
|
/store/inventory:
|
|
get:
|
|
tags:
|
|
- store
|
|
summary: Returns pet inventories by status
|
|
description: Returns a map of status codes to quantities
|
|
operationId: getInventory
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
minProperties: 2
|
|
additionalProperties:
|
|
type: integer
|
|
format: int32
|
|
security:
|
|
- api_key: []
|
|
/store/order:
|
|
post:
|
|
tags:
|
|
- store
|
|
summary: Place an order for a pet
|
|
description: ''
|
|
operationId: placeOrder
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Order'
|
|
application/xml:
|
|
schema:
|
|
$ref: '#/components/schemas/Order'
|
|
'400':
|
|
description: Invalid Order
|
|
content:
|
|
application/json:
|
|
example:
|
|
status: 400
|
|
message: 'Invalid Order'
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Order'
|
|
description: order placed for purchasing the pet
|
|
required: true
|
|
'/store/order/{orderId}':
|
|
get:
|
|
tags:
|
|
- store
|
|
summary: Find purchase order by ID
|
|
description: >-
|
|
For valid response try integer IDs with value <= 5 or > 10. Other values
|
|
will generated exceptions
|
|
operationId: getOrderById
|
|
parameters:
|
|
- name: orderId
|
|
in: path
|
|
description: ID of pet that needs to be fetched
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
format: int64
|
|
minimum: 1
|
|
maximum: 5
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Order'
|
|
application/xml:
|
|
schema:
|
|
$ref: '#/components/schemas/Order'
|
|
'400':
|
|
description: Invalid ID supplied
|
|
'404':
|
|
description: Order not found
|
|
delete:
|
|
tags:
|
|
- store
|
|
summary: Delete purchase order by ID
|
|
description: >-
|
|
For valid response try integer IDs with value < 1000. Anything above
|
|
1000 or nonintegers will generate API errors
|
|
operationId: deleteOrder
|
|
parameters:
|
|
- name: orderId
|
|
in: path
|
|
description: ID of the order that needs to be deleted
|
|
required: true
|
|
schema:
|
|
type: string
|
|
minimum: 1
|
|
responses:
|
|
'400':
|
|
description: Invalid ID supplied
|
|
'404':
|
|
description: Order not found
|
|
/store/subscribe:
|
|
post:
|
|
tags:
|
|
- store
|
|
summary: Subscribe to the Store events
|
|
description: Add subscription for a store events
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
callbackUrl:
|
|
type: string
|
|
format: uri
|
|
description: This URL will be called by the server when the desired event will occur
|
|
example: https://myserver.com/send/callback/here
|
|
eventName:
|
|
type: string
|
|
description: Event name for the subscription
|
|
enum:
|
|
- orderInProgress
|
|
- orderShipped
|
|
- orderDelivered
|
|
example: orderInProgress
|
|
required:
|
|
- callbackUrl
|
|
- eventName
|
|
responses:
|
|
'201':
|
|
description: Subscription added
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
subscriptionId:
|
|
type: string
|
|
example: AAA-123-BBB-456
|
|
callbacks:
|
|
orderInProgress:
|
|
'{$request.body#/callbackUrl}?event={$request.body#/eventName}':
|
|
servers:
|
|
- url: //callback-url.path-level/v1
|
|
description: Path level server 1
|
|
- url: //callback-url.path-level/v2
|
|
description: Path level server 2
|
|
post:
|
|
summary: Order in Progress (Summary)
|
|
description: A callback triggered every time an Order is updated status to "inProgress" (Description)
|
|
externalDocs:
|
|
description: Find out more
|
|
url: 'https://more-details.com/demo'
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
orderId:
|
|
type: string
|
|
example: '123'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
example: '2018-10-19T16:46:45Z'
|
|
status:
|
|
type: string
|
|
example: 'inProgress'
|
|
application/xml:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
orderId:
|
|
type: string
|
|
example: '123'
|
|
example: |
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
<root>
|
|
<orderId>123</orderId>
|
|
<status>inProgress</status>
|
|
<timestamp>2018-10-19T16:46:45Z</timestamp>
|
|
</root>
|
|
responses:
|
|
'200':
|
|
description: Callback successfully processed and no retries will be performed
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
someProp:
|
|
type: string
|
|
example: '123'
|
|
'299':
|
|
description: Response for cancelling subscription
|
|
'500':
|
|
description: Callback processing failed and retries will be performed
|
|
x-codeSamples:
|
|
- lang: 'C#'
|
|
source: |
|
|
PetStore.v1.Pet pet = new PetStore.v1.Pet();
|
|
pet.setApiKey("your api key");
|
|
pet.petType = PetStore.v1.Pet.TYPE_DOG;
|
|
pet.name = "Rex";
|
|
// set other fields
|
|
PetStoreResponse response = pet.create();
|
|
if (response.statusCode == HttpStatusCode.Created)
|
|
{
|
|
// Successfully created
|
|
}
|
|
else
|
|
{
|
|
// Something wrong -- check response for errors
|
|
Console.WriteLine(response.getRawResponse());
|
|
}
|
|
- lang: PHP
|
|
source: |
|
|
$form = new \PetStore\Entities\Pet();
|
|
$form->setPetType("Dog");
|
|
$form->setName("Rex");
|
|
// set other fields
|
|
try {
|
|
$pet = $client->pets()->create($form);
|
|
} catch (UnprocessableEntityException $e) {
|
|
var_dump($e->getErrors());
|
|
}
|
|
put:
|
|
description: Order in Progress (Only Description)
|
|
servers:
|
|
- url: //callback-url.operation-level/v1
|
|
description: Operation level server 1 (Operation override)
|
|
- url: //callback-url.operation-level/v2
|
|
description: Operation level server 2 (Operation override)
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
orderId:
|
|
type: string
|
|
example: '123'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
example: '2018-10-19T16:46:45Z'
|
|
status:
|
|
type: string
|
|
example: 'inProgress'
|
|
application/xml:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
orderId:
|
|
type: string
|
|
example: '123'
|
|
example: |
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
<root>
|
|
<orderId>123</orderId>
|
|
<status>inProgress</status>
|
|
<timestamp>2018-10-19T16:46:45Z</timestamp>
|
|
</root>
|
|
responses:
|
|
'200':
|
|
description: Callback successfully processed and no retries will be performed
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
someProp:
|
|
type: string
|
|
example: '123'
|
|
orderShipped:
|
|
'{$request.body#/callbackUrl}?event={$request.body#/eventName}':
|
|
post:
|
|
description: |
|
|
Very long description
|
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
|
|
incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis
|
|
nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
|
|
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
|
|
fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in
|
|
culpa qui officia deserunt mollit anim id est laborum.
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
orderId:
|
|
type: string
|
|
example: '123'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
example: '2018-10-19T16:46:45Z'
|
|
estimatedDeliveryDate:
|
|
type: string
|
|
format: date-time
|
|
example: '2018-11-11T16:00:00Z'
|
|
responses:
|
|
'200':
|
|
description: Callback successfully processed and no retries will be performed
|
|
orderDelivered:
|
|
'http://notificationServer.com?url={$request.body#/callbackUrl}&event={$request.body#/eventName}':
|
|
post:
|
|
deprecated: true
|
|
summary: Order delivered
|
|
description: A callback triggered every time an Order is delivered to the recipient
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
orderId:
|
|
type: string
|
|
example: '123'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
example: '2018-10-19T16:46:45Z'
|
|
responses:
|
|
'200':
|
|
description: Callback successfully processed and no retries will be performed
|
|
/user:
|
|
post:
|
|
tags:
|
|
- user
|
|
summary: Create user
|
|
description: This can only be done by the logged in user.
|
|
operationId: createUser
|
|
responses:
|
|
default:
|
|
description: successful operation
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/User'
|
|
description: Created user object
|
|
required: true
|
|
'/user/{username}':
|
|
get:
|
|
tags:
|
|
- user
|
|
summary: Get user by user name
|
|
description: ''
|
|
operationId: getUserByName
|
|
parameters:
|
|
- name: username
|
|
in: path
|
|
description: 'The name that needs to be fetched. Use user1 for testing. '
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/User'
|
|
application/xml:
|
|
schema:
|
|
$ref: '#/components/schemas/User'
|
|
'400':
|
|
description: Invalid username supplied
|
|
'404':
|
|
description: User not found
|
|
put:
|
|
tags:
|
|
- user
|
|
summary: Updated user
|
|
description: This can only be done by the logged in user.
|
|
operationId: updateUser
|
|
parameters:
|
|
- name: username
|
|
in: path
|
|
description: name that need to be deleted
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'400':
|
|
description: Invalid user supplied
|
|
'404':
|
|
description: User not found
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/User'
|
|
description: Updated user object
|
|
required: true
|
|
delete:
|
|
tags:
|
|
- user
|
|
summary: Delete user
|
|
description: This can only be done by the logged in user.
|
|
operationId: deleteUser
|
|
parameters:
|
|
- name: username
|
|
in: path
|
|
description: The name that needs to be deleted
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'400':
|
|
description: Invalid username supplied
|
|
'404':
|
|
description: User not found
|
|
/user/createWithArray:
|
|
post:
|
|
tags:
|
|
- user
|
|
summary: Creates list of users with given input array
|
|
description: ''
|
|
operationId: createUsersWithArrayInput
|
|
responses:
|
|
default:
|
|
description: successful operation
|
|
requestBody:
|
|
$ref: '#/components/requestBodies/UserArray'
|
|
/user/createWithList:
|
|
post:
|
|
tags:
|
|
- user
|
|
summary: Creates list of users with given input array
|
|
description: ''
|
|
operationId: createUsersWithListInput
|
|
responses:
|
|
default:
|
|
description: successful operation
|
|
requestBody:
|
|
$ref: '#/components/requestBodies/UserArray'
|
|
/user/login:
|
|
get:
|
|
tags:
|
|
- user
|
|
summary: Logs user into the system
|
|
description: ''
|
|
operationId: loginUser
|
|
parameters:
|
|
- name: username
|
|
in: query
|
|
description: The user name for login
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: password
|
|
in: query
|
|
description: The password for login in clear text
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
headers:
|
|
X-Rate-Limit:
|
|
description: calls per hour allowed by the user
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
X-Expires-After:
|
|
description: date in UTC when token expires
|
|
schema:
|
|
type: string
|
|
format: date-time
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
examples:
|
|
response:
|
|
value: OK
|
|
application/xml:
|
|
schema:
|
|
type: string
|
|
examples:
|
|
response:
|
|
value: <Message> OK </Message>
|
|
text/plain:
|
|
examples:
|
|
response:
|
|
value: OK
|
|
'400':
|
|
description: Invalid username/password supplied
|
|
/user/logout:
|
|
get:
|
|
tags:
|
|
- user
|
|
summary: Logs out current logged in user session
|
|
description: ''
|
|
operationId: logoutUser
|
|
responses:
|
|
default:
|
|
description: successful operation
|
|
components:
|
|
schemas:
|
|
ApiResponse:
|
|
type: object
|
|
properties:
|
|
code:
|
|
type: integer
|
|
format: int32
|
|
type:
|
|
type: string
|
|
message:
|
|
type: string
|
|
Cat:
|
|
'x-tags': ['pet']
|
|
description: A representation of a cat
|
|
allOf:
|
|
- $ref: '#/components/schemas/Pet'
|
|
- type: object
|
|
properties:
|
|
huntingSkill:
|
|
type: string
|
|
description: The measured skill for hunting
|
|
default: lazy
|
|
example: adventurous
|
|
enum:
|
|
- clueless
|
|
- lazy
|
|
- adventurous
|
|
- aggressive
|
|
required:
|
|
- huntingSkill
|
|
Category:
|
|
type: object
|
|
properties:
|
|
id:
|
|
description: Category ID
|
|
allOf:
|
|
- $ref: '#/components/schemas/Id'
|
|
name:
|
|
description: Category name
|
|
type: string
|
|
minLength: 1
|
|
sub:
|
|
description: Test Sub Category
|
|
type: object
|
|
properties:
|
|
prop1:
|
|
type: string
|
|
description: Dumb Property
|
|
xml:
|
|
name: Category
|
|
Dog:
|
|
description: A representation of a dog
|
|
allOf:
|
|
- $ref: '#/components/schemas/Pet'
|
|
- type: object
|
|
properties:
|
|
packSize:
|
|
type: integer
|
|
format: int32
|
|
description: The size of the pack the dog is from
|
|
default: 1
|
|
minimum: 1
|
|
required:
|
|
- packSize
|
|
HoneyBee:
|
|
description: A representation of a honey bee
|
|
allOf:
|
|
- $ref: '#/components/schemas/Pet'
|
|
- type: object
|
|
properties:
|
|
honeyPerDay:
|
|
type: number
|
|
description: Average amount of honey produced per day in ounces
|
|
example: 3.14
|
|
multipleOf: .01
|
|
required:
|
|
- honeyPerDay
|
|
Id:
|
|
type: integer
|
|
format: int64
|
|
readOnly: true
|
|
Order:
|
|
type: object
|
|
properties:
|
|
id:
|
|
description: Order ID
|
|
allOf:
|
|
- $ref: '#/components/schemas/Id'
|
|
petId:
|
|
description: Pet ID
|
|
allOf:
|
|
- $ref: '#/components/schemas/Id'
|
|
quantity:
|
|
type: integer
|
|
format: int32
|
|
minimum: 1
|
|
default: 1
|
|
shipDate:
|
|
description: Estimated ship date
|
|
type: string
|
|
format: date-time
|
|
status:
|
|
type: string
|
|
description: Order Status
|
|
enum:
|
|
- placed
|
|
- approved
|
|
- delivered
|
|
complete:
|
|
description: Indicates whenever order was completed or not
|
|
type: boolean
|
|
default: false
|
|
readOnly: true
|
|
requestId:
|
|
description: Unique Request Id
|
|
type: string
|
|
writeOnly: true
|
|
xml:
|
|
name: Order
|
|
Pet:
|
|
type: object
|
|
required:
|
|
- name
|
|
- photoUrls
|
|
discriminator:
|
|
propertyName: petType
|
|
mapping:
|
|
cat: '#/components/schemas/Cat'
|
|
dog: '#/components/schemas/Dog'
|
|
bee: '#/components/schemas/HoneyBee'
|
|
properties:
|
|
id:
|
|
externalDocs:
|
|
description: 'Find more info here'
|
|
url: 'https://example.com'
|
|
description: Pet ID
|
|
allOf:
|
|
- $ref: '#/components/schemas/Id'
|
|
category:
|
|
description: Categories this pet belongs to
|
|
allOf:
|
|
- $ref: '#/components/schemas/Category'
|
|
name:
|
|
description: The name given to a pet
|
|
type: string
|
|
example: Guru
|
|
photoUrls:
|
|
description: The list of URL to a cute photos featuring pet
|
|
type: array
|
|
default: []
|
|
maxItems: 20
|
|
xml:
|
|
name: photoUrl
|
|
wrapped: true
|
|
items:
|
|
type: string
|
|
format: url
|
|
friend:
|
|
allOf:
|
|
- $ref: '#/components/schemas/Pet'
|
|
tags:
|
|
description: Tags attached to the pet
|
|
type: array
|
|
minItems: 1
|
|
xml:
|
|
name: tag
|
|
wrapped: true
|
|
items:
|
|
$ref: '#/components/schemas/Tag'
|
|
status:
|
|
type: string
|
|
description: Pet status in the store
|
|
enum:
|
|
- available
|
|
- pending
|
|
- sold
|
|
petType:
|
|
description: Type of a pet
|
|
type: string
|
|
xml:
|
|
name: Pet
|
|
Tag:
|
|
type: object
|
|
properties:
|
|
id:
|
|
description: Tag ID
|
|
allOf:
|
|
- $ref: '#/components/schemas/Id'
|
|
name:
|
|
description: Tag name
|
|
type: string
|
|
minLength: 1
|
|
xml:
|
|
name: Tag
|
|
User:
|
|
type: object
|
|
properties:
|
|
id:
|
|
$ref: '#/components/schemas/Id'
|
|
pet:
|
|
oneOf:
|
|
- $ref: '#/components/schemas/Pet'
|
|
- $ref: '#/components/schemas/Tag'
|
|
username:
|
|
description: User supplied username
|
|
type: string
|
|
minLength: 4
|
|
example: John78
|
|
firstName:
|
|
description: User first name
|
|
type: string
|
|
minLength: 1
|
|
example: John
|
|
lastName:
|
|
description: User last name
|
|
type: string
|
|
minLength: 1
|
|
example: Smith
|
|
email:
|
|
description: User email address
|
|
type: string
|
|
format: email
|
|
example: john.smith@example.com
|
|
password:
|
|
type: string
|
|
description: >-
|
|
User password, MUST contain a mix of upper and lower case letters,
|
|
as well as digits
|
|
format: password
|
|
minLength: 8
|
|
pattern: '/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])/'
|
|
example: drowssaP123
|
|
phone:
|
|
description: User phone number in international format
|
|
type: string
|
|
pattern: '/^\+(?:[0-9]-?){6,14}[0-9]$/'
|
|
example: +1-202-555-0192
|
|
userStatus:
|
|
description: User status
|
|
type: integer
|
|
format: int32
|
|
addresses:
|
|
type: array
|
|
minItems: 0
|
|
maxLength: 10
|
|
items:
|
|
- type: object
|
|
properties:
|
|
city:
|
|
type: string
|
|
minLength: 0
|
|
country:
|
|
type: string
|
|
minLength: 0
|
|
street:
|
|
description: includes build/apartment number
|
|
type: string
|
|
minLength: 0
|
|
- type: number
|
|
additionalItems:
|
|
type: string
|
|
xml:
|
|
name: User
|
|
requestBodies:
|
|
Pet:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- description: My Pet
|
|
title: Pettie
|
|
- $ref: '#/components/schemas/Pet'
|
|
application/xml:
|
|
schema:
|
|
type: 'object'
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: hooray
|
|
default: []
|
|
description: Pet object that needs to be added to the store
|
|
required: true
|
|
UserArray:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/User'
|
|
description: List of user object
|
|
required: true
|
|
securitySchemes:
|
|
petstore_auth:
|
|
description: |
|
|
Get access to data while protecting your account credentials.
|
|
OAuth2 is also a safer and more secure way to give you access.
|
|
type: oauth2
|
|
flows:
|
|
implicit:
|
|
authorizationUrl: 'http://petstore.swagger.io/api/oauth/dialog'
|
|
scopes:
|
|
'write:pets': modify pets in your account
|
|
'read:pets': read your pets
|
|
api_key:
|
|
description: >
|
|
For this sample, you can use the api key `special-key` to test the
|
|
authorization filters.
|
|
type: apiKey
|
|
name: api_key
|
|
in: header
|
|
examples:
|
|
Order:
|
|
value:
|
|
quantity: 1
|
|
shipDate: '2018-10-19T16:46:45Z'
|
|
status: placed
|
|
complete: false
|
|
x-webhooks:
|
|
newPet:
|
|
post:
|
|
summary: New pet
|
|
description: Information about a new pet in the systems
|
|
operationId: newPet
|
|
tags:
|
|
- pet
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Pet'
|
|
responses:
|
|
'200':
|
|
description: Return a 200 status to indicate that the data was received successfully
|