Wagestream Absences API

Operations relating to absences

Operations 2

POST /absences Inserts or updates one or more absences #
GET /absences Check status of a previous POST #

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/wagestream-absences-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

wagestream-absences-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Wagestream Integrations Absences API
  version: 2.1.0
  description: -| Wagestreams API enables you to integrate your HR, Payroll and Workforce Management systems to Wagestream to enable your employees to become more financial resilient
  contact:
    name: Wagestream Developer
    email: developers@wagestream.com
    url: https://developers.wagestream.com
servers:
- url: https://publicapi.wagestream.io/pushapi-prod
  description: Production Environment
- url: https://publicapi.wagestream.io/pushapi-staging
  description: Sandbox Environment
tags:
- name: absences
  description: Operations relating to absences
paths:
  /absences:
    post:
      tags:
      - absences
      summary: Inserts or updates one or more absences
      description: Absences will allow you to control when your employees stop accumulating a balance in Wagestream, ensuring they only have access to salary that has been earnt.
      operationId: post_absences
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionResponse'
        '403':
          description: Forbidden - API key required
        '409':
          description: Nonce was already used
        '422':
          description: Invalid format
      requestBody:
        description: An array of `absence` objects, submitted as `absences` with an optional `nonce`
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AbsenceList'
    get:
      tags:
      - absences
      summary: Check status of a previous POST
      description: A successful POST to `/absences returns a `txn_id`, which is needed to query the status of the operation
      operationId: get_absences
      parameters:
      - name: txn_id
        in: query
        required: true
        schema:
          type: string
        description: ID of the transaction, as returned by the `POST`
        example: asbd121@EASDmaosdfh92
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionStatus'
components:
  schemas:
    TransactionResponse:
      type: object
      description: Wagestream processess all API requests asynchronously, this response provides the detail required to be able to request a status update on the state of processing for this request
      properties:
        ok:
          type: boolean
          description: describes whether the data was scheduled for processing successfully, processing usually occurs within 3 minutes of submission
        rows:
          type: integer
          description: The number of employee rows received in the request which have been scheduled for processing
          example: 232
        txn_id:
          type: string
          description: The transaction ID you would use in a GET request to the /employees endpoint to retrieve the status of processing
          example: asbd121@EASDmaosdfh92
          maxLength: 32
        api_key:
          type: string
          description: the original key used to make the API request with
          example: deprecated
          deprecated: true
    TransactionStatusFieldItem:
      type: object
      additionalProperties: true
      example:
        employee_id:
        - asdasd
    absences:
      type: object
      title: Absences
      properties:
        employee_id:
          type: string
          description: This is typically typically the unique identifier for the employee across your many HR/WFM/Payroll systems, it's typically an employees payroll number, or similar
          example: EMPL_001ABC
          maxLength: 256
        absence_id:
          type: string
          description: A unique ID linked to a specific absence record.
          example: LOA_0001
          maxLength: 256
        type:
          type: string
          description: The type of leave an employee is on - expected values are “Paid” and “Unpaid”.
          example: PAID
          maxLength: 246
        reason:
          type: string
          description: The category of leave an employee is on - for example; Unauthorised, Training, Disciplinary, Sabbatical, Maternity, Jury Service, Long Term Sick.
          example: Unauthorised
          maxLength: 256
        started_at:
          type: string
          description: The day the leave of absence starts
          example: '2022-01-03'
          pattern: ^\d{4}-\d{2}-\d{2}$
        ended_at:
          type: string
          description: DThe day the leave of absence ends
          example: '2022-01-10'
          pattern: ^\d{4}-\d{2}-\d{2}$
      required:
      - employee_id
      - absence_id
      - type
      - reason
    TransactionResponseItemStatus:
      type: object
      description: A line by line explanation of
      properties:
        item_id:
          type: string
          description: the original id of the element passed into it, e.g if an employee it will be an employee_id, or shift, it will be the shift_id
          example: EMPL_001ABC
        status:
          type: array
          items:
            $ref: '#/components/schemas/TransactionStatusFieldItem'
          description: A combination of warnings/errors which may have affected the import of this record
          example:
          - INVALID_DATETIME_FORMAT
          - INVALID_ENUM_VALUE
    TransactionStatus:
      type: object
      description: The structure in which results are reported
      properties:
        state:
          type: string
          example: failed
          description: 'queued = The data was received and is pending final processing

            processed = The data was received and processed, and will now be visible in your partner portal

            failed = The data was received, but an error occurred while processing. Check your partner portal for further details.'
          enum:
          - queued
          - processed
          - failed
        results:
          type: array
          items:
            $ref: '#/components/schemas/TransactionResponseItemStatus'
    AbsenceList:
      type: object
      properties:
        absences:
          type: array
          items:
            $ref: '#/components/schemas/absences'
        nonce:
          type: string
          example: aosidjsd12312jdsojd
          default: null
  securitySchemes:
    name:
      type: apiKey
      name: x-api-key
      in: header