boekt.online API

Versie 1

Read and change the data of one organisation in boekt.online.

Every request needs an API key in the Authorization header. A key only sees its own organisation. Lists are paginated and may be filtered by their last update time.

Aanmelden met een sleutel

Authorization: Bearer gt_...

Zet je sleutel in elk verzoek in de kopregel Authorization.

Zelf een sleutel maken

De technische beschrijving

Hetzelfde bestand als deze pagina, in de vorm die gereedschap als Postman of een codegenerator inleest.

openapi.yaml openen

Dezelfde tekst, plat

Zet .md achter het adres van een documentatiepagina en je krijgt hem als platte tekst. Handig als je een assistent laat meelezen. In llms.txt staat de hele lijst.

llms.txt openen

Zelf uitproberen

Plak een sleutel en druk op Probeer bij een aanroep hieronder. De sleutel blijft in deze browser en gaat nooit naar onze server. Het voorvoegsel kiest de omgeving: een sleutel die met gt_test_ begint gaat naar de proefomgeving.

Dit gaat nu naar:

Opdrachtgevers

GET /api/v1/customers

List clients

Wat je meegeeft

  • page integer

    standaard 1, minimaal 1

  • per_page integer

    standaard 25, minimaal 1, hoogstens 100

  • updated_since string, date-time

    Only records changed at or after this moment

Wat je terugkrijgt

  • 200 A page of records Customer
  • 401 A valid API key is required for this request.
  • 429 Too many API requests were made in a short period.
  • 500 An unexpected error prevented the request from being processed.
  • 400 A parameter or the JSON request is invalid.
POST /api/v1/customers

Create a client

Wat je meegeeft

  • Idempotency-Key string

    Optional unique key. Repeating the same request within 24 hours returns the stored response.

Wat je stuurt { "customer": { ... } }

  • name string
  • email string of leeg
  • phone string of leeg
  • address string of leeg
  • external_id string of leeg
  • custom_fields object

    The organisation's active extra fields, keyed by name.

Wat je terugkrijgt

  • 201 The new record Customer
  • 401 A valid API key is required for this request.
  • 429 Too many API requests were made in a short period.
  • 500 An unexpected error prevented the request from being processed.
  • 403 This API key does not have write access.
  • 415 Write requests with a body must use application/json.
  • 422 The data does not meet the conditions required to save it. This idempotency key already belongs to a different request body.
GET /api/v1/customers/{id}

Show a client

Wat je meegeeft

  • id integer ja

    in het pad

Wat je terugkrijgt

  • 200 The requested record Customer
  • 401 A valid API key is required for this request.
  • 429 Too many API requests were made in a short period.
  • 500 An unexpected error prevented the request from being processed.
  • 404 The requested record does not exist in this organisation.
PATCH /api/v1/customers/{id}

Change a client

Wat je meegeeft

  • id integer ja

    in het pad

  • Idempotency-Key string

    Optional unique key. Repeating the same request within 24 hours returns the stored response.

Wat je stuurt { "customer": { ... } }

  • name string
  • email string of leeg
  • phone string of leeg
  • address string of leeg
  • external_id string of leeg
  • custom_fields object

    The organisation's active extra fields, keyed by name.

Wat je terugkrijgt

  • 200 The changed record Customer
  • 401 A valid API key is required for this request.
  • 429 Too many API requests were made in a short period.
  • 500 An unexpected error prevented the request from being processed.
  • 404 The requested record does not exist in this organisation.
  • 403 This API key does not have write access.
  • 415 Write requests with a body must use application/json.
  • 422 The data does not meet the conditions required to save it. This idempotency key already belongs to a different request body.
PUT /api/v1/customers/{id}

Change a client

Wat je meegeeft

  • id integer ja

    in het pad

Wat je stuurt { "customer": { ... } }

  • name string
  • email string of leeg
  • phone string of leeg
  • address string of leeg
  • external_id string of leeg
  • custom_fields object

    The organisation's active extra fields, keyed by name.

