Commerce API (v1)

The Commerce API automatically retrieves data from the settlement companies, and uses this to book card transactions, fees and returns in the customer's financial system. For online shop payments, we use reference numbers obtained from the settlement company to close and open entries in the ledger.

The solution can be described as "set it and forget it". When the integration is set up and ready, everything will take place in the background, and you will not have to spend unnecessary time and resources on manual reconciliation routines.

Introduction

The Commerce REST API is organized around retrieving settlement transactions from a large number of settlement providers, and booking them to any of our integrated accounting systems.

Our API uses resource-oriented endpoint paths, accepts Json-Encoded request bodies, returns Json-Encoded responses, and uses standard HTTP response codes and verbs.

ErpClientConnections

An ERP client connection represents the connection between the Settlement API and one of your ERP clients. To set up a connection, the ERP client must be accessible with the ERP credentials you provided when creating the Agreement.

Get a list of ERP client connections.

Retrieves list of ERP client connections.

Securityimplicit or client_credentials or implicit_dev or client_credentials_dev
Request
path Parameters
agreementId
required
string <uuid>

The agreement id.

query Parameters
pageNumber
integer <int32>
Default: 1

The page number.

pageSize
integer <int32>
Default: 100

Amount of items on each page.

Responses
200

Returns a paged result of ERP client connections responses.

400

Bad request.

401

Unauthorized.

get/api/v1/agreements/{agreementId}/erp-client-connections
Request samples
Response samples
{
  • "values": [
    ],
  • "metadata": {
    },
  • "links": {}
}

Create an ERP client connection.

Creates a ERP client connection and one or more accounting rules. ERP client connection and accounting rules are used when posting data to a ERP-system.

Securityimplicit or client_credentials or implicit_dev or client_credentials_dev
Request
path Parameters
agreementId
required
string <uuid>

The agreement id.

Request Body schema:

An object used when creating a ERP client connection and accounting rules.

name
string

Name of the new ERP client connection.

erpHubClientId
string <uuid>

ERPHub client id is used to connect to the ERP system. ERPHub client id can be found using . Id from a client equals ERPHub client id.

integrationType
string (IntegrationType)
Enum: "POS" "Ecommerce"
postToLedger
boolean

If true transactions will be posted to the ledger. If false a draft post is created.

descriptionTemplate
string or null

Defines the description added to the transaction when posting to your Erp system.

department
string or null

Specify which department to post against.

project
string or null

Specify which project to post against.

subAccount
string or null
hoursBeforeTransactionIsScheduled
integer <int32>

The amount of time, in hours, that a transaction is held back before it is scheduled to be sent to the ERP system.

Array of objects (CreateOrUpdateAccountingRuleRequest)

An Enumerable with accounting rules connected to the ERP client connection. Read about accounting rules

Responses
201

Returns a ERP client connection.

400

Bad request.

401

Unauthorized.

post/api/v1/agreements/{agreementId}/erp-client-connections
Request samples
{
  • "name": "string",
  • "erpHubClientId": "f6d486cf-81ac-4389-b980-dacd4c5d5992",
  • "integrationType": "POS",
  • "postToLedger": true,
  • "descriptionTemplate": "string",
  • "department": "string",
  • "project": "string",
  • "subAccount": "string",
  • "hoursBeforeTransactionIsScheduled": 0,
  • "accountingRules": [
    ]
}
Response samples
{
  • "id": 0,
  • "name": "string",
  • "agreementId": "79458f91-82b5-4c38-a886-56df6a6b7980",
  • "erpHubClientId": "f6d486cf-81ac-4389-b980-dacd4c5d5992",
  • "integrationType": "POS",
  • "postToLedger": true,
  • "descriptionTemplate": "string",
  • "department": "string",
  • "project": "string",
  • "subAccount": "string",
  • "hoursBeforeTransactionIsScheduled": 0,
  • "accountingRules": [
    ]
}

Get an ERP client connection.

Securityimplicit or client_credentials or implicit_dev or client_credentials_dev
Request
path Parameters
agreementId
required
string <uuid>

