Pulse Software Learning API API

API for managing learning info in Pulse

OpenAPI Specification

pulse-software-learning-api-api-openapi.yml Raw ↑
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