Wagestream

Start streaming in less than 5 minutes

Wagestream makes it easy to connect your HR & Timekeeping system to our platform.

Follow our Quick Start guide to see what a minimal integration looks like, or view the full API Reference.

Get Started

Quick Start

Don't want to read the docs? That's fine. You can get started in 3 minutes.

You are the CEO of ACME Ltd, maker of fine anvils since 1903.

You would like to integrate with Wagestream so that your hard-working anvil-makers can pay themselves whenever they want.

This involves three steps:

  1. Tell Wagestream about your employees
  2. Tell Wagestream about your shifts
  3. Activate employees who have requested Wagestream

Tell Wagestream about your employees

The employees endpoint is how you tell Wagestream about your staff. It's a single API that handles both INSERTs and UPDATEs. Simply send a list of employees as a JSON array, like so:

{
  "employees": [
    {
      "employee_id": "0001",
      "name": "Wile E. Coyote",
      "email": "wec@acmeltd.co"
    },
    {
      "employee_id": "0002",
      "name": "Bugs Bunny",
      "email": "bb@acmeltd.co"
    },
    {
      "employee_id": "0003",
      "name": "Porkey Pig",
      "email": "pp@acmeltd.co"
    }
  ]
}

When you POST that to the employees endpoint, you will receive a response like this:

{
  "ok": true,
  "rows": 3,
  "api_key": "...",
  "txn_id": "..."
}

Note the txn_id. You will want to save it, because if you ever need to get any info about the request, or check the status, or see how long it took to process, you'll need that unique transaction ID.

That's it! Wagestream now knows about your three employees.

Tell Wagestream about your shifts

The shifts endpoint is how you tell Wagestream that an employee has worked and earned some wages. The wages that you pass to this endpoint are the gross wages earned. And please note that all currencies in this API are expressed in pennies. So £90.00 would be 9000 and £45.75 would be 4575.

Let's imagine that Porkey Pig is sick, and hasn't worked this week, but Wile and Bugs have both worked. You might send the following:

{
  "shifts": [
    {"currency": "GBP", "employee_id": "0001", "worked_on": "2018-01-01", "hours": 8, "wages": 9000},
    {"currency": "GBP", "employee_id": "0001", "worked_on": "2018-01-02", "hours": 8, "wages": 9000},
    {"currency": "GBP", "employee_id": "0002", "worked_on": "2018-01-01", "hours": 5, "wages": 4575},
    {"currency": "GBP", "employee_id": "0002", "worked_on": "2018-01-02", "hours": 5, "wages": 4575},
  ]
}

And the response would be similar to the employees endpoint...

{
  "ok": true,
  "rows": 4,
  "api_key": "...",
  "txn_id": "..."
}

You've now told Wagestream about the employees, and how much they have earned, but your employees won't be able to use Wagestream yet because they haven't been activated.

Activate employees who have requested Wagestream

When an employee starts using Wagestream, they will be in a "pending activation" state. The employee will not be able to stream any wages until the employer (you!) activates their account.

The endpoint /activations will return a list of all the employees waiting to activate.

{
  "pending_activations": [
    {
      "employee_id": "0001",
      "requested_on": "2018-01-03",
      "wagestream_sort_code": "040058",
      "wagestream_account_nubmer": "..."
    },
    {
      "employee_id": "0002",
      "requested_on": "2018-01-03",
      "wagestream_sort_code": "040058",
      "wagestream_account_nubmer": "..."
    }
  ]
}

What you can see here are two employees (Wile and Bugs) requested activation on 03 January.

Along with the employees are their new Wagestream banking details. As CEO of ACME Ltd, you will need to update your payroll system with these bank details so that their paycheck is deposited in the correct place.

When each employee is updated in payroll, the final step is to send a POST to /activations?employee_id={employee_id} for each, which will allow the employee to start using the Wagestream platform.