The agreement id.

erpClientConnectionId
required
integer <int32>

The ERP client connection id.

Responses
200

Returns a ERP client connection response.

400

Bad request.

401

Unauthorized.

get/api/v1/agreements/{agreementId}/erp-client-connections/{erpClientConnectionId}
Request samples
Response samples
{
  • "id": 0,
  • "name": "string",
  • "agreementId": "79458f91-82b5-4c38-a886-56df6a6b7980",
  • "erpHubClientId": "f6d486cf-81ac-4389-b980-dacd4c5d5992",
  • "integrationType": "POS",
  • "postToLedger": true,
  • "descriptionTemplate": "string",
  • "department": "string",
  • "project": "string",
  • "subAccount": "string",
  • "hoursBeforeTransactionIsScheduled": 0,
  • "accountingRules": [
    ]
}

Update an ERP client connection.

Updates an existing ERP client connection.

Securityimplicit or client_credentials or implicit_dev or client_credentials_dev
Request
path Parameters
agreementId
required
string <uuid>

The agreement id.

erpClientConnectionId
required
integer <int32>

The ERP client connection.

Request Body schema:

Object used to update an ERP connection.

name
string

New name for the ERP client connection.

erpHubClientId
string <uuid>

ERPHub client id is used to connect to the ERP system. ERPHub client id can be found using . Id from a client equals ERPHub client id.

integrationType
string (IntegrationType)
Enum: "POS" "Ecommerce"
postToLedger
boolean

If true transactions will be posted to the ledger. If false a draft post is created.

descriptionTemplate
string or null

Defines the description added to the transaction when posting to your ERP system.

department
string or null

Specify which department to post against.

project
string or null

Specify which project to post against.

subAccount
string or null
Responses
200

Returns the updated erp client connection response.

204

No Content

400

Bad request.

401

Unauthorized.

put/api/v1/agreements/{agreementId}/erp-client-connections/{erpClientConnectionId}
Request samples
{
  • "name": "string",
  • "erpHubClientId": "f6d486cf-81ac-4389-b980-dacd4c5d5992",
  • "integrationType": "POS",
  • "postToLedger": true,
  • "descriptionTemplate": "string",
  • "department": "string",
  • "project": "string",
  • "subAccount": "string"
}
Response samples
{
  • "id": 0,
  • "name": "string",
  • "agreementId": "79458f91-82b5-4c38-a886-56df6a6b7980",
  • "erpHubClientId": "f6d486cf-81ac-4389-b980-dacd4c5d5992",
  • "integrationType": "POS",
  • "postToLedger": true,
  • "descriptionTemplate": "string",
  • "department": "string",
  • "project": "string",
  • "subAccount": "string",
  • "hoursBeforeTransactionIsScheduled": 0,
  • "accountingRules": [
    ]
}

Delete an ERP client connection.

Deletes an existing ERP client connection and its accounting rules.

Securityimplicit or client_credentials or implicit_dev or client_credentials_dev
Request
path Parameters
agreementId
required
string <uuid>

The agreement id.

erpClientConnectionId
required
integer <int32>

The ERP client connection id.

Responses
204
400

Bad request.

401

Unauthorized.

delete/api/v1/agreements/{agreementId}/erp-client-connections/{erpClientConnectionId}
Request samples

SettlementConnections

A settlement connection represents the connection between the Settlement API and an external settlement provider (e.g. Stripe, Vipps). SettlementConnections are the source of all incoming transactions.

Get a settlement connection.

Retrieves a settlement connection.
A settlement connection represents a connection to an external settlement provider.

Securityimplicit or client_credentials or implicit_dev or client_credentials_dev
Request
path Parameters
agreementId
required
string <uuid>

The agreement id.

settlementConnectionId
required
integer <int32>

The settlement connection id.

Responses
200

Returns a settlement connection response.

401

Unauthorized.

404

Not found.

get/api/v1/agreements/{agreementId}/settlement-connections/{settlementConnectionId}
Request samples
Response samples
{
  • "id": 0,
  • "type": "PayPal",
  • "agreementId": "79458f91-82b5-4c38-a886-56df6a6b7980",
  • "lastSyncDate": "2019-08-24T14:15:22Z",
  • "lastSyncDatePayout": "2019-08-24T14:15:22Z",
  • "startDate": "2019-08-24T14:15:22Z",
  • "extendedProperties": {
    }
}

Update a settlement connection.

Updates a settlement settlement connection.
The connection type must match the type of the existing settlement connection.

Securityimplicit or client_credentials or implicit_dev or client_credentials_dev
Request
path Parameters
agreementId
required
string <uuid>

The agreement id.

settlementConnectionId
required
integer <int32>

The settlement connection id.

Request Body schema:

A request with a connection type and connection details for the settlement provider.

connectionType
string (SettlementConnectionType)
Enum: "PayPal" "Stripe" "Klarna" "Ftp" "Zettle" "NetsEasy" "SveaFinance" "NetsTeller" "Vipps" "QuickPay" "Clearhaus" "SwedBankPay" "Adyen" "Dintero"
startDate
string or null <date-time>

The start date is when the API will sync data from the settlement company. For example, the settlement date is set to last week. The API will fetch and save all transactions from last week to today.

AdyenConnectionDetails (object) or ClearhausConnectionDetails (object) or DinteroConnectionDetails (object) or KlarnaConnectionDetails (object) or NetsEasyConnectionDetails (object) or NetsTellerConnectionDetails (object) or PayPalConnectionDetails (object) or QuickPayConnectionDetails (object) or StripeConnectionDetails (object) or SveaFinanceConnectionDetails (object) or SwedBankPayConnectionDetails (object) or VippsConnectionDetails (object)

The details needed to connect to your chosen settlement company.

Responses
204

No Content.

400

Bad Request.

404

Not Found.

put/api/v1/agreements/{agreementId}/settlement-connections/{settlementConnectionId}
Request samples
{
  • "connectionType": "Adyen",
  • "startDate": "2024-04-14T08:48:46.0697266+00:00",
  • "connectionDetails": {
    }
}

Delete a settlement connection.

Deletes a settlement settlement connection, and all related connection links.

Securityimplicit or client_credentials or implicit_dev or client_credentials_dev
Request
path Parameters
agreementId
required
string <uuid>

The agreement id.

settlementConnectionId
required
integer <int32>

The settlement connection id.

Responses
204

No Content.

400

Bad Request.

404

Not Found.

delete/api/v1/agreements/{agreementId}/settlement-connections/{settlementConnectionId}
Request samples

Get a list of settlement connections.

Retrieves list of settlement connections.

Securityimplicit or client_credentials or implicit_dev or client_credentials_dev
Request
path Parameters
agreementId
required
string <uuid>

The agreement id.

query Parameters
page
integer <int32>
Default: 1

The page number.

limit
integer <int32>
Default: 100

The amount of items on each page.

Responses
200

Returns a paged result of settlement connection responses.

400

Bad request.

401

Unauthorized.

get/api/v1/agreements/{agreementId}/settlement-connections
Request samples
Response samples
{
  • "values": [
    ],
  • "metadata": {
    },
  • "links": {}
}

Create a settlement connection.

Creates a settlement settlement connection.
A settlement connection represents a connection to an external settlement provider.

Securityimplicit or client_credentials or implicit_dev or client_credentials_dev
Request
path Parameters
agreementId
required
string <uuid>

The agreement id.

Request Body schema:

The request with a connection type and connection details for the settlement provider.

connectionType
string (SettlementConnectionType)
Enum: "PayPal" "Stripe" "Klarna" "Ftp" "Zettle" "NetsEasy" "SveaFinance" "NetsTeller" "Vipps" "QuickPay" "Clearhaus" "SwedBankPay" "Adyen" "Dintero"
startDate
string or null <date-time>

The start date is when the API will sync data from the settlement company. For example, the settlement date is set to last week. The API will fetch and save all transactions from last week to today.