Wat je terugkrijgt

  • 200 The changed record Customer
  • 401 A valid API key is required for this request.
  • 429 Too many API requests were made in a short period.
  • 500 An unexpected error prevented the request from being processed.
  • 404 The requested record does not exist in this organisation.
  • 403 This API key does not have write access.
  • 415 Write requests with a body must use application/json.
  • 422 The data does not meet the conditions required to save it. This idempotency key already belongs to a different request body.

Projecten

GET /api/v1/projects

List projects

Wat je meegeeft

  • page integer

    standaard 1, minimaal 1

  • per_page integer

    standaard 25, minimaal 1, hoogstens 100

  • updated_since string, date-time

    Only records changed at or after this moment

Wat je terugkrijgt

  • 200 A page of records Project
  • 401 A valid API key is required for this request.
  • 429 Too many API requests were made in a short period.
  • 500 An unexpected error prevented the request from being processed.
  • 400 A parameter or the JSON request is invalid.
POST /api/v1/projects

Create a project for a client of this organisation

Wat je meegeeft

  • Idempotency-Key string

    Optional unique key. Repeating the same request within 24 hours returns the stored response.

Wat je stuurt { "project": { ... } }

  • customer_id integer
  • name string
  • description string of leeg
  • active boolean
  • service string of leeg
  • budget_hours number of leeg
  • budget_other_costs number of leeg
  • fixed_price boolean
  • fixed_price_amount number of leeg
  • fixed_price_includes_materials boolean
  • custom_fields object

    The organisation's active extra fields, keyed by name.

Wat je terugkrijgt

  • 201 The new record Project
  • 401 A valid API key is required for this request.
  • 429 Too many API requests were made in a short period.
  • 500 An unexpected error prevented the request from being processed.
  • 404 The requested record does not exist in this organisation.
  • 403 This API key does not have write access.
  • 415 Write requests with a body must use application/json.
  • 422 The data does not meet the conditions required to save it. This idempotency key already belongs to a different request body.
GET /api/v1/projects/{id}

Show a project

Wat je meegeeft

  • id integer ja

    in het pad

Wat je terugkrijgt

  • 200 The requested record Project
  • 401 A valid API key is required for this request.
  • 429 Too many API requests were made in a short period.
  • 500 An unexpected error prevented the request from being processed.
  • 404 The requested record does not exist in this organisation.
PATCH /api/v1/projects/{id}

Change a project

Wat je meegeeft

  • id integer ja

    in het pad

  • Idempotency-Key string

    Optional unique key. Repeating the same request within 24 hours returns the stored response.

Wat je stuurt { "project": { ... } }

  • customer_id integer
  • name string
  • description string of leeg
  • active boolean
  • service string of leeg
  • budget_hours number of leeg
  • budget_other_costs number of leeg
  • fixed_price boolean
  • fixed_price_amount number of leeg
  • fixed_price_includes_materials boolean
  • custom_fields object

    The organisation's active extra fields, keyed by name.

Wat je terugkrijgt

  • 200 The changed record Project
  • 401 A valid API key is required for this request.
  • 429 Too many API requests were made in a short period.
  • 500 An unexpected error prevented the request from being processed.
  • 404 The requested record does not exist in this organisation.
  • 403 This API key does not have write access.
  • 415 Write requests with a body must use application/json.
  • 422 The data does not meet the conditions required to save it. This idempotency key already belongs to a different request body.
PUT /api/v1/projects/{id}

Change a project

Wat je meegeeft

  • id integer ja

    in het pad

Wat je stuurt { "project": { ... } }

  • customer_id integer
  • name string
  • description string of leeg
  • active boolean
  • service string of leeg
  • budget_hours number of leeg
  • budget_other_costs number of leeg
  • fixed_price boolean
  • fixed_price_amount number of leeg
  • fixed_price_includes_materials boolean
  • custom_fields object

    The organisation's active extra fields, keyed by name.

Wat je terugkrijgt

  • 200 The changed record Project
  • 401 A valid API key is required for this request.
  • 429 Too many API requests were made in a short period.
  • 500 An unexpected error prevented the request from being processed.
  • 404 The requested record does not exist in this organisation.
  • 403 This API key does not have write access.
  • 415 Write requests with a body must use application/json.
  • 422 The data does not meet the conditions required to save it. This idempotency key already belongs to a different request body.

