curl --request GET \
--url "https://v1-api.ticket-plus.app/employees/42" \
--header "Authorization: Basic <base64(clientId:clientSecret)>"
import requests, base64
credentials = base64.b64encode(b"<clientId>:<clientSecret>").decode()
res = requests.get(
"https://v1-api.ticket-plus.app/employees/42",
headers={"Authorization": f"Basic {credentials}"},
)
print(res.json())
const credentials = Buffer.from("<clientId>:<clientSecret>").toString("base64");
const res = await fetch("https://v1-api.ticket-plus.app/employees/42", {
headers: { Authorization: `Basic ${credentials}` },
});
console.log(await res.json());
{
"data": {
"id": 42,
"firstName": "Anna",
"lastName": "Müller",
"email": "[email protected]",
"dateOfBirth": "1990-04-15",
"profileImage": null,
"resource": "employee",
"subscription": {
"status": "active",
"startAt": "2024-01-01",
"nextTicketAt": "2024-06-01",
"pausedAt": null,
"cancelledAt": null,
"reactivatedAt": null
},
"plan": {
"type": "split-pay-plan",
"contractSigningStatus": "accepted",
"employeeContributionAmount": {
"label": "€29.00",
"value": 2900
}
},
"ticket": {
"ticketId": "tkt_9Xk2mPqL",
"ticketMonth": "2024-05",
"validFrom": "2024-05-01",
"validUntil": "2024-05-31",
"links": {
"apple": "https://wallet.example.com/apple/tkt_9Xk2mPqL",
"google": "https://wallet.example.com/google/tkt_9Xk2mPqL"
}
},
"hrIntergartionLinks": [
{
"type": "hr-integration",
"hrId": "emp_HR_001",
"hrIntegrationId": 7,
"lastSyncId": "sync_abc123",
"lastSynced": "2024-05-10T08:00:00Z"
}
],
"_links": {
"self": { "href": "https://v1-api.ticket-plus.app/employees/42", "type": "application/json" },
"employeeDocuments": { "href": "https://v1-api.ticket-plus.app/employees/42/documents", "type": "application/json" }
}
}
}
Employees
Get Employee
Retrieve full details for a single employee by their ID.
GET
/
employees
/
{id}
curl --request GET \
--url "https://v1-api.ticket-plus.app/employees/42" \
--header "Authorization: Basic <base64(clientId:clientSecret)>"
import requests, base64
credentials = base64.b64encode(b"<clientId>:<clientSecret>").decode()
res = requests.get(
"https://v1-api.ticket-plus.app/employees/42",
headers={"Authorization": f"Basic {credentials}"},
)
print(res.json())
const credentials = Buffer.from("<clientId>:<clientSecret>").toString("base64");
const res = await fetch("https://v1-api.ticket-plus.app/employees/42", {
headers: { Authorization: `Basic ${credentials}` },
});
console.log(await res.json());
{
"data": {
"id": 42,
"firstName": "Anna",
"lastName": "Müller",
"email": "[email protected]",
"dateOfBirth": "1990-04-15",
"profileImage": null,
"resource": "employee",
"subscription": {
"status": "active",
"startAt": "2024-01-01",
"nextTicketAt": "2024-06-01",
"pausedAt": null,
"cancelledAt": null,
"reactivatedAt": null
},
"plan": {
"type": "split-pay-plan",
"contractSigningStatus": "accepted",
"employeeContributionAmount": {
"label": "€29.00",
"value": 2900
}
},
"ticket": {
"ticketId": "tkt_9Xk2mPqL",
"ticketMonth": "2024-05",
"validFrom": "2024-05-01",
"validUntil": "2024-05-31",
"links": {
"apple": "https://wallet.example.com/apple/tkt_9Xk2mPqL",
"google": "https://wallet.example.com/google/tkt_9Xk2mPqL"
}
},
"hrIntergartionLinks": [
{
"type": "hr-integration",
"hrId": "emp_HR_001",
"hrIntegrationId": 7,
"lastSyncId": "sync_abc123",
"lastSynced": "2024-05-10T08:00:00Z"
}
],
"_links": {
"self": { "href": "https://v1-api.ticket-plus.app/employees/42", "type": "application/json" },
"employeeDocuments": { "href": "https://v1-api.ticket-plus.app/employees/42/documents", "type": "application/json" }
}
}
}
Returns the complete record for one employee — personal details, subscription status, plan type, current transit ticket, and HR integration links. Use List Employees if you need to search or filter across all employees.
curl --request GET \
--url "https://v1-api.ticket-plus.app/employees/42" \
--header "Authorization: Basic <base64(clientId:clientSecret)>"
import requests, base64
credentials = base64.b64encode(b"<clientId>:<clientSecret>").decode()
res = requests.get(
"https://v1-api.ticket-plus.app/employees/42",
headers={"Authorization": f"Basic {credentials}"},
)
print(res.json())
const credentials = Buffer.from("<clientId>:<clientSecret>").toString("base64");
const res = await fetch("https://v1-api.ticket-plus.app/employees/42", {
headers: { Authorization: `Basic ${credentials}` },
});
console.log(await res.json());
{
"data": {
"id": 42,
"firstName": "Anna",
"lastName": "Müller",
"email": "[email protected]",
"dateOfBirth": "1990-04-15",
"profileImage": null,
"resource": "employee",
"subscription": {
"status": "active",
"startAt": "2024-01-01",
"nextTicketAt": "2024-06-01",
"pausedAt": null,
"cancelledAt": null,
"reactivatedAt": null
},
"plan": {
"type": "split-pay-plan",
"contractSigningStatus": "accepted",
"employeeContributionAmount": {
"label": "€29.00",
"value": 2900
}
},
"ticket": {
"ticketId": "tkt_9Xk2mPqL",
"ticketMonth": "2024-05",
"validFrom": "2024-05-01",
"validUntil": "2024-05-31",
"links": {
"apple": "https://wallet.example.com/apple/tkt_9Xk2mPqL",
"google": "https://wallet.example.com/google/tkt_9Xk2mPqL"
}
},
"hrIntergartionLinks": [
{
"type": "hr-integration",
"hrId": "emp_HR_001",
"hrIntegrationId": 7,
"lastSyncId": "sync_abc123",
"lastSynced": "2024-05-10T08:00:00Z"
}
],
"_links": {
"self": { "href": "https://v1-api.ticket-plus.app/employees/42", "type": "application/json" },
"employeeDocuments": { "href": "https://v1-api.ticket-plus.app/employees/42/documents", "type": "application/json" }
}
}
}
Path Parameters
The unique numeric ID of the employee to retrieve.
Response
Show properties
Show properties
Unique employee identifier.
Employee’s first name.
Employee’s last name.
Employee’s email address.
Date of birth in ISO 8601 format.
null if not set.URL to the employee’s profile photo.
null if not set.Resource type label. Always
"employee".Current subscription details.
Show properties
Show properties
Current state. Allowed values:
no-subscription, scheduled,
active, scheduled-pause, paused, scheduled-cancellation,
cancelled.Date the subscription started.
null if not yet started.Date the next transit ticket will be issued.
null if not applicable.Date the subscription was paused.
null if never paused.Date the subscription was cancelled.
null if not cancelled.Date the subscription was reactivated.
null if never reactivated.The employee’s plan details.
Show properties
Show properties
Plan type. Allowed values:
fully-subsidized-plan, deferred-plan,
split-pay-plan.Contract state. Allowed values:
pending, accepted, rejected.
null if no contract applies.The employee’s current active transit ticket.
null if no ticket has been
issued yet.Show properties
Show properties
Unique ticket identifier.
Month the ticket is valid for, e.g.
"2024-05".Ticket validity start date.
Ticket validity end date.
HR system associations for this employee.
Show hr link object
Show hr link object
Link type. Allowed values:
custom (manually linked),
hr-integration (synced via integration).The employee’s ID in the external HR system.
ID of the HR integration.
null for custom links.ID of the last sync that updated this link.
null if never synced.Timestamp of the last sync.
null if never synced.HAL hypermedia links.
Show properties
Show properties
Authorizations
HTTP Basic Auth using your API key credentials. Use the username and password issued from the Developer Portal. Encode them as Base64(username:password) and pass in the Authorization: Basic <token> header.
Path Parameters
The unique numeric ID of the employee to retrieve.
Response
200 - application/json
The requested employee's full record.
Show child attributes
Show child attributes
⌘I