AdyenConnectionDetails (object) or ClearhausConnectionDetails (object) or DinteroConnectionDetails (object) or KlarnaConnectionDetails (object) or NetsEasyConnectionDetails (object) or NetsTellerConnectionDetails (object) or PayPalConnectionDetails (object) or QuickPayConnectionDetails (object) or StripeConnectionDetails (object) or SveaFinanceConnectionDetails (object) or SwedBankPayConnectionDetails (object) or VippsConnectionDetails (object)

The details needed to connect to your chosen settlement company.

Responses
201

Returns a settlement settlement connection.

400

Bad Request.

401

Unauthorized.

post/api/v1/agreements/{agreementId}/settlement-connections
Request samples
{
  • "connectionType": "Adyen",
  • "startDate": "2024-04-14T08:48:46.1649992+00:00",
  • "connectionDetails": {
    }
}
Response samples
{
  • "id": 0,
  • "type": "PayPal",
  • "agreementId": "79458f91-82b5-4c38-a886-56df6a6b7980",
  • "lastSyncDate": "2019-08-24T14:15:22Z",
  • "lastSyncDatePayout": "2019-08-24T14:15:22Z",
  • "startDate": "2019-08-24T14:15:22Z",
  • "extendedProperties": {
    }
}

Transactions

A settlement transaction represents a transaction received from a settlement provider (SettlementConnection).

Get transactions for agreement.

Retrieves a list of transactions for all settlement connections belonging to a agreement.

Securityimplicit or client_credentials or implicit_dev or client_credentials_dev
Request
path Parameters
agreementId
required
string <uuid>

The agreement id.

query Parameters
fromDate
string <date-time>

The oldest settlement date from which the transactions will be provided.

toDate
string <date-time>

The newest, most recent settlement date to which the transactions will be provided.

page
integer <int32>
Default: 1

The page number.

pageSize
integer <int32>
Default: 500

The amount of items on each page.

sort
string

The sort order of the transactions. A string representing the name of the property to sort by, optionaly prefixed with '-' (descending).

Example: sort=settlementDate,-amount
filter
string

The filter to apply to the transactions.

Responses
200

Returns a paged result of transactions.

400

Bad request.

401

Unauthorized.

get/api/v1/agreements/{agreementId}/transactions
Request samples
Response samples
{
  • "values": [
    ],
  • "metadata": {
    },
  • "links": {}
}

Get transactions for settlement connection.

Retrieves a list of transactions for a settlement connection.

Securityimplicit or client_credentials or implicit_dev or client_credentials_dev
Request
path Parameters
agreementId
required
string <uuid>

The agreement id.

settlementConnectionId
required
integer <int32>

The settlement connection id.

query Parameters
fromDate
string <date-time>

The oldest settlement date from which the transactions will be provided.

toDate
string <date-time>

The newest, most recent settlement date to which the transactions will be provided.

page
integer <int32>
Default: 1

The page number.

pageSize
integer <int32>
Default: 500

The amount of items on each page.

sort
string

The sort order of the transactions. A string representing the name of the property to sort by, optionaly prefixed with '-' (descending).

Example: sort=settlementDate,-amount
filter
string

The filter to apply to the transactions.

Responses
200

Returns a paged result of transactions.

400

Bad request.

401

Unauthorized.

get/api/v1/agreements/{agreementId}/settlement-connections/{settlementConnectionId}/transactions
Request samples
Response samples
{
  • "values": [
    ],
  • "metadata": {
    },
  • "links": {}
}

Get transaction.

Retrieves a transaction.

Securityimplicit or client_credentials or implicit_dev or client_credentials_dev
Request
path Parameters
agreementId
required
string <uuid>

The agreement id.

settlementConnectionId
required
integer <int32>

The settlement connection id.

transactionId
required
integer <int64>

The transaction.

Responses
200

Returns a transaction.

400

Bad request.

401

Unauthorized.

