curl --request GET \
--url https://api-{region}.sesametime.com/core/v3/employees \
--header 'Authorization: Bearer <token>'import requests
url = "https://api-{region}.sesametime.com/core/v3/employees"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api-{region}.sesametime.com/core/v3/employees', 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-{region}.sesametime.com/core/v3/employees",
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-{region}.sesametime.com/core/v3/employees"
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-{region}.sesametime.com/core/v3/employees")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-{region}.sesametime.com/core/v3/employees")
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{
"data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"firstName": "Lucas",
"lastName": "García",
"secondLastName": "<string>",
"email": "jsmith@example.com",
"workStatus": "online",
"workStatusUpdatedAt": "2026-08-27T09:12:00+02:00",
"imageProfileURL": "https://sesame-v2-prod-companies.s3.eu-west-3.amazonaws.com/48351485-1659-413d-bf7f-3ca34fadb521/public-read/g892f1fb-55a3-4e32-9cc9-7c19faa70gaa.png",
"code": 1,
"pin": 1000,
"phone": "+34 111 11 11 11",
"company": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"notificationEmail": "jsmith@example.com",
"language": "<string>",
"createdAt": "2020-01-01T10:00:00+01:00",
"updatedAt": "2020-01-01T10:00:00+01:00"
},
"gender": "female",
"contractId": "<string>",
"nid": "<string>",
"identityNumberType": "dni",
"secondaryIdentityNumberType": "dni",
"secondaryNid": "<string>",
"ssn": "<string>",
"pricePerHour": 123,
"accountNumber": "<string>",
"dateOfBirth": "2023-12-25",
"customFields": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"companyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"slug": "<string>",
"type": "<string>",
"value": "<string>",
"createdAt": "2020-01-01T10:00:00+01:00",
"updatedAt": "2020-01-01T10:00:00+01:00"
}
],
"createdAt": "2020-01-01T10:00:00+01:00",
"updatedAt": "2020-01-01T10:00:00+01:00",
"status": "active",
"children": 2,
"disability": 25,
"address": "<string>",
"postalCode": "<string>",
"city": "<string>",
"province": "<string>",
"country": "ES",
"nationality": "ES",
"nationalities": [
"ES",
"FR"
],
"personalMail": "jsmith@example.com",
"maritalStatus": "<string>",
"emergencyPhone": "<string>",
"description": "<string>",
"salaryRange": "<string>",
"studyLevel": "<string>",
"professionalCategoryCode": "<string>",
"professionalCategoryDescription": "<string>",
"bic": "<string>",
"jobChargeId": "<string>",
"jobChargeName": "<string>",
"jobChargeDescription": "<string>",
"jobChargeCompetencies": "<string>",
"language": "es-ES",
"workPhone": "+34 111 11 11 11",
"mainRecruiter": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"firstName": "Lucas",
"lastName": "García",
"secondLastName": "<string>",
"imageProfileURL": "https://sesame-v2-prod-companies.s3.eu-west-3.amazonaws.com/48351485-1659-413d-bf7f-3ca34fadb521/public-read/g892f1fb-55a3-4e32-9cc9-7c19faa70gaa.png",
"email": "jsmith@example.com",
"workStatus": "online",
"workCheckTypeColor": "#FF0000",
"workCheckTypeName": "Remote"
},
"nfc": "<string>",
"contributionGroupId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"meta": {
"currentPage": 1,
"lastPage": 1,
"total": 1,
"perPage": 1
}
}List employees
curl --request GET \
--url https://api-{region}.sesametime.com/core/v3/employees \
--header 'Authorization: Bearer <token>'import requests
url = "https://api-{region}.sesametime.com/core/v3/employees"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api-{region}.sesametime.com/core/v3/employees', 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-{region}.sesametime.com/core/v3/employees",
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-{region}.sesametime.com/core/v3/employees"
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-{region}.sesametime.com/core/v3/employees")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-{region}.sesametime.com/core/v3/employees")
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{
"data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"firstName": "Lucas",
"lastName": "García",
"secondLastName": "<string>",
"email": "jsmith@example.com",
"workStatus": "online",
"workStatusUpdatedAt": "2026-08-27T09:12:00+02:00",
"imageProfileURL": "https://sesame-v2-prod-companies.s3.eu-west-3.amazonaws.com/48351485-1659-413d-bf7f-3ca34fadb521/public-read/g892f1fb-55a3-4e32-9cc9-7c19faa70gaa.png",
"code": 1,
"pin": 1000,
"phone": "+34 111 11 11 11",
"company": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"notificationEmail": "jsmith@example.com",
"language": "<string>",
"createdAt": "2020-01-01T10:00:00+01:00",
"updatedAt": "2020-01-01T10:00:00+01:00"
},
"gender": "female",
"contractId": "<string>",
"nid": "<string>",
"identityNumberType": "dni",
"secondaryIdentityNumberType": "dni",
"secondaryNid": "<string>",
"ssn": "<string>",
"pricePerHour": 123,
"accountNumber": "<string>",
"dateOfBirth": "2023-12-25",
"customFields": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"companyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"slug": "<string>",
"type": "<string>",
"value": "<string>",
"createdAt": "2020-01-01T10:00:00+01:00",
"updatedAt": "2020-01-01T10:00:00+01:00"
}
],
"createdAt": "2020-01-01T10:00:00+01:00",
"updatedAt": "2020-01-01T10:00:00+01:00",
"status": "active",
"children": 2,
"disability": 25,
"address": "<string>",
"postalCode": "<string>",
"city": "<string>",
"province": "<string>",
"country": "ES",
"nationality": "ES",
"nationalities": [
"ES",
"FR"
],
"personalMail": "jsmith@example.com",
"maritalStatus": "<string>",
"emergencyPhone": "<string>",
"description": "<string>",
"salaryRange": "<string>",
"studyLevel": "<string>",
"professionalCategoryCode": "<string>",
"professionalCategoryDescription": "<string>",
"bic": "<string>",
"jobChargeId": "<string>",
"jobChargeName": "<string>",
"jobChargeDescription": "<string>",
"jobChargeCompetencies": "<string>",
"language": "es-ES",
"workPhone": "+34 111 11 11 11",
"mainRecruiter": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"firstName": "Lucas",
"lastName": "García",
"secondLastName": "<string>",
"imageProfileURL": "https://sesame-v2-prod-companies.s3.eu-west-3.amazonaws.com/48351485-1659-413d-bf7f-3ca34fadb521/public-read/g892f1fb-55a3-4e32-9cc9-7c19faa70gaa.png",
"email": "jsmith@example.com",
"workStatus": "online",
"workCheckTypeColor": "#FF0000",
"workCheckTypeName": "Remote"
},
"nfc": "<string>",
"contributionGroupId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"meta": {
"currentPage": 1,
"lastPage": 1,
"total": 1,
"perPage": 1
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Find Employee by code
Find Employee by dni
Find Employee by email
Find Employee by department Ids
Find Employee by office Ids
Find Employee by entity group Ids
Limit employees
Request a specific page
field1 asc, field2 desc
Supported operators: in
Example: status[in]=active,inactive
By default, only active employees are returned
active, inactive Only employees created strictly after this moment (exclusive). Accepts ISO 8601 with Z or an offset (e.g. 2026-09-01T10:00:00Z or 2026-09-01T12:00:00%2B02:00, encoding + as %2B), or a date or date-time without zone, which is read as UTC. Compared to the second, as the API returns it; fractions of a second (e.g. .000Z) are accepted and applied exactly. A value that is not a valid date returns 422. Use it with updatedAt for incremental synchronizations.
Only employees created at or after this moment (inclusive). Accepts ISO 8601 with Z or an offset (e.g. 2026-09-01T10:00:00Z or 2026-09-01T12:00:00%2B02:00, encoding + as %2B), or a date or date-time without zone, which is read as UTC. Compared to the second, as the API returns it; fractions of a second (e.g. .000Z) are accepted and applied exactly. A value that is not a valid date returns 422.
Only employees created strictly before this moment (exclusive). Accepts ISO 8601 with Z or an offset (e.g. 2026-09-01T10:00:00Z or 2026-09-01T12:00:00%2B02:00, encoding + as %2B), or a date or date-time without zone, which is read as UTC. Compared to the second, as the API returns it; fractions of a second (e.g. .000Z) are accepted and applied exactly. A value that is not a valid date returns 422.
Only employees created at or before this moment (inclusive). Accepts ISO 8601 with Z or an offset (e.g. 2026-09-01T10:00:00Z or 2026-09-01T12:00:00%2B02:00, encoding + as %2B), or a date or date-time without zone, which is read as UTC. Compared to the second, as the API returns it; fractions of a second (e.g. .000Z) are accepted and applied exactly. A value that is not a valid date returns 422.
Only employees last updated strictly after this moment (exclusive). Accepts ISO 8601 with Z or an offset (e.g. 2026-09-01T10:00:00Z or 2026-09-01T12:00:00%2B02:00, encoding + as %2B), or a date or date-time without zone, which is read as UTC. Compared to the second, as the API returns it; fractions of a second (e.g. .000Z) are accepted and applied exactly. A value that is not a valid date returns 422. Note that updatedAt also changes when an employee clocks in, so combine it with createdAt to cover every case.
Only employees last updated at or after this moment (inclusive). Accepts ISO 8601 with Z or an offset (e.g. 2026-09-01T10:00:00Z or 2026-09-01T12:00:00%2B02:00, encoding + as %2B), or a date or date-time without zone, which is read as UTC. Compared to the second, as the API returns it; fractions of a second (e.g. .000Z) are accepted and applied exactly. A value that is not a valid date returns 422.
Only employees last updated strictly before this moment (exclusive). Accepts ISO 8601 with Z or an offset (e.g. 2026-09-01T10:00:00Z or 2026-09-01T12:00:00%2B02:00, encoding + as %2B), or a date or date-time without zone, which is read as UTC. Compared to the second, as the API returns it; fractions of a second (e.g. .000Z) are accepted and applied exactly. A value that is not a valid date returns 422.
Only employees last updated at or before this moment (inclusive). Accepts ISO 8601 with Z or an offset (e.g. 2026-09-01T10:00:00Z or 2026-09-01T12:00:00%2B02:00, encoding + as %2B), or a date or date-time without zone, which is read as UTC. Compared to the second, as the API returns it; fractions of a second (e.g. .000Z) are accepted and applied exactly. A value that is not a valid date returns 422.
Was this page helpful?