swagger: '2.0' info: title: Demo Conference API description: >- A sample API with information related to a technical conference. The available resources include *Speakers*, *Sessions* and *Topics*. A single write operation is available to provide feedback on a session. version: '2.0.0' host: conferenceapi.azurewebsites.net schemes: - http - https securityDefinitions: apiKeyHeader: type: apiKey name: Ocp-Apim-Subscription-Key in: header apiKeyQuery: type: apiKey name: subscription-key in: query security: - apiKeyHeader: [] - apiKeyQuery: [] paths: '/sessions': get: description: >- A list of sessions. Optional parameters work as filters to reduce the listed sessions. operationId: GetSessions parameters: - name: speakername in: query type: string - name: dayno in: query description: Format - int32. type: integer - name: keyword in: query type: string responses: '200': description: OK produces: - application/vnd.collection+json '/session/{id}': get: description: Retreive a representation of a single session by Id operationId: GetSession parameters: - $ref: '#/parameters/id' responses: '200': description: OK produces: - application/hal+json - text/plain '/session/{id}/topics': get: operationId: GetSessionTopics description: A list of topics covered by a particular session parameters: - $ref: '#/parameters/id' responses: '200': description: OK produces: - application/vnd.collection+json '/session/{id}/feedback': post: description: Retreive a representation of a single session by Id operationId: SubmitSession parameters: - $ref: '#/parameters/id' - name: body in: body required: true schema: type: string responses: '200': description: OK produces: - application/hal+json - text/plain consumes: - text/plain '/speakers': get: operationId: GetSpeakers parameters: - name: dayno in: query description: Format - int32. type: integer - name: speakername in: query type: string responses: '200': description: OK produces: - application/vnd.collection+json '/speaker/{id}': get: operationId: GetSpeaker parameters: - $ref: '#/parameters/id' responses: '200': description: OK produces: - application/vnd.hal+json - text/plain '/speaker/{id}/sessions': get: operationId: GetSpeakerSessions parameters: - $ref: '#/parameters/id' responses: '200': description: OK produces: - application/vnd.collection+json '/speaker/{id}/topics': get: operationId: GetSpeakerTopics parameters: - $ref: '#/parameters/id' responses: '200': description: OK produces: - application/vnd.collection+json '/topics': get: operationId: GetTopics parameters: - name: dayno in: query required: false description: Format - int32. type: integer responses: '200': description: OK produces: - application/vnd.collection+json '/topic/{id}': get: operationId: GetTopic parameters: - $ref: '#/parameters/id' responses: '200': description: OK produces: - application/hal+json '/topic/{id}/speakers': get: operationId: GetTopicSpeakers parameters: - $ref: '#/parameters/id' responses: '200': description: OK produces: - application/vnd.collection+json '/topic/{id}/sessions': get: operationId: GetTopicSessions parameters: - $ref: '#/parameters/id' responses: '200': description: OK produces: - application/vnd.collection+json parameters: id: name: id in: path description: Format - int32. required: true type: integer