Payroll Groups
Create Payroll Group
Creates a new payroll group.
POST
/
payroll-groups
Create Payroll Group
curl --request POST \
--url https://api.roostedhr.com/api/1_12/payroll-groups \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"name": "<string>",
"group_rows": [
[
"<string>"
]
],
"locations": [
"<string>"
],
"payroll_item_id": "<string>",
"default_wage": 123,
"invoice_cost": "<string>",
"wage_rules_id": "<string>"
}
'import requests
url = "https://api.roostedhr.com/api/1_12/payroll-groups"
payload = {
"name": "<string>",
"group_rows": [["<string>"]],
"locations": ["<string>"],
"payroll_item_id": "<string>",
"default_wage": 123,
"invoice_cost": "<string>",
"wage_rules_id": "<string>"
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
group_rows: [['<string>']],
locations: ['<string>'],
payroll_item_id: '<string>',
default_wage: 123,
invoice_cost: '<string>',
wage_rules_id: '<string>'
})
};
fetch('https://api.roostedhr.com/api/1_12/payroll-groups', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.roostedhr.com/api/1_12/payroll-groups",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'group_rows' => [
[
'<string>'
]
],
'locations' => [
'<string>'
],
'payroll_item_id' => '<string>',
'default_wage' => 123,
'invoice_cost' => '<string>',
'wage_rules_id' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.roostedhr.com/api/1_12/payroll-groups"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"group_rows\": [\n [\n \"<string>\"\n ]\n ],\n \"locations\": [\n \"<string>\"\n ],\n \"payroll_item_id\": \"<string>\",\n \"default_wage\": 123,\n \"invoice_cost\": \"<string>\",\n \"wage_rules_id\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.roostedhr.com/api/1_12/payroll-groups")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"group_rows\": [\n [\n \"<string>\"\n ]\n ],\n \"locations\": [\n \"<string>\"\n ],\n \"payroll_item_id\": \"<string>\",\n \"default_wage\": 123,\n \"invoice_cost\": \"<string>\",\n \"wage_rules_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.roostedhr.com/api/1_12/payroll-groups")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"group_rows\": [\n [\n \"<string>\"\n ]\n ],\n \"locations\": [\n \"<string>\"\n ],\n \"payroll_item_id\": \"<string>\",\n \"default_wage\": 123,\n \"invoice_cost\": \"<string>\",\n \"wage_rules_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"payroll_item_id": "<string>",
"default_wage": 123,
"insert_date": "<string>",
"invoice_cost": 123,
"wage_rules_id": "<string>",
"group_rows": [
"<string>"
],
"locations": [
"<string>"
]
}Only
name is required. All other fields are optional and will use system defaults if omitted.Set
locationAll to true to apply this payroll group to all locations. When false, specify individual locations in the locations array.Authorizations
Body
application/json
Payroll group data
Request body for creating a new payroll group.
Payroll group name
Array of skillset groups. Each group is an array of skillset IDs.
Location IDs to associate with this payroll group
External payroll item identifier
Default wage rate
Invoice cost (accepts string for flexibility)
Associated wage rule identifier
Response
Created
A payroll group used to categorize shifts for payroll and invoicing purposes.
Payroll group identifier
Payroll group name
External payroll item identifier
Default wage rate
Creation date
Invoice cost rate
Associated wage rule identifier
Skillset combination row IDs
Associated location IDs
⌘I
Create Payroll Group
curl --request POST \
--url https://api.roostedhr.com/api/1_12/payroll-groups \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"name": "<string>",
"group_rows": [
[
"<string>"
]
],
"locations": [
"<string>"
],
"payroll_item_id": "<string>",
"default_wage": 123,
"invoice_cost": "<string>",
"wage_rules_id": "<string>"
}
'import requests
url = "https://api.roostedhr.com/api/1_12/payroll-groups"
payload = {
"name": "<string>",
"group_rows": [["<string>"]],
"locations": ["<string>"],
"payroll_item_id": "<string>",
"default_wage": 123,
"invoice_cost": "<string>",
"wage_rules_id": "<string>"
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
group_rows: [['<string>']],
locations: ['<string>'],
payroll_item_id: '<string>',
default_wage: 123,
invoice_cost: '<string>',
wage_rules_id: '<string>'
})
};
fetch('https://api.roostedhr.com/api/1_12/payroll-groups', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.roostedhr.com/api/1_12/payroll-groups",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'group_rows' => [
[
'<string>'
]
],
'locations' => [
'<string>'
],
'payroll_item_id' => '<string>',
'default_wage' => 123,
'invoice_cost' => '<string>',
'wage_rules_id' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.roostedhr.com/api/1_12/payroll-groups"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"group_rows\": [\n [\n \"<string>\"\n ]\n ],\n \"locations\": [\n \"<string>\"\n ],\n \"payroll_item_id\": \"<string>\",\n \"default_wage\": 123,\n \"invoice_cost\": \"<string>\",\n \"wage_rules_id\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.roostedhr.com/api/1_12/payroll-groups")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"group_rows\": [\n [\n \"<string>\"\n ]\n ],\n \"locations\": [\n \"<string>\"\n ],\n \"payroll_item_id\": \"<string>\",\n \"default_wage\": 123,\n \"invoice_cost\": \"<string>\",\n \"wage_rules_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.roostedhr.com/api/1_12/payroll-groups")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"group_rows\": [\n [\n \"<string>\"\n ]\n ],\n \"locations\": [\n \"<string>\"\n ],\n \"payroll_item_id\": \"<string>\",\n \"default_wage\": 123,\n \"invoice_cost\": \"<string>\",\n \"wage_rules_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"payroll_item_id": "<string>",
"default_wage": 123,
"insert_date": "<string>",
"invoice_cost": 123,
"wage_rules_id": "<string>",
"group_rows": [
"<string>"
],
"locations": [
"<string>"
]
}