mirror of
				https://github.com/Redocly/redoc.git
				synced 2025-10-31 07:47:29 +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
 |