Created
June 13, 2016 17:25
-
-
Save arno-di-loreto/707f15ff819428bdbd7a3acab3bc8333 to your computer and use it in GitHub Desktop.
OpenAPI 3.0 proposal - Structural improvements: inheritance on paths and its sublevels (cf. https://github.com/OAI/OpenAPI-Specification/issues/684)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| version: '3.0' | |
| info: | |
| version: 1.1.0 | |
| title: Simple API | |
| description: A simple API to learn how to write OpenAPI Specification | |
| schemes: | |
| - https | |
| host: simple.api | |
| basePath: /openapi101 | |
| paths: | |
| shared: | |
| security: | |
| - $ref: '#/allDefinitions/securityDefinitionsOauthSecurity' | |
| - user | |
| - $ref: '#/allDefinitions/securityLegacySecurity' | |
| consumes: | |
| - application/json | |
| - application/x-yaml | |
| produces: | |
| - application/json | |
| - application/x-yaml | |
| parameters: | |
| - $ref: '#/allDefinitions/parameters/userAgent' | |
| responseHeaders: | |
| X-Rate-Limit-Remaining: | |
| type: integer | |
| X-Rate-Limit-Reset: | |
| type: string | |
| format: date-time | |
| responses: | |
| '500': | |
| $ref: '#/allDefinitions/responses/Standard500ErrorResponse' | |
| default: | |
| $ref: '#/allDefinitions/responses/TotallyUnexpectedResponse' | |
| /persons: | |
| get: | |
| summary: Gets some persons | |
| description: Returns a list containing all persons. The list supports paging. | |
| parameters: | |
| - $ref: '#/allDefinitions/parameters/pageSize' | |
| - $ref: '#/allDefinitions/parameters/pageNumber' | |
| - $ref: '#/allDefinitions/parameters/includeNonVerifiedUsers' | |
| - $ref: '#/allDefinitions/parameters/sortPersons' | |
| responses: | |
| '200': | |
| description: A list of Person | |
| schema: | |
| $ref: '#/allDefinitions/definitions/Persons' | |
| post: | |
| summary: Creates a person | |
| description: Adds a new person to the persons list. | |
| security: | |
| - OauthSecurity: | |
| - admin | |
| - LegacySecurity: [] | |
| parameters: | |
| - name: person | |
| in: body | |
| required: true | |
| description: The person to create. | |
| schema: | |
| $ref: '#/allDefinitions/definitions/Person' | |
| responses: | |
| '204': | |
| description: Person succesfully created. | |
| '400': | |
| description: Person couldn't have been created. | |
| /js-less-consumer-persons: | |
| post: | |
| summary: Creates a person | |
| description: For JS-less partners | |
| security: | |
| - OauthSecurity: | |
| - admin | |
| - LegacySecurity: [] | |
| consumes: | |
| - application/x-www-form-urlencoded | |
| parameters: | |
| - name: username | |
| in: formData | |
| required: true | |
| pattern: '[a-z0-9]{8,64}' | |
| minLength: 8 | |
| maxLength: 64 | |
| type: string | |
| - name: firstname | |
| in: formData | |
| type: string | |
| - name: lastname | |
| in: formData | |
| type: string | |
| - name: dateOfBirth | |
| in: formData | |
| type: string | |
| format: date | |
| responses: | |
| shared: | |
| produces: | |
| - text/html | |
| responseHeaders: | |
| X-PARTNER-HEADER: | |
| description: a dummy header returned by all post /js-less-consumers-persons responses | |
| type: string | |
| '204': | |
| description: Person succesfully created. | |
| '400': | |
| description: Person couldn't have been created. | |
| '/persons/{username}': | |
| shared: | |
| parameters: | |
| - $ref: '#/allDefinitions/parameters/username' | |
| responses: | |
| '404': | |
| $ref: '#/allDefinitions/responses/PersonDoesNotExistResponse' | |
| get: | |
| summary: Gets a person | |
| description: Returns a single person for its username. | |
| responses: | |
| '200': | |
| description: A Person | |
| schema: | |
| $ref: '#/allDefinitions/definitions/Person' | |
| delete: | |
| summary: Deletes a person | |
| description: Delete a single person identified via its username | |
| responses: | |
| '204': | |
| description: Person successfully deleted. | |
| '/persons/{username}/friends': | |
| shared: | |
| parameters: | |
| - $ref: '#/allDefinitions/parameters/username' | |
| responses: | |
| '404': | |
| $ref: '#/allDefinitions/responses/PersonDoesNotExistResponse' | |
| get: | |
| summary: Gets a person's friends | |
| description: Returns a list containing all persons. The list supports paging. | |
| parameters: | |
| - $ref: '#/allDefinitions/parameters/pageSize' | |
| - $ref: '#/allDefinitions/parameters/pageNumber' | |
| - $ref: '#/allDefinitions/parameters/includeNonVerifiedUsers' | |
| - $ref: '#/allDefinitions/parameters/sortPersons' | |
| responses: | |
| '200': | |
| description: A person's friends list | |
| schema: | |
| $ref: '#/allDefinitions/definitions/PagedPersons' | |
| '/persons/{username}/collecting-items': | |
| shared: | |
| parameters: | |
| - $ref: '#/allDefinitions/parameters/username' | |
| responses: | |
| '404': | |
| $ref: '#/allDefinitions/responses/PersonDoesNotExistResponse' | |
| get: | |
| summary: Gets a person's collecting items list | |
| description: >- | |
| Returns a list containing all items this person is looking for. The list | |
| supports paging. | |
| parameters: | |
| - $ref: '#/allDefinitions/parameters/pageSize' | |
| - $ref: '#/allDefinitions/parameters/pageNumber' | |
| - $ref: '#/allDefinitions/parameters/filterItemTypes' | |
| responses: | |
| '200': | |
| description: A collected items list | |
| schema: | |
| $ref: '#/allDefinitions/definitions/PagedCollectingItems' | |
| /images: | |
| post: | |
| summary: Uploads an image | |
| security: | |
| - MediaSecurity: [] | |
| consumes: | |
| - multipart/form-data | |
| parameters: | |
| - name: image | |
| in: formData | |
| type: file | |
| responses: | |
| '200': | |
| description: Image's ID | |
| schema: | |
| properties: | |
| imageId: | |
| type: string | |
| /images/{imageId}: | |
| get: | |
| summary: Gets an image | |
| parameters: | |
| - name: imageId | |
| in: path | |
| required: true | |
| type: string | |
| responses: | |
| '200': | |
| description: The image | |
| produces: | |
| - image/png | |
| - image/gif | |
| - image/jpeg | |
| allDefinitions: | |
| securityDefinitions: | |
| OauthSecurity: | |
| type: oauth2 | |
| flow: accessCode | |
| authorizationUrl: 'https://oauth.simple.api/authorization' | |
| tokenUrl: 'https://oauth.simple.api/token' | |
| scopes: | |
| admin: Admin scope | |
| user: User scope | |
| MediaSecurity: | |
| type: apiKey | |
| in: query | |
| name: media-api-key | |
| LegacySecurity: | |
| type: basic | |
| definitions: | |
| Person: | |
| required: | |
| - username | |
| properties: | |
| firstName: | |
| type: string | |
| lastName: | |
| type: string | |
| username: | |
| type: string | |
| pattern: '[a-z0-9]{8,64}' | |
| minLength: 8 | |
| maxLength: 64 | |
| dateOfBirth: | |
| type: string | |
| format: date | |
| lastTimeOnline: | |
| type: string | |
| format: date-time | |
| readOnly: true | |
| avatarBase64PNG: | |
| type: string | |
| format: byte | |
| default: data:image/png;base64,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 | |
| spokenLanguages: | |
| $ref: '#/allDefinitions/definitions/SpokenLanguages' | |
| SpokenLanguages: | |
| additionalProperties: | |
| type: string | |
| properties: | |
| defaultLanguage: | |
| type: string | |
| default: english | |
| Persons: | |
| required: | |
| - items | |
| properties: | |
| items: | |
| type: array | |
| minItems: 10 | |
| maxItems: 100 | |
| uniqueItems: true | |
| items: | |
| $ref: '#/allDefinitions/definitions/Person' | |
| ErrorMessage: | |
| required: | |
| - longMessage | |
| - shortMessage | |
| properties: | |
| longMessage: | |
| type: string | |
| shortMessage: | |
| type: string | |
| MultilingualErrorMessage: | |
| additionalProperties: | |
| $ref: '#/allDefinitions/definitions/ErrorMessage' | |
| properties: | |
| defaultLanguage: | |
| $ref: '#/allDefinitions/definitions/ErrorMessage' | |
| Error: | |
| required: | |
| - code | |
| - message | |
| properties: | |
| code: | |
| type: string | |
| enum: | |
| - DBERR | |
| - NTERR | |
| - UNERR | |
| message: | |
| $ref: '#/allDefinitions/definitions/MultilingualErrorMessage' | |
| CollectingItem: | |
| discriminator: itemType | |
| required: | |
| - itemType | |
| properties: | |
| itemType: | |
| type: string | |
| enum: | |
| - AudioCassette | |
| - Vinyl | |
| - VHS | |
| imageId: | |
| type: string | |
| maxPrice: | |
| type: number | |
| format: double | |
| minimum: 0 | |
| maximum: 10000 | |
| exclusiveMinimum: true | |
| exclusiveMaximum: false | |
| Vinyl: | |
| allOf: | |
| - $ref: '#/allDefinitions/definitions/CollectingItem' | |
| - required: | |
| - albumName | |
| - artist | |
| properties: | |
| albumName: | |
| type: string | |
| artist: | |
| type: string | |
| VHS: | |
| allOf: | |
| - $ref: '#/allDefinitions/definitions/CollectingItem' | |
| - required: | |
| - movieTitle | |
| properties: | |
| movieTitle: | |
| type: string | |
| director: | |
| type: string | |
| AudioCassette: | |
| allOf: | |
| - $ref: '#/allDefinitions/definitions/CollectingItem' | |
| - required: | |
| - albumName | |
| - artist | |
| properties: | |
| albumName: | |
| type: string | |
| artist: | |
| type: string | |
| Paging: | |
| required: | |
| - totalItems | |
| - totalPages | |
| - pageSize | |
| - currentPage | |
| properties: | |
| totalItems: | |
| type: integer | |
| totalPages: | |
| type: integer | |
| pageSize: | |
| type: integer | |
| currentPage: | |
| type: integer | |
| PagedPersons: | |
| allOf: | |
| - $ref: '#/allDefinitions/definitions/Persons' | |
| - $ref: '#/allDefinitions/definitions/Paging' | |
| PagedCollectingItems: | |
| allOf: | |
| - properties: | |
| items: | |
| type: array | |
| minItems: 10 | |
| maxItems: 100 | |
| uniqueItems: true | |
| items: | |
| $ref: '#/allDefinitions/definitions/CollectingItem' | |
| - $ref: '#/allDefinitions/definitions/Paging' | |
| responses: | |
| Standard500ErrorResponse: | |
| description: An unexpected error occured. | |
| schema: | |
| $ref: '#/allDefinitions/definitions/Error' | |
| PersonDoesNotExistResponse: | |
| description: Person does not exist. | |
| TotallyUnexpectedResponse: | |
| description: A totally unexpected response | |
| parameters: | |
| username: | |
| name: username | |
| in: path | |
| required: true | |
| description: The person's username | |
| type: string | |
| pageSize: | |
| name: pageSize | |
| in: query | |
| description: Number of persons returned | |
| type: integer | |
| format: int32 | |
| minimum: 0 | |
| exclusiveMinimum: true | |
| maximum: 100 | |
| exclusiveMaximum: false | |
| multipleOf: 10 | |
| default: 20 | |
| pageNumber: | |
| name: pageNumber | |
| in: query | |
| description: Page number | |
| type: integer | |
| default: 1 | |
| includeNonVerifiedUsers: | |
| name: includeNonVerifiedUsers | |
| in: query | |
| type: boolean | |
| default: false | |
| allowEmptyValue: true | |
| sortPersons: | |
| name: sort | |
| in: query | |
| type: array | |
| uniqueItems: true | |
| minItems: 1 | |
| maxItems: 3 | |
| collectionFormat: pipes | |
| items: | |
| type: string | |
| pattern: '[-+](username|lastTimeOnline|firstname|lastname)' | |
| default: | |
| - -lastTimeOnline | |
| - +username | |
| filterItemTypes: | |
| name: itemType | |
| in: query | |
| type: array | |
| collectionFormat: multi | |
| uniqueItems: true | |
| items: | |
| type: string | |
| enum: | |
| - AudioCassette | |
| - Vinyl | |
| - VHS | |
| userAgent: | |
| name: User-Agent | |
| type: string | |
| in: header | |
| required: true |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment