Download OpenAPI specification:Download
Version | Description | Date |
---|---|---|
6.0.2 | API documentation updated according to a new error code | 01/07/2024 |
6.0.1 | Customer of project no longer needs to match customer specified on subscriber. | 24/05/2024 |
6.0.0 | Stripped Time from startDate, endDate, discountExpiryDate, registrationDate and expiryDate properties from subscribers .Starting with this version, a validation error will be returned if the fields contain timestamps. Previous versions allowed the saving of Time for the specified properties, which was not aligned with the e-conomic application. From now on, on previous versions Time on DateTime properties will be stripped - you can send it, but it will be not saved to database. Entries already existing in the database will continue to have the Time set. If filtering on DateTime properties is needed for previous versions, please use time intervals and not the equality operator. |
30/05/2024 |
5.0.1 | Updated error message returned when exceeding max length of comments on subscribers endpoints. |
27/03/2024 |
5.0.0 | - Changed max length for ExtraTextForInvoice and OtherRef on subscribers endpoints and for Description and Name on subscriptions endpoints. - Fixed response schemas for GetAll and GetPaged endpoints for subscriptionlines . |
26/03/2024 |
4.0.2 | Changed max length for Description on subscriptionlines from 100 to 2500 |
07/02/2024 |
4.0.1 | Added filtering possibility for the ExtraTextForInvoice property on subscribers endpoints. |
26/01/2024 |
4.0.0 | Updated schema for Quantity in subscriptionlines from int to decimal. e-conomic uses decimals for quantities, and it was our mistake to start with int. |
26/01/2024 |
3.0.2 | Updated max length of Comments on subscribers endpoints, from 255 to 500. |
13/12/2023 |
3.0.1 | Added Location header to responses from POST requests. | 24/11/2023 |
3.0.0 | Updated the schema for productNumber from int to string. e-conomic uses strings for product numbers, and it was our mistake to start with int. | 02/11/2023 |
2.0.0 | Added DraftDocumentId and BookedInvoiceId properties to subscribers endpoints to help filter out previous subscribers. |
29/08/2023 |
1.0.0 | subscriptions , subscriptionlines , subscribers endpoints added. |
21/08/2023 |
Add these three headers to your requests.
Header | Value | What is this? |
---|---|---|
X-AppSecretToken | YOUR_PRIVATE_TOKEN | This identifies your app. This is your secret token. Try using the value demo . |
X-AgreementGrantToken | YOUR_AGREEMENT_GRANT_TOKEN | This identifies the grant issued by an agreement, to allow your app to access the agreements data. Try using the value demo . |
Content-Type | application/json | We’re a JSON based API. This tells us that you agree with us on using JSON. |
Optional headers:
Header | Value | What is this? |
---|---|---|
Idempotency-Key | YOUR_IDEMPOTENCY_KEY | This represents your own unique idempotency key. Enables you to make use of our Idempotency Tokens feature. You can't use this feature with GET requests. |
$.ajax({
url: "https://apis.e-conomic.com/subscriptionsapi/v6.0.2/the_resource",
dataType: "json",
headers: {
'X-AppSecretToken': "demo",
'X-AgreementGrantToken': "demo",
'Accept': "application/json"
},
type: "GET"
})
.always(function (data) {
$("#output").text(JSON.stringify(data, null, 4));
});
curl -H "X-AppSecretToken: demo" -H "X-AgreementGrantToken: demo" https://apis.e-conomic.com/subscriptionsapi/v6.0.2/the_resource
Welcome to the Visma e-conomic OpenAPI documentation!
The e-conomic API is a document-based JSON REST API.
For more in-depth information about e-conomic itself, please have a look at the e-copedia http://wiki.e-conomic.dk.
API releases are versioned using a three-part versioning scheme: {major version}.{minor version}.{patch version}
.
We broadly follow Semantic Versioning principles when versioning the API. The major version number is incremented when a breaking change occurs.
The format is:
/{resource-api}/v{major version}.{minor version}.{patch version}/{resource-name}
Each value of the above are integers and you should configure the specific version in each API call.
An example could be: /subscriptionsapi/v1.0.0/subscriptions
To track the changes of versions, please see our changelog.
We reserve the right to deprecate versions at intervals since this allows for moving into a friendly environment for you faster.
If you wish to try out the API before registering a developer agreement, you can do this by using the demo agreement, which mimics the authentication flow you will have to use when you create your app. All you have to do is specify HTTP header tokens X-AgreementGrantToken: demo
and X-AppSecretToken: demo
. Note however that you can only do GET requests with the demo agreement. If you want full access to our API's, you will need to register.
Our data is exposed as collections of items. Each item has many properties, with one property as a unique identifier, usually called number
or id
. You can always get a single item if you already know the unique identifier. In case the unique identifier is not known, you can always search the collection and retrieve an array of items that satisfy the search criteria, or retrieve only the count of items that satisfy the search criteria. When you search for items in a collection, you can always use filtering, sorting and pagination. When it comes to pagination, we offer two distinct approaches available on separate endpoints. You can read more about filtering, sorting and pagination in the following sections.
Filtering is enabled on all collection endpoints but not on all properties.
Filtering on collections can be done using the query string parameter filter
. A filter is made up of a set of predicates and follows a syntax inspired by mongoDB. A predicate is made up of a property name, an operator, and a value.
Example: ?filter=name$eq:Joe
This matches all resources with the value Joe in the property name.
Predicates can be chained using either of the logical operators AND and OR.
Example: ?filter=name$eq:Joe$and:city$like:*port
Filtering on strings is case insensitive.
Information about what properties allow filtering and on what operators can be found in the property in the schema for the collection. Each property that allows filtering has the property "x-filterable"
in combination with operators
set. If you try to filter on something that isn’t allowed the server will respond with a status code 400.
If you want to control the operator affinity then you can use parentheses.
An example is: ?filter=name$eq:Joe$and:(city$like:*port$or:age$lt:40)
URL parameter values should always be URL compatible. Always URL encode filter strings.
The possible filtering operators are:
Operator | Syntax |
---|---|
Equals | $eq: |
Not equals | $ne: |
Greater than | $gt: |
Greater than or equal | $gte: |
Less than | $lt: |
Less than or equal | $lte: |
Substring match | $like: |
And also | $and: |
Or else | $or: |
In | $in: |
Not In | $nin: |
The $like:
operator supports both using wildcards (*) and not using wildcards. If no wildcards are used, the expression is considered a contains
expression and effectively becomes a filter with a wildcard at the start of the string and one at the end of the string. This operator is only allowed on some properties.
To not interfere with the parsing of the filter expression, certain escape sequences are necessary.
Should you want to filter for the nonexistence of a property (i.e. null value) you can use the null escape sequence.
$null:
To determine whether a specified value matches any value in (or not in) a list you filter using the $in:
or $nin:
operator. The list to filter by has to be enclosed in brackets and values separated by commas.
customerNumber$in:[2,5,7,22,45]
It is possible to also use the $null:
keyword if you wish to include that in the filter. The max supported length of an array using the $in:
or $nin:
operator is 200.
Sorting on strings is case insensitive.
Sorting on collections can be done using the query string parameter ‘sort’.
?sort=name
The default sort direction is ascending, but this can be turned by prepending a minus (-).
?sort=-name
If you need to sort by multiple properties these can just be separated by commas. Mixing of directions is allowed.
?sort=-name,age
In certain cases, you might want to enforce that even numeric values are sorted alphabetically, so 1000 is less than 30. In those cases, you can prepend the sort property with a tilde (~).
?sort=~name
Information about what properties are sortable can be found in the schema for the collection. Each property that allows sorting has the property "x-sortable": true
set.
When it comes to retrieving a collection of items, you can use two distinct approaches:
Cursor-based pagination (continued loading of items using a cursor
as a query parameter to get the next page of items)
Items
". (Usage: /{ITEM}?cursor={CURSOR_VALUE}
)x-cursor-page-size
extension of the response type. Usually, the size is 1000, but in some cases, where we explicitly state so, it can be smaller.Classic pagination (limited functionality*. Specify skippages
and pagesize
as query parameters to get a specific page of items)
Items
". (Usage: /{ITEM}/paged?skippages=0&pagesize=20
)Please bear in mind that the two approaches are supported by separate endpoints. To use classic pagination, add /paged
to your request URL.
If you need to know the total count of items that you can expect to get from your search, you can use a separate endpoint called "Retrieve the number of Items
".
You can also use the result of this endpoint to calculate the pagination navigation buttons for a table/grid-based UI.
We highly recommend that you use cursor-based pagination because:
When you search for items in a large collection, the response will contain a first set of items and a cursor that you can use in a subsequent request to get the next series of items. This way you can retrieve the next set of items only when needed (if the first set suffices, you dont need to send a second request).
The first set of items usually consists of 1000 results, but in some cases, where we explicitly state so, there may be fewer.
Please note that the cursor is currently the id
of the first item
on the next set and it should not be mistaken for the number of items which are yet to be displayed.
Also, if the cursor is not present in the response, it means that there are no more items in the results.
I want to retrieve all subscriptions.
I send a request to https://apis.e-conomic.com/subscriptionsapi/v1.0.0/subscriptions and get back an array of 1.000 subscriptions, and a cursor with value 34781
I send a request for the next items in the resulting collection: https://apis.e-conomic.com/subscriptionsapi/v1.0.0/subscriptions?cursor=34781 and get back an array of 1.000 subscriptions and a cursor with value 87695
I send a request for the next items in the result: https://apis.e-conomic.com/subscriptionsapi/v1.0.0/subscriptions?cursor=87695 and get back an array of 56 items and no cursor. No cursor means I have retrieved all the subscriptions, i.e. I have reached the end of the list.
We also provide compound cursor pagination for endpoints which return all sales document lines.
Usage: /{ITEM}?cursor={DOCUMENT_NUMBER}_{LINE_NUMBER}
This will return all the first 1000 items ordered by document number and by line number.
I want to retrieve all subscription lines
I send a request to https://apis.e-conomic.com/subscriptionsapi/v1.0.0/subscriptionlines
and get back an array of 1.000 lines and a cursor with value 20_100.
This means that the first 1000 lines belong to subscriptions 1-20 and stopped at line 99 (or whichever the last line before 100 was) of subscription 20.
I send a request for the next items in the resulting collection:
https://apis.e-conomic.com/subscriptionsapi/v1.0.0/subscriptionlines?cursor=20_100
and get back an array of 1.000 lines starting with subscription number 20, line number 100 and a cursor with value 70_25
I send a request for the next items in the result:
https://apis.e-conomic.com/subscriptionsapi/v1.0.0/subscriptionlines?cursor=70_25
and get back an array of 56 items and no cursor.
If no parameters are used, the collection endpoint returns 20 items at a time. URL parameters allow you to increase this to up to 100 items or to skip pages if necessary.
I want to show a grid with page size of 50 and pagination navigation buttons.
I send a request to see how many subscriptions there are in the collection:https://apis.e-conomic.com/subscriptionsapi/v1.0.0/subscriptions/count
I get the number of subscriptions in the collection, 2056
, and I can calculate the number of pages to be 2056 divided by 50 = 40 with 6 as remainder, meaning I have 41 pages total. I can then use this to present the user the navigation buttons.
I send a request to retrieve the first page of subscriptions that my user will see:https://apis.e-conomic.com/subscriptionsapi/v1.0.0/subscriptions/paged?pagesize=50&sort=-number
with this I get back an array of 50 subscriptions, sorted by number in descending order.
Now if the user wants to see page number 6, I'll send a new request, skipping the first 5 pages to get the subscriptions from page number 6:https://apis.e-conomic.com/subscriptionsapi/v1.0.0/subscriptions/paged?pagesize=50&skippages=5&sort=-number
I get back an array of 50 subscriptions that belong to page number 6 when sorting by number in descending order.
As mentioned before we offer endpoint to get the count of items in the collection. You can also use this info for calculation of pagination navigation in case of classic pagination.
Example https://apis.e-conomic.com/subscriptionsapi/v1.0.0/subscriptions/count
The Open API returns these HTTP status codes.
Code | Text | Description |
---|---|---|
200 | OK | Everything is OK |
201 | Created | When you create resources, this is what you get. This will be accompanied by the created resource in the body and a location header with a link to the created resource. |
204 | No Content | In certain cases there is nothing to return. So we will let you know by returning a 204. |
400 | Bad Request | The request you made was somehow malformed. A malformed request could be failed validation on creation or updating. If you try to filter on something that isn’t filterable this is also what you’ll see. Whenever possible we will also try to include a developer hint to help you get around this issue. |
401 | Unauthorized | The credentials you supplied us with weren’t correct, or perhaps you forgot them altogether. If an agreement has revoked the grant they gave your app, this is what you will see. |
403 | Forbidden | You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued. |
404 | Not Found | This is returned when you try to request something that doesn’t exist. This could be a resource that has been deleted or just a URL you tried to hack. If you see a lot of these, it could be an indication that you aren’t using the links provided by the API. You should never need to concatenate any URLs. The API should provide you with the links needed. |
405 | Method Not Allowed | Not all endpoints support all HTTP methods. If you try issue a PUT request to a collection resource this is what you get. |
409 | Conflict | The request cannot be completed due to a conflict with the current state of the target resource. Retrieve the resource/object and try the update again. This is needed in order to prevent you from rolling back another user's update. |
415 | Unsupported Media Type | Our API is a JSON api. If you ask us to give you anything else, we give you this, and tell you why in the JSON body of the response. |
500 | Internal Server Error | We don’t like to see these, and they are flagged in our logs. When you see this, something went wrong on our end. Either try again, or contact our support. |
Since OpenAPI allows client generation based on the specification, we decided to use the same model/schema in our for both read and write endpoints where possible.
This led us to chose not to have the Id/Number in the URL parameter for PUT requests, but to use the one from the body, so there is no confusion.
When a property is marked as required
it means you need to provide a value on each POST and PUT requests.
When a property is marked as readonly
it means you should provide the same value you get in the GET requests, or do not send the property in the JSON at all (skip it).
For some resource ids (the direct URL path to a resource) the question of non-alphanumeric characters must be solved in REST APIs by either encoding or replacement to ensure URL compatibility.
In the e-conomic REST API a subset of non-alphanumeric characters are replaced using a custom scheme for resource URLs:
Character | Replacement |
---|---|
“<” | 0 |
“>” | 1 |
“*” | 2 |
“%” | 3 |
“:” | 4 |
“&” | 5 |
“/” | 6 |
“\” | 7 |
“_” | 8 |
“ ” (whitespace) | 9 |
“?” | 10 |
“.” | 11 |
“#” | 12 |
“+” | 13 |
Example: Product “My Awesome Product_Discount5%” Resource URL (self): https://apis.e-conomic.com/products/My_9_Awesome_9_Product_8_Discount5_3_
All other non-alphanumeric characters in resource URLs are standard URL encoded. Please refer to standard URL encoding for characters not mentioned above.
Helpful details to know when implementing e-conomic REST.
Booleans should only be expected to be represented in responses when true. A false boolean is omitted from response body. The same logic applies to write operations such as POST and PUT.
We do not generally accept null as a value and a validation exception should be expected. To null a property you must exclude it from your JSON on the write operation.
ObjectVersion is the mechanism that enforces updates only on latest state of an object.
ObjectVersion property is mandatory in Put Requests.
ObjectVersion property is retrieved on Get Request and needs to be included in Put Request.
If object was modified between Get and Put requests, Put request will fail with error code 409 Conflict
{
"message": "Update conflict. Version does not match.",
"developerHint": "The resource has been updated by another user. Retrieve the resource/object and try the update again. This is needed in order to prevent you from rolling back another user's update.",
"logId": "09580053-1141-4e7f-85e1-bed8600e0278",
"logTimeUtc": "2021-11-04T09:07:56",
"property": "version"
}
Idempotency tokens are unique keys that help maintain the integrity of operations on the API’s. These tokens prevent accidental duplication of requests, ensuring that the same operation is not performed multiple times, even if the same request is sent repeatedly.
When making a request, you can set Idempotency-Key
header with your own unique value for that specific request. In case of a network failure, if you don't get the response, you can retry the request with the same value for the header. Our system will prevent duplicate requests, instead you will get the original response from our cache.
Keep in mind that this is cached for only one hour window.
When we return a response from the cache, we set a response header X-ResultFromCache
to true.
It’s important to note that you will be responsible for generating and keeping track of these keys.
The Idempotency Tokens feature is not available for GET requests.
The LastUpdated
property shows the date when a resource was last updated. A resource is considered updated when any property in the model has been changed. If there aren’t any changes, LastUpdated
will equal the creation date.
Please bear in mind that not all resources have a LastUpdated property. Also, sometimes the LastUpdated property is modified by changes to a different model, as is the case with sales documents. For example, when an invoice line is created, the LastUpdated field on the invoice is modified.
The main usage for this property is to help retrieve only data that has been changed within a certain interval. This will save processing and network time spent on the client side.
Usage example: https://apis.e-conomic.com/subscriptionsapi/v6.0.2/the_resource?filter$eq:lastUpdated$gt:2024-02-24 This will return all resources which have been updated since 24.02.2024.
In the specification file, there are some custom extensions that developers can make use of when consuming endpoints. Those extensions are always prefixed by x-
.
x-required-roles
: The list of roles that are required for each group of endpoints.x-error-codes
: The list of error codes that are potentially returned from each group of endpoints.x-cursor-page-size
: The maximum number of items in CursorResults
that can be returned in a single call.Subscribers
define the customers who are to receive invoices or orders generated through subscriptions. Each subscription can be set to allow just one or more subscribers with the same customer number.
Related guide for users: e-copedia (Danish).
Error Code | Description |
---|---|
SubscriberStartDateHasToBeBeforeEndDate | Start date cannot be after end date. |
SubscriberQuanityFactorCannotBeZero | Quantity factor cannot be zero. |
SubscriberStartDateHasToBeBeforeExpiryDate | Start date cannot be after expiry date. |
SubscriberProjectDoesNotExist | Cannot create/update subscriber. Project not found. |
SubscriberProjectIsClosed | Cannot create/update subscriber. Project is closed. |
SubscriberAccrueStartCannotBeEqualEndDate | Start date cannot be the same as end date if subscription has accruals. |
SubscriberAccrueCannotHaveProjectWithAccrue | You cannot set a project number if subscription has accruals. |
SubscriberCustomerAlreadyHasSubscription | Subscription does not allow for two subscribers with the same customer number. |
SubscriberCustomerHasNonInvoicedSubscription | Customer has non invoiced subscription. |
SubscriberSubscriptionDoesNotExist | Cannot create/update subscriber. Subscription not found. |
SubscriberCustomerDoesNotExist | Cannot create/update subscriber. Customer not found. |
SubscriberProjectAccessError | Both agreement and user must have acces to the Projects module. |
SubscriberDimensionAccessError | To access this entity, the agreement needs to have the Dimension module enabled. |
SubscriberInvalidDepartment | Cannot create/update subscriber. Department not found. |
SubscriberYourReferenceContactDoesNotExist | Cannot create/update subscriber. The customer contact set as yourRef was not found. |
SubscriberYourReferenceContactIsDeleted | Cannot create/update subscriber. The customer contact set as yourRef was deleted. |
SubscriberSubscriptionNumberCannotBeUpdated | Cannot update subscriber. The subscription number cannot be modified. |
SubscriberCustomerNumberCannotBeUpdated | Cannot update subscriber. The customer number cannot be modified. |
SubscriberRegistrationDateCannotBeUpdated | Cannot update subscriber. The registration date cannot be modified. |
SubscriberCustomerIsBarred | Cannot create/update subscriber. Customer is barred. |
SubscriberCommentsMaxLengthExceeded | Max. length is 500 for comments |
Required application roles: SuperUser or Sales More info
Use this endpoint to load a single Subscriber by number.
number required | integer <int32> |
customerNumber required | integer <int32> The customer who is to receive the invoices/orders generated through the subscription. Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: false |
endDate required | string <date> The last day of the period that will appear on the invoice. Filterable: eq, ne, lt, lte, gt, gte Sortable: false |
startDate required | string <date> The first day of the period for which the customer will be invoiced. Filterable: eq, ne, lt, lte, gt, gte Sortable: false |
subscriptionNumber required | integer <int32> The subscription that the subscriber is linked to. Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: true |
bookedInvoiceId | integer or null <int32> The id of the booked invoice that was created when running a subscription batch. Read-only: true Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: false |
comments | string or null [ 0 .. 500 ] characters Extra information about the subscription/customer that will not be shown on invoices/orders. Filterable: not filterable Sortable: false |
departmentNumber | integer or null <int32> The number of the department for which invoices are generated. Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: false |
discountExpiryDate | string or null <date> The last day when the discount is to be applied. Filterable: not filterable Sortable: false |
discountPercentage | number or null <double> The discount to be applied to all the products that the subscriber is invoiced for through the subscription. Filterable: eq, ne, lt, lte, gt, gte Sortable: false |
draftDocumentId | integer or null <int32> The id of the draft invoice or draft order that was created when running a subscription batch. Read-only: true Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: false |
expiryDate | string or null <date> The last day for which the subscriber can be invoiced. Filterable: eq, ne, lt, lte, gt, gte Sortable: false |
extraTextForInvoice | string or null [ 0 .. 1000 ] characters Extra information that can be added as a top line on invoices/orders - just above the subscription name if the addName is true. Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: false |
lastUpdated | string or null <date-time> The date and time when the subscriber was last updated. Use it in the filter to retrieve only updated subscribers. Read-only: true Filterable: eq, ne, lt, lte, gt, gte Sortable: false |
number | integer <int32> The unique number of the subscriber Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: true |
objectVersion | string or null The object version, required for PUT requests to help ensure that updates made by others don’t get overwritten by your update request. Filterable: not filterable Sortable: false |
otherRef | string or null [ 0 .. 250 ] characters A text field that can be used to save any custom reference on the invoice/order. Filterable: not filterable Sortable: false |
priceFactor | number or null <double> It helps adjust the price set on the products by a certain percentage. Filterable: eq, ne, lt, lte, gt, gte Sortable: false |
projectNumber | integer or null <int32> The number of the project for which invoices/orders are generated. Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: false |
quantityFactor | number or null <double> It helps adjust the quantity set on the linked products. Filterable: eq, ne, lt, lte, gt, gte Sortable: false |
registrationDate | string or null <date> The date when the subscriber was registered. Filterable: not filterable Sortable: false |
specialPrice | number or null <double> The custom price to be applied to all the products that the subscriber is invoiced for through the subscription. Filterable: not filterable Sortable: false |
yourRef | integer or null <int32> The number of the customer contact that is referenced as a contact person for the subscriber Filterable: not filterable Sortable: false |
{- "number": 0,
- "subscriptionNumber": 0,
- "customerNumber": 0,
- "yourRef": 0,
- "otherRef": "string",
- "startDate": "2019-08-24",
- "endDate": "2019-08-24",
- "specialPrice": 0,
- "discountPercentage": 0,
- "discountExpiryDate": "2019-08-24",
- "quantityFactor": 0,
- "priceFactor": 0,
- "registrationDate": "2019-08-24",
- "expiryDate": "2019-08-24",
- "projectNumber": 0,
- "departmentNumber": 0,
- "bookedInvoiceId": 0,
- "draftDocumentId": 0,
- "extraTextForInvoice": "string",
- "comments": "string",
- "lastUpdated": "2019-08-24T14:15:22Z",
- "objectVersion": "string"
}
Use this endpoint to delete a single Subscriber by number.
number required | integer <int32> |
{- "type": "string",
- "title": "string",
- "status": 0,
- "detail": "string",
- "instance": "string",
- "traceId": "string",
- "errorCode": "string",
- "traceTimeUtc": "string",
- "errors": [
- {
- "property": "string",
- "message": "string",
- "errorCode": "string"
}
]
}
Use this endpoint to load a page of Subscribers.
Filter | string Use this parameter to set the filtering for fields. Filtering instructions |
PageSize | integer <int32> [ 1 .. 100 ] Default: 20 Use this parameter to set the page size. Pagination instructions |
SkipPages | integer <int32> [ 0 .. 100 ] Default: 0 Use this parameter to set number of pages to skip. Pagination instructions |
Sort | string Use this parameter to set the sort fields and direction. Sort instructions |
customerNumber required | integer <int32> The customer who is to receive the invoices/orders generated through the subscription. Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: false |
endDate required | string <date> The last day of the period that will appear on the invoice. Filterable: eq, ne, lt, lte, gt, gte Sortable: false |
startDate required | string <date> The first day of the period for which the customer will be invoiced. Filterable: eq, ne, lt, lte, gt, gte Sortable: false |
subscriptionNumber required | integer <int32> The subscription that the subscriber is linked to. Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: true |
bookedInvoiceId | integer or null <int32> The id of the booked invoice that was created when running a subscription batch. Read-only: true Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: false |
comments | string or null [ 0 .. 500 ] characters Extra information about the subscription/customer that will not be shown on invoices/orders. Filterable: not filterable Sortable: false |
departmentNumber | integer or null <int32> The number of the department for which invoices are generated. Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: false |
discountExpiryDate | string or null <date> The last day when the discount is to be applied. Filterable: not filterable Sortable: false |
discountPercentage | number or null <double> The discount to be applied to all the products that the subscriber is invoiced for through the subscription. Filterable: eq, ne, lt, lte, gt, gte Sortable: false |
draftDocumentId | integer or null <int32> The id of the draft invoice or draft order that was created when running a subscription batch. Read-only: true Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: false |
expiryDate | string or null <date> The last day for which the subscriber can be invoiced. Filterable: eq, ne, lt, lte, gt, gte Sortable: false |
extraTextForInvoice | string or null [ 0 .. 1000 ] characters Extra information that can be added as a top line on invoices/orders - just above the subscription name if the addName is true. Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: false |
lastUpdated | string or null <date-time> The date and time when the subscriber was last updated. Use it in the filter to retrieve only updated subscribers. Read-only: true Filterable: eq, ne, lt, lte, gt, gte Sortable: false |
number | integer <int32> The unique number of the subscriber Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: true |
objectVersion | string or null The object version, required for PUT requests to help ensure that updates made by others don’t get overwritten by your update request. Filterable: not filterable Sortable: false |
otherRef | string or null [ 0 .. 250 ] characters A text field that can be used to save any custom reference on the invoice/order. Filterable: not filterable Sortable: false |
priceFactor | number or null <double> It helps adjust the price set on the products by a certain percentage. Filterable: eq, ne, lt, lte, gt, gte Sortable: false |
projectNumber | integer or null <int32> The number of the project for which invoices/orders are generated. Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: false |
quantityFactor | number or null <double> It helps adjust the quantity set on the linked products. Filterable: eq, ne, lt, lte, gt, gte Sortable: false |
registrationDate | string or null <date> The date when the subscriber was registered. Filterable: not filterable Sortable: false |
specialPrice | number or null <double> The custom price to be applied to all the products that the subscriber is invoiced for through the subscription. Filterable: not filterable Sortable: false |
yourRef | integer or null <int32> The number of the customer contact that is referenced as a contact person for the subscriber Filterable: not filterable Sortable: false |
[- {
- "number": 0,
- "subscriptionNumber": 0,
- "customerNumber": 0,
- "yourRef": 0,
- "otherRef": "string",
- "startDate": "2019-08-24",
- "endDate": "2019-08-24",
- "specialPrice": 0,
- "discountPercentage": 0,
- "discountExpiryDate": "2019-08-24",
- "quantityFactor": 0,
- "priceFactor": 0,
- "registrationDate": "2019-08-24",
- "expiryDate": "2019-08-24",
- "projectNumber": 0,
- "departmentNumber": 0,
- "bookedInvoiceId": 0,
- "draftDocumentId": 0,
- "extraTextForInvoice": "string",
- "comments": "string",
- "lastUpdated": "2019-08-24T14:15:22Z",
- "objectVersion": "string"
}
]
Use this endpoint to retrieve all Subscribers in bulk.
The maximum number of items returned in a single call is defined in the x-cursor-page-size
extension of the response type. Usually, the size is 1000, but in some cases, where we explicitly state so, it can be smaller than that.
Use the continuation cursor parameter to set the cursor for retrieval of the next set of data.
Use the continuation cursor parameter to set the cursor for retrieval of the next set of data.
Please check the pagination instructions.
Cursor | string [ 0 .. 50 ] characters Use this parameter to set the continuation cursor for paging. Pagination instructions |
Filter | string Use this parameter to set the filtering for fields. filtering instructions |
cursor | string or null Use this continuation cursor in a request back to continue the list. In case there are no more items to retrieve, the cursor is not returned at all. Read-only: true Filterable: not filterable Sortable: false |
Array of objects or null (Subscriber) Max number of items returned is 1000. Filterable: not filterable Sortable: false |
{- "cursor": "234",
- "items": [
- {
- "id": "13",
- "name": "Patrick"
}, - {
- "id": "16",
- "name": "John"
}
]
}
Use this endpoint to create a single Subscriber.
customerNumber required | integer <int32> The customer who is to receive the invoices/orders generated through the subscription. Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: false |
endDate required | string <date> The last day of the period that will appear on the invoice. Filterable: eq, ne, lt, lte, gt, gte Sortable: false |
startDate required | string <date> The first day of the period for which the customer will be invoiced. Filterable: eq, ne, lt, lte, gt, gte Sortable: false |
subscriptionNumber required | integer <int32> The subscription that the subscriber is linked to. Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: true |
comments | string or null [ 0 .. 500 ] characters Extra information about the subscription/customer that will not be shown on invoices/orders. Filterable: not filterable Sortable: false |
departmentNumber | integer or null <int32> The number of the department for which invoices are generated. Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: false |
discountExpiryDate | string or null <date> The last day when the discount is to be applied. Filterable: not filterable Sortable: false |
discountPercentage | number or null <double> The discount to be applied to all the products that the subscriber is invoiced for through the subscription. Filterable: eq, ne, lt, lte, gt, gte Sortable: false |
expiryDate | string or null <date> The last day for which the subscriber can be invoiced. Filterable: eq, ne, lt, lte, gt, gte Sortable: false |
extraTextForInvoice | string or null [ 0 .. 1000 ] characters Extra information that can be added as a top line on invoices/orders - just above the subscription name if the addName is true. Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: false |
number | integer <int32> The unique number of the subscriber Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: true |
objectVersion | string or null The object version, required for PUT requests to help ensure that updates made by others don’t get overwritten by your update request. Filterable: not filterable Sortable: false |
otherRef | string or null [ 0 .. 250 ] characters A text field that can be used to save any custom reference on the invoice/order. Filterable: not filterable Sortable: false |
priceFactor | number or null <double> It helps adjust the price set on the products by a certain percentage. Filterable: eq, ne, lt, lte, gt, gte Sortable: false |
projectNumber | integer or null <int32> The number of the project for which invoices/orders are generated. Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: false |
quantityFactor | number or null <double> It helps adjust the quantity set on the linked products. Filterable: eq, ne, lt, lte, gt, gte Sortable: false |
registrationDate | string or null <date> The date when the subscriber was registered. Filterable: not filterable Sortable: false |
specialPrice | number or null <double> The custom price to be applied to all the products that the subscriber is invoiced for through the subscription. Filterable: not filterable Sortable: false |
yourRef | integer or null <int32> The number of the customer contact that is referenced as a contact person for the subscriber Filterable: not filterable Sortable: false |
number | integer <int32> Filterable: not filterable Sortable: false |
{- "subscriptionNumber": 0,
- "customerNumber": 0,
- "startDate": "2019-08-24",
- "endDate": "2019-08-24"
}
{- "number": 0
}
Use this endpoint to update a single Subscriber.
customerNumber required | integer <int32> The customer who is to receive the invoices/orders generated through the subscription. Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: false |
endDate required | string <date> The last day of the period that will appear on the invoice. Filterable: eq, ne, lt, lte, gt, gte Sortable: false |
startDate required | string <date> The first day of the period for which the customer will be invoiced. Filterable: eq, ne, lt, lte, gt, gte Sortable: false |
subscriptionNumber required | integer <int32> The subscription that the subscriber is linked to. Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: true |
comments | string or null [ 0 .. 500 ] characters Extra information about the subscription/customer that will not be shown on invoices/orders. Filterable: not filterable Sortable: false |
departmentNumber | integer or null <int32> The number of the department for which invoices are generated. Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: false |
discountExpiryDate | string or null <date> The last day when the discount is to be applied. Filterable: not filterable Sortable: false |
discountPercentage | number or null <double> The discount to be applied to all the products that the subscriber is invoiced for through the subscription. Filterable: eq, ne, lt, lte, gt, gte Sortable: false |
expiryDate | string or null <date> The last day for which the subscriber can be invoiced. Filterable: eq, ne, lt, lte, gt, gte Sortable: false |
extraTextForInvoice | string or null [ 0 .. 1000 ] characters Extra information that can be added as a top line on invoices/orders - just above the subscription name if the addName is true. Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: false |
number | integer <int32> The unique number of the subscriber Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: true |
objectVersion | string or null The object version, required for PUT requests to help ensure that updates made by others don’t get overwritten by your update request. Filterable: not filterable Sortable: false |
otherRef | string or null [ 0 .. 250 ] characters A text field that can be used to save any custom reference on the invoice/order. Filterable: not filterable Sortable: false |
priceFactor | number or null <double> It helps adjust the price set on the products by a certain percentage. Filterable: eq, ne, lt, lte, gt, gte Sortable: false |
projectNumber | integer or null <int32> The number of the project for which invoices/orders are generated. Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: false |
quantityFactor | number or null <double> It helps adjust the quantity set on the linked products. Filterable: eq, ne, lt, lte, gt, gte Sortable: false |
registrationDate | string or null <date> The date when the subscriber was registered. Filterable: not filterable Sortable: false |
specialPrice | number or null <double> The custom price to be applied to all the products that the subscriber is invoiced for through the subscription. Filterable: not filterable Sortable: false |
yourRef | integer or null <int32> The number of the customer contact that is referenced as a contact person for the subscriber Filterable: not filterable Sortable: false |
{- "subscriptionNumber": 0,
- "customerNumber": 0,
- "startDate": "2019-08-24",
- "endDate": "2019-08-24"
}
{- "type": "string",
- "title": "string",
- "status": 0,
- "detail": "string",
- "instance": "string",
- "traceId": "string",
- "errorCode": "string",
- "traceTimeUtc": "string",
- "errors": [
- {
- "property": "string",
- "message": "string",
- "errorCode": "string"
}
]
}
Call this endpoint to get the number of Subscribers. You can use filtering as well.
Filter | string Use this parameter to set the filtering for fields. Filtering instructions |
0
SubscriptionLines
define the products for which invoices or orders are generated through subscriptions. Subscription lines without a product number are also possible and can be used to provide extra info on the invoice, product or customer.
Related guide for users: e-copedia (Danish).
Error Code | Description |
---|---|
SubscriptionLineSubscriptionDoesNotExist | Cannot create/update subscription line. Subscription not found. |
SubscriptionLineQuantityNotNullOrZero | Quantity cannot be null or zero. |
SubscriptionLineProductDoesNotExist | Cannot create/update subscription line. Product not found. |
SubscriptionLineProductIsBarred | Product is barred. |
SubscriptionLineDimensionAccessError | To access this entity, the agreement needs to have the Dimension module enabled. |
SubscriptionLineInvalidDepartment | Cannot create/update subscription line. Department not found. |
SubscriptionLineDescriptionNotNullOrEmpty | Description cannot be null or empty string when the product number is specified. |
SubscriptionLineMultipleDimensionAccessError | To access this entity, the agreements with advanced subscription plan is required. |
Required application roles: SuperUser or Sales More info
Use this endpoint to retrieve a line belonging to a subscription.
number required | integer <int32> |
subscriptionNumber required | integer <int32> |
departmentNumber | integer or null <int32> The number of the department to be set on the invoices/orders generated through subscription. Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: false |
description | string or null [ 0 .. 2500 ] characters A descriptive text associated with the invoice/order line. Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: false |
number | integer <int32> The unique number of the subscription line Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: true |
objectVersion | string or null The object version, required for PUT requests to help ensure that updates made by others don’t get overwritten by your update request. Filterable: not filterable Sortable: false |
productNumber | string or null [ 0 .. 25 ] characters The unique number of the product that will appear on the invoice/order line. Filterable: eq, ne, lt, lte, gt, gte Sortable: false |
quantity | number or null <double> The quantity of the product or service specified on the subscription line. The property is required if the product number is set. Filterable: not filterable Sortable: false |
specialPrice | number or null <double> Custom price to be applied to the product on the invoices/orders created through subscription. Filterable: not filterable Sortable: false |
subscriptionNumber | integer <int32> The subscription that the line belongs to Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: true |
{- "number": 0,
- "subscriptionNumber": 0,
- "productNumber": "string",
- "description": "string",
- "quantity": 0,
- "specialPrice": 0,
- "departmentNumber": 0,
- "objectVersion": "string"
}
Use this endpoint to delete a single SubscriptionLine by number.
number required | integer <int32> |
subscriptionNumber required | integer <int32> |
{- "type": "string",
- "title": "string",
- "status": 0,
- "detail": "string",
- "instance": "string",
- "traceId": "string",
- "errorCode": "string",
- "traceTimeUtc": "string",
- "errors": [
- {
- "property": "string",
- "message": "string",
- "errorCode": "string"
}
]
}
Use this endpoint to retrieve all the lines belonging to a subscription.
subscriptionNumber required | integer <int32> |
Filter | string Use this parameter to set the filtering for fields. Filtering instructions |
Sort | string Use this parameter to set the sort fields and direction. Sort instructions |
departmentNumber | integer or null <int32> The number of the department to be set on the invoices/orders generated through subscription. Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: false |
description | string or null [ 0 .. 2500 ] characters A descriptive text associated with the invoice/order line. Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: false |
number | integer <int32> The unique number of the subscription line Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: true |
objectVersion | string or null The object version, required for PUT requests to help ensure that updates made by others don’t get overwritten by your update request. Filterable: not filterable Sortable: false |
productNumber | string or null [ 0 .. 25 ] characters The unique number of the product that will appear on the invoice/order line. Filterable: eq, ne, lt, lte, gt, gte Sortable: false |
quantity | number or null <double> The quantity of the product or service specified on the subscription line. The property is required if the product number is set. Filterable: not filterable Sortable: false |
specialPrice | number or null <double> Custom price to be applied to the product on the invoices/orders created through subscription. Filterable: not filterable Sortable: false |
subscriptionNumber | integer <int32> The subscription that the line belongs to Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: true |
[- {
- "number": 0,
- "subscriptionNumber": 0,
- "productNumber": "string",
- "description": "string",
- "quantity": 0,
- "specialPrice": 0,
- "departmentNumber": 0,
- "objectVersion": "string"
}
]
Use this endpoint to create a single SubscriptionLine.
subscriptionNumber required | integer <int32> |
departmentNumber | integer or null <int32> The number of the department to be set on the invoices/orders generated through subscription. Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: false |
description | string or null [ 0 .. 2500 ] characters A descriptive text associated with the invoice/order line. Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: false |
number | integer <int32> The unique number of the subscription line Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: true |
objectVersion | string or null The object version, required for PUT requests to help ensure that updates made by others don’t get overwritten by your update request. Filterable: not filterable Sortable: false |
productNumber | string or null [ 0 .. 25 ] characters The unique number of the product that will appear on the invoice/order line. Filterable: eq, ne, lt, lte, gt, gte Sortable: false |
quantity | number or null <double> The quantity of the product or service specified on the subscription line. The property is required if the product number is set. Filterable: not filterable Sortable: false |
specialPrice | number or null <double> Custom price to be applied to the product on the invoices/orders created through subscription. Filterable: not filterable Sortable: false |
subscriptionNumber | integer <int32> The subscription that the line belongs to Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: true |
number | integer <int32> Filterable: not filterable Sortable: false |
{ }
{- "number": 0
}
Use this endpoint to update a single SubscriptionLine.
subscriptionNumber required | integer <int32> |
departmentNumber | integer or null <int32> The number of the department to be set on the invoices/orders generated through subscription. Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: false |
description | string or null [ 0 .. 2500 ] characters A descriptive text associated with the invoice/order line. Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: false |
number | integer <int32> The unique number of the subscription line Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: true |
objectVersion | string or null The object version, required for PUT requests to help ensure that updates made by others don’t get overwritten by your update request. Filterable: not filterable Sortable: false |
productNumber | string or null [ 0 .. 25 ] characters The unique number of the product that will appear on the invoice/order line. Filterable: eq, ne, lt, lte, gt, gte Sortable: false |
quantity | number or null <double> The quantity of the product or service specified on the subscription line. The property is required if the product number is set. Filterable: not filterable Sortable: false |
specialPrice | number or null <double> Custom price to be applied to the product on the invoices/orders created through subscription. Filterable: not filterable Sortable: false |
subscriptionNumber | integer <int32> The subscription that the line belongs to Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: true |
{ }
{- "type": "string",
- "title": "string",
- "status": 0,
- "detail": "string",
- "instance": "string",
- "traceId": "string",
- "errorCode": "string",
- "traceTimeUtc": "string",
- "errors": [
- {
- "property": "string",
- "message": "string",
- "errorCode": "string"
}
]
}
Use this endpoint to load a page of SubscriptionLines.
Filter | string Use this parameter to set the filtering for fields. Filtering instructions |
PageSize | integer <int32> [ 1 .. 100 ] Default: 20 Use this parameter to set the page size. Pagination instructions |
SkipPages | integer <int32> [ 0 .. 100 ] Default: 0 Use this parameter to set number of pages to skip. Pagination instructions |
Sort | string Use this parameter to set the sort fields and direction. Sort instructions |
departmentNumber | integer or null <int32> The number of the department to be set on the invoices/orders generated through subscription. Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: false |
description | string or null [ 0 .. 2500 ] characters A descriptive text associated with the invoice/order line. Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: false |
number | integer <int32> The unique number of the subscription line Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: true |
objectVersion | string or null The object version, required for PUT requests to help ensure that updates made by others don’t get overwritten by your update request. Filterable: not filterable Sortable: false |
productNumber | string or null [ 0 .. 25 ] characters The unique number of the product that will appear on the invoice/order line. Filterable: eq, ne, lt, lte, gt, gte Sortable: false |
quantity | number or null <double> The quantity of the product or service specified on the subscription line. The property is required if the product number is set. Filterable: not filterable Sortable: false |
specialPrice | number or null <double> Custom price to be applied to the product on the invoices/orders created through subscription. Filterable: not filterable Sortable: false |
subscriptionNumber | integer <int32> The subscription that the line belongs to Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: true |
[- {
- "number": 0,
- "subscriptionNumber": 0,
- "productNumber": "string",
- "description": "string",
- "quantity": 0,
- "specialPrice": 0,
- "departmentNumber": 0,
- "objectVersion": "string"
}
]
Use this endpoint to retrieve all Subscription Lines for all subscriptions in bulk.
The maximum number of items returned in a single call is 1000.
Use the continuation cursor parameter to set the cursor for retrieval of the next set of data.
Please check the pagination instructions.
Cursor | string [ 0 .. 50 ] characters Use this parameter to set the continuation cursor for paging. Pagination instructions |
Filter | string Use this parameter to set the filtering for fields. filtering instructions |
cursor | string or null Use this continuation cursor in a request back to continue the list. In case there are no more items to retrieve, the cursor is not returned at all. Read-only: true Filterable: not filterable Sortable: false |
Array of objects or null (SubscriptionLine) Max number of items returned is 1000. Filterable: not filterable Sortable: false |
{- "cursor": "234",
- "items": [
- {
- "id": "13",
- "name": "Patrick"
}, - {
- "id": "16",
- "name": "John"
}
]
}
Call this endpoint to get the number of Subscription Lines for all subscriptions. You can use filtering as well.
Filter | string Use this parameter to set the filtering for fields. Filtering instructions |
0
Subscriptions
are an easy way to create bulk invoices or orders. They are especially helpful for those who want to collect membership dues, charge tenants or pay for subscription-based services.
Related guide for users: e-copedia (Danish).
Error Code | Description |
---|---|
SubscriptionNumberAlreadyExists | Subscription number already exists. |
SubscriptionIntervalCannotUseCalendarYear | Calendar basis cannot be used for this type of interval. |
SubscriptionAcrrualsMissingAcces | Accrue cannot be modified. Agreement is missing access to the Accruals module. |
SubscriptionHasSubscribers | Subscription has subscribers and cannot be deleted. |
SubscriptionCannotChangeNumbers | Subscription number cannot be changed. |
Required application roles: SuperUser or Sales More info
Use this endpoint to load a single Subscription by number.
number required | integer <int32> |
collection required | integer <int32> Enum: 0 1 Determines whether the amount should be collected for an entire period or just for a part of it.
If collection is full, customers are charged for an entire period, even if the subscription was created in the middle of a subscription period. If collection is proportional, customers are only charged for the period from the subscription date to the end of the subscription period. Filterable: not filterable Sortable: false |
interval required | integer <int32> Enum: 1 2 3 4 5 6 7 8 9 10 11 12 13 The period for which the customer is charged through one invoice. The interval can be:
Filterable: not filterable Sortable: false |
name required | string [ 0 .. 50 ] characters The subscription name, e.g. Family plan, 1 year. Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: false |
accrue | boolean Accrual is used to allocate costs and/or revenues over several periods. If true, the invoice/order created through the subscription is to be booked on the accruals account. Filterable: not filterable Sortable: false |
allowMoreThanOnePerCustomer | boolean If true, several subscribers with the same customer number can be created. Filterable: not filterable Sortable: false |
description | string or null [ 0 .. 500 ] characters Short text describing the subscription. It is not shown on the invoice/order created through the subscription. Filterable: not filterable Sortable: false |
includeName | boolean If true, an empty line with just the subscription name will be added to the invoice/order Filterable: not filterable Sortable: false |
includePeriod | boolean If true, an empty line with just the subscription period will be added to the invoice/order. Filterable: not filterable Sortable: false |
isBarred | boolean Flag indicating if a subscription is barred or not. Barred subscriptions are excluded from batch runs Filterable: eq, ne, lt, lte, gt, gte Sortable: false |
isCalendarBased | boolean If set to true, the end date will be based on the year calendar, instead of the addition of an exact interval to the start date. Filterable: not filterable Sortable: false |
lastUpdated | string or null <date-time> The date and time when the subscription or a line on the subscription was last updated. Use it in the filter to retrieve only updated subscriptions. Read-only: true Filterable: eq, ne, lt, lte, gt, gte Sortable: false |
number | integer <int32> The unique number of the subscription. Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: true |
objectVersion | string or null The object version, required for PUT requests to help ensure that updates made by others don’t get overwritten by your update request. Filterable: not filterable Sortable: false |
{- "number": 0,
- "name": "string",
- "description": "string",
- "interval": 1,
- "isCalendarBased": true,
- "collection": 0,
- "includeName": true,
- "includePeriod": true,
- "allowMoreThanOnePerCustomer": true,
- "accrue": true,
- "isBarred": true,
- "lastUpdated": "2019-08-24T14:15:22Z",
- "objectVersion": "string"
}
Use this endpoint to delete a single Subscription by number.
number required | integer <int32> |
{- "type": "string",
- "title": "string",
- "status": 0,
- "detail": "string",
- "instance": "string",
- "traceId": "string",
- "errorCode": "string",
- "traceTimeUtc": "string",
- "errors": [
- {
- "property": "string",
- "message": "string",
- "errorCode": "string"
}
]
}
Use this endpoint to load a page of Subscriptions.
Filter | string Use this parameter to set the filtering for fields. Filtering instructions |
PageSize | integer <int32> [ 1 .. 100 ] Default: 20 Use this parameter to set the page size. Pagination instructions |
SkipPages | integer <int32> [ 0 .. 100 ] Default: 0 Use this parameter to set number of pages to skip. Pagination instructions |
Sort | string Use this parameter to set the sort fields and direction. Sort instructions |
collection required | integer <int32> Enum: 0 1 Determines whether the amount should be collected for an entire period or just for a part of it.
If collection is full, customers are charged for an entire period, even if the subscription was created in the middle of a subscription period. If collection is proportional, customers are only charged for the period from the subscription date to the end of the subscription period. Filterable: not filterable Sortable: false |
interval required | integer <int32> Enum: 1 2 3 4 5 6 7 8 9 10 11 12 13 The period for which the customer is charged through one invoice. The interval can be:
Filterable: not filterable Sortable: false |
name required | string [ 0 .. 50 ] characters The subscription name, e.g. Family plan, 1 year. Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: false |
accrue | boolean Accrual is used to allocate costs and/or revenues over several periods. If true, the invoice/order created through the subscription is to be booked on the accruals account. Filterable: not filterable Sortable: false |
allowMoreThanOnePerCustomer | boolean If true, several subscribers with the same customer number can be created. Filterable: not filterable Sortable: false |
description | string or null [ 0 .. 500 ] characters Short text describing the subscription. It is not shown on the invoice/order created through the subscription. Filterable: not filterable Sortable: false |
includeName | boolean If true, an empty line with just the subscription name will be added to the invoice/order Filterable: not filterable Sortable: false |
includePeriod | boolean If true, an empty line with just the subscription period will be added to the invoice/order. Filterable: not filterable Sortable: false |
isBarred | boolean Flag indicating if a subscription is barred or not. Barred subscriptions are excluded from batch runs Filterable: eq, ne, lt, lte, gt, gte Sortable: false |
isCalendarBased | boolean If set to true, the end date will be based on the year calendar, instead of the addition of an exact interval to the start date. Filterable: not filterable Sortable: false |
lastUpdated | string or null <date-time> The date and time when the subscription or a line on the subscription was last updated. Use it in the filter to retrieve only updated subscriptions. Read-only: true Filterable: eq, ne, lt, lte, gt, gte Sortable: false |
number | integer <int32> The unique number of the subscription. Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: true |
objectVersion | string or null The object version, required for PUT requests to help ensure that updates made by others don’t get overwritten by your update request. Filterable: not filterable Sortable: false |
[- {
- "number": 0,
- "name": "string",
- "description": "string",
- "interval": 1,
- "isCalendarBased": true,
- "collection": 0,
- "includeName": true,
- "includePeriod": true,
- "allowMoreThanOnePerCustomer": true,
- "accrue": true,
- "isBarred": true,
- "lastUpdated": "2019-08-24T14:15:22Z",
- "objectVersion": "string"
}
]
Use this endpoint to retrieve all Subscriptions in bulk.
The maximum number of items returned in a single call is defined in the x-cursor-page-size
extension of the response type. Usually, the size is 1000, but in some cases, where we explicitly state so, it can be smaller than that.
Use the continuation cursor parameter to set the cursor for retrieval of the next set of data.
Use the continuation cursor parameter to set the cursor for retrieval of the next set of data.
Please check the pagination instructions.
Cursor | string [ 0 .. 50 ] characters Use this parameter to set the continuation cursor for paging. Pagination instructions |
Filter | string Use this parameter to set the filtering for fields. filtering instructions |
cursor | string or null Use this continuation cursor in a request back to continue the list. In case there are no more items to retrieve, the cursor is not returned at all. Read-only: true Filterable: not filterable Sortable: false |
Array of objects or null (Subscription) Max number of items returned is 1000. Filterable: not filterable Sortable: false |
{- "cursor": "234",
- "items": [
- {
- "id": "13",
- "name": "Patrick"
}, - {
- "id": "16",
- "name": "John"
}
]
}
Use this endpoint to create a single Subscription.
collection required | integer <int32> Enum: 0 1 Determines whether the amount should be collected for an entire period or just for a part of it.
If collection is full, customers are charged for an entire period, even if the subscription was created in the middle of a subscription period. If collection is proportional, customers are only charged for the period from the subscription date to the end of the subscription period. Filterable: not filterable Sortable: false |
interval required | integer <int32> Enum: 1 2 3 4 5 6 7 8 9 10 11 12 13 The period for which the customer is charged through one invoice. The interval can be:
Filterable: not filterable Sortable: false |
name required | string [ 0 .. 50 ] characters The subscription name, e.g. Family plan, 1 year. Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: false |
accrue | boolean Accrual is used to allocate costs and/or revenues over several periods. If true, the invoice/order created through the subscription is to be booked on the accruals account. Filterable: not filterable Sortable: false |
allowMoreThanOnePerCustomer | boolean If true, several subscribers with the same customer number can be created. Filterable: not filterable Sortable: false |
description | string or null [ 0 .. 500 ] characters Short text describing the subscription. It is not shown on the invoice/order created through the subscription. Filterable: not filterable Sortable: false |
includeName | boolean If true, an empty line with just the subscription name will be added to the invoice/order Filterable: not filterable Sortable: false |
includePeriod | boolean If true, an empty line with just the subscription period will be added to the invoice/order. Filterable: not filterable Sortable: false |
isBarred | boolean Flag indicating if a subscription is barred or not. Barred subscriptions are excluded from batch runs Filterable: eq, ne, lt, lte, gt, gte Sortable: false |
isCalendarBased | boolean If set to true, the end date will be based on the year calendar, instead of the addition of an exact interval to the start date. Filterable: not filterable Sortable: false |
number | integer <int32> The unique number of the subscription. Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: true |
objectVersion | string or null The object version, required for PUT requests to help ensure that updates made by others don’t get overwritten by your update request. Filterable: not filterable Sortable: false |
number | integer <int32> Filterable: not filterable Sortable: false |
{- "name": "string",
- "interval": 1,
- "collection": 0
}
{- "number": 0
}
Use this endpoint to update a single Subscription.
collection required | integer <int32> Enum: 0 1 Determines whether the amount should be collected for an entire period or just for a part of it.
If collection is full, customers are charged for an entire period, even if the subscription was created in the middle of a subscription period. If collection is proportional, customers are only charged for the period from the subscription date to the end of the subscription period. Filterable: not filterable Sortable: false |
interval required | integer <int32> Enum: 1 2 3 4 5 6 7 8 9 10 11 12 13 The period for which the customer is charged through one invoice. The interval can be:
Filterable: not filterable Sortable: false |
name required | string [ 0 .. 50 ] characters The subscription name, e.g. Family plan, 1 year. Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: false |
accrue | boolean Accrual is used to allocate costs and/or revenues over several periods. If true, the invoice/order created through the subscription is to be booked on the accruals account. Filterable: not filterable Sortable: false |
allowMoreThanOnePerCustomer | boolean If true, several subscribers with the same customer number can be created. Filterable: not filterable Sortable: false |
description | string or null [ 0 .. 500 ] characters Short text describing the subscription. It is not shown on the invoice/order created through the subscription. Filterable: not filterable Sortable: false |
includeName | boolean If true, an empty line with just the subscription name will be added to the invoice/order Filterable: not filterable Sortable: false |
includePeriod | boolean If true, an empty line with just the subscription period will be added to the invoice/order. Filterable: not filterable Sortable: false |
isBarred | boolean Flag indicating if a subscription is barred or not. Barred subscriptions are excluded from batch runs Filterable: eq, ne, lt, lte, gt, gte Sortable: false |
isCalendarBased | boolean If set to true, the end date will be based on the year calendar, instead of the addition of an exact interval to the start date. Filterable: not filterable Sortable: false |
number | integer <int32> The unique number of the subscription. Filterable: eq, ne, lt, lte, gt, gte, in, nin Sortable: true |
objectVersion | string or null The object version, required for PUT requests to help ensure that updates made by others don’t get overwritten by your update request. Filterable: not filterable Sortable: false |
{- "name": "string",
- "interval": 1,
- "collection": 0
}
{- "type": "string",
- "title": "string",
- "status": 0,
- "detail": "string",
- "instance": "string",
- "traceId": "string",
- "errorCode": "string",
- "traceTimeUtc": "string",
- "errors": [
- {
- "property": "string",
- "message": "string",
- "errorCode": "string"
}
]
}
Call this endpoint to get the number of Subscriptions. You can use filtering as well.
Filter | string Use this parameter to set the filtering for fields. Filtering instructions |
0