Pulse Software Forms API API

API for managing forms and records in Pulse

OpenAPI Specification

pulse-software-forms-api-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  title: Pulse Public Authentication Forms 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: Forms API
  description: API for managing forms and records in Pulse
paths:
  /forms/record/recordsByRef:
    get:
      security:
      - BearerJWT: []
      tags:
      - Forms API
      summary: Records by Ref ID
      description: 'Retrieve Records submitted by Form ID with or without Date Range.


        **Authorised Roles:** *ICMUser, OnboardingFormsUser, FormsUser, RCMUser*

        '
      operationId: recordsByRef
      consumes:
      - appliation/json
      produces:
      - application/json
      parameters:
      - in: query
        name: refId
        type: string
        description: Ref ID
        required: true
      - in: query
        name: submittedStartDate
        type: string
        description: Submitted Start Date Eg. 01/01/2023
      - in: query
        name: submittedEndDate
        type: string
        description: Submitted End Date Eg. 31/01/2023
      responses:
        200:
          description: OK. Request completed successfully.
        401:
          description: Missing JWT Bearer token in the Authorization header or the given JWT token is invalid.
        403:
          description: The user corresponding to the given JWT token does not have access to this module.
  /forms/record/recordsCountByRef:
    get:
      security:
      - BearerJWT: []
      tags:
      - Forms API
      summary: Records Count by Ref ID
      description: 'Retrieve Records submitted by Form ID with or without Date Range.


        **Authorised Roles:** *ICMUser, OnboardingFormsUser, FormsUser, RCMUser*

        '
      operationId: recordsCountByRef
      consumes:
      - appliation/json
      produces:
      - application/json
      parameters:
      - in: query
        name: refId
        type: string
        description: Ref ID
        required: true
      - in: query
        name: submittedStartDate
        type: string
        description: Submitted Start Date Eg. 01/01/2023
      - in: query
        name: submittedEndDate
        type: string
        description: Submitted End Date Eg. 31/01/2023
      responses:
        200:
          description: OK. Request completed successfully.
        401:
          description: Missing JWT Bearer token in the Authorization header or the given JWT token is invalid.
        403:
          description: The user corresponding to the given JWT token does not have access to this module.
  /forms/record/flattenRecordsByRef:
    get:
      security:
      - BearerJWT: []
      tags:
      - Forms API
      summary: Flatten Records by Ref ID
      description: 'Retrieve Flatten Records submitted by Form ID with or without Date Range.


        **Authorised Roles:** *ICMUser, OnboardingFormsUser, FormsUser, RCMUser*

        '
      operationId: flattenRecordsByRef
      consumes:
      - appliation/json
      produces:
      - application/json
      parameters:
      - in: query
        name: refId
        type: string
        description: Ref ID
      - in: query
        name: submittedStartDate
        type: string
        description: Submitted Start Date Eg. 01/01/2023
      - in: query
        name: submittedEndDate
        type: string
        description: Submitted End Date Eg. 31/01/2023
      responses:
        200:
          description: OK. Request completed successfully.
        401:
          description: Missing JWT Bearer token in the Authorization header or the given JWT token is invalid.
        403:
          description: The user corresponding to the given JWT token does not have access to this module.
  /forms/record/recordsByFormId:
    get:
      security:
      - BearerJWT: []
      tags:
      - Forms API
      summary: Records by Form ID
      description: 'Retrieve Records submitted by Form ID with or without Date Range.


        **Authorised Roles:** *ICMUser, OnboardingFormsUser, FormsUser, RCMUser*

        '
      operationId: recordsByFormId
      consumes:
      - appliation/json
      produces:
      - application/json
      parameters:
      - in: query
        name: formId
        type: string
        description: Form ID
        required: true
      - in: query
        name: submittedStartDate
        type: string
        description: Submitted Start Date Eg. 01/01/2023
      - in: query
        name: submittedEndDate
        type: string
        description: Submitted End Date Eg. 31/01/2023
      responses:
        200:
          description: OK. Request completed successfully.
        401:
          description: Missing JWT Bearer token in the Authorization header or the given JWT token is invalid.
        403:
          description: The user corresponding to the given JWT token does not have access to this module.
  /forms/record/recordsCountByFormId:
    get:
      security:
      - BearerJWT: []
      tags:
      - Forms API
      summary: Records by Form ID
      description: 'Retrieve Records submitted by Form ID with or without Date Range.


        **Authorised Roles:** *ICMUser, OnboardingFormsUser, FormsUser, RCMUser*

        '
      operationId: recordsCountByFormId
      consumes:
      - appliation/json
      produces:
      - application/json
      parameters:
      - in: query
        name: formId
        type: string
        description: Form ID
        required: true
      - in: query
        name: submittedStartDate
        type: string
        description: Submitted Start Date Eg. 01/01/2023
      - in: query
        name: submittedEndDate
        type: string
        description: Submitted End Date Eg. 31/01/2023
      responses:
        200:
          description: OK. Request completed successfully.
        401:
          description: Missing JWT Bearer token in the Authorization header or the given JWT token is invalid.
        403:
          description: The user corresponding to the given JWT token does not have access to this module.
  /forms/record/flattenRecordsByFormId:
    get:
      security:
      - BearerJWT: []
      tags:
      - Forms API
      summary: Records by Form ID
      description: 'Retrieve Flatten Records submitted by Form ID with or without Date Range.


        **Authorised Roles:** *ICMUser, OnboardingFormsUser, FormsUser, RCMUser*

        '
      operationId: flattenRecordsByFormId
      consumes:
      - appliation/json
      produces:
      - application/json
      parameters:
      - in: query
        name: formId
        type: string
        description: Form ID
        required: true
      - in: query
        name: submittedStartDate
        type: string
        description: Submitted Start Date Eg. 01/01/2023
      - in: query
        name: submittedEndDate
        type: string
        description: Submitted End Date Eg. 31/01/2023
      responses:
        200:
          description: OK. Request completed successfully.
        401:
          description: Missing JWT Bearer token in the Authorization header or the given JWT token is invalid.
        403:
          description: The user corresponding to the given JWT token does not have access to this module.
  /forms/record/flattenRecordsByTag:
    get:
      security:
      - BearerJWT: []
      tags:
      - Forms API
      summary: Flatten Records by Tag
      description: 'Retrieve Flatten Records submitted by Tag with or without Date Range


        **Authorised Roles:** *PRFAdmin*

        '
      operationId: flattenRecordsByTag
      consumes:
      - appliation/json
      produces:
      - application/json
      parameters:
      - in: query
        type: string
        name: tag
        description: Tag
        required: true
      - in: query
        name: submittedStartDate
        type: string
        description: Submitted Start Date Eg. 01/01/2023
      - in: query
        name: submittedEndDate
        type: string
        description: Submitted End Date Eg. 31/01/2023
      responses:
        200:
          description: OK. Request completed successfully.
        401:
          description: Missing JWT Bearer token in the Authorization header or the given JWT token is invalid.
        403:
          description: The user corresponding to the given JWT token does not have access to this module.
    post:
      security:
      - BearerJWT: []
      tags:
      - Forms API
      summary: Records by Tag and Fields
      description: 'Retrieve Records submitted by Tag with or without Date Range filter by Fields


        **Authorised Roles:** *PRFAdmin*

        '
      operationId: flattenRecordsByTagPost
      consumes:
      - appliation/json
      produces:
      - application/json
      parameters:
      - in: body
        name: fields
        description: Form Fields
        required: true
        schema:
          type: array
          items:
            type: string
          example:
          - data.TITLE
          - data.FIRSTNAME
          - data.DROMCV2Dhd
      - in: query
        name: tag
        description: Tag
        required: true
        type: string
      - in: query
        name: submittedStartDate
        description: Submitted Start Date Eg. 01/01/2023
        type: string
      - in: query
        name: submittedEndDate
        description: Submitted End Date Eg. 31/01/2023
        type: string
      responses:
        200:
          description: OK. Request completed successfully.
        401:
          description: Missing JWT Bearer token in the Authorization header or the given JWT token is invalid.
        403:
          description: The user corresponding to the given JWT token does not have access to this module.
  /forms/record/recordsCountByTag:
    get:
      security:
      - BearerJWT: []
      tags:
      - Forms API
      summary: Records Count by Tag
      description: 'Retrieve Records Count submitted by Tag with or without Date Range


        **Authorised Roles:** *PRFAdmin*

        '
      operationId: recordsCountByTag
      consumes:
      - appliation/json
      produces:
      - application/json
      parameters:
      - in: query
        name: tag
        description: Tag
        required: true
        type: string
      - in: query
        name: submittedStartDate
        description: Submitted Start Date Eg. 01/01/2023
        type: string
      - in: query
        name: submittedEndDate
        description: Submitted End Date Eg. 31/01/2023
        type: string
      responses:
        200:
          description: OK. Request completed successfully.
        401:
          description: Missing JWT Bearer token in the Authorization header or the given JWT token is invalid.
        403:
          description: The user corresponding to the given JWT token does not have access to this module.
    post:
      security:
      - BearerJWT: []
      tags:
      - Forms API
      summary: Records by Tag and Fields
      description: 'Retrieve Records submitted by Tag with or without Date Range filter by Fields


        **Authorised Roles:** *PRFAdmin*

        '
      operationId: recordsCountByTagPost
      consumes:
      - appliation/json
      produces:
      - application/json
      parameters:
      - in: body
        name: fields
        description: Form Fields
        required: true
        schema:
          type: array
          items:
            type: string
          example:
          - data.TITLE
          - data.FIRSTNAME
          - data.DROMCV2Dhd
      - in: query
        name: tag
        description: Tag
        required: true
        type: string
      - in: query
        name: submittedStartDate
        description: Submitted Start Date Eg. 01/01/2023
        type: string
      - in: query
        name: submittedEndDate
        description: Submitted End Date Eg. 31/01/2023
        type: string
      responses:
        200:
          description: OK. Request completed successfully.
        401:
          description: Missing JWT Bearer token in the Authorization header or the given JWT token is invalid.
        403:
          description: The user corresponding to the given JWT token does not have access to this module.
  /forms/record/recordsByTag:
    get:
      security:
      - BearerJWT: []
      tags:
      - Forms API
      summary: Records by Tag
      description: 'Retrieve Records submitted by Tag with or without Date Range


        **Authorised Roles:** *PRFAdmin*

        '
      operationId: recordsByTag
      consumes:
      - appliation/json
      produces:
      - application/json
      parameters:
      - in: query
        name: tag
        description: Tag
        required: true
        type: string
      - in: query
        name: submittedStartDate
        description: Submitted Start Date Eg. 01/01/2023
        type: string
      - in: query
        name: submittedEndDate
        description: Submitted End Date Eg. 31/01/2023
        type: string
      responses:
        200:
          description: OK. Request completed successfully.
        401:
          description: Missing JWT Bearer token in the Authorization header or the given JWT token is invalid.
        403:
          description: The user corresponding to the given JWT token does not have access to this module.
    post:
      security:
      - BearerJWT: []
      tags:
      - Forms API
      summary: Records by Tag and Fields
      description: 'Retrieve Records submitted by Tag with or without Date Range filter by Fields


        **Authorised Roles:** *PRFAdmin*

        '
      operationId: recordsByTagPost
      consumes:
      - appliation/json
      produces:
      - application/json
      parameters:
      - in: body
        name: fields
        description: Form Fields
        required: true
        schema:
          type: array
          items:
            type: string
          example:
          - TITLE
          - FIRSTNAME
          - DROMCV2Dhd
      - in: query
        name: tag
        description: Tag
        required: true
        type: string
      - in: query
        name: submittedStartDate
        description: Submitted Start Date Eg. 01/01/2023
        type: string
      - in: query
        name: submittedEndDate
        description: Submitted End Date Eg. 31/01/2023
        type: string
      responses:
        200:
          description: OK. Request completed successfully.
        401:
          description: Missing JWT Bearer token in the Authorization header or the given JWT token is invalid.
        403:
          description: The user corresponding to the given JWT token does not have access to this module.
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