get/api/v1/agreements/{agreementId}/settlement-connections/{settlementConnectionId}/transactions/{transactionId}
Request samples
Response samples
{
  • "id": 0,
  • "amount": 0,
  • "transactionType": "Payment",
  • "currency": "string",
  • "purchaseDate": "2019-08-24T14:15:22Z",
  • "settlementDate": "2019-08-24T14:15:22Z",
  • "externalTransactionId": "string",
  • "description": "string",
  • "batchId": "5579c111-9c50-47e2-af92-f16d52e63189",
  • "transactionsReference1": "string",
  • "transactionsReference2": "string",
  • "transactionGroupId": "string",
  • "settlementConnectionId": 0,
  • "transactionDate": "2019-08-24T14:15:22Z",
  • "createdDate": "2019-08-24T14:15:22Z",
  • "transactionStatus": "New",
  • "brand": "string",
  • "merchantNumber": "string"
}

Export transactions to ERP.

Transactions are normally exported to the ERP connection linked with the transactions settlement connection.
You can re-queue any transactions for ERP export with this endpoint.

Securityimplicit or client_credentials or implicit_dev or client_credentials_dev
Request
path Parameters
agreementId
required
string <uuid>

The id of the agreement that the transactions belong to.

settlementConnectionId
required
integer <int32>

The id of the settlement connection.

Request Body schema:

The ids of the transactions to be sent to the ERP.

transactionIds
Array of integers <int64>

A list of transaction ids to export.

includeConnected
boolean

Wether to include additional transactions linked by Settlement.Abstractions.Models.Transaction.TransactionGroupId

Responses
200

Ok.

400

Bad request.

401

Unauthorized.

post/api/v1/agreements/{agreementId}/settlement-connections/{settlementConnectionId}/retry-transactions-export
Request samples
{
  • "transactionIds": [
    ],
  • "includeConnected": true
}

Sends payout export data to an ERP system for processing and retries the export operation.

Securityimplicit or client_credentials or implicit_dev or client_credentials_dev
Request
path Parameters
agreementId
required
string <uuid>

The unique identifier of the agreement.

Request Body schema:

The request containing payout export information.

payoutIds
Array of strings

The collection of payout IDs to be sent to the ERP system.

erpClientConnectionId
integer <int32>

The ERP client connection to be used for sending payouts.

Responses
200

Success

post/api/v1/agreements/{agreementId}/retry-payout-export
Request samples
{
  • "payoutIds": [
    ],
  • "erpClientConnectionId": 0
}

AccountingRule

Accounting rules expand on the ErpClientConnection. Each ErpClientConnection has a default accounting rule which specifies the standard booking parameters (e.g.cash account, interim account...) for all incoming transactions. You may also create additional AccountingRules to adjust booking parameters based on the transaction ISO currency code.
Example

Incoming transactions should be posted to currency-specific accounts in the main ledger. "USD" transactions should go to account 1510, while "NOK" transactions should go to account 1511. This can be achieved by creating an accounting rule for each currency.

Get an accounting rule

Securityimplicit or client_credentials or implicit_dev or client_credentials_dev
Request
path Parameters
agreementId
required
string <uuid>

The agreement id

erpClientConnectionId
required
integer <int32>

The erp client connection id

accountingRuleId
required
integer <int32>

The accounting rule id

Responses
200

Returns an accounting rule response

400

Bad request

401

Unauthorized

get/api/v1/agreements/{agreementId}/erp-client-connections/{erpClientConnectionId}/accounting-rules/{accountingRuleId}
Request samples
Response samples
{
  • "id": 0,
  • "erpClientConnectionId": 0,
  • "currency": "string",
  • "cashAccount": "string",
  • "interimAccount": "string",
  • "feeCreditAccount": "string",
  • "feeDebitAccount": "string",
  • "filters": [
    ]
}

Update an accounting rule.

Updates an existing accounting rule.

Securityimplicit or client_credentials or implicit_dev or client_credentials_dev
Request
path Parameters
agreementId
required
string <uuid>

The agreement id.

erpClientConnectionId
required
integer <int32>

The erp client connection id.

accountingRuleId
required
integer <int32>

