HydraCore
API by router

Staff

Query Staff Internal

GET
/internal/v1/instances/{instance_id}/staff

Path Parameters

instance_id*Instance Id
Formatuuid

Query Parameters

customer_id*Customer Id
Formatuuid
skills?|

Comma-separated skills to filter by

induction_site?|

Site induction required

cert_type?|

Certification type required (checks expiry)

status?string|null
tier?|null
page?Page
Range1 <= value
Default1
per_page?Per Page
Range1 <= value <= 200
Default50

Response Body

Successful Response

application/json
  1. response
page*Page
per_page*Per Page
staff*array<>
total*Total
Example Request
curl -X GET 'https://example.com/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/staff?customer_id=497f6eca-6276-4993-bfeb-53cbbbba6f08'
Example Response
{  "page": 0,  "per_page": 0,  "staff": [    {      "availability_notes": "string",      "certifications": [],      "created_at": "2019-08-24T14:15:22Z",      "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",      "email": "string",      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",      "inductions": [],      "name": "string",      "phone": "string",      "role": "string",      "skills": [],      "status": "string",      "tenant_id": "34f5c98e-f430-457b-a812-92637d0c6fd0",      "tier": 0,      "updated_at": "2019-08-24T14:15:22Z"    }  ],  "total": 0}

Create Staff Internal

POST
/internal/v1/instances/{instance_id}/staff

Path Parameters

instance_id*Instance Id
Formatuuid

Query Parameters

customer_id*Customer Id
Formatuuid

Request Body

application/json
  1. body
availability_notes?string|null
certifications?array<>
email?|null
inductions?array<>
name*Name
Lengthlength <= 200
phone?|null
role?Role

One of: ('employee', 'contractor', 'supplier', 'customer_contact')

Default"employee"
skills?array<string>
tier?Tier
Range1 <= value <= 5
Default1

Response Body

Successful Response

application/json
  1. response
availability_notes?string|null
certifications?array<unknown>
Default[]
created_at*Created At
Formatdate-time
customer_id*Customer Id
Formatuuid
email?string|null
id*Id
Formatuuid
inductions?array<unknown>
Default[]
name*Name
phone?string|null
role*Role
skills?array<unknown>
Default[]
status*Status
tenant_id*Tenant Id
Formatuuid
tier*Tier
updated_at*Updated At
Formatdate-time
Example Request
curl -X POST 'https://example.com/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/staff?customer_id=497f6eca-6276-4993-bfeb-53cbbbba6f08' \  -H 'Content-Type: application/json' \  -d '{  "name": "string"}'
Example Response
{  "availability_notes": "string",  "certifications": [],  "created_at": "2019-08-24T14:15:22Z",  "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",  "email": "string",  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "inductions": [],  "name": "string",  "phone": "string",  "role": "string",  "skills": [],  "status": "string",  "tenant_id": "34f5c98e-f430-457b-a812-92637d0c6fd0",  "tier": 0,  "updated_at": "2019-08-24T14:15:22Z"}

Expiring Certs Internal

GET
/internal/v1/instances/{instance_id}/staff/expiring-certs

Path Parameters

instance_id*Instance Id
Formatuuid

Query Parameters

customer_id*Customer Id
Formatuuid
within_days?Within Days
Range1 <= value <= 365
Default42

Response Body

Successful Response

response?unknownapplication/json
Example Request
curl -X GET 'https://example.com/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/staff/expiring-certs?customer_id=497f6eca-6276-4993-bfeb-53cbbbba6f08'
Example Response
null

Import Staff Internal

POST
/internal/v1/instances/{instance_id}/staff/import

Path Parameters

instance_id*Instance Id
Formatuuid

Query Parameters

customer_id*Customer Id
Formatuuid

Request Body

application/json
  1. body
staff*array<>
Itemsitems <= 200

Response Body

Successful Response

application/json
  1. response
created*Created
errors?array<string>
Default[]
Example Request
curl -X POST 'https://example.com/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/staff/import?customer_id=497f6eca-6276-4993-bfeb-53cbbbba6f08' \  -H 'Content-Type: application/json' \  -d '{  "staff": [    {      "name": "string"    }  ]}'
Example Response
{  "created": 0,  "errors": []}

Get Staff Internal

GET
/internal/v1/instances/{instance_id}/staff/{person_id}

Path Parameters

instance_id*Instance Id
Formatuuid
person_id*Person Id
Formatuuid

Response Body

Successful Response

application/json
  1. response
availability_notes?string|null
certifications?array<unknown>
Default[]
created_at*Created At
Formatdate-time
customer_id*Customer Id
Formatuuid
email?string|null
id*Id
Formatuuid
inductions?array<unknown>
Default[]
name*Name
phone?string|null
role*Role
skills?array<unknown>
Default[]
status*Status
tenant_id*Tenant Id
Formatuuid
tier*Tier
updated_at*Updated At
Formatdate-time
Example Request
curl -X GET 'https://example.com/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/staff/497f6eca-6276-4993-bfeb-53cbbbba6f08'
Example Response
{  "availability_notes": "string",  "certifications": [],  "created_at": "2019-08-24T14:15:22Z",  "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",  "email": "string",  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "inductions": [],  "name": "string",  "phone": "string",  "role": "string",  "skills": [],  "status": "string",  "tenant_id": "34f5c98e-f430-457b-a812-92637d0c6fd0",  "tier": 0,  "updated_at": "2019-08-24T14:15:22Z"}

Update Staff Internal

PATCH
/internal/v1/instances/{instance_id}/staff/{person_id}

Path Parameters

instance_id*Instance Id
Formatuuid
person_id*Person Id
Formatuuid

Request Body

application/json
  1. body
availability_notes?string|null
certifications?array<>|null
email?|null
inductions?array<>|null
name?|null
phone?|null
role?string|null
skills?array<string>|null
status?string|null
tier?|null

Response Body

Successful Response

application/json
  1. response
availability_notes?string|null
certifications?array<unknown>
Default[]
created_at*Created At
Formatdate-time
customer_id*Customer Id
Formatuuid
email?string|null
id*Id
Formatuuid
inductions?array<unknown>
Default[]
name*Name
phone?string|null
role*Role
skills?array<unknown>
Default[]
status*Status
tenant_id*Tenant Id
Formatuuid
tier*Tier
updated_at*Updated At
Formatdate-time
Example Request
curl -X PATCH 'https://example.com/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/staff/497f6eca-6276-4993-bfeb-53cbbbba6f08' \  -H 'Content-Type: application/json' \  -d '{}'
Example Response
{  "availability_notes": "string",  "certifications": [],  "created_at": "2019-08-24T14:15:22Z",  "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",  "email": "string",  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "inductions": [],  "name": "string",  "phone": "string",  "role": "string",  "skills": [],  "status": "string",  "tenant_id": "34f5c98e-f430-457b-a812-92637d0c6fd0",  "tier": 0,  "updated_at": "2019-08-24T14:15:22Z"}

List Staff Dashboard

GET
/v1/customers/{customer_id}/staff

Authorization

HTTPBearer
headerAuthorizationBearer <token>

Path Parameters

customer_id*Customer Id
Formatuuid

Query Parameters

skills?string|null
status?string|null
page?Page
Range1 <= value
Default1
per_page?Per Page
Range1 <= value <= 200
Default50

Header Parameters

X-Api-Key?string|null

Response Body

Successful Response

application/json
  1. response
page*Page
per_page*Per Page
staff*array<>
total*Total
Example Request
curl -X GET 'https://example.com/v1/customers/497f6eca-6276-4993-bfeb-53cbbbba6f08/staff'
Example Response
{  "page": 0,  "per_page": 0,  "staff": [    {      "availability_notes": "string",      "certifications": [],      "created_at": "2019-08-24T14:15:22Z",      "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",      "email": "string",      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",      "inductions": [],      "name": "string",      "phone": "string",      "role": "string",      "skills": [],      "status": "string",      "tenant_id": "34f5c98e-f430-457b-a812-92637d0c6fd0",      "tier": 0,      "updated_at": "2019-08-24T14:15:22Z"    }  ],  "total": 0}

Bulk Import Staff

POST
/v1/customers/{customer_id}/staff/import

Authorization

HTTPBearer
headerAuthorizationBearer <token>

Path Parameters

customer_id*Customer Id
Formatuuid

Header Parameters

X-Api-Key?string|null

Request Body

application/json
  1. body
staff*array<>
Itemsitems <= 200

Response Body

Successful Response

application/json
  1. response
created*Created
errors?array<string>
Default[]
Example Request
curl -X POST 'https://example.com/v1/customers/497f6eca-6276-4993-bfeb-53cbbbba6f08/staff/import' \  -H 'Content-Type: application/json' \  -d '{  "staff": [    {      "name": "string"    }  ]}'
Example Response
{  "created": 0,  "errors": []}