Excellent Books REST API (1.0.34.3)

Download OpenAPI specification:

REST API for Excellent Books ERP system by Excellent Business Solutions.

Available Registers

Complete list of all available registers and their fields: Standard Booksi registrite loetelu

For more documentation, visit the ERA Confluence Space.

Authentication

HTTP Basic Authentication

Encode username:password in Base64 for the Authorization header.

Important: Using Basic Auth on every request creates significant server load. We strongly recommend using cookie-based sessions after the initial authentication.

How it works:

  1. Make one request with Basic Auth credentials
  2. Server returns HSESSION cookie in the response
  3. Use this cookie for all subsequent requests (no Basic Auth needed)
  4. Session remains valid for the configured timeout period (e.g., 24 hours)

Server Configuration Required:

  • Module General > Settings > Optional Features (2nd tab): Ensure Do not allow Web API sessions is NOT checked
  • Module Technical > Registers > Program Settings > Web tab:
    • Max Sessions: Set to a value greater than 0 (e.g., 25)
    • Timeout, minutes: Set session duration (e.g., 1440 for 24 hours)

Example - Initial authentication request:

curl -X GET "https://YOUR-SERVER:PORT/api/1/" \
  -H "Authorization: Basic BASE64_CREDENTIALS" \
  -H "Accept: application/json" -c cookies.txt

Response includes: Set-Cookie: HSESSION=CC1AC3C5-DAC9C590-DA4FD41F-1E820CB7-C1713CC8

Example - Subsequent requests using session cookie:

curl -X GET "https://YOUR-SERVER:PORT/api/1/TRVc" \
  -H "Accept: application/json" \
  -H "Cookie: HSESSION=CC1AC3C5-DAC9C590-DA4FD41F-1E820CB7-C1713CC8"

Benefits:

  • Significantly reduced server load
  • Improved Excellent Books stability
  • Better performance for high-frequency integrations

OAuth 2.0 (via MyStandard)

OAuth 2.0 is supported using MyStandard as the Authorization Server. Requests authenticated with OAuth2 run on non-primary server threads, reducing impact on other users.

Endpoints:

  • Authorization: https://standard-id.hansaworld.com/oauth-authorize
  • Token: https://standard-id.hansaworld.com/oauth-token

Setup:

  1. Create an API user in Excellent Books with a validated email address
  2. Register Developer Credentials at mystandard.hansaworld.com/edit/devcred
  3. Configure your OAuth client with the endpoints above
  4. Authenticate via MyStandard login page
  5. Exchange authorization code for access tokens

Response Formats

  • Default: XML
  • JSON: Add header Accept: application/json

Common Query Parameters

All register endpoints support:

  • fields - Comma-separated list of fields to return
  • sort - Field to sort by, ascending only (required when using range)
  • range - Value range on the sort field (requires sort; without it the server returns HTTP 422). Three forms: from:to (between, inclusive), from: (from value onwards), or value (exact match). E.g., range=2025-01-01:2025-12-31
  • limit - Maximum number of records to return
  • offset - Number of records to skip (for pagination with limit)
  • updates_after - Get records modified after sequence number (Base registers only)
  • deletes_after - Get deleted record IDs after sequence number (Base registers only)
  • filter.FieldName - Filter on a header field (multiple filters combine as AND). Exact value (filter.Code=12), range from:to (filter.Sum4=100:1000) or upper bound :to. Text fields compare character by character, so filter.Code=1:2 also matches 10 and 1999. An open-ended from: returns no records (unlike range). No >=/<= operators. On a list field such as Objects the whole string must match: filter.Objects=KONTOR does not return KONTOR,JESS
  • listfilter.FieldName - Filter on a comma-separated list field such as Objects: returns records whose list contains the value as a whole item. listfilter.Objects=KONTOR returns KONTOR and JESS,KONTOR; listfilter.Objects=KON returns nothing. Several values (listfilter.Objects=KONTOR,JESS) must all be present, in any order (observed on 8.5.56)
  • get_links=1 - Include record links; attachment links contain @comment (file name) and a URL such as /api/0/Attach2Vc/1090
  • get_attachdata=1 - On GET Attach2Vc, include Base64 file content in attachment (observed on 8.5.56)

Sequence numbers are in the JSON body: data.@sequence and each record's @sequence, not a response header. Use data.@sequence for the next updates_after request.

Unknown parameters are ignored without an error: a misspelled parameter (listfiltr.Objects=X) or an unknown field name (filter.NoSuchField=X) returns the records unfiltered.

Combining Parameters

All query parameters can be combined freely:

# Invoices for customer 10005, sorted by date, in a date range
https://YOUR-SERVER:PORT/api/1/IVVc?filter.CustCode=10005&sort=InvDate&range=2026-01-27:2026-02-28&limit=10

# Approved invoices for customer 10003 in 2025
https://YOUR-SERVER:PORT/api/1/IVVc?filter.CustCode=10003&filter.OKFlag=1&sort=InvDate&range=2025-01-01:2025-12-31

# 2025 invoices that carry object KONTOR among their objects
https://YOUR-SERVER:PORT/api/1/IVVc?listfilter.Objects=KONTOR&sort=InvDate&range=2025-01-01:2025-12-31

# Contacts created from 2020 onwards (open-ended range)
https://YOUR-SERVER:PORT/api/1/CUVc?sort=DateCreated&range=2020-01-01:

# Single object by code (exact match shorthand)
https://YOUR-SERVER:PORT/api/1/ObjVc?sort=Code&range=ANNIKA

Pagination

Use offset and limit together to paginate through large result sets:

# First page (records 0-4)
https://YOUR-SERVER:PORT/api/1/IVVc?offset=0&limit=5

# Second page (records 5-9)
https://YOUR-SERVER:PORT/api/1/IVVc?offset=5&limit=5

# Third page (records 10-14)
https://YOUR-SERVER:PORT/api/1/IVVc?offset=10&limit=5

curl Examples

GET - List records

Returns only fields that contain data (empty fields are omitted).

curl -X GET "https://YOUR-SERVER:PORT/api/1/ObjVc" \
  -H "Authorization: Basic BASE64_CREDENTIALS" \
  -H "Accept: application/json"