The accounting rule id.

Request Body schema:

Object used to update an accounting rule.

currency
string

Three-letter ISO currency code representing the currency for the account.

cashAccount
string

Cash account number.

interimAccount
string

Interim account number.

feeCreditAccount
string

Fee credit account number.

feeDebitAccount
string

Fee debit account number.

Array of objects (FilterRequest)

List of filters used by the accounting rule.

Responses
200

Returns a accounting rule response.

400

Bad request.

401

Unauthorized.

put/api/v1/agreements/{agreementId}/erp-client-connections/{erpClientConnectionId}/accounting-rules/{accountingRuleId}
Request samples
{
  • "currency": "string",
  • "cashAccount": "string",
  • "interimAccount": "string",
  • "feeCreditAccount": "string",
  • "feeDebitAccount": "string",
  • "filters": [
    ]
}
Response samples
{
  • "id": 0,
  • "erpClientConnectionId": 0,
  • "currency": "string",
  • "cashAccount": "string",
  • "interimAccount": "string",
  • "feeCreditAccount": "string",
  • "feeDebitAccount": "string",
  • "filters": [
    ]
}

Delete an accounting rule

Securityimplicit or client_credentials or implicit_dev or client_credentials_dev
Request
path Parameters
agreementId
required
string <uuid>

The company id

erpClientConnectionId
required
integer <int32>

The erp client connection id

accountingRuleId
required
integer <int32>

The accounting rule id

Responses
204
400

Bad request

401

Unauthorized

delete/api/v1/agreements/{agreementId}/erp-client-connections/{erpClientConnectionId}/accounting-rules/{accountingRuleId}
Request samples

Get a list of accounting rules.

Retrieves list of accounting rules under a erp connection.

Securityimplicit or client_credentials or implicit_dev or client_credentials_dev
Request
path Parameters
agreementId
required
string <uuid>

The agreement id.

erpClientConnectionId
required
integer <int32>

The erp client connection id.

query Parameters
pageNumber
integer <int32>
Default: 1

The page number.

pageSize
integer <int32>
Default: 100

Amount of items on each page.

Responses
200

Returns a paged result of accounting rules.

400

Bad request.

401

Unauthorized.

get/api/v1/agreements/{agreementId}/erp-client-connections/{erpClientConnectionId}/accounting-rules
Request samples
Response samples
{
  • "values": [
    ],
  • "metadata": {
    },
  • "links": {}
}

Create an accounting rule.

Accounting rules are used to specify which accounts to use accounts, when posting transaction to a ERP system.

Securityimplicit or client_credentials or implicit_dev or client_credentials_dev
Request
path Parameters
agreementId
required
string <uuid>

The agreement id.

erpClientConnectionId
required
integer <int32>

The erp client connection id.

Request Body schema:

An object used to create a new accounting rule.

currency
string

Three-letter ISO currency code representing the currency for the account.

cashAccount
string

Cash account number.

interimAccount
string

Interim account number.

feeCreditAccount
string

Fee credit account number.

feeDebitAccount
string

Fee debit account number.

Array of objects (FilterRequest)

List of filters used by the accounting rule.

Responses
201

Returns a accounting rule response.

400

Bad request.

401

Unauthorized.

post/api/v1/agreements/{agreementId}/erp-client-connections/{erpClientConnectionId}/accounting-rules
Request samples
{
  • "currency": "string",
  • "cashAccount": "string",
  • "interimAccount": "string",
  • "feeCreditAccount": "string",
  • "feeDebitAccount": "string",
  • "filters": [
    ]
}
Response samples
{
  • "id": 0,
  • "erpClientConnectionId": 0,
  • "currency": "string",
  • "cashAccount": "string",
  • "interimAccount": "string",
  • "feeCreditAccount": "string",
  • "feeDebitAccount": "string",
  • "filters": [
    ]
}

Update a filter.

Updates an existing filter.

Securityimplicit or client_credentials or implicit_dev or client_credentials_dev
Request
path Parameters
agreementId
required
string <uuid>

