Get a labor rule
curl --request GET \
--url https://api.plane.com/v1/labor/rules/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.plane.com/v1/labor/rules/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.plane.com/v1/labor/rules/{id}', 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.plane.com/v1/labor/rules/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.plane.com/v1/labor/rules/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.plane.com/v1/labor/rules/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.plane.com/v1/labor/rules/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "lbrule_3WqNv8RkX2pYhJ",
"object": "labor.rule",
"type": "notice_period",
"jurisdiction": { "country": "GB" },
"status": "active",
"code": "era1996_employer_minimum_notice",
"name": "Employer minimum notice to terminate",
"source": "legislation",
"parameters": {
"party": "employer",
"duration": {
"unit": "week",
"scale": { "by": "service_years", "amount": "1", "floor": "1", "cap": "12" }
}
},
"starts": "2026-04-01",
"ends": null,
"citations": [
{
"source": "lawsrc_A3EFrPDVRJ1D9D",
"provision": "section-86",
"quote": "not less than one week's notice",
"extract": "extr_9XkQw2NvR4pYtJ",
"url": "https://manage.plane.com/extracts/extr_9XkQw2NvR4pYtJ"
}
],
"created": "2026-06-11T00:00:00Z",
"updated": "2026-06-11T00:00:00Z"
}
Rules
Get a labor rule
Retrieve any typed labor rule by id.
GET
/
v1
/
labor
/
rules
/
{id}
Get a labor rule
curl --request GET \
--url https://api.plane.com/v1/labor/rules/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.plane.com/v1/labor/rules/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.plane.com/v1/labor/rules/{id}', 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.plane.com/v1/labor/rules/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.plane.com/v1/labor/rules/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.plane.com/v1/labor/rules/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.plane.com/v1/labor/rules/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "lbrule_3WqNv8RkX2pYhJ",
"object": "labor.rule",
"type": "notice_period",
"jurisdiction": { "country": "GB" },
"status": "active",
"code": "era1996_employer_minimum_notice",
"name": "Employer minimum notice to terminate",
"source": "legislation",
"parameters": {
"party": "employer",
"duration": {
"unit": "week",
"scale": { "by": "service_years", "amount": "1", "floor": "1", "cap": "12" }
}
},
"starts": "2026-04-01",
"ends": null,
"citations": [
{
"source": "lawsrc_A3EFrPDVRJ1D9D",
"provision": "section-86",
"quote": "not less than one week's notice",
"extract": "extr_9XkQw2NvR4pYtJ",
"url": "https://manage.plane.com/extracts/extr_9XkQw2NvR4pYtJ"
}
],
"created": "2026-06-11T00:00:00Z",
"updated": "2026-06-11T00:00:00Z"
}
Parameters
Labor rule id (prefixed
lbrule_). Resolves a rule of any type, including
worker_classification.Date used to derive the returned rule
status. Direct reads do not filter
by this date.Relations to expand inline. Supported value:
factors. For
worker_classification rules, expand[]=factors returns each factor’s full
payload (factor key, weight tier, and citations). Without it, factors
collapses to the list of factor keys. Other rule types carry no factors
field.Returns
Returns the labor rule object — always of typelabor.rule, with a type field naming the family (pay_entitlement,
leave_entitlement, notice_period, probation_rule, threshold_rule,
minimum_wage, working_time_rule, dispute_remedy, or
worker_classification).
{
"id": "lbrule_3WqNv8RkX2pYhJ",
"object": "labor.rule",
"type": "notice_period",
"jurisdiction": { "country": "GB" },
"status": "active",
"code": "era1996_employer_minimum_notice",
"name": "Employer minimum notice to terminate",
"source": "legislation",
"parameters": {
"party": "employer",
"duration": {
"unit": "week",
"scale": { "by": "service_years", "amount": "1", "floor": "1", "cap": "12" }
}
},
"starts": "2026-04-01",
"ends": null,
"citations": [
{
"source": "lawsrc_A3EFrPDVRJ1D9D",
"provision": "section-86",
"quote": "not less than one week's notice",
"extract": "extr_9XkQw2NvR4pYtJ",
"url": "https://manage.plane.com/extracts/extr_9XkQw2NvR4pYtJ"
}
],
"created": "2026-06-11T00:00:00Z",
"updated": "2026-06-11T00:00:00Z"
}
Was this page helpful?
⌘I