GET - With filters

Returns all fields for each record, including empty ones.

curl -X GET "https://YOUR-SERVER:PORT/api/1/INVc?sort=Code&range=104:110&fields=Code,Name,UPrice1" \
  -H "Authorization: Basic BASE64_CREDENTIALS" \
  -H "Accept: application/json"

GET - With pagination

curl -X GET "https://YOUR-SERVER:PORT/api/1/IVVc?offset=0&limit=5" \
  -H "Authorization: Basic BASE64_CREDENTIALS" \
  -H "Accept: application/json"

POST - Create record

curl -X POST "https://YOUR-SERVER:PORT/api/1/ObjVc" \
  -H "Authorization: Basic BASE64_CREDENTIALS" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -H "Accept: application/json" \
  -d "set_field.Code=NEWOBJ&set_field.Comment=New Object Name"

POST - Create with rows

curl -X POST "https://YOUR-SERVER:PORT/api/1/IVVc" \
  -H "Authorization: Basic BASE64_CREDENTIALS" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -H "Accept: application/json" \
  -d "set_field.CustCode=C001&set_field.InvDate=2024-01-15&set_row_field.0.ArtCode=ITEM1&set_row_field.0.Quant=2&set_row_field.0.Price=100"

POST - Create multiple records (JSON)

JSON format allows creating multiple records in a single request. The @register field inside the body is optional — the register is identified by the URL and array key.

curl -X POST "https://YOUR-SERVER:PORT/api/1/ObjVc" \
  -H "Authorization: Basic BASE64_CREDENTIALS" \
  -H "Content-Type: application/json; charset=utf-8" \
  -H "Accept: application/json" \
  -d '{
    "data": {
        "ObjVc": [
            {"Code": "OBJ1", "Comment": "First object"},
            {"Code": "OBJ2", "Comment": "Second object"},
            {"Code": "OBJ3", "Comment": "Third object"}
        ]
    }
}'

POST - Create record with rows (JSON)

For registers with row data (invoices, orders, etc.), include a rows array inside each record — same structure as returned by GET.

curl -X POST "https://YOUR-SERVER:PORT/api/1/IVVc" \
  -H "Authorization: Basic BASE64_CREDENTIALS" \
  -H "Content-Type: application/json; charset=utf-8" \
  -H "Accept: application/json" \
  -d '{
    "data": {
        "IVVc": [{
            "InvDate": "2026-03-25",
            "TransDate": "2026-03-25",
            "PayDate": "2026-04-01",
            "CustCode": "50",
            "Addr0": "Customer Name",
            "PayDeal": "7",
            "CurncyCode": "EUR",
            "ARAcc": "1210",
            "InvType": "1",
            "rows": [
                {"stp": "1", "ArtCode": "2002", "Quant": "1", "Price": "50.00", "VATCode": "22", "SalesAcc": "3510"},
                {"stp": "1", "ArtCode": "2002", "Quant": "2", "Price": "25.00", "VATCode": "22", "SalesAcc": "3510"}
            ]
        }]
    }
}'

PATCH - Update record

curl -X PATCH "https://YOUR-SERVER:PORT/api/1/ObjVc/MYCODE" \
  -H "Authorization: Basic BASE64_CREDENTIALS" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -H "Accept: application/json" \
  -d "set_field.Comment=Updated Name"

Data Format

Form-encoded (single record)

  • Content-Type: application/x-www-form-urlencoded
  • Header fields: set_field.FieldName=value
  • Row fields: set_row_field.N.FieldName=value (N = row index starting at 0)
  • A + in a form-urlencoded value is stored literally; encode spaces as %20.

JSON (single or multiple records)

  • Content-Type: application/json; charset=utf-8
  • Wrap records in {"data": {"RegisterCode": [{...}, {...}]}}
  • The array key must match the register code in the URL
  • The @register field inside objects is optional
  • Main advantage: batch creation of multiple records in one request

⚠️ Important: JSON POST does not trigger window actions (paste specials). With form-encoded POST, setting e.g. CustCode on an invoice auto-fills customer name, address, payment terms etc. With JSON, no fields are auto-populated — you must provide all required field values explicitly. This matters most for transactional registers (invoices, orders, etc.) where many fields normally auto-fill from master data.

Webhooks

Register a subscription with a logged-in ERP user:

GET https://SERVER:PORT/WebRegisterWebHook.hal?companynr=1&app=ExcellentAPI&name=Example&url=https%3A%2F%2FCALLBACK%3APORT%2Fhook&type=0&period=0
Authorization: Basic <credentials>

Successful registration returns {"id":"<UUID>"}. The handler emits an empty body if registration does not complete. companynr selects the company; app selects the integration/delivery branch; name is the subscription comment; url is the POST destination. period is stored but ignored by the shown scheduler; zero does not disable delivery.

type=0&app=ExcellentAPI uses the broad register/settings sender. Named types are 1 items, 2 stock, 3 activities, 4 gift vouchers, 5 purchase orders, 6 sales orders, 7 contacts, 8 quotations, 9 sales invoices, 10 purchase invoices, 11 receipts, 12 payments, 13 transactions, 14 accounts and 15 prices. Types 11–15 reach the broad delivery fallback only for app=ExcellentAPI; type 4 has a built-in sender only for app=TikiTakaApp. Types 1–10 select specialised payloads.

Optional filter1–filter3 have register-specific meanings, listed in the registration operation. For extra=2, send efilter0=FieldName&eval0=Value&efilter1=OtherField&eval1=OtherValue. Supported extra filters compare header values for exact string equality and must all match. Their support and change-transition conditions vary by register.

Delivery runs through the periodic integration task. The broad sender POSTs JSON arrays of up to 100 pending entries per register. Each entry contains RecordID, Register, ExternalID, APIRecordUUID, UserStr1–UserStr5, Status (created, updated, deleted) and WebHookID. Readable nondeleted entries also contain record, with string field values and optional rows; deleted entries omit record. Specialised senders use the flat payloads listed in the operation.

Callbacks use Content-Type: application/json; charset=utf-8. A successful SendWebRequest result queues clearing the batch's pending update status. A false result leaves entries pending for a later pass; the code does not parse an acknowledgment body.

