cURL
curl -X PATCH "$EXSITED_BASE_URL/api/v4/labour_availability" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"labours": [
{
"id": "0b6f3d2a-8c4e-4f1a-9d7b-2e5c8a1f3b6d",
"labour_custom_availability": [
{
"preferred_day": "monday",
"start_time": "09:00",
"end_time": "12:00",
"available": true
}
]
}
]
}'from exsited import build_client
client = build_client()
response = client.labours.update_labour_availability(
{
"labours": [
{
"id": "0b6f3d2a-8c4e-4f1a-9d7b-2e5c8a1f3b6d",
"labour_custom_availability": [
{
"preferred_day": "monday",
"start_time": "09:00",
"end_time": "12:00",
"available": True,
}
],
}
]
}
)
print(response.data)
import {buildClient} from 'exsited';
const client = await buildClient();
const response = await client.labours.updateLabourAvailability({
labours: [
{
id: '0b6f3d2a-8c4e-4f1a-9d7b-2e5c8a1f3b6d',
labour_custom_availability: [
{preferred_day: 'monday', start_time: '09:00', end_time: '12:00', available: true},
],
},
],
});
console.log(response.data);
use Exsited\Client\ClientRegistry;
$client = ClientRegistry::buildClient();
$response = $client->labours->updateLabourAvailability([
'labours' => [
[
'id' => '0b6f3d2a-8c4e-4f1a-9d7b-2e5c8a1f3b6d',
'labour_custom_availability' => [
[
'preferred_day' => 'monday',
'start_time' => '09:00',
'end_time' => '12:00',
'available' => true,
],
],
],
],
]);
print_r($response->data);
import com.exsited.Dto;
import com.exsited.client.ApiResponse;
import com.exsited.client.ClientRegistry;
import com.exsited.client.ExsitedClient;
import java.util.List;
import java.util.Map;
ExsitedClient client = ClientRegistry.buildClient();
ApiResponse<Dto> response = client.labours().updateLabourAvailability(
Map.of(
"labours", List.of(
Map.of(
"id", "0b6f3d2a-8c4e-4f1a-9d7b-2e5c8a1f3b6d",
"labour_custom_availability", List.of(
Map.of(
"preferred_day", "monday",
"start_time", "09:00",
"end_time", "12:00",
"available", true))))));
System.out.println(response.getMap());
using Exsited.Client;
await using var client = ExsitedClient.BuildClient();
var response = await client.Labours.UpdateLabourAvailabilityAsync(new Dictionary<string, object?>
{
["labours"] = new List<object?>
{
new Dictionary<string, object?>
{
["id"] = "0b6f3d2a-8c4e-4f1a-9d7b-2e5c8a1f3b6d",
["labour_custom_availability"] = new List<object?>
{
new Dictionary<string, object?>
{
["preferred_day"] = "monday",
["start_time"] = "09:00",
["end_time"] = "12:00",
["available"] = true,
},
},
},
},
});
Console.WriteLine(response.Json);
import 'package:exsited/exsited.dart';
final client = buildClient();
final response = await client.labours.updateLabourAvailability({
'labours': [
{
'id': '0b6f3d2a-8c4e-4f1a-9d7b-2e5c8a1f3b6d',
'labour_custom_availability': [
{
'preferred_day': 'monday',
'start_time': '09:00',
'end_time': '12:00',
'available': true,
},
],
},
],
});
print(response.map);
import (
"context"
"fmt"
"log"
exsited "github.com/exsited/exsited-sdk-go/v4"
)
client, err := exsited.BuildClient(nil)
if err != nil {
log.Fatal(err)
}
defer client.Close()
response, err := client.Labours().UpdateLabourAvailability(context.Background(), map[string]any{
"labours": []any{
map[string]any{
"id": "0b6f3d2a-8c4e-4f1a-9d7b-2e5c8a1f3b6d",
"labour_custom_availability": []any{
map[string]any{
"preferred_day": "monday",
"start_time": "09:00",
"end_time": "12:00",
"available": true,
},
},
},
},
}, nil)
if err != nil {
log.Fatal(err)
}
fmt.Println(response.Map)
Labours
Update labour availability in bulk
Sets the availability slots of one or more labours in one call.
PATCH
/
labour_availability
cURL
curl -X PATCH "$EXSITED_BASE_URL/api/v4/labour_availability" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"labours": [
{
"id": "0b6f3d2a-8c4e-4f1a-9d7b-2e5c8a1f3b6d",
"labour_custom_availability": [
{
"preferred_day": "monday",
"start_time": "09:00",
"end_time": "12:00",
"available": true
}
]
}
]
}'from exsited import build_client
client = build_client()
response = client.labours.update_labour_availability(
{
"labours": [
{
"id": "0b6f3d2a-8c4e-4f1a-9d7b-2e5c8a1f3b6d",
"labour_custom_availability": [
{
"preferred_day": "monday",
"start_time": "09:00",
"end_time": "12:00",
"available": True,
}
],
}
]
}
)
print(response.data)
import {buildClient} from 'exsited';
const client = await buildClient();
const response = await client.labours.updateLabourAvailability({
labours: [
{
id: '0b6f3d2a-8c4e-4f1a-9d7b-2e5c8a1f3b6d',
labour_custom_availability: [
{preferred_day: 'monday', start_time: '09:00', end_time: '12:00', available: true},
],
},
],
});
console.log(response.data);
use Exsited\Client\ClientRegistry;
$client = ClientRegistry::buildClient();
$response = $client->labours->updateLabourAvailability([
'labours' => [
[
'id' => '0b6f3d2a-8c4e-4f1a-9d7b-2e5c8a1f3b6d',
'labour_custom_availability' => [
[
'preferred_day' => 'monday',
'start_time' => '09:00',
'end_time' => '12:00',
'available' => true,
],
],
],
],
]);
print_r($response->data);
import com.exsited.Dto;
import com.exsited.client.ApiResponse;
import com.exsited.client.ClientRegistry;
import com.exsited.client.ExsitedClient;
import java.util.List;
import java.util.Map;
ExsitedClient client = ClientRegistry.buildClient();
ApiResponse<Dto> response = client.labours().updateLabourAvailability(
Map.of(
"labours", List.of(
Map.of(
"id", "0b6f3d2a-8c4e-4f1a-9d7b-2e5c8a1f3b6d",
"labour_custom_availability", List.of(
Map.of(
"preferred_day", "monday",
"start_time", "09:00",
"end_time", "12:00",
"available", true))))));
System.out.println(response.getMap());
using Exsited.Client;
await using var client = ExsitedClient.BuildClient();
var response = await client.Labours.UpdateLabourAvailabilityAsync(new Dictionary<string, object?>
{
["labours"] = new List<object?>
{
new Dictionary<string, object?>
{
["id"] = "0b6f3d2a-8c4e-4f1a-9d7b-2e5c8a1f3b6d",
["labour_custom_availability"] = new List<object?>
{
new Dictionary<string, object?>
{
["preferred_day"] = "monday",
["start_time"] = "09:00",
["end_time"] = "12:00",
["available"] = true,
},
},
},
},
});
Console.WriteLine(response.Json);
import 'package:exsited/exsited.dart';
final client = buildClient();
final response = await client.labours.updateLabourAvailability({
'labours': [
{
'id': '0b6f3d2a-8c4e-4f1a-9d7b-2e5c8a1f3b6d',
'labour_custom_availability': [
{
'preferred_day': 'monday',
'start_time': '09:00',
'end_time': '12:00',
'available': true,
},
],
},
],
});
print(response.map);
import (
"context"
"fmt"
"log"
exsited "github.com/exsited/exsited-sdk-go/v4"
)
client, err := exsited.BuildClient(nil)
if err != nil {
log.Fatal(err)
}
defer client.Close()
response, err := client.Labours().UpdateLabourAvailability(context.Background(), map[string]any{
"labours": []any{
map[string]any{
"id": "0b6f3d2a-8c4e-4f1a-9d7b-2e5c8a1f3b6d",
"labour_custom_availability": []any{
map[string]any{
"preferred_day": "monday",
"start_time": "09:00",
"end_time": "12:00",
"available": true,
},
},
},
},
}, nil)
if err != nil {
log.Fatal(err)
}
fmt.Println(response.Map)
Send
labours, an array with one entry per labour: its id and the slots to set in labour_availability or labour_custom_availability. Each slot has a preferred_day, start_time, end_time and available. When it succeeds, the update returns 204 with no body.
The SDK samples get their client from credentials your app registers once when it starts, as shown in Authentication. To try the call here, click Try it, set
host to your Exsited API host name and paste an access token from Get an access token. To send a raw JSON body instead of filling in fields, copy the cURL sample and edit its -d payload.