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": "anna.mueller@example.com",
"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": "anna.mueller@example.com",
"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": "anna.mueller@example.com",
"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
integer
required
The unique numeric ID of the employee to retrieve.
Response
object
required
Show properties
Show properties
integer
required
Unique employee identifier.
string
required
Employee’s first name.
string
required
Employee’s last name.
string
required
Employee’s email address.
string | null
Date of birth in ISO 8601 format.
null if not set.string | null
URL to the employee’s profile photo.
null if not set.string
required
Resource type label. Always
"employee".object
required
Current subscription details.
Show properties
Show properties
string
required
Current state. Allowed values:
no-subscription, scheduled,
active, scheduled-pause, paused, scheduled-cancellation,
cancelled.string | null
Date the subscription started.
null if not yet started.string | null
Date the next transit ticket will be issued.
null if not applicable.string | null
Date the subscription was paused.
null if never paused.string | null
Date the subscription was cancelled.
null if not cancelled.string | null
Date the subscription was reactivated.
null if never reactivated.object
required
The employee’s plan details.
Show properties
Show properties
string
required
Plan type. Allowed values:
fully-subsidized-plan, deferred-plan,
split-pay-plan.string | null
Contract state. Allowed values:
pending, accepted, rejected.
null if no contract applies.object | null
The employee’s current active transit ticket.
null if no ticket has been
issued yet.Show properties
Show properties
string
required
Unique ticket identifier.
string
required
Month the ticket is valid for, e.g.
"2024-05".string
required
Ticket validity start date.
string
required
Ticket validity end date.
object[]
required
HR system associations for this employee.
Show hr link object
Show hr link object
string
required
Link type. Allowed values:
custom (manually linked),
hr-integration (synced via integration).string
required
The employee’s ID in the external HR system.
number | null
ID of the HR integration.
null for custom links.string | null
ID of the last sync that updated this link.
null if never synced.string | null
Timestamp of the last sync.
null if never synced.object
required
HAL hypermedia links.
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

