HydraCore
API by router

Jobs shifts

List Jobs

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

Path Parameters

instance_id*Instance Id
Formatuuid

Query Parameters

customer_id*Customer Id
Formatuuid
status?string|null
site?string|null
limit?Limit
Range1 <= value <= 500
Default100
offset?Offset
Range0 <= value
Default0

Response Body

Successful Response

application/json
  1. response
has_more*Has More
items*array<unknown>
limit*Limit
offset*Offset
total*Total
Example Request
curl -X GET 'https://example.com/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/jobs?customer_id=497f6eca-6276-4993-bfeb-53cbbbba6f08'
Example Response
{  "has_more": true,  "items": [    null  ],  "limit": 0,  "offset": 0,  "total": 0}

Create Job

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

Path Parameters

instance_id*Instance Id
Formatuuid

Request Body

application/json
  1. body
client_name?|null
customer_id*Customer Id
Formatuuid
description?string|null
job_ref?|null
notes?string|null
requirements?|null
scheduled_date?|null
site?|null
title*Title
Lengthlength <= 500
work_type?|null

Response Body

Successful Response

application/json
  1. response
client_name?string|null
completed_date?|null
created_at*Created At
Formatdate-time
customer_id*Customer Id
Formatuuid
id*Id
Formatuuid
job_ref?string|null
requirements?|null
scheduled_date?|null
site?string|null
status*Status
title*Title
updated_at*Updated At
Formatdate-time
work_type?string|null
Example Request
curl -X POST 'https://example.com/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/jobs' \  -H 'Content-Type: application/json' \  -d '{  "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",  "title": "string"}'
Example Response
{  "client_name": "string",  "completed_date": "2019-08-24",  "created_at": "2019-08-24T14:15:22Z",  "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "job_ref": "string",  "requirements": {},  "scheduled_date": "2019-08-24",  "site": "string",  "status": "string",  "title": "string",  "updated_at": "2019-08-24T14:15:22Z",  "work_type": "string"}

Update Job

PATCH
/internal/v1/instances/{instance_id}/jobs/{job_id}

Path Parameters

instance_id*Instance Id
Formatuuid
job_id*Job Id
Formatuuid

Request Body

application/json
  1. body
client_name?|null
description?string|null
notes?string|null
requirements?|null
site?|null
status?string|null
title?|null
work_type?|null

Response Body

Successful Response

application/json
  1. response
client_name?string|null
completed_date?|null
created_at*Created At
Formatdate-time
customer_id*Customer Id
Formatuuid
id*Id
Formatuuid
job_ref?string|null
requirements?|null
scheduled_date?|null
site?string|null
status*Status
title*Title
updated_at*Updated At
Formatdate-time
work_type?string|null
Example Request
curl -X PATCH 'https://example.com/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/jobs/497f6eca-6276-4993-bfeb-53cbbbba6f08' \  -H 'Content-Type: application/json' \  -d '{}'
Example Response
{  "client_name": "string",  "completed_date": "2019-08-24",  "created_at": "2019-08-24T14:15:22Z",  "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "job_ref": "string",  "requirements": {},  "scheduled_date": "2019-08-24",  "site": "string",  "status": "string",  "title": "string",  "updated_at": "2019-08-24T14:15:22Z",  "work_type": "string"}

List Shifts

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

Path Parameters

instance_id*Instance Id
Formatuuid

Query Parameters

customer_id*Customer Id
Formatuuid
status?string|null
date_from?|null
date_to?|null
limit?Limit
Range1 <= value <= 500
Default100
offset?Offset
Range0 <= value
Default0

Response Body

Successful Response

application/json
  1. response
has_more*Has More
items*array<unknown>
limit*Limit
offset*Offset
total*Total
Example Request
curl -X GET 'https://example.com/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/shifts?customer_id=497f6eca-6276-4993-bfeb-53cbbbba6f08'
Example Response
{  "has_more": true,  "items": [    null  ],  "limit": 0,  "offset": 0,  "total": 0}

Create Shift

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

Path Parameters

instance_id*Instance Id
Formatuuid

Request Body

application/json
  1. body
customer_id*Customer Id
Formatuuid
date*Date
Formatdate
end_time*End Time
Formattime
headcount?Headcount
Range1 <= value
Default1
job_id?|null
rate_per_hour?number|null
requirements?|null
site?|null
start_time*Start Time
Formattime

Response Body

Successful Response

application/json
  1. response
created_at*Created At
Formatdate-time
customer_id*Customer Id
Formatuuid
date*Date
Formatdate
end_time*End Time
Formattime
filled_count*Filled Count
headcount*Headcount
id*Id
Formatuuid
is_filled*Is Filled
job_id?|null
rate_per_hour?number|null
requirements?|null
site?string|null
start_time*Start Time
Formattime
status*Status
Example Request
curl -X POST 'https://example.com/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/shifts' \  -H 'Content-Type: application/json' \  -d '{  "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",  "date": "2019-08-24",  "end_time": "14:15:22Z",  "start_time": "14:15:22Z"}'
Example Response
{  "created_at": "2019-08-24T14:15:22Z",  "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",  "date": "2019-08-24",  "end_time": "14:15:22Z",  "filled_count": 0,  "headcount": 0,  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "is_filled": true,  "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",  "rate_per_hour": 0,  "requirements": {},  "site": "string",  "start_time": "14:15:22Z",  "status": "string"}

Update Shift

PATCH
/internal/v1/instances/{instance_id}/shifts/{shift_id}

Path Parameters

instance_id*Instance Id
Formatuuid
shift_id*Shift Id
Formatuuid

Request Body

application/json
  1. body
date?|null
end_time?|null
headcount?|null
rate_per_hour?number|null
requirements?|null
site?|null
start_time?|null
status?string|null

Response Body

Successful Response

application/json
  1. response
created_at*Created At
Formatdate-time
customer_id*Customer Id
Formatuuid
date*Date
Formatdate
end_time*End Time
Formattime
filled_count*Filled Count
headcount*Headcount
id*Id
Formatuuid
is_filled*Is Filled
job_id?|null
rate_per_hour?number|null
requirements?|null
site?string|null
start_time*Start Time
Formattime
status*Status
Example Request
curl -X PATCH 'https://example.com/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/shifts/497f6eca-6276-4993-bfeb-53cbbbba6f08' \  -H 'Content-Type: application/json' \  -d '{}'
Example Response
{  "created_at": "2019-08-24T14:15:22Z",  "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",  "date": "2019-08-24",  "end_time": "14:15:22Z",  "filled_count": 0,  "headcount": 0,  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "is_filled": true,  "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",  "rate_per_hour": 0,  "requirements": {},  "site": "string",  "start_time": "14:15:22Z",  "status": "string"}

Assign Person

POST
/internal/v1/instances/{instance_id}/shifts/{shift_id}/assign

Path Parameters

instance_id*Instance Id
Formatuuid
shift_id*Shift Id
Formatuuid

Request Body

application/json
  1. body
channel?|null
person_id*Person Id
Formatuuid

Response Body

Successful Response

application/json
  1. response
calendar_link_sent*Calendar Link Sent
channel?string|null
contacted_at?|null
created_at*Created At
Formatdate-time
id*Id
Formatuuid
person_id*Person Id
Formatuuid
responded_at?|null
shift_id*Shift Id
Formatuuid
status*Status
Example Request
curl -X POST 'https://example.com/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/shifts/497f6eca-6276-4993-bfeb-53cbbbba6f08/assign' \  -H 'Content-Type: application/json' \  -d '{  "person_id": "087e858e-473c-4f50-b5b0-c1df6c021550"}'
Example Response
{  "calendar_link_sent": true,  "channel": "string",  "contacted_at": "2019-08-24T14:15:22Z",  "created_at": "2019-08-24T14:15:22Z",  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "person_id": "087e858e-473c-4f50-b5b0-c1df6c021550",  "responded_at": "2019-08-24T14:15:22Z",  "shift_id": "f15914ca-a3fc-41f9-a948-5ac849d2a017",  "status": "string"}

List Assignments

GET
/internal/v1/instances/{instance_id}/shifts/{shift_id}/assignments

Path Parameters

instance_id*Instance Id
Formatuuid
shift_id*Shift Id
Formatuuid

Query Parameters

limit?Limit
Range1 <= value <= 500
Default100
offset?Offset
Range0 <= value
Default0

Response Body

Successful Response

application/json
  1. response
has_more*Has More
items*array<unknown>
limit*Limit
offset*Offset
total*Total
Example Request
curl -X GET 'https://example.com/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/shifts/497f6eca-6276-4993-bfeb-53cbbbba6f08/assignments'
Example Response
{  "has_more": true,  "items": [    null  ],  "limit": 0,  "offset": 0,  "total": 0}

Update Assignment

PATCH
/internal/v1/instances/{instance_id}/shifts/{shift_id}/assignments/{assignment_id}

Path Parameters

instance_id*Instance Id
Formatuuid
shift_id*Shift Id
Formatuuid
assignment_id*Assignment Id
Formatuuid

Request Body

application/json
  1. body
calendar_link_sent?boolean|null
channel?string|null
status?string|null

Response Body

Successful Response

application/json
  1. response
calendar_link_sent*Calendar Link Sent
channel?string|null
contacted_at?|null
created_at*Created At
Formatdate-time
id*Id
Formatuuid
person_id*Person Id
Formatuuid
responded_at?|null
shift_id*Shift Id
Formatuuid
status*Status
Example Request
curl -X PATCH 'https://example.com/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/shifts/497f6eca-6276-4993-bfeb-53cbbbba6f08/assignments/497f6eca-6276-4993-bfeb-53cbbbba6f08' \  -H 'Content-Type: application/json' \  -d '{}'
Example Response
{  "calendar_link_sent": true,  "channel": "string",  "contacted_at": "2019-08-24T14:15:22Z",  "created_at": "2019-08-24T14:15:22Z",  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "person_id": "087e858e-473c-4f50-b5b0-c1df6c021550",  "responded_at": "2019-08-24T14:15:22Z",  "shift_id": "f15914ca-a3fc-41f9-a948-5ac849d2a017",  "status": "string"}

List Jobs Dashboard

GET
/v1/customers/{customer_id}/jobs

Authorization

HTTPBearer
headerAuthorizationBearer <token>

Path Parameters

customer_id*Customer Id
Formatuuid

Query Parameters

status?string|null
limit?Limit
Range1 <= value <= 500
Default100
offset?Offset
Range0 <= value
Default0

Response Body

Successful Response

application/json
  1. response
has_more*Has More
items*array<unknown>
limit*Limit
offset*Offset
total*Total
Example Request
curl -X GET 'https://example.com/v1/customers/497f6eca-6276-4993-bfeb-53cbbbba6f08/jobs'
Example Response
{  "has_more": true,  "items": [    null  ],  "limit": 0,  "offset": 0,  "total": 0}

List Shifts Dashboard

GET
/v1/customers/{customer_id}/shifts

Authorization

HTTPBearer
headerAuthorizationBearer <token>

Path Parameters

customer_id*Customer Id
Formatuuid

Query Parameters

date_from?|null
date_to?|null
limit?Limit
Range1 <= value <= 500
Default100
offset?Offset
Range0 <= value
Default0

Response Body

Successful Response

application/json
  1. response
has_more*Has More
items*array<unknown>
limit*Limit
offset*Offset
total*Total
Example Request
curl -X GET 'https://example.com/v1/customers/497f6eca-6276-4993-bfeb-53cbbbba6f08/shifts'
Example Response
{  "has_more": true,  "items": [    null  ],  "limit": 0,  "offset": 0,  "total": 0}