HydraCore
API by router

Finance

Internal List Invoices

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

Path Parameters

instance_idInstance Id
Formatuuid

Query Parameters

customer_idCustomer Id
Formatuuid
status?Status
limit?Limit
Default50
Range1 <= value <= 200
offset?Offset
Default0
Range0 <= value

Response Body

curl -X GET "https://loading/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/invoices?customer_id=497f6eca-6276-4993-bfeb-53cbbbba6f08&status=string&limit=50&offset=0"
null
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Internal Create Invoice

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

Path Parameters

instance_idInstance Id
Formatuuid
client_email?Client Email
client_name?Client Name
customer_idCustomer Id
Formatuuid
description?Description
due_date?Due Date
invoice_number?Invoice Number
line_items?Line Items
notes?Notes

Response Body

curl -X POST "https://loading/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/invoices" \  -H "Content-Type: application/json" \  -d '{    "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e"  }'
null
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Internal Get Invoice

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

Path Parameters

instance_idInstance Id
Formatuuid
invoice_idInvoice Id
Formatuuid

Response Body

curl -X GET "https://loading/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/invoices/497f6eca-6276-4993-bfeb-53cbbbba6f08"
null
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Internal Update Invoice

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

Path Parameters

instance_idInstance Id
Formatuuid
invoice_idInvoice Id
Formatuuid
client_email?Client Email
client_name?Client Name
description?Description
due_date?Due Date
notes?Notes
status?Status

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

xero_invoice_id?Xero Invoice Id

Response Body

curl -X PATCH "https://loading/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/invoices/497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{}'
null
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Internal List Quotes

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

Path Parameters

instance_idInstance Id
Formatuuid

Query Parameters

customer_idCustomer Id
Formatuuid
status?Status
limit?Limit
Default50
Range1 <= value <= 200
offset?Offset
Default0
Range0 <= value

Response Body

curl -X GET "https://loading/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/quotes?customer_id=497f6eca-6276-4993-bfeb-53cbbbba6f08&status=string&limit=50&offset=0"
null
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Internal Create Quote

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

Path Parameters

instance_idInstance Id
Formatuuid
client_email?Client Email
client_name?Client Name
customer_idCustomer Id
Formatuuid
description?Description
expires_at?Expires At
job_id?Job Id
line_items?Line Items
margin_pct?Margin Pct
notes?Notes
quote_number?Quote Number

Response Body

curl -X POST "https://loading/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/quotes" \  -H "Content-Type: application/json" \  -d '{    "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e"  }'
null
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Internal Get Quote

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

Path Parameters

instance_idInstance Id
Formatuuid
quote_idQuote Id
Formatuuid

Response Body

curl -X GET "https://loading/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/quotes/497f6eca-6276-4993-bfeb-53cbbbba6f08"
null
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Internal Update Quote

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

Path Parameters

instance_idInstance Id
Formatuuid
quote_idQuote Id
Formatuuid
client_email?Client Email
client_name?Client Name
description?Description
expires_at?Expires At
margin_pct?Margin Pct
notes?Notes
status?Status

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

Response Body

curl -X PATCH "https://loading/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/quotes/497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{}'
null
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Internal List Timesheets

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

Path Parameters

instance_idInstance Id
Formatuuid

Query Parameters

customer_idCustomer Id
Formatuuid
person_id?Person Id
approval_status?Approval Status
date_from?Date From
date_to?Date To
limit?Limit
Default50
Range1 <= value <= 200
offset?Offset
Default0
Range0 <= value

Response Body

curl -X GET "https://loading/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/timesheets?customer_id=497f6eca-6276-4993-bfeb-53cbbbba6f08&person_id=497f6eca-6276-4993-bfeb-53cbbbba6f08&approval_status=string&date_from=2019-08-24&date_to=2019-08-24&limit=50&offset=0"
null
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Internal Create Timesheet

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

Path Parameters

instance_idInstance Id
Formatuuid
customer_idCustomer Id
Formatuuid
dateDate
Formatdate
description?Description
hoursHours
Range0 < value
job_id?Job Id
person_id?Person Id
rate?Rate
shift_id?Shift Id

Response Body

curl -X POST "https://loading/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": 0  }'
null
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Internal Approve Timesheet

PATCH
/internal/v1/instances/{instance_id}/timesheets/{entry_id}/approve

Path Parameters

instance_idInstance Id
Formatuuid
entry_idEntry Id
Formatuuid
approval_statusApproval Status

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

approved_by?Approved By

Response Body

curl -X PATCH "https://loading/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/timesheets/497f6eca-6276-4993-bfeb-53cbbbba6f08/approve" \  -H "Content-Type: application/json" \  -d '{    "approval_status": "string"  }'
null
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Tenant List Invoices

GET
/v1/invoices
AuthorizationBearer <token>

In: header

Query Parameters

customer_id?Customer Id
status?Status
limit?Limit
Default50
Range1 <= value <= 200
offset?Offset
Default0
Range0 <= value

Response Body

curl -X GET "https://loading/v1/invoices?customer_id=497f6eca-6276-4993-bfeb-53cbbbba6f08&status=string&limit=50&offset=0"
null
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Tenant List Quotes

GET
/v1/quotes
AuthorizationBearer <token>

In: header

Query Parameters

customer_id?Customer Id
status?Status
limit?Limit
Default50
Range1 <= value <= 200
offset?Offset
Default0
Range0 <= value

Response Body

curl -X GET "https://loading/v1/quotes?customer_id=497f6eca-6276-4993-bfeb-53cbbbba6f08&status=string&limit=50&offset=0"
null
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Tenant List Timesheets

GET
/v1/timesheets
AuthorizationBearer <token>

In: header

Query Parameters

customer_id?Customer Id
approval_status?Approval Status
limit?Limit
Default50
Range1 <= value <= 200
offset?Offset
Default0
Range0 <= value

Response Body

curl -X GET "https://loading/v1/timesheets?customer_id=497f6eca-6276-4993-bfeb-53cbbbba6f08&approval_status=string&limit=50&offset=0"
null
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}