swagger: '2.0' info: title: Pulse Public Authentication Learning API API version: 1.0.1 description: "The Pulse API is targeted towards developers looking to automate tasks in Pulse. \n\n# Authentication\nAll endpoints in Pulse require authentication. Legacy endpoints require only a Private API Key, while all new endpoints incorporate JSON Web Tokens. \n\n**API Key**\nTo consume a Pulse endpoint using API Key authentication, :\n * Contact Pulse support at support@pulsesoftware.com to enable the Pulse Public API and issue your API key.\n * Pass the API key in the **'x-Api-Key'** header with each request.\n\nNote: It is recommended to use a User Private API key where possible, rather than the Application Private Key. When using a User API key, functionality will be restricted based on the role of the User for which the API key was generated. See API endpoint documentation for authorised roles. \n\n**JSON Web Token (JWT)**\nTo consume a Pulse endpoint using JWT authentication:\n * Contact Pulse support at support@pulsesoftware.com to enable the Pulse Public API and issue your API key.\n * Request a bearer token from /pulse/jwt, passing the API key in the **'x-Api-Key'** header with the request.\n * Pass the token issued in the **'Authorization'** header of all requests as **'bearer [token]'**\n\n**Note** Tokens will expire 60 minutes after being issued, at which point your application will need to request a new token.\n\n# Requests\nThe Pulse API follows REST principles. Data resources are accessed via standard HTTPS requests in UTF-8 format to an API endpoint. Where possible, Web API uses appropriate HTTP verbs for each action.\nHTTP Verbs:\n * **GET** Retrieves resources\n * **POST** Creates resources\n * **PUT** Changes and/or replaces resources or collections\n * **DELETE** Deletes resources\n\nThe Pulse API accepts the following ISO-8601 formats for date strings:\n * Date, Time, Timezone: e.g. \"2021-06-02T21:39:18+00:00\"\n * Date, Time: e.g. \"2021-06-02T21:39:18Z\"\n * Date: e.g. \"2021-06-02\"\n\n# Responses\nPulse API returns all response data as a JSON object. \n\n# Response Status Codes\nPulse API uses the following status codes:\n * **200** OK - Request succeeded. Result provided in response body.\n * **400** Bad Request - Malformed syntax. See message body for information.\n * **401** Unauthorised - Missing authentication (API Key or JWT).\n * **403** Forbidden - API user is not authorised to access requested resource.\n * **404** Not Found - Request resource does not exist.\n\n# Support\nContact support@pulsesoftware.com for any queries or issues related to this API\n" termsOfService: http://www.apache.org/licenses/LICENSE-2.0.html contact: email: support@pulsesoftware.com license: name: Apache 2.0 url: http://www.apache.org/licenses/LICENSE-2.0.html host: '*.pulsesoftware.com' basePath: /webservices/api schemes: - https - http tags: - name: Learning API description: API for managing learning info in Pulse paths: /training/traininghistoryrecord/{hours}: get: security: - ApiKey: [] tags: - Learning API summary: Retrieve training history records verified in the last specified number of hours description: Retrieve training history records verified in the last specified number of hours (defaults to 12 hours if no value is given) operationId: getTrainingHistory consumes: - application/json produces: - application/json parameters: - in: path required: true name: hours description: The max number of hours to look back when retrieving training records based on their date of verification type: number responses: 200: description: OK. Request completed successfully. schema: $ref: '#/definitions/GetTrainingHistoryRecordsResponse' 401: description: The provided API Key is invalid. 403: description: An API Key must be provided to use this resource. definitions: TrainingHistoryRecord: type: object properties: Payroll_Num: type: string Username: type: string Email: type: string Given_Name: type: string Surname: type: string Course_Name: type: string Course_Code: type: string Completion_Date: type: string GetTrainingHistoryRecordsResponse: type: array items: $ref: '#/definitions/TrainingHistoryRecord' example: - Payroll_Num: 1234 Username: test.user Email: test_user@test.com Given_Name: Test Surname: User Course_Name: How to build an API Course_Code: api101 Completion_Date: 17/05/2021 3:36:28 PM - Payroll_Num: 1235 Username: test.user123 Email: test_user123@test.com Given_Name: Tester Surname: User Course_Name: Agile Methodologies Course_Code: agile123 Completion_Date: 9/05/2021 3:36:28 PM securityDefinitions: ApiKey: type: apiKey name: x-Api-Key in: header BearerJWT: type: apiKey name: Authorisation in: header externalDocs: description: Find out more about Swagger url: http://swagger.io