Tijdregistraties

GET /api/v1/time_entries

List time entries

Wat je meegeeft

  • page integer

    standaard 1, minimaal 1

  • per_page integer

    standaard 25, minimaal 1, hoogstens 100

  • updated_since string, date-time

    Only records changed at or after this moment

Wat je terugkrijgt

  • 200 A page of records TimeEntry
  • 401 A valid API key is required for this request.
  • 429 Too many API requests were made in a short period.
  • 500 An unexpected error prevented the request from being processed.
  • 400 A parameter or the JSON request is invalid.
GET /api/v1/time_entries/{id}

Show a time entry

Wat je meegeeft

  • id integer ja

    in het pad

Wat je terugkrijgt

  • 200 The requested record TimeEntry
  • 401 A valid API key is required for this request.
  • 429 Too many API requests were made in a short period.
  • 500 An unexpected error prevented the request from being processed.
  • 404 The requested record does not exist in this organisation.

Facturen

PATCH /api/v1/invoices/{id}/booked

Record the invoice number another package gave this invoice

Wat je meegeeft

  • id integer ja

    in het pad

  • Idempotency-Key string

    Optional unique key. Repeating the same request within 24 hours returns the stored response.

Wat je stuurt { "invoice": { ... } }

  • external_invoice_id string ja

Wat je terugkrijgt

  • 200 The changed invoice Invoice
  • 401 A valid API key is required for this request.
  • 429 Too many API requests were made in a short period.
  • 500 An unexpected error prevented the request from being processed.
  • 404 The requested record does not exist in this organisation.
  • 403 This API key does not have write access.
  • 415 Write requests with a body must use application/json.
  • 422 The data does not meet the conditions required to save it. This idempotency key already belongs to a different request body.
GET /api/v1/invoices

List invoices issued by this organisation

Wat je meegeeft

  • page integer

    standaard 1, minimaal 1

  • per_page integer

    standaard 25, minimaal 1, hoogstens 100

  • updated_since string, date-time

    Only records changed at or after this moment

Wat je terugkrijgt

  • 200 A page of records Invoice
  • 401 A valid API key is required for this request.
  • 429 Too many API requests were made in a short period.
  • 500 An unexpected error prevented the request from being processed.
  • 400 A parameter or the JSON request is invalid.
GET /api/v1/invoices/{id}

Show an invoice with its lines

Wat je meegeeft

  • id integer ja

    in het pad

Wat je terugkrijgt

  • 200 The requested record Invoice
  • 401 A valid API key is required for this request.
  • 429 Too many API requests were made in a short period.
  • 500 An unexpected error prevented the request from being processed.
  • 404 The requested record does not exist in this organisation.

Diensten

GET /api/v1/services

List services

Wat je meegeeft

  • page integer

    standaard 1, minimaal 1

  • per_page integer

    standaard 25, minimaal 1, hoogstens 100

  • updated_since string, date-time

    Only records changed at or after this moment

Wat je terugkrijgt

  • 200 A page of records Service
  • 401 A valid API key is required for this request.
  • 429 Too many API requests were made in a short period.
  • 500 An unexpected error prevented the request from being processed.
  • 400 A parameter or the JSON request is invalid.
POST /api/v1/services

Create a service

Wat je meegeeft

  • Idempotency-Key string

    Optional unique key. Repeating the same request within 24 hours returns the stored response.

Wat je stuurt { "service": { ... } }

  • name string
  • description string of leeg
  • unit string of leeg
  • price_excl_vat number of leeg
  • vat_rate number of leeg
  • active boolean
  • custom_fields object

    The organisation's active extra fields, keyed by name.

Wat je terugkrijgt

  • 201 The new record Service
  • 401 A valid API key is required for this request.
  • 429 Too many API requests were made in a short period.
  • 500 An unexpected error prevented the request from being processed.
  • 403 This API key does not have write access.
  • 415 Write requests with a body must use application/json.
  • 422 The data does not meet the conditions required to save it. This idempotency key already belongs to a different request body.
