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. Alle gegevens uit de applicatie zijn uit te lezen, en te schrijven in elke module: CRM, projecten met diensten en taken, uren, sales, HRM (verlof, verzuim, planning) en facturatie (betalingen boeken, concept definitief maken), plus inkoopfacturen en kosten op projecten. De API dwingt dezelfde regels af als de applicatie zelf.
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.
Zonder lopend abonnement (verlopen proefperiode of opgeschorte omgeving) antwoordt de API met 402 Payment Required en het veld billing_status.
CRM
/crm/organizationscope: crm:readLijst organisaties
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)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)429: Fout (RFC 7807) (Problem)
/crm/organizationscope: crm:writeMaak organisatie
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)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)
/crm/organization/{id}scope: crm:readOrganisatie op id
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| id | path | string (uuid) | ja |
Responses
200: OK (Organization)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)404: Fout (RFC 7807) (Problem)
/crm/organization/{id}scope: crm:writeWerk organisatie bij
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| id | path | string (uuid) | ja |
Request body (JSON): OrganizationUpdate
| Veld | Type | Verplicht |
|---|---|---|
| name | string · max 300 tekens | nee |
| 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
200: OK (Organization)400: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)404: Fout (RFC 7807) (Problem)
/crm/personscope: crm:readLijst contactpersonen
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)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)429: Fout (RFC 7807) (Problem)
/crm/personscope: crm:writeMaak contactpersoon
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)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)
/crm/person/{id}scope: crm:readContactpersoon op id
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| id | path | string (uuid) | ja |
Responses
200: OK (Person)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)404: Fout (RFC 7807) (Problem)
/crm/person/{id}scope: crm:writeWerk contactpersoon bij
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| id | path | string (uuid) | ja |
Request body (JSON): PersonUpdate
| Veld | Type | Verplicht |
|---|---|---|
| first_name | string · nullable · max 100 tekens | nee |
| last_name | string · max 150 tekens | nee |
| string (email) · nullable | nee | |
| phone | string · nullable · max 40 tekens | nee |
| note | string · nullable · max 10000 tekens | nee |
Responses
200: OK (Person)400: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)404: Fout (RFC 7807) (Problem)
/crm/contactrolescope: crm:readLijst koppelingen persoon–organisatie
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 (ContactRole)401: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)429: Fout (RFC 7807) (Problem)
/crm/notescope: crm:readLijst interacties (notitie, gesprek, e-mail, afspraak)
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 (CrmNote)401: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)429: Fout (RFC 7807) (Problem)
/crm/notescope: crm:writeLeg een interactie vast
Request body (JSON): CrmNoteCreate
| Veld | Type | Verplicht |
|---|---|---|
| organization_id | string (uuid) | ja |
| person_id | string (uuid) · nullable | nee |
| kind | "note" | "call" | "email" | "meeting" · standaard "note" | nee |
| body | string · max 10000 tekens | ja |
Responses
201: Created (CrmNote)400: Fout (RFC 7807) (Problem)401: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)
/crm/relationtypescope: crm:readLijst relatietypes
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 (RelationType)401: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)429: Fout (RFC 7807) (Problem)
/crm/customfieldscope: crm:readLijst definities van eigen velden
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 (CustomFieldDef)401: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)429: Fout (RFC 7807) (Problem)
/crm/customfieldvaluescope: crm:readLijst waarden van eigen velden
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 (CustomFieldValue)401: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)429: Fout (RFC 7807) (Problem)
Projecten
/projects/projectscope: projects:readLijst projecten
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)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)429: Fout (RFC 7807) (Problem)
/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)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)
/projects/project/{id}scope: projects:readProject op id, inclusief diensten
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| id | path | string (uuid) | ja |
Responses
200: OK (Project)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)404: Fout (RFC 7807) (Problem)
/projects/project/{id}scope: projects:writeWerk project bij
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| id | path | string (uuid) | ja |
Request body (JSON): ProjectUpdate
| Veld | Type | Verplicht |
|---|---|---|
| name | string · max 300 tekens | nee |
| 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
200: OK (Project)400: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)404: Fout (RFC 7807) (Problem)
/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)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)429: Fout (RFC 7807) (Problem)
/projects/servicescope: projects:writeMaak dienst
Request body (JSON): ServiceCreate
| Veld | Type | Verplicht |
|---|---|---|
| project_id | string (uuid) | ja |
| name | string · max 300 tekens | ja |
| invoice_method | "hours" | "fixed_fee" | "subscription" · standaard "hours" | nee |
| price | number · nullable · min 0 | nee |
| budgeted_minutes | integer · nullable · min 0 | nee |
| start_date | string (date) · nullable | nee |
| end_date | string (date) · nullable | nee |
Responses
201: Created (ProjectService)400: Fout (RFC 7807) (Problem)401: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)
/projects/service/{id}scope: projects:readDienst op id, inclusief tarieven
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| id | path | string (uuid) | ja |
Responses
200: OK (ProjectService)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)404: Fout (RFC 7807) (Problem)
/projects/service/{id}scope: projects:writeWerk dienst bij
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| id | path | string (uuid) | ja |
Request body (JSON): ServiceUpdate
| Veld | Type | Verplicht |
|---|---|---|
| name | string · max 300 tekens | nee |
| invoice_method | "hours" | "fixed_fee" | "subscription" · standaard "hours" | nee |
| price | number · nullable · min 0 | nee |
| budgeted_minutes | integer · nullable · min 0 | nee |
| start_date | string (date) · nullable | nee |
| end_date | string (date) · nullable | nee |
| status | "open" | "closed" | nee |
Responses
200: OK (ProjectService)400: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)404: Fout (RFC 7807) (Problem)
/projects/service/{id}scope: projects:writeVerwijder dienst (niet met uren, factuurregels of gefactureerde termijnen)
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| id | path | string (uuid) | ja |
Responses
204: Verwijderd402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)403: Fout (RFC 7807) (Problem)404: Fout (RFC 7807) (Problem)
/projects/serviceratescope: projects:readLijst tarieven per uursoort op een dienst
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 (ProjectServiceRate)401: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)429: Fout (RFC 7807) (Problem)
/projects/taskscope: projects:readLijst taken
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 (ProjectTask)401: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)429: Fout (RFC 7807) (Problem)
/projects/taskscope: projects:writeMaak taak of subtaak
Request body (JSON): TaskCreate
| Veld | Type | Verplicht |
|---|---|---|
| project_id | string (uuid) | ja |
| title | string · max 300 tekens | ja |
| parent_id | string (uuid) · nullable | nee |
| note | string · nullable · max 10000 tekens | nee |
| assignee_id | string (uuid) · nullable | nee |
| due_date | string (date) · nullable | nee |
| status | "todo" | "doing" | "done" · standaard "todo" | nee |
Responses
201: Created (ProjectTask)400: Fout (RFC 7807) (Problem)401: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)
/projects/task/{id}scope: projects:readTaak op id
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| id | path | string (uuid) | ja |
Responses
200: OK (ProjectTask)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)404: Fout (RFC 7807) (Problem)
/projects/task/{id}scope: projects:writeWerk taak bij
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| id | path | string (uuid) | ja |
Request body (JSON): TaskUpdate
| Veld | Type | Verplicht |
|---|---|---|
| title | string · max 300 tekens | nee |
| parent_id | string (uuid) · nullable | nee |
| note | string · nullable · max 10000 tekens | nee |
| assignee_id | string (uuid) · nullable | nee |
| due_date | string (date) · nullable | nee |
| status | "todo" | "doing" | "done" · standaard "todo" | nee |
Responses
200: OK (ProjectTask)400: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)404: Fout (RFC 7807) (Problem)
/projects/task/{id}scope: projects:writeVerwijder taak (subtaken gaan mee)
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| id | path | string (uuid) | ja |
Responses
204: Verwijderd402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)403: Fout (RFC 7807) (Problem)404: Fout (RFC 7807) (Problem)
/projects/templatescope: projects:readLijst projectsjablonen
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 (ProjectTemplate)401: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)429: Fout (RFC 7807) (Problem)
Uren
/hours/hoursscope: hours:readLijst uren
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)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)429: Fout (RFC 7807) (Problem)
/hours/hoursscope: hours:writeSchrijf uren
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)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)
/hours/hours/{id}scope: hours:readUrenregel op id
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| id | path | string (uuid) | ja |
Responses
200: OK (Hours)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)404: Fout (RFC 7807) (Problem)
/hours/hours/{id}scope: hours:writeWerk urenregel bij
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| id | path | string (uuid) | ja |
Request body (JSON): HoursUpdate
| Veld | Type | Verplicht |
|---|---|---|
| employee_id | string (uuid) | nee |
| project_id | string (uuid) · nullable | nee |
| service_id | string (uuid) · nullable | nee |
| hour_type_id | string (uuid) · nullable | nee |
| start_at | string (date-time) | nee |
| minutes | integer · min 1, max 1440 | nee |
| note | string · nullable · max 2000 tekens | nee |
| billable | boolean · standaard true | nee |
Responses
200: OK (Hours)400: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)404: Fout (RFC 7807) (Problem)
/hours/hours/{id}scope: hours:writeVerwijder urenregel (niet als hij al gefactureerd is)
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| id | path | string (uuid) | ja |
Responses
204: Verwijderd402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)403: Fout (RFC 7807) (Problem)404: Fout (RFC 7807) (Problem)
/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)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)429: Fout (RFC 7807) (Problem)
Facturatie
/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)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)429: Fout (RFC 7807) (Problem)
/invoices/invoice/{id}scope: invoices:readFactuur op id, inclusief regels
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| id | path | string (uuid) | ja |
Responses
200: OK (Invoice)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)404: Fout (RFC 7807) (Problem)
/invoices/invoice/{id}/finalizescope: invoices:writeMaak een concept definitief (nummer, datums, invoice.finalized-event)
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| id | path | string (uuid) | ja |
Responses
200: OK (Invoice)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)404: Fout (RFC 7807) (Problem)409: Fout (RFC 7807) (Problem)
/invoices/paymentscope: invoices:readLijst betalingen
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 (Payment)401: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)429: Fout (RFC 7807) (Problem)
/invoices/paymentscope: invoices:writeBoek een betaling (zet de factuur op betaald zodra het totaal rond is)
Request body (JSON): PaymentCreate
| Veld | Type | Verplicht |
|---|---|---|
| invoice_id | string (uuid) | ja |
| amount | number | ja |
| date | string (date) | ja |
| method | string · nullable · max 50 tekens | nee |
| note | string · nullable · max 2000 tekens | nee |
Responses
201: Created (Payment)400: Fout (RFC 7807) (Problem)401: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)
/invoices/installmentscope: invoices:readLijst termijnen
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 (Installment)401: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)429: Fout (RFC 7807) (Problem)
/invoices/companyprofilescope: invoices:readLijst bedrijfsprofielen (administraties)
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 (CompanyProfile)401: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)429: Fout (RFC 7807) (Problem)
Inkoop
/purchase/purchaseinvoicescope: invoices:readLijst inkoopfacturen
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 (PurchaseInvoice)401: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)429: Fout (RFC 7807) (Problem)
/purchase/purchaseinvoicescope: invoices:writeBoek een inkoopfactuur (btw en totaal volgen uit bedrag en tarief)
Request body (JSON): PurchaseInvoiceCreate
| Veld | Type | Verplicht |
|---|---|---|
| supplier_id | string (uuid) · nullable | nee |
| invoice_number | string · nullable · max 100 tekens | nee |
| description | string · nullable · max 500 tekens | nee |
| date | string (date) | ja |
| due_date | string (date) · nullable | nee |
| total_excl | number | ja |
| vat_rate | number · standaard 21 · min 0, max 100 | nee |
| status | "open" | "paid" · standaard "open" | nee |
| note | string · nullable · max 5000 tekens | nee |
Responses
201: Created (PurchaseInvoice)400: Fout (RFC 7807) (Problem)401: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)
/purchase/purchaseinvoice/{id}scope: invoices:readInkoopfactuur op id, inclusief kostenregels
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| id | path | string (uuid) | ja |
Responses
200: OK (PurchaseInvoice)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)404: Fout (RFC 7807) (Problem)
/purchase/purchaseinvoice/{id}scope: invoices:writeWerk inkoopfactuur bij (ook betaald zetten)
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| id | path | string (uuid) | ja |
Request body (JSON): PurchaseInvoiceUpdate
| Veld | Type | Verplicht |
|---|---|---|
| supplier_id | string (uuid) · nullable | nee |
| invoice_number | string · nullable · max 100 tekens | nee |
| description | string · nullable · max 500 tekens | nee |
| date | string (date) | nee |
| due_date | string (date) · nullable | nee |
| total_excl | number | nee |
| vat_rate | number · standaard 21 · min 0, max 100 | nee |
| status | "open" | "paid" · standaard "open" | nee |
| note | string · nullable · max 5000 tekens | nee |
Responses
200: OK (PurchaseInvoice)400: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)404: Fout (RFC 7807) (Problem)
/purchase/purchaseinvoice/{id}scope: invoices:writeVerwijder inkoopfactuur (doorbelaste kosten blijven staan)
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| id | path | string (uuid) | ja |
Responses
204: Verwijderd402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)403: Fout (RFC 7807) (Problem)404: Fout (RFC 7807) (Problem)
/purchase/costscope: invoices:readLijst kostenregels op projecten
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 (ProjectCost)401: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)429: Fout (RFC 7807) (Problem)
/purchase/costscope: invoices:writeLeg kosten vast op een project (doorbelasten via billable + opslag)
Request body (JSON): CostCreate
| Veld | Type | Verplicht |
|---|---|---|
| project_id | string (uuid) | ja |
| service_id | string (uuid) · nullable | nee |
| purchase_invoice_id | string (uuid) · nullable | nee |
| supplier_id | string (uuid) · nullable | nee |
| date | string (date) | ja |
| description | string · max 500 tekens | ja |
| quantity | number · standaard 1 | nee |
| unit_cost | number · standaard 0 | nee |
| billable | boolean · standaard false | nee |
| markup_pct | number · nullable | nee |
| sell_amount | number · nullable | nee |
| vat_rate | number · standaard 21 · min 0, max 100 | nee |
Responses
201: Created (ProjectCost)400: Fout (RFC 7807) (Problem)401: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)
/purchase/cost/{id}scope: invoices:readKostenregel op id
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| id | path | string (uuid) | ja |
Responses
200: OK (ProjectCost)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)404: Fout (RFC 7807) (Problem)
/purchase/cost/{id}scope: invoices:writeWerk kostenregel bij (bedragen liggen vast zodra hij gefactureerd is)
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| id | path | string (uuid) | ja |
Request body (JSON): CostUpdate
| Veld | Type | Verplicht |
|---|---|---|
| service_id | string (uuid) · nullable | nee |
| purchase_invoice_id | string (uuid) · nullable | nee |
| supplier_id | string (uuid) · nullable | nee |
| date | string (date) | nee |
| description | string · max 500 tekens | nee |
| quantity | number · standaard 1 | nee |
| unit_cost | number · standaard 0 | nee |
| billable | boolean · standaard false | nee |
| markup_pct | number · nullable | nee |
| sell_amount | number · nullable | nee |
| vat_rate | number · standaard 21 · min 0, max 100 | nee |
Responses
200: OK (ProjectCost)400: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)404: Fout (RFC 7807) (Problem)
/purchase/cost/{id}scope: invoices:writeVerwijder kostenregel (niet als hij op een factuur staat)
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| id | path | string (uuid) | ja |
Responses
204: Verwijderd402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)403: Fout (RFC 7807) (Problem)404: Fout (RFC 7807) (Problem)
Sales
/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)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)429: Fout (RFC 7807) (Problem)
/sales/salesscope: sales:writeMaak verkoopkans
Request body (JSON): OpportunityCreate
| Veld | Type | Verplicht |
|---|---|---|
| subject | string · max 300 tekens | ja |
| organization_id | string (uuid) · nullable | nee |
| person_id | string (uuid) · nullable | nee |
| stage_id | string (uuid) · nullable | nee |
| responsible_employee_id | string (uuid) · nullable | nee |
| expected_revenue | number · nullable · min 0 | nee |
| chance | integer · nullable · min 0, max 100 | nee |
| expected_close_date | string (date) · nullable | nee |
| note | string · nullable · max 10000 tekens | nee |
Responses
201: Created (SalesOpportunity)400: Fout (RFC 7807) (Problem)401: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)
/sales/sales/{id}scope: sales:readVerkoopkans op id
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| id | path | string (uuid) | ja |
Responses
200: OK (SalesOpportunity)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)404: Fout (RFC 7807) (Problem)
/sales/sales/{id}scope: sales:writeWerk verkoopkans bij (ook won/lost)
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| id | path | string (uuid) | ja |
Request body (JSON): OpportunityUpdate
| Veld | Type | Verplicht |
|---|---|---|
| subject | string · max 300 tekens | nee |
| organization_id | string (uuid) · nullable | nee |
| person_id | string (uuid) · nullable | nee |
| stage_id | string (uuid) · nullable | nee |
| responsible_employee_id | string (uuid) · nullable | nee |
| expected_revenue | number · nullable · min 0 | nee |
| chance | integer · nullable · min 0, max 100 | nee |
| expected_close_date | string (date) · nullable | nee |
| note | string · nullable · max 10000 tekens | nee |
| status | "open" | "won" | "lost" | nee |
Responses
200: OK (SalesOpportunity)400: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)404: Fout (RFC 7807) (Problem)
/sales/sales/{id}scope: sales:writeVerwijder verkoopkans (niet met offerte of project)
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| id | path | string (uuid) | ja |
Responses
204: Verwijderd402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)403: Fout (RFC 7807) (Problem)404: Fout (RFC 7807) (Problem)
/sales/quotescope: sales:readLijst offertes
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 (Quote)401: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)429: Fout (RFC 7807) (Problem)
/sales/quote/{id}scope: sales:readOfferte op id, inclusief regels
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| id | path | string (uuid) | ja |
Responses
200: OK (Quote)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)404: Fout (RFC 7807) (Problem)
/sales/stagescope: sales:readLijst pijplijnfases
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 (SalesStage)401: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)429: Fout (RFC 7807) (Problem)
HRM
/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)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)429: Fout (RFC 7807) (Problem)
/hrm/employee/{id}scope: hrm:readMedewerker op id
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| id | path | string (uuid) | ja |
Responses
200: OK (Employee)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)404: Fout (RFC 7807) (Problem)
/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)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)429: Fout (RFC 7807) (Problem)
/hrm/leavescope: hrm:writeDien een verlofaanvraag in
Request body (JSON): LeaveCreate
| Veld | Type | Verplicht |
|---|---|---|
| employee_id | string (uuid) | ja |
| leave_type_id | string (uuid) · nullable | nee |
| start_date | string (date) | ja |
| end_date | string (date) · nullable | nee |
| minutes | integer · min 1 | ja |
| note | string · nullable · max 2000 tekens | nee |
Responses
201: Created (LeaveRequest)400: Fout (RFC 7807) (Problem)401: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)
/hrm/leave/{id}scope: hrm:readVerlofaanvraag op id
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| id | path | string (uuid) | ja |
Responses
200: OK (LeaveRequest)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)404: Fout (RFC 7807) (Problem)
/hrm/leave/{id}scope: hrm:writeKeur goed of af (alleen zolang de aanvraag openstaat)
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| id | path | string (uuid) | ja |
Request body (JSON): LeaveDecision
| Veld | Type | Verplicht |
|---|---|---|
| status | "approved" | "rejected" | ja |
Responses
200: OK (LeaveRequest)400: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)404: Fout (RFC 7807) (Problem)
/hrm/leavetypescope: hrm:readLijst verlofsoorten
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 (LeaveType)401: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)429: Fout (RFC 7807) (Problem)
/hrm/leavebalancescope: hrm:readLijst verlofsaldi
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 (LeaveBalance)401: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)429: Fout (RFC 7807) (Problem)
/hrm/absencescope: hrm:readLijst verzuimmeldingen
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 (Absence)401: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)429: Fout (RFC 7807) (Problem)
/hrm/absencescope: hrm:writeMeld verzuim
Request body (JSON): AbsenceCreate
| Veld | Type | Verplicht |
|---|---|---|
| employee_id | string (uuid) | ja |
| start_date | string (date) | ja |
| end_date | string (date) · nullable | nee |
| kind | "sick" | "accident" | "pregnancy" | "other" · standaard "sick" | nee |
| note | string · nullable · max 2000 tekens | nee |
Responses
201: Created (Absence)400: Fout (RFC 7807) (Problem)401: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)
/hrm/absence/{id}scope: hrm:readVerzuimmelding op id
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| id | path | string (uuid) | ja |
Responses
200: OK (Absence)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)404: Fout (RFC 7807) (Problem)
/hrm/absence/{id}scope: hrm:writeWerk verzuim bij (einddatum = beter gemeld)
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| id | path | string (uuid) | ja |
Request body (JSON): AbsenceUpdate
| Veld | Type | Verplicht |
|---|---|---|
| start_date | string (date) | nee |
| end_date | string (date) · nullable | nee |
| kind | "sick" | "accident" | "pregnancy" | "other" · standaard "sick" | nee |
| note | string · nullable · max 2000 tekens | nee |
Responses
200: OK (Absence)400: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)404: Fout (RFC 7807) (Problem)
/hrm/absence/{id}scope: hrm:writeVerwijder verzuimmelding
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| id | path | string (uuid) | ja |
Responses
204: Verwijderd402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)403: Fout (RFC 7807) (Problem)404: Fout (RFC 7807) (Problem)
/hrm/contractscope: hrm:readLijst contracten
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 (EmployeeContract)401: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)429: Fout (RFC 7807) (Problem)
/hrm/teamscope: hrm:readLijst teams
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 (Team)401: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)429: Fout (RFC 7807) (Problem)
/hrm/planningscope: hrm:readLijst geplande inzet
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 (PlanningAllocation)401: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)429: Fout (RFC 7807) (Problem)
/hrm/planningscope: hrm:writePlan inzet
Request body (JSON): AllocationCreate
| Veld | Type | Verplicht |
|---|---|---|
| employee_id | string (uuid) | ja |
| project_id | string (uuid) · nullable | nee |
| service_id | string (uuid) · nullable | nee |
| start_date | string (date) | ja |
| end_date | string (date) | ja |
| minutes_per_week | integer · min 1 | ja |
Responses
201: Created (PlanningAllocation)400: Fout (RFC 7807) (Problem)401: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)
/hrm/planning/{id}scope: hrm:readInzet op id
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| id | path | string (uuid) | ja |
Responses
200: OK (PlanningAllocation)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)404: Fout (RFC 7807) (Problem)
/hrm/planning/{id}scope: hrm:writeWerk inzet bij (verplaatsen of aantal uren)
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| id | path | string (uuid) | ja |
Request body (JSON): AllocationUpdate
| Veld | Type | Verplicht |
|---|---|---|
| employee_id | string (uuid) | nee |
| project_id | string (uuid) · nullable | nee |
| service_id | string (uuid) · nullable | nee |
| start_date | string (date) | nee |
| end_date | string (date) | nee |
| minutes_per_week | integer · min 1 | nee |
Responses
200: OK (PlanningAllocation)400: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)404: Fout (RFC 7807) (Problem)
/hrm/planning/{id}scope: hrm:writeVerwijder inzet
Parameters
| Naam | In | Type | Verplicht |
|---|---|---|---|
| id | path | string (uuid) | ja |
Responses
204: Verwijderd402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)403: Fout (RFC 7807) (Problem)404: Fout (RFC 7807) (Problem)
Documenten
/documents/documentscope: crm:readLijst documenten (factuur-pdf's alleen met invoices:read)
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 (Document)401: Fout (RFC 7807) (Problem)402: Abonnement vereist: proefperiode verlopen of omgeving opgeschort (veld `billing_status`) (Problem)429: Fout (RFC 7807) (Problem)