Pulse Software User Details API v2 API

API for managing user details in Pulse including additional attributes

Operations 4

GET /security/UserDetails Get user detail(s) in Pulse #
POST /security/UserDetails Update user in Pulse #
PUT /security/UserDetails Update user in Pulse #
PATCH /security/UserDetails Update user 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-user-details-api-v2-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-user-details-api-v2-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Pulse Public User Details API v2 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: User Details API v2
  description: API for managing user details in Pulse including additional attributes
paths:
  /security/UserDetails:
    get:
      security:
      - BearerJWT: []
      tags:
      - User Details API v2
      summary: Get user detail(s) in Pulse
      description: 'Get user detail(s) in Pulse including their user additional attributes.

        - If no query parameters are provided, returns all users.

        - If `email`, `username`, or `userId` is provided, returns the matching user.

        **Authorised Roles:** *PulseSecurityUser*'
      parameters:
      - in: header
        name: x-api-key
        description: API key
        required: true
        schema:
          type: string
      - in: query
        name: email
        description: Email address
        required: false
        schema:
          type: string
      - in: query
        name: username
        description: Username
        required: false
        schema:
          type: string
      - in: query
        name: userId
        description: User Id
        required: false
        schema:
          type: string
      responses:
        200:
          description: 'OK. Request completed successfully.

            - If no query parameters are provided, returns all users as an array.

            - If a query parameter is provided, returns an array with a single user or empty array if not found.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserInfos'
        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.
        404:
          description: User not found by specified identifier
      operationId: getSecurityUserDetails
      x-operation-id-source: derived
    post:
      security:
      - BearerJWT: []
      tags:
      - User Details API v2
      summary: Update user in Pulse
      description: 'Update user in Pulse based on userId provided in request body


        **Authorised Roles:** *PulseSecurityUser*'
      parameters:
      - in: header
        name: x-api-key
        description: API key
        required: true
        schema:
          type: string
      responses:
        200:
          description: OK. Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserDetailsV2Response'
        400:
          description: Invalid request body
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserDetailsV2Response'
        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.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddUserInfo'
        description: User detail
        required: true
      operationId: postSecurityUserDetails
      x-operation-id-source: derived
    put:
      security:
      - BearerJWT: []
      tags:
      - User Details API v2
      summary: Update user in Pulse
      description: 'Update user in Pulse based on userId provided in request body


        **Authorised Roles:** *PulseSecurityUser*'
      parameters:
      - in: header
        name: x-api-key
        description: API key
        required: true
        schema:
          type: string
      responses:
        200:
          description: OK. Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserDetailsV2Response'
        400:
          description: Invalid request body
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserDetailsV2Response'
        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.
        404:
          description: User not found by specified user id
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserInfo'
        description: User detail
        required: true
      operationId: putSecurityUserDetails
      x-operation-id-source: derived
    patch:
      security:
      - BearerJWT: []
      tags:
      - User Details API v2
      summary: Update user in Pulse
      description: 'Update user in Pulse based on userId provided in request body


        **Authorised Roles:** *PulseSecurityUser*'
      parameters:
      - in: header
        name: x-api-key
        description: API key
        required: true
        schema:
          type: string
      responses:
        200:
          description: OK. Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserDetailsV2Response'
        400:
          description: Invalid request body
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserDetailsV2Response'
        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.
        404:
          description: User not found by specified user id
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserInfo'
        description: User detail
        required: true
      operationId: patchSecurityUserDetails
      x-operation-id-source: derived
components:
  schemas:
    UserDetailsV2ApiError:
      type: object
      properties:
        field:
          type: string
        message:
          type: string
    UserDetailsV2Response:
      type: object
      properties:
        status:
          type: string
        errors:
          type: array
          items:
            $ref: '#/components/schemas/UserDetailsV2ApiError'
        data:
          $ref: '#/components/schemas/UserInfo'
    UserOnboardingDetailsDTO:
      type: object
      properties:
        portalID:
          type: integer
          format: int32
        portalName:
          type: string
        activeDate:
          type: string
        dueDate:
          type: string
    UserInfos:
      type: array
      items:
        $ref: '#/components/schemas/UserInfo'
    UserInfo:
      type: object
      properties:
        active:
          type: boolean
        userId:
          type: string
          format: uuid
        title:
          type: string
        firstName:
          type: string
        middleName:
          type: string
        lastName:
          type: string
        preferredName:
          type: string
        dateOfBirth:
          type: string
        gender:
          type: string
        mobilePhone:
          type: string
        workPhone:
          type: string
        telephone:
          type: string
        primaryEmail:
          type: string
        additionalEmail:
          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
        postalIsHome:
          type: boolean
        username:
          type: string
        payrollNumber:
          type: string
        divisionCode:
          type: string
        divisionName:
          type: string
        unitCode:
          type: string
        unitName:
          type: string
        sectionCode:
          type: string
        sectionName:
          type: string
        supervisorEmail:
          type: string
        teamName:
          type: string
        pulseRepresentativeEmail:
          type: string
        employmentStartDate:
          type: string
        employmentEndDate:
          type: string
        reasonOfTermination:
          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_Country:
          type: string
        emergencyContact1_Postcode:
          type: string
        emergencyContact1_Mobile:
          type: string
        emergencyContact1_WorkPhone:
          type: string
        emergencyContact1_Telephone:
          type: string
        emergencyContact1_Email:
          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_Country:
          type: string
        emergencyContact2_Postcode:
          type: string
        emergencyContact2_Mobile:
          type: string
        emergencyContact2_WorkPhone:
          type: string
        emergencyContact2_Telephone:
          type: string
        emergencyContact2_Email:
          type: string
        primaryPositionNumber:
          type: string
        primaryPositionName:
          type: string
        primaryPositionStartDate:
          type: string
        primaryPositionEndDate:
          type: string
        primaryPositionNotes:
          type: string
        employmentType:
          type: string
        onboarding:
          type: array
          items:
            $ref: '#/components/schemas/UserOnboardingDetailsDTO'
        additionalPositions:
          type: array
          items:
            $ref: '#/components/schemas/UserAdditionalPositionDTO'
        roles:
          type: array
          items:
            type: string
        userAdditionalAttributes:
          type: array
          items:
            $ref: '#/components/schemas/AdditionalAttributesDTO'
    AddUserInfo:
      allOf:
      - $ref: '#/components/schemas/UserInfo'
      - type: object
        properties:
          password:
            type: string
          confirmPassword:
            type: string
          sendWelcomeEmail:
            type: boolean
    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
    UserAdditionalPositionDTO:
      type: object
      properties:
        positionNo:
          type: string
        positionName:
          type: string
        startDate:
          type: string
        endDate:
          type: string
        notes:
          type: string
        supervisorEmail:
          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