Pulse Software Sync API

API for handling synchronisation data from and/or to Pulse including for managing sync history records

Operations 3

POST /security/PatchUserSync Update user in Pulse #
POST /security/IntegrationSyncData Store integration sync data in Pulse for history purpose #
POST /security/IntegrationSyncToPayrollLog Add sync history in Pulse #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/pulse-software-sync-api-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

pulse-software-sync-api-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Pulse Public Sync API
  version: 1.0.1
  description: The Pulse API is targeted towards developers looking to automate tasks in Pulse.
  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
servers:
- url: https://*.pulsesoftware.com/webservices/api
- url: http://*.pulsesoftware.com/webservices/api
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
      parameters:
      - in: header
        name: x-api-key
        description: API key
        required: true
        schema:
          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.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserSyncDTOs'
        description: User detail
        required: true
      operationId: postSecurityPatchUserSync
      x-operation-id-source: derived
  /security/IntegrationSyncData:
    post:
      security:
      - BearerJWT: []
      tags:
      - Sync API
      summary: Store integration sync data in Pulse for history purpose
      parameters:
      - in: header
        name: x-api-key
        description: API key
        required: true
        schema:
          type: string
      responses:
        200:
          description: OK. Request completed successfully. Returns the fileId of the logged sync data.
          content:
            application/json:
              schema:
                type: string
        401:
          description: Missing JWT Bearer token in the Authorization header or the given JWT token is invalid.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StoreSyncData'
        description: Integration sync data
        required: true
      operationId: postSecurityIntegrationSyncData
      x-operation-id-source: derived
  /security/IntegrationSyncToPayrollLog:
    post:
      security:
      - BearerJWT: []
      tags:
      - Sync API
      summary: Add sync history in Pulse
      parameters:
      - in: header
        name: x-api-key
        description: API key
        required: true
        schema:
          type: string
      responses:
        200:
          description: OK. Request completed successfully. Returns the id of the sync history.
          content:
            application/json:
              schema:
                type: number
        401:
          description: Missing JWT Bearer token in the Authorization header or the given JWT token is invalid.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddIntegrationSyncToPayrollHistory'
        description: Sync history data
        required: true
      operationId: postSecurityIntegrationSyncToPayrollLog
      x-operation-id-source: derived
components:
  schemas:
    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: '#/components/schemas/AdditionalAttributesDTO'
        additionalPositions:
          type: string
        additionalUserPositions:
          type: array
          items:
            $ref: '#/components/schemas/AdditionalPositionsDTO'
        roles:
          type: string
    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
    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: '#/components/schemas/ExternalUserSyncStatusDetailDTO'
    AddIntegrationSyncToPayrollHistory:
      type: object
      properties:
        integrationName:
          type: string
        jsonFile:
          type: string
        userId:
          type: string
          format: uuid
        source:
          type: string
        externalUserSyncStatuses:
          type: array
          items:
            $ref: '#/components/schemas/ExternalUserSyncStatusDTO'
    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
    UserSyncDTOs:
      type: array
      items:
        $ref: '#/components/schemas/UserSyncDTO'
    StoreSyncData:
      type: object
      properties:
        jsonStringData:
          type: string
        folder:
          type: string
  securitySchemes:
    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