HydraCore
API by router

Finance

Internal List Invoices

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

Path Parameters

instance_id*Instance Id
Formatuuid

Query Parameters

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

Response Body

Successful Response

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

Internal Create Invoice

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

Path Parameters

instance_id*Instance Id
Formatuuid

Request Body

application/json
  1. body
client_email?|null
client_name?|null
customer_id*Customer Id
Formatuuid
description?string|null
due_date?|null
invoice_number?|null
line_items?array<>|null
notes?string|null

Response Body

Successful Response

response?unknownapplication/json
Example Request
curl -X POST 'https://example.com/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/invoices' \  -H 'Content-Type: application/json' \  -d '{  "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e"}'
Example Response
null

Internal Get Invoice

GET
/internal/v1/instances/{instance_id}/invoices/{invoice_id}

Path Parameters

instance_id*Instance Id
Formatuuid
invoice_id*Invoice Id
Formatuuid

Response Body

Successful Response

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

Internal Update Invoice

PATCH
/internal/v1/instances/{instance_id}/invoices/{invoice_id}

Path Parameters

instance_id*Instance Id
Formatuuid
invoice_id*Invoice Id
Formatuuid

Request Body

application/json
  1. body
client_email?|null
client_name?|null
description?string|null
due_date?|null
notes?string|null
status?|

One of: ('draft', 'sent', 'paid', 'overdue', 'void')

xero_invoice_id?|null

Response Body

Successful Response

response?unknownapplication/json
Example Request
curl -X PATCH 'https://example.com/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/invoices/497f6eca-6276-4993-bfeb-53cbbbba6f08' \  -H 'Content-Type: application/json' \  -d '{}'
Example Response
null

Internal List Quotes

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

Path Parameters

instance_id*Instance Id
Formatuuid

Query Parameters

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

Response Body

Successful Response

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

Internal Create Quote

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

Path Parameters

instance_id*Instance Id
Formatuuid

Request Body

application/json
  1. body
client_email?|null
client_name?|null
customer_id*Customer Id
Formatuuid
description?string|null
expires_at?|null
job_id?|null
line_items?array<>|null
margin_pct?number|null
notes?string|null
quote_number?|null

Response Body

Successful Response

response?unknownapplication/json
Example Request
curl -X POST 'https://example.com/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/quotes' \  -H 'Content-Type: application/json' \  -d '{  "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e"}'
Example Response
null

Internal Get Quote

GET
/internal/v1/instances/{instance_id}/quotes/{quote_id}

Path Parameters

instance_id*Instance Id
Formatuuid
quote_id*Quote Id
Formatuuid

Response Body

Successful Response

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

Internal Update Quote

PATCH
/internal/v1/instances/{instance_id}/quotes/{quote_id}

Path Parameters

instance_id*Instance Id
Formatuuid
quote_id*Quote Id
Formatuuid

Request Body

application/json
  1. body
client_email?|null
client_name?|null
description?string|null
expires_at?|null
margin_pct?number|null
notes?string|null
status?|

One of: ('draft', 'sent', 'accepted', 'declined', 'expired')

Response Body

Successful Response

response?unknownapplication/json
Example Request
curl -X PATCH 'https://example.com/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/quotes/497f6eca-6276-4993-bfeb-53cbbbba6f08' \  -H 'Content-Type: application/json' \  -d '{}'
Example Response
null

Internal List Timesheets

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

Path Parameters

instance_id*Instance Id
Formatuuid

Query Parameters

customer_id*Customer Id
Formatuuid
person_id?|null
approval_status?string|null
date_from?|null
date_to?|null
limit?Limit
Range1 <= value <= 200
Default50
offset?Offset
Range0 <= value
Default0

Response Body

Successful Response

response?unknownapplication/json
Example Request
curl -X GET 'https://example.com/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/timesheets?customer_id=497f6eca-6276-4993-bfeb-53cbbbba6f08'
Example Response
null
POST
/internal/v1/instances/{instance_id}/timesheets

Path Parameters

instance_id*Instance Id
Formatuuid

Request Body

application/json
  1. body
customer_id*Customer Id
Formatuuid
date*Date
Formatdate
description?string|null
hours*Hours
Range0 < value
job_id?|null
person_id?|null
rate?number|null
shift_id?|null

Response Body

Successful Response

response?unknownapplication/json
Example Request
curl -X POST 'https://example.com/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/timesheets' \  -H 'Content-Type: application/json' \  -d '{  "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",  "date": "2019-08-24",  "hours": 1}'
Example Response
null
PATCH
/internal/v1/instances/{instance_id}/timesheets/{entry_id}/approve

Path Parameters

instance_id*Instance Id
Formatuuid
entry_id*Entry Id
Formatuuid

Request Body

application/json
  1. body
approval_status*Approval Status

One of: ('pending', 'approved', 'rejected')

approved_by?|null

Response Body

Successful Response

response?unknownapplication/json
Example Request
curl -X PATCH 'https://example.com/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/timesheets/497f6eca-6276-4993-bfeb-53cbbbba6f08/approve' \  -H 'Content-Type: application/json' \  -d '{  "approval_status": "string"}'
Example Response
null

Tenant List Invoices

GET
/v1/invoices

Authorization

HTTPBearer
headerAuthorizationBearer <token>

Query Parameters

customer_id?|null
status?string|null
limit?Limit
Range1 <= value <= 200
Default50
offset?Offset
Range0 <= value
Default0

Response Body

Successful Response

response?unknownapplication/json
Example Request
curl -X GET 'https://example.com/v1/invoices'
Example Response
null

Tenant List Quotes

GET
/v1/quotes

Authorization

HTTPBearer
headerAuthorizationBearer <token>

Query Parameters

customer_id?|null
status?string|null
limit?Limit
Range1 <= value <= 200
Default50
offset?Offset
Range0 <= value
Default0

Response Body

Successful Response

response?unknownapplication/json
Example Request
curl -X GET 'https://example.com/v1/quotes'
Example Response
null

Tenant List Timesheets

GET
/v1/timesheets

Authorization

HTTPBearer
headerAuthorizationBearer <token>

Query Parameters

customer_id?|null
approval_status?string|null
limit?Limit
Range1 <= value <= 200
Default50
offset?Offset
Range0 <= value
Default0

Response Body

Successful Response

response?unknownapplication/json
Example Request
curl -X GET 'https://example.com/v1/timesheets'
Example Response
null