Remove a subscription in the same company context:

GET https://SERVER:PORT/WebUnRegisterWebHook.hal?id=%7B%22id%22%3A%22%3CUUID%3E%22%7D

The decoded id query value is {"id":"<UUID>"}, not a bare UUID. Removal requires a logged-in user and returns an empty body, including when no record is removed. This handler does not read companynr.

Save Errors and Confirmed Records (observed on 8.5.56)

Save validation errors return HTTP 200. Always check the response body for messages and error, for example:

{"messages":["Enter payment term"],"error":{"@code":"1256","@description":"","@field":"PayDeal"}}

The HTTP status alone does not show whether the save succeeded. Row errors may also include @row.

A confirmed record (OKFlag=1) ignores PATCH: HTTP 200 with an empty error object, but no fields change. This was observed on sales invoices and sales orders. Re-read the record to verify updates.

Webhooks

Public webhook subscription management; merge rest_paths into the REST specification's paths.

Register a webhook

Creates an active APIInterfaceTaskVc subscription in the company resolved from companynr. Requires a logged-in CurrentUser; the demo-verified initial request uses HTTP Basic authentication. The handler does not explicitly reject missing app, name, url, type, period or filter arguments; downstream record validation can still reject insertion. Returns {"id":""} only when insertion succeeds. If no user is logged in, company resolution/switching fails or insertion fails, this handler emits no body and no structured error.

type Task/delivery meaning
0 No named type constant; with app=ExcellentAPI, enters the broad ExcellentAPI delivery branch. A different app has no built-in fallback sender.
1 Items (INVc)
2 Stock (ItemStatusVc)
3 Activities (ActVc)
4 Gift vouchers; built-in dispatch only for app=TikiTakaApp
5 Purchase orders (POVc)
6 Sales orders (ORVc)
7 Contacts (CUVc)
8 Quotations (QTVc)
9 Sales invoices (IVVc)
10 Purchase invoices (VIVc)
11 Receipts (IPVc)
12 Payments (OPVc)
13 Transactions (TRVc)
14 Accounts (AccVc)
15 Prices (PLVc)

Types 11-15 have constants and change tracking, but no individual case in this delivery switch: they reach the fallback, which sends only when app=ExcellentAPI. Types 1-10 select specialised delivery; app=ExcellentAPI does not override those cases. app=Pigu and app=TikiTakaApp have additional specialised cases. Other extensions may intercept task dispatch.

Register/event filter1 filter2 filter3
INVc items Used with filter2 by the stock-location helper for optional Qty Same location helper Display-group set match (DispGroups)
ItemStatusVc stock Location helper Location helper Display-group set match on item
ActVc activities Exact ActType Membership in MainPersons Exact activity-type group (ActTypeGr)
POVc purchase orders Exact POClass No string-filter check No string-filter check
ORVc sales orders Exact OrderClass No string-filter check No string-filter check
CUVc contacts Classification set match No string-filter check No string-filter check
QTVc quotations QuoteClass set match No string-filter check No string-filter check
IVVc sales invoices Exact Location Exact PayDeal No string-filter check
VIVc purchase invoices Exact VECode Exact PayDeal No string-filter check
IPVc receipts / OPVc payments Exact PayMode No string-filter check No string-filter check
PLVc prices Exact PLCode No string-filter check No string-filter check

Blank string filters skip their checks. Set matching uses the ERP SetInSet/SetInSet2 functions. filter1/filter2 do not set the numeric IntFilter1 confirmation filter. The exports call APILocationMatches for stock-location selection but omit its body; exact location-filter syntax is not established here.

extra is the number of extra header-field equality filters. For extra=2 send efilter0/eval0 and efilter1/eval1. Each nonblank efilterN names a header field; evalN must equal its current string value. All such rows must match. These checks are implemented for items, activities, purchase orders, sales orders, contacts, quotations, sales invoices and purchase invoices. They are not applied by the shown receipt, payment, account, transaction or price filters. When task TrackChanges=0, those change-filter functions also require a qualifying filter-field transition; matching a steady value alone does not guarantee delivery. Registration does not expose TrackChanges or IntFilter1.

Delivery is asynchronous: change-tracking helpers mark APIRecordVc entries pending; the periodic integration task scans active tasks across companies and sends pending entries. Registration itself inserts an active task; it does not send a callback or start the scheduler. period is stored but the shown scheduler does not test it (the Period>0 guard is commented out); period=0 does not disable this task. No per-subscription interval or immediate-delivery guarantee is implemented here.

Callbacks use HTTP POST to url with Content-Type application/json; charset=utf-8 and a timeout argument of 30. When SendWebRequest returns true, the sender queues reset of the batch's update status. On false it does not reset the entries, so they remain eligible for a later pass. The code does not parse a callback acknowledgment body or implement a separate HTTP-status retry policy.

For type=0 with app=ExcellentAPI, the built-in fallback sends batches of up to 100 pending records per register. Each JSON array entry has RecordID, Register, ExternalID, APIRecordUUID, UserStr1 through UserStr5, Status (updated, created or deleted), WebHookID, and, for a nondeleted record that can be read, record containing its fields and optional rows. Values inside record are strings; dates use YYYY-MM-DD and decimals a point. Deleted entries omit record. This branch covers many registers/settings, not one register chosen by type.