The agreement id.

erpClientConnectionId
required
integer <int32>

The erp client connection id.

filterId
required
integer <int32>

The filter id.

accountingRuleId
required
integer <int32>

The accounting rule id.

Request Body schema:

A Settlement.Api.Requests.AccountingRule.FilterRequest filter.

field
string

Gets or sets the field identifier/key as a string.

value
string

Gets or sets the value as a string.

Responses
200

Returns a Settlement.Api.Responses.AccountingRule.FilterResponse.

400

Bad request.

401

Unauthorized.

put/api/v1/agreements/{agreementId}/erp-client-connections/{erpClientConnectionId}/accounting-rules/{accountingRuleId}/filters/{filterId}
Request samples
{
  • "field": "string",
  • "value": "string"
}
Response samples
{
  • "id": 0,
  • "accountingRuleId": 0,
  • "field": "string",
  • "value": "string"
}

Delete a filter.

Deletes an existing filter.

Securityimplicit or client_credentials or implicit_dev or client_credentials_dev
Request
path Parameters
agreementId
required
string <uuid>

The agreement id.

erpClientConnectionId
required
integer <int32>

The erp client connection id.

filterId
required
integer <int32>

The filter id.

accountingRuleId
required
integer <int32>

The accounting rule id.

Responses
204
400

Bad request

401

Unauthorized

delete/api/v1/agreements/{agreementId}/erp-client-connections/{erpClientConnectionId}/accounting-rules/{accountingRuleId}/filters/{filterId}
Request samples

Create new filters.

Creates new filters.

Securityimplicit or client_credentials or implicit_dev or client_credentials_dev
Request
path Parameters
agreementId
required
string <uuid>

The agreement id.

erpClientConnectionId
required
integer <int32>

The erp client connection id.

accountingRuleId
required
integer <int32>

The accounting rule id.

Request Body schema:

A System.Collections.Generic.IEnumerable`1 of Settlement.Api.Requests.AccountingRule.FilterRequest filters.

Array
field
string

Gets or sets the field identifier/key as a string.

value
string

Gets or sets the value as a string.

Responses
201

Returns a Settlement.Api.Responses.AccountingRule.FilterResponse.

400

Bad request.

401

Unauthorized.

post/api/v1/agreements/{agreementId}/erp-client-connections/{erpClientConnectionId}/accounting-rules/{accountingRuleId}/filters
Request samples
[
  • {
    }
]
Response samples
{
  • "id": 0,
  • "accountingRuleId": 0,
  • "field": "string",
  • "value": "string"
}

Agreements

An agreement represents a many-to-one relationship between your company/companies, and your ERP system credentials(e.g.access tokens). If your company manages multiple clients, you should create an agreement that connects them to ERP credentials that have access to the respective clients in your ERP system.
Example

An accountant has three clients in Visma.net that want to use Aritma Commerce. They have created an integration account in Visma.net(e.g.integration @accountant.com), and given it access to the three clients. To onboard the clients in the Settlement API, they should create an agreement for integration @accountant.com.Under that agreement, they may create one parent company representing themselves, or one company per client if they wish to keep transactions, settlement connections, and accounting rules seperate.

Get agreements

Retrieves all agreements for a resource group.

Securityimplicit or client_credentials or implicit_dev or client_credentials_dev
Request
path Parameters
subscriptionId
required
string

The subscription id

resourceGroupId
required
string

The parent resource id.

query Parameters
pageNumber
integer <int32>
Default: 1

The page number.

pageSize
integer <int32>
Default: 100

Amount of items on each page.

Responses
200

Returns a list of available Agreements.

400

Bad request

401

Unauthorized

get/api/v1/subscriptions/{subscriptionId}/resource-groups/{resourceGroupId}/agreements
Request samples
Response samples
{
  • "values": [
    ],
  • "metadata": {
    },
  • "links": {}
}

Get an Agreement

Retrieves an agreement.

Securityimplicit or client_credentials or implicit_dev or client_credentials_dev
Request
path Parameters
agreementId
required
string <uuid>

Agreement id

Responses
200

Returns a AgreementResponse

400

Bad request

401

Unauthorized

get/api/v1/agreements/{agreementId}
Request samples
Response samples
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string"
}

Update an Agreement

Updates an existing Agreement.

Securityimplicit or client_credentials or implicit_dev or client_credentials_dev
Request
path Parameters
agreementId
required
string <uuid>

Agreement id

Request Body schema:

Object containing updated agreement values

name
string

New name for the agreement

Responses
200

Returns an Agreement

204

No Content

400

Bad request

401

Unauthorized

put/api/v1/agreements/{agreementId}
Request samples
{
  • "name": "string"
}
Response samples
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string"
}

Delete an Agreement

Deletes an existing Agreement.

Securityimplicit or client_credentials or implicit_dev or client_credentials_dev
Request
path Parameters
agreementId
required
string <uuid>

Agreement id

Responses
204
400

Bad request

401

Unauthorized

delete/api/v1/agreements/{agreementId}
Request samples

ErpConnection

Represents an api controller for managing erp connections.

Create an ERP connection

Creates an ERP connection which defines the connection to an ERP system and user access to this connection.

Securityimplicit or client_credentials or implicit_dev or client_credentials_dev
Request
Request Body schema:

The request with a ERP type and connection details for the ERP system

subscriptionId
string
resourceGroupId
string

The resource group id used in role-based access control. Read more about our access control at .

name
string
AgendecConnectionDetails (object) or PowerOfficeConnectionDetails (object) or SoftrigConnectionDetails (object) or TripletexConnectionDetails (object) or TwentyfourSevenOfficeConnectionDetails (object) or VismaBusinessNXTConnectionDetails (object) or VismaNetConnectionDetails (object)

The details used to connect to your ERP system.

erpSystem
string (ErpConnectionType)
Enum: "Softrig" "Tripletex" "VismaNet" "PowerOffice" "TwentyfourSevenOffice" "Agendec" "VismaBusinessNXT"
email
string

The Email address

redirectUrl
string

After the onboarding process is complete, the client will be redirected to this specific URL.

Responses
201

Returns an ERP connection response

400

Bad Request

401

Unauthorized

post/api/v1/erp-connections
Request samples
{
  • "erpSystem": "Agendec",
  • "resourceGroupId": "b5fd1a67-2295-4868-a9c7-a0aaefde3254",
  • "subscriptionId": "3d37113e-5c2e-49c9-b37a-755accbec8cc",
  • "name": "connection name",
  • "email": "email",
  • "redirectUrl": "redirectUrl",
  • "connectionDetails": {
    }
}
Response samples
{
  • "authorizationUrl": "http://example.com",
  • "erpConnection": {
    }
}

Get a list of ERP connections

Retrieves list of ERP connections

Securityimplicit or client_credentials or implicit_dev or client_credentials_dev
Request
query Parameters
pageNumber
integer <int32>
Default: 1

The page number

pageSize
integer <int32>
Default: 100

The amount of items on each page

Responses
200

Returns a paged result of ERP connection responses

400

Bad request

401

Unauthorized

get/api/v1/erp-connections
Request samples
Response samples
{
  • "values": [
    ],
  • "metadata": {
    },
  • "links": {}
}

Get a list of ERP clients

Retrieves list of erp clients. An ERP client is equivalent to a company in your ERP system.
You can list all ERP clients you have access to with the GET /erp-connections endpoint.

Securityimplicit or client_credentials or implicit_dev or client_credentials_dev
Request
path Parameters
erpConnectionId
required
string <uuid>

The erp connection id

query Parameters
pageNumber
integer <int32>
Default: 1

The page number

pageSize
integer <int32>
Default: 100

The amount of items on each page

Responses
200

Returns a paged result of client responses

400

Bad request

401

Unauthorized

get/api/v1/erp-connections/{erpConnectionId}/clients
Request samples
Response samples
{
  • "values": [
    ],
  • "metadata": {
    },
  • "links": {}
}