GET /api/v1/services/{id}

Show a service

Wat je meegeeft

  • id integer ja

    in het pad

Wat je terugkrijgt

  • 200 The requested record Service
  • 401 A valid API key is required for this request.
  • 429 Too many API requests were made in a short period.
  • 500 An unexpected error prevented the request from being processed.
  • 404 The requested record does not exist in this organisation.
PATCH /api/v1/services/{id}

Change a service

Wat je meegeeft

  • id integer ja

    in het pad

  • Idempotency-Key string

    Optional unique key. Repeating the same request within 24 hours returns the stored response.

Wat je stuurt { "service": { ... } }

  • name string
  • description string of leeg
  • unit string of leeg
  • price_excl_vat number of leeg
  • vat_rate number of leeg
  • active boolean
  • custom_fields object

    The organisation's active extra fields, keyed by name.

Wat je terugkrijgt

  • 200 The changed record Service
  • 401 A valid API key is required for this request.
  • 429 Too many API requests were made in a short period.
  • 500 An unexpected error prevented the request from being processed.
  • 404 The requested record does not exist in this organisation.
  • 403 This API key does not have write access.
  • 415 Write requests with a body must use application/json.
  • 422 The data does not meet the conditions required to save it. This idempotency key already belongs to a different request body.
PUT /api/v1/services/{id}

Change a service

Wat je meegeeft

  • id integer ja

    in het pad

Wat je stuurt { "service": { ... } }

  • name string
  • description string of leeg
  • unit string of leeg
  • price_excl_vat number of leeg
  • vat_rate number of leeg
  • active boolean
  • custom_fields object

    The organisation's active extra fields, keyed by name.

Wat je terugkrijgt

  • 200 The changed record Service
  • 401 A valid API key is required for this request.
  • 429 Too many API requests were made in a short period.
  • 500 An unexpected error prevented the request from being processed.
  • 404 The requested record does not exist in this organisation.
  • 403 This API key does not have write access.
  • 415 Write requests with a body must use application/json.
  • 422 The data does not meet the conditions required to save it. This idempotency key already belongs to a different request body.

Materialen

GET /api/v1/materials

List materials

Wat je meegeeft

  • page integer

    standaard 1, minimaal 1

  • per_page integer

    standaard 25, minimaal 1, hoogstens 100

  • updated_since string, date-time

    Only records changed at or after this moment

Wat je terugkrijgt

  • 200 A page of records Material
  • 401 A valid API key is required for this request.
  • 429 Too many API requests were made in a short period.
  • 500 An unexpected error prevented the request from being processed.
  • 400 A parameter or the JSON request is invalid.
POST /api/v1/materials

Create a material

Wat je meegeeft

  • Idempotency-Key string

    Optional unique key. Repeating the same request within 24 hours returns the stored response.

Wat je stuurt { "material": { ... } }

  • name string
  • unit string of leeg
  • price_excl_vat number of leeg
  • vat_rate number of leeg
  • active boolean
  • custom_fields object

    The organisation's active extra fields, keyed by name.

Wat je terugkrijgt

  • 201 The new record Material
  • 401 A valid API key is required for this request.
  • 429 Too many API requests were made in a short period.
  • 500 An unexpected error prevented the request from being processed.
  • 403 This API key does not have write access.
  • 415 Write requests with a body must use application/json.
  • 422 The data does not meet the conditions required to save it. This idempotency key already belongs to a different request body.
GET /api/v1/materials/{id}

Show a material

Wat je meegeeft

  • id integer ja

    in het pad

Wat je terugkrijgt

  • 200 The requested record Material
  • 401 A valid API key is required for this request.
  • 429 Too many API requests were made in a short period.
  • 500 An unexpected error prevented the request from being processed.
  • 404 The requested record does not exist in this organisation.
PATCH /api/v1/materials/{id}

Change a material

Wat je meegeeft

  • id integer ja

    in het pad

  • Idempotency-Key string

    Optional unique key. Repeating the same request within 24 hours returns the stored response.