Example callback for this branch (record fields depend on the register's HAL definition):

[
  {
    "RecordID": "10001",
    "Register": "INVc",
    "ExternalID": "",
    "APIRecordUUID": "00000000-0000-4000-8000-000000000002",
    "UserStr1": "",
    "UserStr2": "",
    "UserStr3": "",
    "UserStr4": "",
    "UserStr5": "",
    "Status": "updated",
    "WebHookID": "00000000-0000-4000-8000-000000000001",
    "record": {
      "Code": "10001",
      "Name": "Example item"
    }
  }
]

Specialised callbacks are also JSON arrays, but have no universal nested record shape:

type Entry fields
1 API_ID, SYSTEM_ID, Name, Group, AlternativeCode, Unit, Status, BarCode, Terminated, NotForSales, ItemType, Price; optional Qty when locations were selected
2 API_ID, SYSTEM_ID, Name, Qty
3 SerNr, Comment, StartDate, EndDate, StartTime, EndTime, User, CustCode, CustName, PRCode, OKFlag, ActType, EmailAddr, plus shared metadata
5 SerNr, Comment, VEName, User, PlanShip, TransDate, TotalSum, SubTotal, VAT, rows, plus shared metadata
6 / 8 SerNr, Comment, CustCode, CustName, OrderClass, User, OrdDate, TotalSum, SubTotal, VAT, rows, plus shared metadata (8 uses the quotation date/class)
9 SerNr, CustCode, CustName, Location, User, InvDate, TotalSum, SubTotal, VAT, rows, plus shared metadata
10 SerNr, VECode, VEName, InvoiceNr, InvDate, Total, VAT, CalcVAT, rows, plus shared metadata
7 Code, Name, RegNr, VATNr, CustType, Email, plus shared metadata

Shared metadata for types 3 and 5-10 is APIRecordUUID, UserStr1 through UserStr5, WebHookID, Status and ExternalID. Rows for 5/6/8/9 contain ArtCode, Name, Qty, Price, Sum, Discount; rows for 10 contain AccNumber, Name, Objects, Sum, VATCode. Specialised amounts/quantities are JSON numbers; identifiers, dates and text are strings. app-specific Pigu/TikiTakaApp payloads are outside this generic callback contract.

Example Request:

GET https://SERVER:PORT/WebRegisterWebHook.hal?companynr=1&app=ExcellentAPI&name=Example&url=https%3A%2F%2FCALLBACK%3APORT%2Fhook&type=0&period=0
Authorization: Basic <credentials>

Example Response:

{"id":"00000000-0000-4000-8000-000000000001"}
Authorizations:
basicAuthsessionCookieoauth2
query Parameters
companynr
string

Company identifier passed to GetLocalCompanyNr(companynr,true); registration switches to the resolved company and restores the prior one.

app
string

Stored as Integration. Selects routing and groups pending integration records. Use ExcellentAPI with type=0 for the broad record payload described above.

name
string

Subscription comment/name, stored as Comment.

url
string

Callback URL, stored as HookUrl; callbacks use POST.

type
integer

Integer task type; see the complete mapping and dispatch limits above.

period
integer

Stored integer. The scheduler shown here ignores it; 0 is accepted and is not a disable flag.

filter1
string

Optional register-dependent string filter; see table.

filter2
string

Optional register-dependent string filter; see table.

filter3
string

Optional register-dependent string filter; see table.

extra
integer

Count of extra filter rows; sends efilterN/evalN for N=0 through extra-1.

efilter0
string

Header field name for the first extra filter; repeat as efilter1, efilter2, ... up to extra-1.

eval0
string

Exact string value for efilter0; repeat as eval1, eval2, ... up to extra-1.

Responses

Response samples

Content type
application/json
{
  • "id": "00000000-0000-4000-8000-000000000001"
}

Unregister a webhook

Requires a logged-in CurrentUser. Parses query id as JSON containing an id property, converts that property to a UUID and removes the matching APIInterfaceTaskVc in the current company. This handler does not read companynr or switch company. It emits no body on removal or when no record is removed.

Example Request:

GET https://SERVER:PORT/WebUnRegisterWebHook.hal?id=%7B%22id%22%3A%2200000000-0000-4000-8000-000000000001%22%7D

The decoded query value is {"id":"00000000-0000-4000-8000-000000000001"}; a bare UUID is not the input format.

Example Response: Empty body.

Authorizations:
basicAuthsessionCookieoauth2
query Parameters
id
required
string

URL-encoded JSON object with property id containing the UUID returned at registration.

Responses

Objects

List Objects

Retrieve objects/tags used for categorizing transactions

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

sort
string
Example: sort=Code

Field to sort results by (required when using range)

range
string
Example: range=2025-01-01:2025-12-31

Value range on the sort field (requires sort). Three forms: from:to (between, inclusive), from: (from value onwards, open-ended), or value (exact match, shorthand for value:value). Without sort, the server returns HTTP 422.

updates_after
integer

Get records modified after this sequence number. Read it from data.@sequence in the JSON body (also present per record as @sequence), not a response header.

Responses

Response samples

Content type
{
  • "data": {
    }
}

Create Object

Create a new object/tag

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

Request Body schema:
required

Supports two formats: form-encoded for single records, or JSON for single/multiple records in one request. The @register field inside the JSON body is optional.

set_field.Code
string
set_field.Comment
string

Responses

Request samples

Content type
No sample

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get Object by Code

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

code
required
string

Responses

Update Object

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

code
required
string
Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Items

List Items/Articles

Retrieve items from the product catalog

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

sort
string
Example: sort=Code

Field to sort results by (required when using range)

range
string
Example: range=2025-01-01:2025-12-31

Value range on the sort field (requires sort). Three forms: from:to (between, inclusive), from: (from value onwards, open-ended), or value (exact match, shorthand for value:value). Without sort, the server returns HTTP 422.

updates_after
integer

Get records modified after this sequence number. Read it from data.@sequence in the JSON body (also present per record as @sequence), not a response header.

Responses

Response samples

Content type
{
  • "data": {
    }
}

Create Item

Create a new item/article.

Example request body:

set_field.Code=NEWITEM&set_field.Name=New Product&set_field.UPrice1=100.00&set_field.VATCode=22
Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Get Item by Code

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

code
required
string

Responses

Update Item

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

code
required
string
Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Contacts

List Contacts

Retrieve contacts (customers and suppliers)

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

sort
string
Example: sort=Code

Field to sort results by (required when using range)

range
string
Example: range=2025-01-01:2025-12-31

Value range on the sort field (requires sort). Three forms: from:to (between, inclusive), from: (from value onwards, open-ended), or value (exact match, shorthand for value:value). Without sort, the server returns HTTP 422.

updates_after
integer

Get records modified after this sequence number. Read it from data.@sequence in the JSON body (also present per record as @sequence), not a response header.

Responses

Response samples

Content type
{
  • "data": {
    }
}

Create Contact

Create a new contact (customer/supplier).

Example:

set_field.Name=New Company OÜ&set_field.CUType=1&set_field.CountryCode=EE&set_field.ExportFlag=0
Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Get Contact by Code

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

code
required
string

Responses

Update Contact

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

code
required
string
Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Sales Invoices

List Sales Invoices

Retrieve sales invoices

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
get_links
integer
Value: 1

Include record links. Attachment links contain @comment (file name) and a URL such as /api/0/Attach2Vc/1090 (observed on 8.5.56).

fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

sort
string
Example: sort=Code

Field to sort results by (required when using range)

range
string
Example: range=2025-01-01:2025-12-31

Value range on the sort field (requires sort). Three forms: from:to (between, inclusive), from: (from value onwards, open-ended), or value (exact match, shorthand for value:value). Without sort, the server returns HTTP 422.

Responses

Response samples

Content type
{
  • "data": {
    }
}

Create Sales Invoice

Create a new sales invoice with line items.

Example:

set_field.CustCode=C001&set_field.InvDate=2024-01-15&set_row_field.0.ArtCode=ITEM1&set_row_field.0.Quant=2
Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Get Sales Invoice by Number

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer

Invoice serial number

query Parameters
get_links
integer
Value: 1

Include record links. Attachment links contain @comment (file name) and a URL such as /api/0/Attach2Vc/1090 (observed on 8.5.56).

Responses

Update Sales Invoice

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer
Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Purchase Invoices

List Purchase Invoices

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

sort
string
Example: sort=Code

Field to sort results by (required when using range)

range
string
Example: range=2025-01-01:2025-12-31

Value range on the sort field (requires sort). Three forms: from:to (between, inclusive), from: (from value onwards, open-ended), or value (exact match, shorthand for value:value). Without sort, the server returns HTTP 422.

Responses

Response samples

Content type
{
  • "data": {
    }
}

Create Purchase Invoice

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Get Purchase Invoices by Serial number

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer

Serial number

Responses

Update Purchase Invoices

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer

Serial number

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Accounts

List Financial Accounts

Retrieve chart of accounts

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

sort
string
Example: sort=Code

Field to sort results by (required when using range)

range
string
Example: range=2025-01-01:2025-12-31

Value range on the sort field (requires sort). Three forms: from:to (between, inclusive), from: (from value onwards, open-ended), or value (exact match, shorthand for value:value). Without sort, the server returns HTTP 422.

updates_after
integer

Get records modified after this sequence number. Read it from data.@sequence in the JSON body (also present per record as @sequence), not a response header.

Responses

Response samples

Content type
{
  • "data": {
    }
}

Create Financial Account

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Sales Orders

List Sales Orders

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

sort
string
Example: sort=Code

Field to sort results by (required when using range)

range
string
Example: range=2025-01-01:2025-12-31

Value range on the sort field (requires sort). Three forms: from:to (between, inclusive), from: (from value onwards, open-ended), or value (exact match, shorthand for value:value). Without sort, the server returns HTTP 422.

Responses

Response samples

Content type
{
  • "data": {
    }
}

Create Sales Order

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Get Sales Orders by Serial number

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer

Serial number

Responses

Update Sales Orders

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer

Serial number

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Purchase Orders

List Purchase Orders

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

sort
string
Example: sort=Code

Field to sort results by (required when using range)

range
string
Example: range=2025-01-01:2025-12-31

Value range on the sort field (requires sort). Three forms: from:to (between, inclusive), from: (from value onwards, open-ended), or value (exact match, shorthand for value:value). Without sort, the server returns HTTP 422.

Responses

Response samples

Content type
{
  • "data": {
    }
}

Create Purchase Order

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Get Purchase Orders by Serial number

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer

Serial number

Responses

Update Purchase Orders

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer

Serial number

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Goods Receipts

List Goods Receipts

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

sort
string
Example: sort=Code

Field to sort results by (required when using range)

range
string
Example: range=2025-01-01:2025-12-31

Value range on the sort field (requires sort). Three forms: from:to (between, inclusive), from: (from value onwards, open-ended), or value (exact match, shorthand for value:value). Without sort, the server returns HTTP 422.

Responses

Response samples

Content type
{
  • "data": {
    }
}

Create Goods Receipt

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Get Goods Receipts by Serial number

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer

Serial number

Responses

Update Goods Receipts

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer

Serial number

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Quotations

List Quotations

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

sort
string
Example: sort=Code

Field to sort results by (required when using range)

range
string
Example: range=2025-01-01:2025-12-31

Value range on the sort field (requires sort). Three forms: from:to (between, inclusive), from: (from value onwards, open-ended), or value (exact match, shorthand for value:value). Without sort, the server returns HTTP 422.

Responses

Response samples

Content type
{
  • "data": {
    }
}

Create Quotation

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Get Quotations by Serial number

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer

Serial number

Responses

Update Quotations

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer

Serial number

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Expenses

List Expense Reports

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

sort
string
Example: sort=Code

Field to sort results by (required when using range)

range
string
Example: range=2025-01-01:2025-12-31

Value range on the sort field (requires sort). Three forms: from:to (between, inclusive), from: (from value onwards, open-ended), or value (exact match, shorthand for value:value). Without sort, the server returns HTTP 422.

Responses

Response samples

Content type
{
  • "data": {
    }
}

Create Expense Report

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Get Expenses by Serial number

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer

Serial number

Responses

Update Expenses

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer

Serial number

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Stock Balance

Get Stock Balance

Read-only register for stock levels

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

sort
string
Example: sort=Code

Field to sort results by (required when using range)

range
string
Example: range=2025-01-01:2025-12-31

Value range on the sort field (requires sort). Three forms: from:to (between, inclusive), from: (from value onwards, open-ended), or value (exact match, shorthand for value:value). Without sort, the server returns HTTP 422.

Responses

Response samples

Content type
{
  • "data": {
    }
}

Prices

List Prices

Price list

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

sort
string
Example: sort=Code

Field to sort results by (required when using range)

range
string
Example: range=2025-01-01:2025-12-31

Value range on the sort field (requires sort). Three forms: from:to (between, inclusive), from: (from value onwards, open-ended), or value (exact match, shorthand for value:value). Without sort, the server returns HTTP 422.

updates_after
integer

Get records modified after this sequence number. Read it from data.@sequence in the JSON body (also present per record as @sequence), not a response header.

Responses

Response samples

Content type
{
  • "data": {
    }
}

Create Prices

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Get Prices by Serial number

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer

Serial number

Responses

Update Prices

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer

Serial number

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

PaymentTerms

List PaymentTerms

Payment terms

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

sort
string
Example: sort=Code

Field to sort results by (required when using range)

range
string
Example: range=2025-01-01:2025-12-31

Value range on the sort field (requires sort). Three forms: from:to (between, inclusive), from: (from value onwards, open-ended), or value (exact match, shorthand for value:value). Without sort, the server returns HTTP 422.

updates_after
integer

Get records modified after this sequence number. Read it from data.@sequence in the JSON body (also present per record as @sequence), not a response header.

Responses

Response samples

Content type
{
  • "data": {
    }
}

Create PaymentTerms

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Get PaymentTerms by Code

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

code
required
string

Code

Responses

Update PaymentTerms

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

code
required
string

Code

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

CustomerClasses

List CustomerClasses

Customer classes/categories

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

sort
string
Example: sort=Code

Field to sort results by (required when using range)

range
string
Example: range=2025-01-01:2025-12-31

Value range on the sort field (requires sort). Three forms: from:to (between, inclusive), from: (from value onwards, open-ended), or value (exact match, shorthand for value:value). Without sort, the server returns HTTP 422.

updates_after
integer

Get records modified after this sequence number. Read it from data.@sequence in the JSON body (also present per record as @sequence), not a response header.

Responses

Response samples

Content type
{
  • "data": {
    }
}

Create CustomerClasses

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Get CustomerClasses by Code

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

code
required
string

Code

Responses

Update CustomerClasses

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

code
required
string

Code

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

ItemClasses

List ItemClasses

Item classes

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

sort
string
Example: sort=Code

Field to sort results by (required when using range)

range
string
Example: range=2025-01-01:2025-12-31

Value range on the sort field (requires sort). Three forms: from:to (between, inclusive), from: (from value onwards, open-ended), or value (exact match, shorthand for value:value). Without sort, the server returns HTTP 422.

updates_after
integer

Get records modified after this sequence number. Read it from data.@sequence in the JSON body (also present per record as @sequence), not a response header.

Responses

Response samples

Content type
{
  • "data": {
    }
}

Create ItemClasses

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Get ItemClasses by Code

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

code
required
string

Code

Responses

Update ItemClasses

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

code
required
string

Code

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

DeliveryAddresses

List DeliveryAddresses

Delivery addresses

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

sort
string
Example: sort=Code

Field to sort results by (required when using range)

range
string
Example: range=2025-01-01:2025-12-31

Value range on the sort field (requires sort). Three forms: from:to (between, inclusive), from: (from value onwards, open-ended), or value (exact match, shorthand for value:value). Without sort, the server returns HTTP 422.

updates_after
integer

Get records modified after this sequence number. Read it from data.@sequence in the JSON body (also present per record as @sequence), not a response header.

Responses

Response samples

Content type
{
  • "data": {
    }
}

Create DeliveryAddresses

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Get DeliveryAddresses by Code

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

code
required
string

Code

Responses

Update DeliveryAddresses

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

code
required
string

Code

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Employees

List Employees

Employees

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

sort
string
Example: sort=Code

Field to sort results by (required when using range)

range
string
Example: range=2025-01-01:2025-12-31

Value range on the sort field (requires sort). Three forms: from:to (between, inclusive), from: (from value onwards, open-ended), or value (exact match, shorthand for value:value). Without sort, the server returns HTTP 422.

updates_after
integer

Get records modified after this sequence number. Read it from data.@sequence in the JSON body (also present per record as @sequence), not a response header.

Responses

Response samples

Content type
{
  • "data": {
    }
}

Create Employees

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Get Employees by Code

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

code
required
string

Code

Responses

Update Employees

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

code
required
string

Code

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

ItemClassifiers

List ItemClassifiers

Item classifiers

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

sort
string
Example: sort=Code

Field to sort results by (required when using range)

range
string
Example: range=2025-01-01:2025-12-31

Value range on the sort field (requires sort). Three forms: from:to (between, inclusive), from: (from value onwards, open-ended), or value (exact match, shorthand for value:value). Without sort, the server returns HTTP 422.

updates_after
integer

Get records modified after this sequence number. Read it from data.@sequence in the JSON body (also present per record as @sequence), not a response header.

Responses

Response samples

Content type
{
  • "data": {
    }
}

Create ItemClassifiers

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Get ItemClassifiers by Code

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

code
required
string

Code

Responses

Update ItemClassifiers

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

code
required
string

Code

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

SerialBalance

List SerialBalance

Serial number balance (read-only)

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

sort
string
Example: sort=Code

Field to sort results by (required when using range)

range
string
Example: range=2025-01-01:2025-12-31

Value range on the sort field (requires sort). Three forms: from:to (between, inclusive), from: (from value onwards, open-ended), or value (exact match, shorthand for value:value). Without sort, the server returns HTTP 422.

updates_after
integer

Get records modified after this sequence number. Read it from data.@sequence in the JSON body (also present per record as @sequence), not a response header.

Responses

Response samples

Content type
{
  • "data": {
    }
}

Create SerialBalance

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

ContactRelations

List ContactRelations

Contact relations

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

sort
string
Example: sort=Code

Field to sort results by (required when using range)

range
string
Example: range=2025-01-01:2025-12-31

Value range on the sort field (requires sort). Three forms: from:to (between, inclusive), from: (from value onwards, open-ended), or value (exact match, shorthand for value:value). Without sort, the server returns HTTP 422.

updates_after
integer

Get records modified after this sequence number. Read it from data.@sequence in the JSON body (also present per record as @sequence), not a response header.

Responses

Response samples

Content type
{
  • "data": {
    }
}

Create ContactRelations

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Get ContactRelations by Code

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

code
required
string

Code

Responses

Update ContactRelations

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

code
required
string

Code

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Users

List Users

Users/Persons

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

sort
string
Example: sort=Code

Field to sort results by (required when using range)

range
string
Example: range=2025-01-01:2025-12-31

Value range on the sort field (requires sort). Three forms: from:to (between, inclusive), from: (from value onwards, open-ended), or value (exact match, shorthand for value:value). Without sort, the server returns HTTP 422.

updates_after
integer

Get records modified after this sequence number. Read it from data.@sequence in the JSON body (also present per record as @sequence), not a response header.

Responses

Response samples

Content type
{
  • "data": {
    }
}

Create Users

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Get Users by Code

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

code
required
string

Code

Responses

Update Users

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

code
required
string

Code

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

QuantityDiscounts

List QuantityDiscounts

Quantity discount scales

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

sort
string
Example: sort=Code

Field to sort results by (required when using range)

range
string
Example: range=2025-01-01:2025-12-31

Value range on the sort field (requires sort). Three forms: from:to (between, inclusive), from: (from value onwards, open-ended), or value (exact match, shorthand for value:value). Without sort, the server returns HTTP 422.

updates_after
integer

Get records modified after this sequence number. Read it from data.@sequence in the JSON body (also present per record as @sequence), not a response header.

Responses

Response samples

Content type
{
  • "data": {
    }
}

Create QuantityDiscounts

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Get QuantityDiscounts by Code

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

code
required
string

Code

Responses

Update QuantityDiscounts

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

code
required
string

Code

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

DiscountMatrices

List DiscountMatrices

Discount matrices

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

sort
string
Example: sort=Code

Field to sort results by (required when using range)

range
string
Example: range=2025-01-01:2025-12-31

Value range on the sort field (requires sort). Three forms: from:to (between, inclusive), from: (from value onwards, open-ended), or value (exact match, shorthand for value:value). Without sort, the server returns HTTP 422.

updates_after
integer

Get records modified after this sequence number. Read it from data.@sequence in the JSON body (also present per record as @sequence), not a response header.

Responses

Response samples

Content type
{
  • "data": {
    }
}

Create DiscountMatrices

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Get DiscountMatrices by Code

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

code
required
string

Code

Responses

Update DiscountMatrices

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

code
required
string

Code

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

StockMovements

List StockMovements

Stock movements

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

sort
string
Example: sort=Code

Field to sort results by (required when using range)

range
string
Example: range=2025-01-01:2025-12-31

Value range on the sort field (requires sort). Three forms: from:to (between, inclusive), from: (from value onwards, open-ended), or value (exact match, shorthand for value:value). Without sort, the server returns HTTP 422.

Responses

Response samples

Content type
{
  • "data": {
    }
}

Create StockMovements

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Get StockMovements by Serial number

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer

Serial number

Responses

Update StockMovements

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer

Serial number

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

StockWriteoffs

List StockWriteoffs

Stock write-offs

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

sort
string
Example: sort=Code

Field to sort results by (required when using range)

range
string
Example: range=2025-01-01:2025-12-31

Value range on the sort field (requires sort). Three forms: from:to (between, inclusive), from: (from value onwards, open-ended), or value (exact match, shorthand for value:value). Without sort, the server returns HTTP 422.

Responses

Response samples

Content type
{
  • "data": {
    }
}

Create StockWriteoffs

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Get StockWriteoffs by Serial number

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer

Serial number

Responses

Update StockWriteoffs

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer

Serial number

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Contracts

List Contracts

Contracts

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

sort
string
Example: sort=Code

Field to sort results by (required when using range)

range
string
Example: range=2025-01-01:2025-12-31

Value range on the sort field (requires sort). Three forms: from:to (between, inclusive), from: (from value onwards, open-ended), or value (exact match, shorthand for value:value). Without sort, the server returns HTTP 422.

Responses

Response samples

Content type
{
  • "data": {
    }
}

Create Contracts

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Get Contracts by Serial number

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer

Serial number

Responses

Update Contracts

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer

Serial number

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Budgets

List Budgets

Budgets

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

sort
string
Example: sort=Code

Field to sort results by (required when using range)

range
string
Example: range=2025-01-01:2025-12-31

Value range on the sort field (requires sort). Three forms: from:to (between, inclusive), from: (from value onwards, open-ended), or value (exact match, shorthand for value:value). Without sort, the server returns HTTP 422.

Responses

Response samples

Content type
{
  • "data": {
    }
}

Create Budgets

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Get Budgets by Serial number

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer

Serial number

Responses

Update Budgets

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer

Serial number

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

OpeningBalances

List OpeningBalances

Opening/brought forward balances

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

sort
string
Example: sort=Code

Field to sort results by (required when using range)

range
string
Example: range=2025-01-01:2025-12-31

Value range on the sort field (requires sort). Three forms: from:to (between, inclusive), from: (from value onwards, open-ended), or value (exact match, shorthand for value:value). Without sort, the server returns HTTP 422.

Responses

Response samples

Content type
{
  • "data": {
    }
}

Create OpeningBalances

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Get OpeningBalances by Serial number

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer

Serial number

Responses

Update OpeningBalances

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer

Serial number

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

EmploymentContracts

List EmploymentContracts

Employment contracts

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

sort
string
Example: sort=Code

Field to sort results by (required when using range)

range
string
Example: range=2025-01-01:2025-12-31

Value range on the sort field (requires sort). Three forms: from:to (between, inclusive), from: (from value onwards, open-ended), or value (exact match, shorthand for value:value). Without sort, the server returns HTTP 422.

Responses

Response samples

Content type
{
  • "data": {
    }
}

Create EmploymentContracts

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Get EmploymentContracts by Serial number

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer

Serial number

Responses

Update EmploymentContracts

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer

Serial number

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Timesheets

List Timesheets

Worked hours / Timesheets

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

sort
string
Example: sort=Code

Field to sort results by (required when using range)

range
string
Example: range=2025-01-01:2025-12-31

Value range on the sort field (requires sort). Three forms: from:to (between, inclusive), from: (from value onwards, open-ended), or value (exact match, shorthand for value:value). Without sort, the server returns HTTP 422.

Responses

Response samples

Content type
{
  • "data": {
    }
}

Create Timesheets

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Get Timesheets by Serial number

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer

Serial number

Responses

Update Timesheets

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer

Serial number

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Absences

List Absences

Absences (vacation, sick leave)

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

sort
string
Example: sort=Code

Field to sort results by (required when using range)

range
string
Example: range=2025-01-01:2025-12-31

Value range on the sort field (requires sort). Three forms: from:to (between, inclusive), from: (from value onwards, open-ended), or value (exact match, shorthand for value:value). Without sort, the server returns HTTP 422.

Responses

Response samples

Content type
{
  • "data": {
    }
}

Create Absences

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Get Absences by Serial number

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer

Serial number

Responses

Update Absences

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer

Serial number

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

OpenTransactions

List OpenTransactions

Open transactions (payroll)

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

sort
string
Example: sort=Code

Field to sort results by (required when using range)

range
string
Example: range=2025-01-01:2025-12-31

Value range on the sort field (requires sort). Three forms: from:to (between, inclusive), from: (from value onwards, open-ended), or value (exact match, shorthand for value:value). Without sort, the server returns HTTP 422.

Responses

Response samples

Content type
{
  • "data": {
    }
}

Create OpenTransactions

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Get OpenTransactions by Serial number

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer

Serial number

Responses

Update OpenTransactions

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer

Serial number

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

GiftCards

List GiftCards

Gift cards

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

sort
string
Example: sort=Code

Field to sort results by (required when using range)

range
string
Example: range=2025-01-01:2025-12-31

Value range on the sort field (requires sort). Three forms: from:to (between, inclusive), from: (from value onwards, open-ended), or value (exact match, shorthand for value:value). Without sort, the server returns HTTP 422.

Responses

Response samples

Content type
{
  • "data": {
    }
}

Create GiftCards

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Get GiftCards by Code

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

code
required
string

Code

Responses

Update GiftCards

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

code
required
string

Code

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Receipts

List Receipts

Receipts / Payments received

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

sort
string
Example: sort=Code

Field to sort results by (required when using range)

range
string
Example: range=2025-01-01:2025-12-31

Value range on the sort field (requires sort). Three forms: from:to (between, inclusive), from: (from value onwards, open-ended), or value (exact match, shorthand for value:value). Without sort, the server returns HTTP 422.

Responses

Response samples

Content type
{
  • "data": {
    }
}

Create Receipts

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Get Receipts by Serial number

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer

Serial number

Responses

Update Receipts

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer

Serial number

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

JournalEntries

List JournalEntries

Journal entries / Transactions

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

sort
string
Example: sort=Code

Field to sort results by (required when using range)

range
string
Example: range=2025-01-01:2025-12-31

Value range on the sort field (requires sort). Three forms: from:to (between, inclusive), from: (from value onwards, open-ended), or value (exact match, shorthand for value:value). Without sort, the server returns HTTP 422.

Responses

Response samples

Content type
{
  • "data": {
    }
}

Create JournalEntries

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Get JournalEntries by Serial number

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer

Serial number

Responses

Update JournalEntries

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer

Serial number

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

OutgoingPayments

List OutgoingPayments

Outgoing payments

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

sort
string
Example: sort=Code

Field to sort results by (required when using range)

range
string
Example: range=2025-01-01:2025-12-31

Value range on the sort field (requires sort). Three forms: from:to (between, inclusive), from: (from value onwards, open-ended), or value (exact match, shorthand for value:value). Without sort, the server returns HTTP 422.

Responses

Response samples

Content type
{
  • "data": {
    }
}

Create OutgoingPayments

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

Get OutgoingPayments by Serial number

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer

Serial number

Responses

Update OutgoingPayments

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer

Serial number

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

ARPrepayments

List ARPrepayments

AR open prepayments (read-only)

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

sort
string
Example: sort=Code

Field to sort results by (required when using range)

range
string
Example: range=2025-01-01:2025-12-31

Value range on the sort field (requires sort). Three forms: from:to (between, inclusive), from: (from value onwards, open-ended), or value (exact match, shorthand for value:value). Without sort, the server returns HTTP 422.

Responses

Response samples

Content type
{
  • "data": {
    }
}

Create ARPrepayments

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

Request Body schema: application/x-www-form-urlencoded
required
set_field.FieldName
string

Header field value (replace FieldName with actual field)

set_row_field.0.FieldName
string

Row field value (0=row index, replace FieldName with actual field)

Responses

VATCodes

Get VATCodes

VAT codes

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

Responses

NumberSeries

Get NumberSeries

Number series defaults

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

Responses

Companies

Get Companies

Company register

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

Responses

CompanyData

Get CompanyData

Company data

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

Responses

Attachments (Attach2Vc)

List Attachments

Retrieve attachment metadata (file name, size, UUID). Add get_attachdata=1 to include Base64 file content in the attachment field (observed on 8.5.56). For example: GET /api/1/Attach2Vc?sort=SerNr&range=1090&get_attachdata=1. Without get_attachdata=1, only metadata is returned. To discover attachments, GET the source record with get_links=1; its links include @comment (file name) and /api/0/Attach2Vc/<SerNr> URLs.

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

query Parameters
get_attachdata
integer
Value: 1

Include Base64 file content in the attachment field on GET Attach2Vc. Without it, only metadata is returned (observed on 8.5.56).

fields
string
Example: fields=Code,Name,Objects

Comma-separated list of fields to return

sort
string
Example: sort=Code

Field to sort results by (required when using range)

range
string
Example: range=2025-01-01:2025-12-31

Value range on the sort field (requires sort). Three forms: from:to (between, inclusive), from: (from value onwards, open-ended), or value (exact match, shorthand for value:value). Without sort, the server returns HTTP 422.

limit
integer
Example: limit=5

Maximum number of records to return

offset
integer
Example: offset=0

Number of records to skip (for pagination with limit)

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get Attachment by SerNr

Retrieve a single attachment record. Add get_attachdata=1 to include Base64 file content in attachment; otherwise only metadata is returned (observed on 8.5.56).

Authorizations:
basicAuthsessionCookieoauth2
path Parameters
compcode
required
integer
Example: 1

Company code (database number)

sernr
required
integer
query Parameters
get_attachdata
integer
Value: 1

Include Base64 file content in the attachment field on GET Attach2Vc. Without it, only metadata is returned (observed on 8.5.56).

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}