Pulse Software Sync API API
API for handling synchronisation data from and/or to Pulse including for managing sync history records
API for handling synchronisation data from and/or to Pulse including for managing sync history records
swagger: '2.0'
info:
title: Pulse Public Authentication Sync 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: Sync API
description: API for handling synchronisation data from and/or to Pulse including for managing sync history records
paths:
/security/PatchUserSync:
post:
security:
- BearerJWT: []
tags:
- Sync API
summary: Update user in Pulse
description: 'Update user in Pulse based on userId provided in request body
'
consumes:
- application/json
produces:
- application/json
parameters:
- in: header
name: x-api-key
description: API key
required: true
type: string
- in: body
name: body
description: User detail
required: true
schema:
$ref: '#/definitions/UserSyncDTOs'
responses:
200:
description: OK. Request completed successfully.
401:
description: Missing JWT Bearer token in the Authorization header or the given JWT token is invalid.
/security/IntegrationSyncData:
post:
security:
- BearerJWT: []
tags:
- Sync API
summary: Store integration sync data in Pulse for history purpose
description: 'Store integration sync data in Pulse for history purpose
'
consumes:
- application/json
produces:
- application/json
parameters:
- in: header
name: x-api-key
description: API key
required: true
type: string
- in: body
name: body
description: Integration sync data
required: true
schema:
$ref: '#/definitions/StoreSyncData'
responses:
200:
description: OK. Request completed successfully. Returns the fileId of the logged sync data.
schema:
type: string
401:
description: Missing JWT Bearer token in the Authorization header or the given JWT token is invalid.
/security/IntegrationSyncToPayrollLog:
post:
security:
- BearerJWT: []
tags:
- Sync API
summary: Add sync history in Pulse
description: 'Add sync history in Pulse
'
consumes:
- application/json
produces:
- application/json
parameters:
- in: header
name: x-api-key
description: API key
required: true
type: string
- in: body
name: body
description: Sync history data
required: true
schema:
$ref: '#/definitions/AddIntegrationSyncToPayrollHistory'
responses:
200:
description: OK. Request completed successfully. Returns the id of the sync history.
schema:
type: number
401:
description: Missing JWT Bearer token in the Authorization header or the given JWT token is invalid.
definitions:
UserSyncDTOs:
type: array
items:
$ref: '#/definitions/UserSyncDTO'
AdditionalAttributesDTO:
type: object
properties:
tabId:
type: integer
format: int32
tabName:
type: string
attributeId:
type: integer
format: int32
attributeName:
type: string
attributeValue:
type: string
attributeDataType:
type: string
StoreSyncData:
type: object
properties:
jsonStringData:
type: string
folder:
type: string
AdditionalPositionsDTO:
type: object
properties:
positionNo:
type: string
positionName:
type: string
positionStartDate:
type: string
positionEndDate:
type: string
positionDivision:
type: string
positionUnit:
type: string
positionSection:
type: string
positionSupervisor:
type: string
positionTeam:
type: string
positionIncumbentsAssigned:
type: string
ExternalUserSyncStatusDetailDTO:
type: object
properties:
status:
type: string
syncCategory:
type: string
key:
type: string
objectHash:
type: string
UserSyncDTO:
type: object
properties:
title:
type: string
firstName:
type: string
middleName:
type: string
surname:
type: string
lastName:
type: string
preferredName:
type: string
email:
type: string
additionalEmail:
type: string
dob:
type: string
gender:
type: string
mobilePhone:
type: string
workPhone:
type: string
telephone:
type: string
home_AddressLine1:
type: string
home_AddressLine2:
type: string
home_City:
type: string
home_Country:
type: string
home_PostCode:
type: string
home_State:
type: string
postal_AddressLine1:
type: string
postal_AddressLine2:
type: string
postal_City:
type: string
postal_Country:
type: string
postal_PostCode:
type: string
postal_State:
type: string
employmentStartDate:
type: string
employmentEndDate:
type: string
reasonOfTermination:
type: string
councilNetworkLogin:
type: string
payrollNo:
type: string
positionNo:
type: string
positionName:
type: string
positionStartDate:
type: string
positionEndDate:
type: string
positionDivision:
type: string
positionUnit:
type: string
positionSection:
type: string
positionTeam:
type: string
positionSupervisor:
type: string
positionIncumbentsAssigned:
type: string
supervisor:
type: string
supervisorPayrollNo:
type: string
divisionCode:
type: string
divisionName:
type: string
unitCode:
type: string
unitName:
type: string
sectionCode:
type: string
sectionName:
type: string
empType:
type: string
team:
type: string
emergencyContact1_Name:
type: string
emergencyContact1_Relationship:
type: string
emergencyContact1_AddressLine1:
type: string
emergencyContact1_AddressLine2:
type: string
emergencyContact1_City:
type: string
emergencyContact1_State:
type: string
emergencyContact1_PostCode:
type: string
emergencyContact1_Country:
type: string
emergencyContact1_Mobile:
type: string
emergencyContact1_WorkPhone:
type: string
emergencyContact1_Email:
type: string
emergencyContact1_Telephone:
type: string
emergencyContact2_Name:
type: string
emergencyContact2_Relationship:
type: string
emergencyContact2_AddressLine1:
type: string
emergencyContact2_AddressLine2:
type: string
emergencyContact2_City:
type: string
emergencyContact2_State:
type: string
emergencyContact2_PostCode:
type: string
emergencyContact2_Country:
type: string
emergencyContact2_Mobile:
type: string
emergencyContact2_WorkPhone:
type: string
emergencyContact2_Email:
type: string
emergencyContact2_Telephone:
type: string
isActive:
type: string
externalUserId:
type: string
integrationName:
type: string
siteName:
type: string
employmentType:
type: string
permissions:
type: array
items:
type: string
additionalAttributes:
type: array
items:
$ref: '#/definitions/AdditionalAttributesDTO'
additionalPositions:
type: string
additionalUserPositions:
type: array
items:
$ref: '#/definitions/AdditionalPositionsDTO'
roles:
type: string
ExternalUserSyncStatusDTO:
type: object
properties:
userId:
type: string
status:
type: string
syncCategory:
type: string
message:
type: string
integrationUserId:
type: string
integrationName:
type: string
objectHash:
type: string
details:
type: array
items:
$ref: '#/definitions/ExternalUserSyncStatusDetailDTO'
AddIntegrationSyncToPayrollHistory:
type: object
properties:
integrationName:
type: string
jsonFile:
type: string
userId:
type: string
format: uuid
source:
type: string
externalUserSyncStatuses:
type: array
items:
$ref: '#/definitions/ExternalUserSyncStatusDTO'
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