Wat je stuurt { "material": { ... } }

  • name string
  • unit string of leeg
  • price_excl_vat number of leeg
  • vat_rate number of leeg
  • active boolean
  • custom_fields object

    The organisation's active extra fields, keyed by name.

Wat je terugkrijgt

  • 200 The changed record Material
  • 401 A valid API key is required for this request.
  • 429 Too many API requests were made in a short period.
  • 500 An unexpected error prevented the request from being processed.
  • 404 The requested record does not exist in this organisation.
  • 403 This API key does not have write access.
  • 415 Write requests with a body must use application/json.
  • 422 The data does not meet the conditions required to save it. This idempotency key already belongs to a different request body.
PUT /api/v1/materials/{id}

Change a material

Wat je meegeeft

  • id integer ja

    in het pad

Wat je stuurt { "material": { ... } }

  • name string
  • unit string of leeg
  • price_excl_vat number of leeg
  • vat_rate number of leeg
  • active boolean
  • custom_fields object

    The organisation's active extra fields, keyed by name.

Wat je terugkrijgt

  • 200 The changed record Material
  • 401 A valid API key is required for this request.
  • 429 Too many API requests were made in a short period.
  • 500 An unexpected error prevented the request from being processed.
  • 404 The requested record does not exist in this organisation.
  • 403 This API key does not have write access.
  • 415 Write requests with a body must use application/json.
  • 422 The data does not meet the conditions required to save it. This idempotency key already belongs to a different request body.

Gegevensvormen

De velden die je terugkrijgt, per soort gegeven.

Problem

  • type string, uri-reference ja
  • title string ja
  • status integer ja
  • detail string ja
  • code string ja
  • instance string, uri-reference ja
  • errors object

Meta

  • page integer
  • per_page integer
  • total integer

CustomFields

InvoiceLine

  • type string
  • description string
  • quantity number
  • unit string
  • unit_price number
  • line_amount number

Customer

  • id integer
  • name string
  • email string of leeg
  • phone string of leeg
  • address string of leeg
  • external_id string of leeg
  • custom_fields object

    The organisation's active extra fields, keyed by name.

  • created_at string, date-time
  • updated_at string, date-time

Project

  • id integer
  • customer_id integer
  • name string
  • description string of leeg
  • active boolean
  • service string of leeg
  • budget_hours number of leeg
  • budget_other_costs number of leeg
  • fixed_price boolean
  • fixed_price_amount number of leeg
  • fixed_price_includes_materials boolean
  • custom_fields object

    The organisation's active extra fields, keyed by name.

  • created_at string, date-time
  • updated_at string, date-time

TimeEntry

  • id integer
  • customer_id integer
  • project_id integer of leeg
  • date string, date
  • hours number of leeg
  • break_minutes integer of leeg
  • comments string of leeg
  • service string of leeg
  • status string
  • invoice_id integer of leeg
  • net_amount number of leeg
  • total_amount number of leeg
  • custom_fields object

    The organisation's active extra fields, keyed by name.

  • created_at string, date-time
  • updated_at string, date-time

Invoice

  • id integer
  • target_type string
  • customer_id integer of leeg
  • vat_rate number of leeg
  • net_amount number of leeg
  • total_amount number of leeg
  • status string
  • external_invoice_id string of leeg
  • lines lijst van InvoiceLine
  • custom_fields object

    The organisation's active extra fields, keyed by name.

  • created_at string, date-time
  • updated_at string, date-time

Service

  • id integer
  • name string
  • description string of leeg
  • unit string of leeg
  • price_excl_vat number of leeg
  • vat_rate number of leeg
  • active boolean
  • custom_fields object

    The organisation's active extra fields, keyed by name.

  • created_at string, date-time
  • updated_at string, date-time

Material

  • id integer
  • name string
  • unit string of leeg
  • price_excl_vat number of leeg
  • vat_rate number of leeg
  • active boolean
  • custom_fields object

    The organisation's active extra fields, keyed by name.

  • created_at string, date-time
  • updated_at string, date-time