curl --request GET \
--url "https://v1-api.ticket-plus.app/hr-integrations?page=1&perPage=10" \
--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/hr-integrations",
params={"page": 1, "perPage": 10},
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/hr-integrations?page=1&perPage=10",
{ headers: { Authorization: `Basic ${credentials}` } },
);
console.log(await res.json());
{
"data": {
"data": [
{
"id": 7,
"name": "BambooHR",
"type": "hr-integration",
"status": "active",
"initialConnectionStatus": "completed",
"lastSyncId": "sync_abc123",
"lastSynced": "2024-05-10T08:00:00Z",
"lastSyncStatus": "succeeded",
"canTriggerSync": true,
"resource": "hr-integration",
"_links": {
"self": { "href": "https://v1-api.ticket-plus.app/hr-integrations/7", "type": "application/json" }
}
}
],
"page": 1,
"perPage": 10,
"totalPages": 1,
"total": 1
}
}
HR Integrations
List HR Integrations
Retrieve a paginated list of all HR integrations configured for your company.
GET
/
hr-integrations
curl --request GET \
--url "https://v1-api.ticket-plus.app/hr-integrations?page=1&perPage=10" \
--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/hr-integrations",
params={"page": 1, "perPage": 10},
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/hr-integrations?page=1&perPage=10",
{ headers: { Authorization: `Basic ${credentials}` } },
);
console.log(await res.json());
{
"data": {
"data": [
{
"id": 7,
"name": "BambooHR",
"type": "hr-integration",
"status": "active",
"initialConnectionStatus": "completed",
"lastSyncId": "sync_abc123",
"lastSynced": "2024-05-10T08:00:00Z",
"lastSyncStatus": "succeeded",
"canTriggerSync": true,
"resource": "hr-integration",
"_links": {
"self": { "href": "https://v1-api.ticket-plus.app/hr-integrations/7", "type": "application/json" }
}
}
],
"page": 1,
"perPage": 10,
"totalPages": 1,
"total": 1
}
}
Returns all HR and API integrations connected to your company account, including connection health, last sync details, and whether a manual sync can be triggered. Use the
types filter to separate HR system integrations from direct API push integrations.
curl --request GET \
--url "https://v1-api.ticket-plus.app/hr-integrations?page=1&perPage=10" \
--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/hr-integrations",
params={"page": 1, "perPage": 10},
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/hr-integrations?page=1&perPage=10",
{ headers: { Authorization: `Basic ${credentials}` } },
);
console.log(await res.json());
{
"data": {
"data": [
{
"id": 7,
"name": "BambooHR",
"type": "hr-integration",
"status": "active",
"initialConnectionStatus": "completed",
"lastSyncId": "sync_abc123",
"lastSynced": "2024-05-10T08:00:00Z",
"lastSyncStatus": "succeeded",
"canTriggerSync": true,
"resource": "hr-integration",
"_links": {
"self": { "href": "https://v1-api.ticket-plus.app/hr-integrations/7", "type": "application/json" }
}
}
],
"page": 1,
"perPage": 10,
"totalPages": 1,
"total": 1
}
}
Query Parameters
integer
default:"1"
Page number to return. Starts at
1.integer
default:"10"
Number of results per page. Maximum is
100.string
default:"desc"
Sort direction. Allowed values:
asc, desc.string
default:"id"
Field to sort results by. Allowed values:
id, createdAt, updatedAt.integer[]
Filter to specific integration IDs.
string[]
Filter by integration type. Allowed values:
hr-integration,
api-integration.Response
object
required
Show properties
Show properties
object[]
required
Array of HR integration objects.
Show hr integration object
Show hr integration object
integer
required
Unique integration identifier.
string
required
Display name of the integration, e.g.
"BambooHR".string
required
Integration type. Allowed values: -
hr-integration — syncs from a
third-party HR system. - api-integration — you push employee data
directly via the sync API.string
required
Connection health. Allowed values: -
active — connected and working
normally. - invalid — credentials have expired or been revoked;
re-authentication required. - inactive — integration has been
disabled.string
required
Onboarding progress. Allowed values: -
incomplete — setup has not
been completed. - final-sync-pending — setup done; awaiting first
full sync. - completed — fully set up and initial sync done.string | null
ID of the most recent sync operation.
null if no sync has run yet.string | null
ISO 8601 timestamp of the last completed sync.
null if no sync has
run.string | null
Outcome of the last sync.
null if no sync has run. Allowed values: -
succeeded — all records synced successfully. - partially-failed —
some records failed; job still completed. - failed — entire sync job
failed. - authentication-failed — sync failed due to invalid
credentials.boolean
required
true if a manual sync can be triggered via Trigger HR
Sync. Only true when status is
active and setup is complete.string
required
Resource type label. Always
"hr-integration".integer
required
Current page number.
integer
required
Number of results per page.
integer
required
Total number of pages available.
integer
required
Total number of integrations matching your filters.
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.
Query Parameters
Page number to return. Starts at 1.
Required range:
x >= 0Number of results per page. Maximum is 100.
Required range:
0 <= x <= 100Sort direction — asc for ascending, desc for descending.
Available options:
asc, desc Field to sort results by.
Available options:
id, createdAt, updatedAt Filter to specific integration IDs.
Required range:
x >= 0Filter by integration type: hr-integration (third-party HR system) or api-integration (direct API push).
Available options:
hr-integration, api-integration Response
200 - application/json
A paginated list of HR integrations.
Show child attributes
Show child attributes

