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