API-documentatie
Publieke REST API van Horixa. Authenticatie via `Authorization: Bearer hx_live_...` API-keys met scopes. Rate limit: 120 requests per minuut per key.
Authenticatie
Stuur je API-key (aan te maken onder Instellingen → API-keys) mee als Bearer-token. De key moet de scope hebben die bij het endpoint staat.
curl https://horixa.nl/api/v2/crm/organization \ -H "Authorization: Bearer hx_live_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
Fouten volgen RFC 7807 (application/problem+json: type, title, status, detail). Rate limit: 120 requests per minuut per key, zie de X-RateLimit-* headers.
CRM
get
/crm/organizationscope: crm:readLijst organizations
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| limit | query | integer · standaard 25 · min 1, max 100 | nee |
| offset | query | integer · standaard 0 · min 0 | nee |
Responses
200— OK (Organization)401— Fout (RFC 7807) (Problem)429— Fout (RFC 7807) (Problem)
post
/crm/organizationscope: crm:writeMaak organization
Request body (JSON) — OrganizationCreate
| Veld | Type | Verplicht |
|---|---|---|
| name | string · max 300 tekens | ja |
| coc_code | string · nullable · max 20 tekens | nee |
| vat_number | string · nullable · max 30 tekens | nee |
| relation_number | string · nullable · max 50 tekens | nee |
| industry | string · nullable · max 100 tekens | nee |
| string (email) · nullable | nee | |
| phone | string · nullable · max 40 tekens | nee |
| url | string (uri) · nullable | nee |
| address | object (line1, postal_code, locality, country) | nee |
| note | string · nullable · max 10000 tekens | nee |
Responses
201— Created (Organization)400— Fout (RFC 7807) (Problem)401— Fout (RFC 7807) (Problem)
get
/crm/organization/{id}scope: crm:readOrganisatie op id
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| id | path | string (uuid) | ja |
Responses
200— OK (Organization)404— Fout (RFC 7807) (Problem)
get
/crm/personscope: crm:readLijst persons
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| limit | query | integer · standaard 25 · min 1, max 100 | nee |
| offset | query | integer · standaard 0 · min 0 | nee |
Responses
200— OK (Person)401— Fout (RFC 7807) (Problem)429— Fout (RFC 7807) (Problem)
post
/crm/personscope: crm:writeMaak person
Request body (JSON) — PersonCreate
| Veld | Type | Verplicht |
|---|---|---|
| first_name | string · nullable · max 100 tekens | nee |
| last_name | string · max 150 tekens | ja |
| string (email) · nullable | nee | |
| phone | string · nullable · max 40 tekens | nee |
| note | string · nullable · max 10000 tekens | nee |
Responses
201— Created (Person)400— Fout (RFC 7807) (Problem)401— Fout (RFC 7807) (Problem)
Projecten
get
/projects/projectscope: projects:readLijst projects
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| limit | query | integer · standaard 25 · min 1, max 100 | nee |
| offset | query | integer · standaard 0 · min 0 | nee |
Responses
200— OK (Project)401— Fout (RFC 7807) (Problem)429— Fout (RFC 7807) (Problem)
post
/projects/projectscope: projects:writeMaak project
Request body (JSON) — ProjectCreate
| Veld | Type | Verplicht |
|---|---|---|
| name | string · max 300 tekens | ja |
| organization_id | string (uuid) · nullable | nee |
| person_id | string (uuid) · nullable | nee |
| manager_employee_id | string (uuid) · nullable | nee |
| status | "active" | "closed" | "archived" · standaard "active" | nee |
| start_date | string (date) · nullable | nee |
| end_date | string (date) · nullable | nee |
| budget_minutes | integer · nullable · min 0 | nee |
| budget_amount | number · nullable · min 0 | nee |
| note | string · nullable · max 10000 tekens | nee |
Responses
201— Created (Project)400— Fout (RFC 7807) (Problem)401— Fout (RFC 7807) (Problem)
get
/projects/servicescope: projects:readLijst diensten
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| limit | query | integer · standaard 25 · min 1, max 100 | nee |
| offset | query | integer · standaard 0 · min 0 | nee |
Responses
200— OK (ProjectService)401— Fout (RFC 7807) (Problem)429— Fout (RFC 7807) (Problem)
Uren
get
/hours/hoursscope: hours:readLijst hourss
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| limit | query | integer · standaard 25 · min 1, max 100 | nee |
| offset | query | integer · standaard 0 · min 0 | nee |
Responses
200— OK (Hours)401— Fout (RFC 7807) (Problem)429— Fout (RFC 7807) (Problem)
post
/hours/hoursscope: hours:writeMaak hours
Request body (JSON) — HoursCreate
| Veld | Type | Verplicht |
|---|---|---|
| employee_id | string (uuid) | ja |
| project_id | string (uuid) · nullable | nee |
| service_id | string (uuid) · nullable | nee |
| hour_type_id | string (uuid) · nullable | nee |
| start_at | string (date-time) | ja |
| minutes | integer · min 1, max 1440 | ja |
| note | string · nullable · max 2000 tekens | nee |
| billable | boolean · standaard true | nee |
Responses
201— Created (Hours)400— Fout (RFC 7807) (Problem)401— Fout (RFC 7807) (Problem)
get
/hours/hourstypescope: hours:readLijst uursoorten
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| limit | query | integer · standaard 25 · min 1, max 100 | nee |
| offset | query | integer · standaard 0 · min 0 | nee |
Responses
200— OK (HourType)401— Fout (RFC 7807) (Problem)429— Fout (RFC 7807) (Problem)
HRM
get
/hrm/employeescope: hrm:readLijst medewerkers
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| limit | query | integer · standaard 25 · min 1, max 100 | nee |
| offset | query | integer · standaard 0 · min 0 | nee |
Responses
200— OK (Employee)401— Fout (RFC 7807) (Problem)429— Fout (RFC 7807) (Problem)
get
/hrm/leavescope: hrm:readLijst verlofaanvragen
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| limit | query | integer · standaard 25 · min 1, max 100 | nee |
| offset | query | integer · standaard 0 · min 0 | nee |
Responses
200— OK (LeaveRequest)401— Fout (RFC 7807) (Problem)429— Fout (RFC 7807) (Problem)
Sales
get
/sales/salesscope: sales:readLijst verkoopkansen
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| limit | query | integer · standaard 25 · min 1, max 100 | nee |
| offset | query | integer · standaard 0 · min 0 | nee |
Responses
200— OK (SalesOpportunity)401— Fout (RFC 7807) (Problem)429— Fout (RFC 7807) (Problem)
Facturatie
get
/invoices/invoicescope: invoices:readLijst facturen
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| limit | query | integer · standaard 25 · min 1, max 100 | nee |
| offset | query | integer · standaard 0 · min 0 | nee |
Responses
200— OK (Invoice)401— Fout (RFC 7807) (Problem)429— Fout (RFC 7807) (Problem)
get
/invoices/invoice/{id}scope: invoices:readFactuur op id, inclusief regels
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| id | path | string (uuid) | ja |
Responses
200— OK (Invoice)404— Fout (RFC 7807) (Problem)