WSE · Schnittstellen
Produkte & Leistungen
Verbinden Sie WSE mit Ihren Anwendungen. Entdecken Sie Endpunkte, Datenmodelle und Schnittstellen – nach Funktionsbereichen und Add-ons geordnet.
Produkte & Leistungen
ERP API Dokumentation
Get Product
Retrieve a specific product with all related references and prices.
Authorizations:
path Parameters
| product_id required | string <uuid4> (Product Id) |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request GET \ --url 'https://your-instance.example.invalid/products/string' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 200
- 404
- 422
- 500
- default
{- "product_number": 1,
- "product_unit_id": "a47a8dba-6622-40d2-b5cc-89341876f729",
- "description": "Product 1",
- "product_description": "Detailed description of Product 1",
- "account_id": "0b803418-3181-4e81-9916-f73d57f46dbf",
- "terms_id": "25f780aa-2bf5-4728-b1f1-b08230503b9f",
- "discountable": true,
- "pro_rata": true,
- "cycle_type": "once",
- "product_group_id": "10cf0055-bb74-4657-bd4c-49a785ddb23e",
- "product_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "product_unit": {
- "description": "kg",
- "product_unit_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}, - "product_group": {
- "description": "Grundgebühr",
- "product_group_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}, - "account": {
- "description": "Erlöse 19%",
- "account_no": "4400",
- "account_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}, - "terms": {
- "description": "Default",
- "first_min_term_value": 12,
- "first_cancellation_period_value": 3,
- "min_term_value": 12,
- "cancellation_period_value": 3,
- "terms_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}, - "product_feature": [
- {
- "product_feature_key_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "value": "red",
- "product_feature_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z",
- "product_feature_key": {
- "description": "color",
- "product_feature_key_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}
}
], - "product_prices": [
- {
- "net_price": "10.00",
- "tax_type_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "valid_from": "2021-01-01",
- "intro_net_price": "7.50",
- "intro_duration_months": 6,
- "product_price_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z",
- "tax_type": {
- "description": "Taxes Type 1",
- "taxrate": "19.00",
- "account_id": "0b803418-3181-4e81-9916-f73d57f46dbf",
- "tax_type_id": "60c5aab4-d4ba-471c-ade0-a1e85045501c",
- "last_change": "2019-08-24T14:15:22Z"
}, - "gross_price": "11.90",
- "intro_gross_price": "8.93"
}
], - "current_price": {
- "net_price": "10.00",
- "tax_type_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "valid_from": "2021-01-01",
- "intro_net_price": "7.50",
- "intro_duration_months": 6,
- "product_price_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z",
- "tax_type": {
- "description": "Taxes Type 1",
- "taxrate": "19.00",
- "account_id": "0b803418-3181-4e81-9916-f73d57f46dbf",
- "tax_type_id": "60c5aab4-d4ba-471c-ade0-a1e85045501c",
- "last_change": "2019-08-24T14:15:22Z"
}, - "gross_price": "11.90",
- "intro_gross_price": "8.93"
}, - "product_relationships": [
- {
- "product_relationship_id": "string",
- "product_relationship_type_id": "string",
- "product_relationship_type_role_id": "string",
- "product_id": "string",
- "related_product_id": "string",
- "relationship_type_description": "string",
- "last_change": "2019-08-24T14:15:22Z"
}
]
}Update Product
Update a specific product and validate all related references.
Authorizations:
path Parameters
| product_id required | string <uuid4> (Product Id) |
Request Body schema: application/jsonrequired
Product Number (integer) or Product Number (null) (Product Number) Product number of the product | |
Any of integer (Product Number) Product number of the product | |
Product Unit Id (string) or Product Unit Id (null) (Product Unit Id) Unit ID of the product | |
Any of string <uuid4> (Product Unit Id) Unit ID of the product | |
Description (string) or Description (null) (Description) Name of the product | |
Any of <= 200 characters string (Description) <= 200 characters Name of the product | |
Product Description (string) or Product Description (null) (Product Description) Optional description of the product | |
Any of string (Product Description) Optional description of the product | |
Account Id (string) or Account Id (null) (Account Id) Account ID of the product | |
Any of string <uuid4> (Account Id) Account ID of the product | |
Terms Id (string) or Terms Id (null) (Terms Id) Optional duration term ID of the product. Use null to clear the relation on PATCH. | |
Any of string <uuid4> (Terms Id) Optional duration term ID of the product. Use null to clear the relation on PATCH. | |
Discountable (boolean) or Discountable (null) (Discountable) If true, service-level percentage discounts can be applied to this product during billing | |
Any of boolean (Discountable) If true, service-level percentage discounts can be applied to this product during billing | |
Pro Rata (boolean) or Pro Rata (null) (Pro Rata) Pro rata of the product | |
Any of boolean (Pro Rata) Pro rata of the product | |
CycleType (string) or null Cycle type of the product | |
Any of string (CycleType) Enum: "once" "monthly" "quarterly" "half_yearly" "yearly" Cycle type of the product | |
Product Group Id (string) or Product Group Id (null) (Product Group Id) Product group ID of the product | |
Any of string <uuid4> (Product Group Id) Product group ID of the product | |
Responses
Request samples
- Payload
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
{- "product_number": 1,
- "product_unit_id": "a47a8dba-6622-40d2-b5cc-89341876f729",
- "description": "Product 1",
- "product_description": "Detailed description of Product 1",
- "account_id": "0b803418-3181-4e81-9916-f73d57f46dbf",
- "terms_id": "25f780aa-2bf5-4728-b1f1-b08230503b9f",
- "discountable": true,
- "pro_rata": true,
- "cycle_type": "once",
- "product_group_id": "10cf0055-bb74-4657-bd4c-49a785ddb23e"
}Response samples
- 200
- 400
- 404
- 422
- 500
- default
{- "product_number": 1,
- "product_unit_id": "a47a8dba-6622-40d2-b5cc-89341876f729",
- "description": "Product 1",
- "product_description": "Detailed description of Product 1",
- "account_id": "0b803418-3181-4e81-9916-f73d57f46dbf",
- "terms_id": "25f780aa-2bf5-4728-b1f1-b08230503b9f",
- "discountable": true,
- "pro_rata": true,
- "cycle_type": "once",
- "product_group_id": "10cf0055-bb74-4657-bd4c-49a785ddb23e",
- "product_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}Delete Product
Delete a specific product, if no related records exist.
Authorizations:
path Parameters
| product_id required | string <uuid4> (Product Id) |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request DELETE \ --url 'https://your-instance.example.invalid/products/string' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 202
- 404
- 422
- 500
- 547
- default
{- "message": "string"
}Get Product Import Schema Endpoint
Return the fixed product CSV import contract.
Authorizations:
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request GET \ --url 'https://your-instance.example.invalid/products/import/schema' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 200
- 500
- default
{- "import_type": "string",
- "fixed_column_order": true,
- "header_validation": "exact",
- "data_mapping": "position",
- "allowed_delimiters": [
- "string"
], - "allowed_encodings": [
- "string"
], - "fields": [
- {
- "name": "string",
- "position": 1,
- "required": true,
- "required_when": "string",
- "data_type": "string",
- "max_length": 1,
- "allowed_values": [
- "string"
], - "description": "string",
- "empty_cell_behavior": "string"
}
]
}Get Product Import Template Endpoint
Return a product CSV import header template.
Authorizations:
query Parameters
| delimiter | string (Delimiter) Default: "," |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request GET \ --url 'https://your-instance.example.invalid/products/import/template.csv?delimiter=%2C' \ --header 'Accept: text/csv' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 422
- 500
- default
{- "type": "urn:wse:problem:bad-request",
- "title": "string",
- "status": 0,
- "detail": "string",
- "instance": "string",
- "parameters": null,
- "errors": null
}Import Products
Import products and one new price per product from a CSV upload.
Authorizations:
Request Body schema: multipart/form-datarequired
| file required | string <application/octet-stream> (File) |
| has_header required | boolean (Has Header) |
| encoding | string (Encoding) Default: "utf-8" |
| delimiter | string (Delimiter) Default: "," |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request POST \ --url 'https://your-instance.example.invalid/products/import' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \ --form-string 'file=string' \ --form-string 'has_header=true' \ --form-string 'encoding=utf-8' \ --form-string 'delimiter=,'
Response samples
- 200
- 413
- 422
- 500
- default
{- "status": "accepted",
- "total_rows": 0,
- "created_products": 0,
- "updated_products": 0,
- "created_prices": 0,
- "import_date": "2019-08-24"
}Get All Products
Retrieve all products with pagination, sorting and filtering.
Note:
- This endpoint returns compact items (without full historical price list).
- current_price is selected via a correlated subquery (valid_from <= today), so only one price row per product is loaded.
Authorizations:
query Parameters
| skip | integer (Skip) >= 0 Default: 0 Number of records to skip for pagination |
| limit | integer (Limit) [ 1 .. 2000 ] Default: 100 Maximum number of records to return |
| sort_by | string (Sort By) Default: "product_number" Enum: "product_number" "description" "last_change" "cycle_type" "discountable" "pro_rata" "product_group.description" "account.account_no" "account.description" "product_unit.description" "current_price.net_price" Field used for sorting |
| sort_order | string (Sort Order) Default: "asc" Enum: "asc" "desc" Sort direction |
Description (string) or Description (null) (Description) Filter by description using a case-insensitive partial match | |
Search (string) or Search (null) (Search) Global dropdown search. Values shorter than three trimmed characters are ignored. | |
Product Number (integer) or Product Number (null) (Product Number) Filter by product_number using exact match | |
Product Group Id (string) or Product Group Id (null) (Product Group Id) Filter by product_group_id using exact match | |
Account Id (string) or Account Id (null) (Account Id) Filter by account_id using exact match | |
Product Unit Id (string) or Product Unit Id (null) (Product Unit Id) Filter by product_unit_id using exact match | |
CycleType (string) or Cycle Type (null) (Cycle Type) Filter by cycle_type using exact match | |
Discountable (boolean) or Discountable (null) (Discountable) Filter by discountable using exact match | |
Pro Rata (boolean) or Pro Rata (null) (Pro Rata) Filter by pro_rata using exact match | |
Tax Type Id (string) or Tax Type Id (null) (Tax Type Id) Filter by the tax_type_id of the current product price using exact match | |
| feature | Array of strings (Feature) <= 20 items Exact product feature filter in key=value format. Repeat the parameter to require multiple feature pairs. |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request GET \ --url 'https://your-instance.example.invalid/products?skip=0&limit=100&sort_by=product_number&sort_order=asc&description=string&search=string&product_number=0&product_group_id=string&account_id=string&product_unit_id=string&cycle_type=once&discountable=true&pro_rata=true&tax_type_id=string&feature=string' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 200
- 422
- 500
- default
{- "total_count": 100,
- "items": [
- {
- "product_number": 1,
- "product_unit_id": "a47a8dba-6622-40d2-b5cc-89341876f729",
- "description": "Product 1",
- "product_description": "Detailed description of Product 1",
- "account_id": "0b803418-3181-4e81-9916-f73d57f46dbf",
- "terms_id": "25f780aa-2bf5-4728-b1f1-b08230503b9f",
- "discountable": true,
- "pro_rata": true,
- "cycle_type": "once",
- "product_group_id": "10cf0055-bb74-4657-bd4c-49a785ddb23e",
- "product_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "product_unit": {
- "description": "kg",
- "product_unit_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}, - "product_group": {
- "description": "Grundgebühr",
- "product_group_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}, - "account": {
- "description": "Erlöse 19%",
- "account_no": "4400",
- "account_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}, - "terms": {
- "description": "Default",
- "first_min_term_value": 12,
- "first_cancellation_period_value": 3,
- "min_term_value": 12,
- "cancellation_period_value": 3,
- "terms_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}, - "product_features": [
- {
- "product_feature_key_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "value": "red",
- "product_feature_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z",
- "product_feature_key": {
- "description": "color",
- "product_feature_key_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}
}
], - "current_price": {
- "net_price": "10.00",
- "tax_type_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "valid_from": "2021-01-01",
- "intro_net_price": "7.50",
- "intro_duration_months": 6,
- "product_price_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z",
- "tax_type": {
- "description": "Taxes Type 1",
- "taxrate": "19.00",
- "account_id": "0b803418-3181-4e81-9916-f73d57f46dbf",
- "tax_type_id": "60c5aab4-d4ba-471c-ade0-a1e85045501c",
- "last_change": "2019-08-24T14:15:22Z"
}, - "gross_price": "11.90",
- "intro_gross_price": "8.93"
}
}
]
}Create Product
Create a new product entry including its mandatory initial price.
Authorizations:
Request Body schema: application/jsonrequired
| description required | string (Description) <= 200 characters Name of the product | ||||||||||
| account_id required | string <uuid4> (Account Id) Account ID of the product | ||||||||||
| product_group_id required | string <uuid4> (Product Group Id) Product group ID of the product | ||||||||||
Product Number (integer) or Product Number (null) (Product Number) Product number of the product | |||||||||||
Any of integer (Product Number) Product number of the product | |||||||||||
Product Unit Id (string) or Product Unit Id (null) (Product Unit Id) Unit ID of the product | |||||||||||
Any of string <uuid4> (Product Unit Id) Unit ID of the product | |||||||||||
Product Description (string) or Product Description (null) (Product Description) Optional description of the product | |||||||||||
Any of string (Product Description) Optional description of the product | |||||||||||
Terms Id (string) or Terms Id (null) (Terms Id) Optional duration term ID of the product. Use null to clear the relation on PATCH. | |||||||||||
Any of string <uuid4> (Terms Id) Optional duration term ID of the product. Use null to clear the relation on PATCH. | |||||||||||
| discountable | boolean (Discountable) Default: false If true, service-level percentage discounts can be applied to this product during billing | ||||||||||
| pro_rata | boolean (Pro Rata) Default: false Pro rata of the product | ||||||||||
| cycle_type | string (CycleType) Default: "once" Enum: "once" "monthly" "quarterly" "half_yearly" "yearly" Cycle type of the product | ||||||||||
ProductPriceCreate (object) or null Initial product price to create together with the product. | |||||||||||
Any of
| |||||||||||
Responses
Request samples
- Payload
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
{- "product_number": 1,
- "product_unit_id": "a47a8dba-6622-40d2-b5cc-89341876f729",
- "description": "Product 1",
- "product_description": "Detailed description of Product 1",
- "account_id": "0b803418-3181-4e81-9916-f73d57f46dbf",
- "terms_id": "25f780aa-2bf5-4728-b1f1-b08230503b9f",
- "discountable": true,
- "pro_rata": true,
- "cycle_type": "once",
- "product_group_id": "10cf0055-bb74-4657-bd4c-49a785ddb23e",
- "price": {
- "net_price": "10.00",
- "tax_type_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "valid_from": "2021-01-01",
- "intro_net_price": "7.50",
- "intro_duration_months": 6
}
}Response samples
- 201
- 404
- 409
- 422
- 500
- default
{- "product_number": 1,
- "product_unit_id": "a47a8dba-6622-40d2-b5cc-89341876f729",
- "description": "Product 1",
- "product_description": "Detailed description of Product 1",
- "account_id": "0b803418-3181-4e81-9916-f73d57f46dbf",
- "terms_id": "25f780aa-2bf5-4728-b1f1-b08230503b9f",
- "discountable": true,
- "pro_rata": true,
- "cycle_type": "once",
- "product_group_id": "10cf0055-bb74-4657-bd4c-49a785ddb23e",
- "product_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}Get Next Product Number
Get a non-reserving product-number suggestion that may become stale.
Authorizations:
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request GET \ --url 'https://your-instance.example.invalid/products/next-number' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 200
- 500
- default
{- "next_number": 123
}Get Product Group
Retrieve a specific product group by its ID.
Authorizations:
path Parameters
| product_group_id required | string <uuid4> (Product Group Id) |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request GET \ --url 'https://your-instance.example.invalid/product-groups/string' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 200
- 404
- 422
- 500
- default
{- "description": "Grundgebühr",
- "product_group_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}Update Product Group
Update a specific product group in the database.
Authorizations:
path Parameters
| product_group_id required | string <uuid4> (Product Group Id) |
Request Body schema: application/jsonrequired
Description (string) or Description (null) (Description) Description of the product group | |
Any of <= 200 characters string (Description) <= 200 characters Description of the product group | |
Responses
Request samples
- Payload
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
{- "description": "Grundgebühr"
}Response samples
- 200
- 400
- 404
- 422
- 500
- default
{- "description": "Grundgebühr",
- "product_group_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}Delete Product Group
Delete a product group
Authorizations:
path Parameters
| product_group_id required | string <uuid4> (Product Group Id) |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request DELETE \ --url 'https://your-instance.example.invalid/product-groups/string' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 202
- 400
- 404
- 422
- 500
- default
nullGet All Product Groups
Retrieve all product groups with pagination, sorting and filtering.
Authorizations:
query Parameters
| skip | integer (Skip) >= 0 Default: 0 Number of records to skip for pagination |
| limit | integer (Limit) [ 1 .. 1000 ] Default: 100 Maximum number of records to return |
| sort_by | string (Sort By) Default: "last_change" Enum: "last_change" "description" Field used for sorting |
| sort_order | string (Sort Order) Default: "asc" Enum: "asc" "desc" Sort direction |
Description (string) or Description (null) (Description) Filter by description using LIKE |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request GET \ --url 'https://your-instance.example.invalid/product-groups?skip=0&limit=100&sort_by=last_change&sort_order=asc&description=string' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 200
- 422
- 500
- default
{- "total_count": 100,
- "items": [
- {
- "description": "Grundgebühr",
- "product_group_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}
]
}Create Product Group
Create a new product group
Authorizations:
Request Body schema: application/jsonrequired
| description required | string (Description) <= 200 characters Description of the product group |
Responses
Request samples
- Payload
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
{- "description": "Grundgebühr"
}Response samples
- 201
- 400
- 422
- 500
- default
{- "description": "Grundgebühr",
- "product_group_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}Get Product Price
Retrieve a specific product price for a product, including product and tax_type.
Authorizations:
path Parameters
| product_id required | string <uuid4> (Product Id) |
| product_price_id required | string <uuid4> (Product Price Id) |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request GET \ --url 'https://your-instance.example.invalid/products/string/product-prices/string' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 200
- 404
- 422
- 500
- default
{- "net_price": "10.00",
- "tax_type_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "valid_from": "2021-01-01",
- "intro_net_price": "7.50",
- "intro_duration_months": 6,
- "product_price_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z",
- "tax_type": {
- "description": "Taxes Type 1",
- "taxrate": "19.00",
- "account_id": "0b803418-3181-4e81-9916-f73d57f46dbf",
- "tax_type_id": "60c5aab4-d4ba-471c-ade0-a1e85045501c",
- "last_change": "2019-08-24T14:15:22Z"
}, - "gross_price": "11.90",
- "intro_gross_price": "8.93"
}Update Product Price
Update a specific product price belonging to a product.
Authorizations:
path Parameters
| product_id required | string <uuid4> (Product Id) |
| product_price_id required | string <uuid4> (Product Price Id) |
Request Body schema: application/jsonrequired
Net Price (number) or Net Price (string) or Net Price (null) (Net Price) Net price of the product price. | |
Any of number (Net Price) Net price of the product price. | |
Tax Type Id (string) or Tax Type Id (null) (Tax Type Id) Tax ID of the product price. | |
Any of string <uuid4> (Tax Type Id) Tax ID of the product price. | |
| valid_from | string <date> (Valid From) Default: "1900-01-01" Valid from of the product price. If omitted, it is valid from the beginning. |
Intro Net Price (number) or Intro Net Price (string) or Intro Net Price (null) (Intro Net Price) Optional intro net price (valid for intro_duration_months). | |
Any of number (Intro Net Price) Optional intro net price (valid for intro_duration_months). | |
Intro Duration Months (integer) or Intro Duration Months (null) (Intro Duration Months) Optional intro duration in months (must be set if intro_net_price is set). | |
Any of >= 1 integer (Intro Duration Months) >= 1 Optional intro duration in months (must be set if intro_net_price is set). | |
Responses
Request samples
- Payload
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
{- "net_price": "10.00",
- "tax_type_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "valid_from": "2021-01-01",
- "intro_net_price": "7.50",
- "intro_duration_months": 6
}Response samples
- 200
- 400
- 404
- 422
- 500
- default
{- "net_price": "10.00",
- "tax_type_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "valid_from": "2021-01-01",
- "intro_net_price": "7.50",
- "intro_duration_months": 6,
- "product_price_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}Delete Product Price
Delete a product price associated with a specific product.
Authorizations:
path Parameters
| product_id required | string <uuid4> (Product Id) |
| product_price_id required | string <uuid4> (Product Price Id) |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request DELETE \ --url 'https://your-instance.example.invalid/products/string/product-prices/string' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 202
- 404
- 422
- 500
- default
{- "message": "string"
}Get All Product Prices
Retrieve all product prices for a product with pagination, including product and tax_type.
Authorizations:
path Parameters
| product_id required | string <uuid4> (Product Id) |
query Parameters
| skip | integer (Skip) >= 0 Default: 0 Number of records to skip |
| limit | integer (Limit) [ 1 .. 1000 ] Default: 100 Maximum number of records to return |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request GET \ --url 'https://your-instance.example.invalid/products/string/product-prices?skip=0&limit=100' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 200
- 422
- 500
- default
{- "total_count": 100,
- "items": [
- {
- "net_price": "10.00",
- "tax_type_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "valid_from": "2021-01-01",
- "intro_net_price": "7.50",
- "intro_duration_months": 6,
- "product_price_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z",
- "tax_type": {
- "description": "Taxes Type 1",
- "taxrate": "19.00",
- "account_id": "0b803418-3181-4e81-9916-f73d57f46dbf",
- "tax_type_id": "60c5aab4-d4ba-471c-ade0-a1e85045501c",
- "last_change": "2019-08-24T14:15:22Z"
}, - "gross_price": "11.90",
- "intro_gross_price": "8.93"
}
]
}Create Product Price
Create a new product price for a specific product.
Authorizations:
path Parameters
| product_id required | string <uuid4> (Product Id) |
Request Body schema: application/jsonrequired
required | Net Price (number) or Net Price (string) (Net Price) Net price of the product price. |
Any of number (Net Price) Net price of the product price. | |
| tax_type_id required | string <uuid4> (Tax Type Id) Tax ID of the product price. |
| valid_from | string <date> (Valid From) Default: "1900-01-01" Valid from of the product price. If omitted, it is valid from the beginning. |
Intro Net Price (number) or Intro Net Price (string) or Intro Net Price (null) (Intro Net Price) Optional intro net price (valid for intro_duration_months). | |
Any of number (Intro Net Price) Optional intro net price (valid for intro_duration_months). | |
Intro Duration Months (integer) or Intro Duration Months (null) (Intro Duration Months) Optional intro duration in months (must be set if intro_net_price is set). | |
Any of >= 1 integer (Intro Duration Months) >= 1 Optional intro duration in months (must be set if intro_net_price is set). | |
Responses
Request samples
- Payload
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
{- "net_price": "10.00",
- "tax_type_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "valid_from": "2021-01-01",
- "intro_net_price": "7.50",
- "intro_duration_months": 6
}Response samples
- 201
- 400
- 404
- 422
- 500
- default
{- "net_price": "10.00",
- "tax_type_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "valid_from": "2021-01-01",
- "intro_net_price": "7.50",
- "intro_duration_months": 6,
- "product_price_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}Get Product Unit
Get a specific product unit.
Authorizations:
path Parameters
| product_unit_id required | string <uuid4> (Product Unit Id) |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request GET \ --url 'https://your-instance.example.invalid/product-units/string' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 200
- 404
- 422
- 500
- default
{- "description": "kg",
- "product_unit_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}Update Product Unit
Update a specific product unit.
Authorizations:
path Parameters
| product_unit_id required | string <uuid4> (Product Unit Id) |
Request Body schema: application/jsonrequired
Description (string) or Description (null) (Description) Description of the product unit | |
Any of <= 200 characters string (Description) <= 200 characters Description of the product unit | |
Responses
Request samples
- Payload
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
{- "description": "kg"
}Response samples
- 200
- 400
- 404
- 422
- 500
- default
{- "description": "kg",
- "product_unit_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}Delete Product Unit
Delete a specific product unit.
Authorizations:
path Parameters
| product_unit_id required | string <uuid4> (Product Unit Id) |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request DELETE \ --url 'https://your-instance.example.invalid/product-units/string' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 202
- 404
- 422
- 500
- 547
- default
{- "message": "string"
}Get All Product Units
Get all product units, with the option to limit the scope.
Authorizations:
query Parameters
| skip | integer (Skip) >= 0 Default: 0 |
| limit | integer (Limit) [ 1 .. 1000 ] Default: 100 |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request GET \ --url 'https://your-instance.example.invalid/product-units?skip=0&limit=100' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 200
- 422
- 500
- default
{- "total_count": 100,
- "items": [
- {
- "description": "kg",
- "product_unit_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}
]
}Create Product Unit
Create a product unit.
Authorizations:
Request Body schema: application/jsonrequired
| description required | string (Description) <= 200 characters Description of the product unit |
Responses
Request samples
- Payload
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
{- "description": "kg"
}Response samples
- 201
- 400
- 422
- 500
- default
{- "description": "kg",
- "product_unit_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}Read Product Feature
Get a specific Product Feature if it belongs to the given product.
Authorizations:
path Parameters
| product_id required | string <uuid4> (Product Id) |
| product_feature_id required | string <uuid4> (Product Feature Id) |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request GET \ --url 'https://your-instance.example.invalid/products/string/product-features/string' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 200
- 404
- 422
- 500
- default
{- "product_feature_key_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "value": "red",
- "product_feature_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z",
- "product_feature_key": {
- "description": "color",
- "product_feature_key_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}
}Update Product Feature
Update a specific Product Feature if it belongs to the given product.
Authorizations:
path Parameters
| product_id required | string <uuid4> (Product Id) |
| product_feature_id required | string <uuid4> (Product Feature Id) |
Request Body schema: application/jsonrequired
Product Feature Key Id (string) or Product Feature Key Id (null) (Product Feature Key Id) Product feature key ID of the product feature key | |
Any of string <uuid4> (Product Feature Key Id) Product feature key ID of the product feature key | |
Value (string) or Value (null) (Value) Value of the product feature | |
Any of <= 200 characters string (Value) <= 200 characters Value of the product feature | |
Responses
Request samples
- Payload
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
{- "product_feature_key_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "value": "red"
}Response samples
- 200
- 404
- 422
- 500
- default
{- "product_feature_key_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "value": "red",
- "product_feature_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}Delete Product Feature
Delete a specific Product Feature
Authorizations:
path Parameters
| product_id required | string <uuid4> (Product Id) |
| product_feature_id required | string <uuid4> (Product Feature Id) |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request DELETE \ --url 'https://your-instance.example.invalid/products/string/product-features/string' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 202
- 404
- 422
- 500
- default
nullRead Product Features
Get all Product Features for a specific Product, with optional pagination.
Authorizations:
path Parameters
| product_id required | string <uuid4> (Product Id) |
query Parameters
| skip | integer (Skip) Default: 0 |
| limit | integer (Limit) Default: 100 |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request GET \ --url 'https://your-instance.example.invalid/products/string/product-features?skip=0&limit=100' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 200
- 422
- 500
- default
{- "total_count": 100,
- "items": [
- {
- "product_feature_key_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "value": "red",
- "product_feature_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z",
- "product_feature_key": {
- "description": "color",
- "product_feature_key_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}
}
]
}Create Product Feature
Create a new Product Feature for the given product.
Authorizations:
path Parameters
| product_id required | string <uuid4> (Product Id) |
Request Body schema: application/jsonrequired
| product_feature_key_id required | string <uuid4> (Product Feature Key Id) Product feature key ID of the product feature key |
| value required | string (Value) <= 200 characters Value of the product feature |
Responses
Request samples
- Payload
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
{- "product_feature_key_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "value": "red"
}Response samples
- 201
- 404
- 422
- 500
- default
{- "product_feature_key_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "value": "red",
- "product_feature_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}Read Product Feature Key
Get a specific Product Feature Key
Authorizations:
path Parameters
| product_feature_key_id required | string <uuid4> (Product Feature Key Id) |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request GET \ --url 'https://your-instance.example.invalid/product-feature-keys/string' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 200
- 404
- 422
- 500
- default
{- "description": "color",
- "product_feature_key_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}Update Product Feature Key
Update a specific Product Feature Key
Authorizations:
path Parameters
| product_feature_key_id required | string <uuid4> (Product Feature Key Id) |
Request Body schema: application/jsonrequired
Description (string) or Description (null) (Description) Name of the product feature key | |
Any of <= 200 characters string (Description) <= 200 characters Name of the product feature key | |
Responses
Request samples
- Payload
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
{- "description": "color"
}Response samples
- 200
- 400
- 404
- 422
- 500
- default
{- "description": "color",
- "product_feature_key_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}Delete Product Feature Key
Delete a specific product feature key if no features are referencing it.
Authorizations:
path Parameters
| product_feature_key_id required | string <uuid4> (Product Feature Key Id) |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request DELETE \ --url 'https://your-instance.example.invalid/product-feature-keys/string' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 202
- 404
- 422
- 500
- 547
- default
nullRead Product Feature Keys
Get all Product Feature Keys, with the option to limit the scope
Authorizations:
query Parameters
| skip | integer (Skip) Default: 0 |
| limit | integer (Limit) Default: 100 |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request GET \ --url 'https://your-instance.example.invalid/product-feature-keys?skip=0&limit=100' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 200
- 422
- 500
- default
{- "total_count": 100,
- "items": [
- {
- "description": "color",
- "product_feature_key_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}
]
}Create Product Feature Key
Create a new Product Feature Key.
Authorizations:
Request Body schema: application/jsonrequired
| description required | string (Description) <= 200 characters Name of the product feature key |
Responses
Request samples
- Payload
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
{- "description": "color"
}Response samples
- 201
- 400
- 422
- 500
- default
{- "description": "color",
- "product_feature_key_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}Read Product Relationship
Get one relationship from either involved product.
Authorizations:
path Parameters
| product_id required | string <uuid4> (Product Id) |
| product_relationship_id required | string <uuid4> (Product Relationship Id) |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request GET \ --url 'https://your-instance.example.invalid/products/string/product-relationships/string' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 200
- 404
- 422
- 500
- default
{- "product_relationship_id": "string",
- "product_relationship_type_id": "string",
- "product_relationship_type_role_id": "string",
- "product_id": "string",
- "related_product_id": "string",
- "relationship_type_description": "string",
- "last_change": "2019-08-24T14:15:22Z"
}Update Product Relationship
Update one relationship relative to either involved product.
Authorizations:
path Parameters
| product_id required | string <uuid4> (Product Id) |
| product_relationship_id required | string <uuid4> (Product Relationship Id) |
Request Body schema: application/jsonrequired
Related Product Id (string) or Related Product Id (null) (Related Product Id) Product ID of the related product | |
Any of string <uuid4> (Related Product Id) Product ID of the related product | |
Product Relationship Type Role Id (string) or Product Relationship Type Role Id (null) (Product Relationship Type Role Id) Directional product relationship type role ID | |
Any of string <uuid4> (Product Relationship Type Role Id) Directional product relationship type role ID | |
Responses
Request samples
- Payload
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
{- "related_product_id": "XXXXXXXX-XXXX-4XXX-8XXX-XXXXXXXXXXXX",
- "product_relationship_type_role_id": "XXXXXXXX-XXXX-4XXX-8XXX-XXXXXXXXXXXX"
}Response samples
- 200
- 404
- 409
- 422
- 500
- default
{- "product_relationship_id": "string",
- "product_relationship_type_id": "string",
- "product_relationship_type_role_id": "string",
- "product_id": "string",
- "related_product_id": "string",
- "relationship_type_description": "string",
- "last_change": "2019-08-24T14:15:22Z"
}Delete Product Relationship
Delete one relationship from either involved product.
Authorizations:
path Parameters
| product_id required | string <uuid4> (Product Id) |
| product_relationship_id required | string <uuid4> (Product Relationship Id) |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request DELETE \ --url 'https://your-instance.example.invalid/products/string/product-relationships/string' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 202
- 404
- 422
- 500
- default
nullRead Product Relationships
Get outgoing and incoming relationships relative to one product.
Authorizations:
path Parameters
| product_id required | string <uuid4> (Product Id) |
query Parameters
| skip | integer (Skip) >= 0 Default: 0 |
| limit | integer (Limit) [ 1 .. 1000 ] Default: 100 |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request GET \ --url 'https://your-instance.example.invalid/products/string/product-relationships?skip=0&limit=100' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 200
- 404
- 422
- 500
- default
{- "total_count": 0,
- "items": [
- {
- "product_relationship_id": "string",
- "product_relationship_type_id": "string",
- "product_relationship_type_role_id": "string",
- "product_id": "string",
- "related_product_id": "string",
- "relationship_type_description": "string",
- "last_change": "2019-08-24T14:15:22Z"
}
]
}Create Product Relationship
Create one relationship that is visible from both involved products.
Authorizations:
path Parameters
| product_id required | string <uuid4> (Product Id) |
Request Body schema: application/jsonrequired
| related_product_id required | string <uuid4> (Related Product Id) |
| product_relationship_type_role_id required | string <uuid4> (Product Relationship Type Role Id) |
Responses
Request samples
- Payload
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
{- "related_product_id": "string",
- "product_relationship_type_role_id": "string"
}Response samples
- 201
- 404
- 409
- 422
- 500
- default
{- "product_relationship_id": "string",
- "product_relationship_type_id": "string",
- "product_relationship_type_role_id": "string",
- "product_id": "string",
- "related_product_id": "string",
- "relationship_type_description": "string",
- "last_change": "2019-08-24T14:15:22Z"
}Get All Product Relationship Types
Return the editable catalog of product relationship type definitions.
Authorizations:
query Parameters
| skip | integer (Skip) >= 0 Default: 0 |
| limit | integer (Limit) [ 1 .. 1000 ] Default: 100 |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request GET \ --url 'https://your-instance.example.invalid/product-relationship-types?skip=0&limit=100' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 200
- 422
- 500
- default
{- "total_count": 0,
- "items": [
- {
- "product_relationship_type_id": "string",
- "product_relationship_type_role_id": "string",
- "description": "string",
- "is_symmetric": true,
- "inverse_product_relationship_type_role_id": "string",
- "inverse_description": "string",
- "is_in_use": true,
- "last_change": "2019-08-24T14:15:22Z"
}
]
}Create Product Relationship Type
Create a complete symmetric or asymmetric type definition atomically.
Authorizations:
Request Body schema: application/jsonrequired
| description required | string (Description) [ 1 .. 200 ] characters |
| is_symmetric required | boolean (Is Symmetric) |
Inverse Description (string) or Inverse Description (null) (Inverse Description) | |
Any of [ 1 .. 200 ] characters string (Inverse Description) [ 1 .. 200 ] characters | |
Responses
Request samples
- Payload
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
{- "description": "string",
- "is_symmetric": true,
- "inverse_description": "string"
}Response samples
- 201
- 422
- 500
- default
{- "product_relationship_type_id": "string",
- "product_relationship_type_role_id": "string",
- "description": "string",
- "is_symmetric": true,
- "inverse_product_relationship_type_role_id": "string",
- "inverse_description": "string",
- "is_in_use": true,
- "last_change": "2019-08-24T14:15:22Z"
}Get Product Relationship Type
Return one product relationship type definition.
Authorizations:
path Parameters
| product_relationship_type_id required | string <uuid4> (Product Relationship Type Id) |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request GET \ --url 'https://your-instance.example.invalid/product-relationship-types/string' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 200
- 404
- 422
- 500
- default
{- "product_relationship_type_id": "string",
- "product_relationship_type_role_id": "string",
- "description": "string",
- "is_symmetric": true,
- "inverse_product_relationship_type_role_id": "string",
- "inverse_description": "string",
- "is_in_use": true,
- "last_change": "2019-08-24T14:15:22Z"
}Update Product Relationship Type
Update only the user-facing descriptions of a type definition.
Authorizations:
path Parameters
| product_relationship_type_id required | string <uuid4> (Product Relationship Type Id) |
Request Body schema: application/jsonrequired
Description (string) or Description (null) (Description) | |
Any of [ 1 .. 200 ] characters string (Description) [ 1 .. 200 ] characters | |
Inverse Description (string) or Inverse Description (null) (Inverse Description) | |
Any of [ 1 .. 200 ] characters string (Inverse Description) [ 1 .. 200 ] characters | |
Responses
Request samples
- Payload
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
{- "description": "string",
- "inverse_description": "string"
}Response samples
- 200
- 404
- 422
- 500
- default
{- "product_relationship_type_id": "string",
- "product_relationship_type_role_id": "string",
- "description": "string",
- "is_symmetric": true,
- "inverse_product_relationship_type_role_id": "string",
- "inverse_description": "string",
- "is_in_use": true,
- "last_change": "2019-08-24T14:15:22Z"
}Delete Product Relationship Type
Delete an unused type definition and all of its directional roles.
Authorizations:
path Parameters
| product_relationship_type_id required | string <uuid4> (Product Relationship Type Id) |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request DELETE \ --url 'https://your-instance.example.invalid/product-relationship-types/string' \ --header 'Accept: application/problem+json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 404
- 409
- 422
- 500
- default
{- "type": "urn:wse:problem:bad-request",
- "title": "string",
- "status": 0,
- "detail": "string",
- "instance": "string",
- "parameters": null,
- "errors": null
}Get Service
Retrieve a specific service for a customer.
Authorizations:
path Parameters
| customer_id required | string <uuid4> (Customer Id) |
| service_id required | string <uuid4> (Service Id) |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request GET \ --url 'https://your-instance.example.invalid/customers/string/services/string' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 200
- 404
- 422
- 500
- default
{- "service_number": 1,
- "description": "Default",
- "discount_percentage": "1.05",
- "terms_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "date_active": "2021-02-01",
- "date_deactivate": "2022-01-01",
- "date_signed": "2021-01-10",
- "date_created": "2021-01-01",
- "duration_start_date": "2021-01-01",
- "service_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "customer_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z",
- "terms": {
- "description": "Default",
- "first_min_term_value": 12,
- "first_cancellation_period_value": 3,
- "min_term_value": 12,
- "cancellation_period_value": 3,
- "terms_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}, - "products": [
- {
- "product_count": "1",
- "date_active": "2021-02-01",
- "date_deactivate": "2022-01-01",
- "different_price": "1.00",
- "different_product_text": "Different product text",
- "bill_until": "2022-01-01",
- "duration_start_date": "2021-01-01",
- "service_product_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "service_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "product_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z",
- "product": {
- "product_number": 1,
- "product_unit_id": "a47a8dba-6622-40d2-b5cc-89341876f729",
- "description": "Product 1",
- "product_description": "Detailed description of Product 1",
- "account_id": "0b803418-3181-4e81-9916-f73d57f46dbf",
- "terms_id": "25f780aa-2bf5-4728-b1f1-b08230503b9f",
- "discountable": true,
- "pro_rata": true,
- "cycle_type": "once",
- "product_group_id": "10cf0055-bb74-4657-bd4c-49a785ddb23e",
- "product_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "product_unit": {
- "description": "kg",
- "product_unit_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}, - "product_group": {
- "description": "Grundgebühr",
- "product_group_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}, - "account": {
- "description": "Erlöse 19%",
- "account_no": "4400",
- "account_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}, - "terms": {
- "description": "Default",
- "first_min_term_value": 12,
- "first_cancellation_period_value": 3,
- "min_term_value": 12,
- "cancellation_period_value": 3,
- "terms_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}, - "product_features": [
- {
- "product_feature_key_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "value": "red",
- "product_feature_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z",
- "product_feature_key": {
- "description": "color",
- "product_feature_key_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}
}
], - "current_price": {
- "net_price": "10.00",
- "tax_type_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "valid_from": "2021-01-01",
- "intro_net_price": "7.50",
- "intro_duration_months": 6,
- "product_price_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z",
- "tax_type": {
- "description": "Taxes Type 1",
- "taxrate": "19.00",
- "account_id": "0b803418-3181-4e81-9916-f73d57f46dbf",
- "tax_type_id": "60c5aab4-d4ba-471c-ade0-a1e85045501c",
- "last_change": "2019-08-24T14:15:22Z"
}, - "gross_price": "11.90",
- "intro_gross_price": "8.93"
}
}, - "total_net_price": "100.00",
- "total_gross_price": "119.00",
- "earliest_possible_termination_date": "2021-01-01"
}
], - "addresses": [
- {
- "street": "Musterstraße",
- "house_number": "15",
- "house_number_addition": "A",
- "city": "Musterstadt",
- "postcode": "24768",
- "district": "Musterbezirk",
- "address_type_id": "384d8fa9-a139-4aee-9db7-4d1801e53fa7",
- "service_id": "123e4567-e89b-12d3-a456-426614174000",
- "valid_from": "2026-01-01",
- "valid_to": "2026-12-31",
- "address_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "customer_id": "123e4567-e89b-12d3-a456-426614174001",
- "address_type": {
- "description": "Rechnungsadresse",
- "is_billing": true,
- "is_allowed_for_customer": true,
- "is_allowed_for_service": true,
- "address_type_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}, - "last_change": "2019-08-24T14:15:22Z",
- "contact_data": [
- {
- "salutation_id": "7f0b3f53-df0a-408b-903e-c61405b6cff2",
- "title_id": "cca9fe7b-e875-4a1f-b00a-e74231225807",
- "name": "Weber",
- "firstname": "Karsten",
- "company": "WebSin UG",
- "mail": "info@websin.de",
- "phone": "0123456789",
- "mobile": "0123456789",
- "birthday": "2020-01-01",
- "note": "Note",
- "priority": 10,
- "valid_from": "2020-01-01",
- "valid_to": "2020-01-31",
- "contact_data_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "address_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z",
- "salutation": {
- "description": "Herr",
- "salutation_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}, - "title": {
- "description": "Herr",
- "title_id": "07aaacf5-41e3-4fb5-b6a7-cb2c2316ac66",
- "last_change": "2019-08-24T14:15:22Z"
}
}
]
}
], - "price_summary": {
- "currency": "EUR",
- "complete": true,
- "one_time": {
- "net_before_discount": "string",
- "discount_net": "string",
- "net": "string",
- "tax": "string",
- "gross": "string"
}, - "recurring": [
- {
- "net_before_discount": "string",
- "discount_net": "string",
- "net": "string",
- "tax": "string",
- "gross": "string",
- "cycle_type": "monthly"
}
]
}, - "earliest_possible_termination_date": "2021-01-01",
- "effective_earliest_termination_date": "2021-01-01"
}Update Service
Update a specific service for a customer
Authorizations:
path Parameters
| customer_id required | string <uuid> (Customer Id) |
| service_id required | string <uuid4> (Service Id) |
Request Body schema: application/jsonrequired
Service Number (integer) or Service Number (null) (Service Number) Service number of the service | |
Any of integer (Service Number) Service number of the service | |
Description (string) or Description (null) (Description) Description of the service | |
Any of string (Description) Description of the service | |
Discount Percentage (number) or Discount Percentage (string) (Discount Percentage) Default: "0.0000" Percentage discount applied to all discountable products of the service | |
Any of [ 0 .. 100 ] number (Discount Percentage) [ 0 .. 100 ] Default: "0.0000" Percentage discount applied to all discountable products of the service | |
Terms Id (string) or Terms Id (null) (Terms Id) Duration term ID of the service | |
Any of string <uuid4> (Terms Id) Duration term ID of the service | |
Date Active (string) or Date Active (null) (Date Active) Date active of the service | |
Any of string <date> (Date Active) Date active of the service | |
Date Deactivate (string) or Date Deactivate (null) (Date Deactivate) Date deactive of the service | |
Any of string <date> (Date Deactivate) Date deactive of the service | |
Date Signed (string) or Date Signed (null) (Date Signed) Date signed of the service | |
Any of string <date> (Date Signed) Date signed of the service | |
Date Created (string) or Date Created (null) (Date Created) Date created of the service | |
Any of string <date> (Date Created) Date created of the service | |
Duration Start Date (string) or Duration Start Date (null) (Duration Start Date) Duration start date of the service | |
Any of string <date> (Duration Start Date) Duration start date of the service | |
Responses
Request samples
- Payload
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
{- "service_number": 1,
- "description": "Service 1",
- "discount_percentage": "1.05",
- "terms_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "date_active": "2021-02-01",
- "date_deactivate": "2022-01-01",
- "date_signed": "2021-01-10",
- "date_created": "2021-01-01",
- "duration_start_date": "2021-01-01"
}Response samples
- 200
- 404
- 409
- 422
- 500
- default
{- "service_number": 1,
- "description": "Default",
- "discount_percentage": "1.05",
- "terms_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "date_active": "2021-02-01",
- "date_deactivate": "2022-01-01",
- "date_signed": "2021-01-10",
- "date_created": "2021-01-01",
- "duration_start_date": "2021-01-01",
- "service_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "customer_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}Delete Service
Delete a service for a customer
Authorizations:
path Parameters
| customer_id required | string <uuid> (Customer Id) |
| service_id required | string <uuid4> (Service Id) |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request DELETE \ --url 'https://your-instance.example.invalid/customers/497f6eca-6276-4993-bfeb-53cbbbba6f08/services/string' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 202
- 404
- 409
- 422
- 500
- default
nullGet Services
Retrieve all services for a given customer.
Authorizations:
path Parameters
| customer_id required | string <uuid4> (Customer Id) |
query Parameters
| skip | integer (Skip) >= 0 Default: 0 |
| limit | integer (Limit) [ 1 .. 500 ] Default: 100 |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request GET \ --url 'https://your-instance.example.invalid/customers/string/services?skip=0&limit=100' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 200
- 422
- 500
- default
{- "total_count": 100,
- "items": [
- {
- "service_number": 1,
- "description": "Default",
- "discount_percentage": "1.05",
- "terms_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "date_active": "2021-02-01",
- "date_deactivate": "2022-01-01",
- "date_signed": "2021-01-10",
- "date_created": "2021-01-01",
- "duration_start_date": "2021-01-01",
- "service_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "customer_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}
]
}Create Service
Create a new service
Authorizations:
path Parameters
| customer_id required | string <uuid> (Customer Id) |
Request Body schema: application/jsonrequired
| terms_id required | string <uuid4> (Terms Id) Duration term ID of the service |
Service Number (integer) or Service Number (null) (Service Number) Service number of the service | |
Any of integer (Service Number) Service number of the service | |
Description (string) or Description (null) (Description) Description of the service | |
Any of string (Description) Description of the service | |
Discount Percentage (number) or Discount Percentage (string) (Discount Percentage) Default: "0.0000" Percentage discount applied to all discountable products of the service | |
Any of [ 0 .. 100 ] number (Discount Percentage) [ 0 .. 100 ] Default: "0.0000" Percentage discount applied to all discountable products of the service | |
Date Active (string) or Date Active (null) (Date Active) Date active of the service | |
Any of string <date> (Date Active) Date active of the service | |
Date Deactivate (string) or Date Deactivate (null) (Date Deactivate) Date deactive of the service | |
Any of string <date> (Date Deactivate) Date deactive of the service | |
Date Signed (string) or Date Signed (null) (Date Signed) Date signed of the service | |
Any of string <date> (Date Signed) Date signed of the service | |
Date Created (string) or Date Created (null) (Date Created) Date created of the service | |
Any of string <date> (Date Created) Date created of the service | |
Duration Start Date (string) or Duration Start Date (null) (Duration Start Date) Duration start date of the service | |
Any of string <date> (Duration Start Date) Duration start date of the service | |
Responses
Request samples
- Payload
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
{- "service_number": 1,
- "description": "Service 1",
- "discount_percentage": "1.05",
- "terms_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "date_active": "2021-02-01",
- "date_deactivate": "2022-01-01",
- "date_signed": "2021-01-10",
- "date_created": "2021-01-01",
- "duration_start_date": "2021-01-01"
}Response samples
- 201
- 404
- 409
- 422
- 500
- default
{- "service_number": 1,
- "description": "Default",
- "discount_percentage": "1.05",
- "terms_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "date_active": "2021-02-01",
- "date_deactivate": "2022-01-01",
- "date_signed": "2021-01-10",
- "date_created": "2021-01-01",
- "duration_start_date": "2021-01-01",
- "service_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "customer_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}Get Next Service Number
Get a non-reserving service-number suggestion that may become stale.
Authorizations:
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request GET \ --url 'https://your-instance.example.invalid/services/next-number' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 200
- 500
- default
{- "next_number": 123
}Get Service Customer Context
Retrieve a specific service for a customer including customer context.
Authorizations:
path Parameters
| customer_id required | string <uuid4> (Customer Id) |
| service_id required | string <uuid4> (Service Id) |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request GET \ --url 'https://your-instance.example.invalid/customers/string/services/string/customer-context' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 200
- 404
- 422
- 500
- default
{- "customer_number": "456789",
- "debitor_account_no": 1000,
- "description": "Customer 1",
- "note": "Preferred contact via email",
- "invoice_grouping_override": "by_customer",
- "customer_group_id": "027480d3-e7ca-47e4-b515-eb12c17d5fb2",
- "billcycle_id": "1f68b834-6655-41ad-9b53-1cec389b9c46",
- "legal_form_id": "c31d65ec-d386-493e-ad46-773c403dc89d",
- "payment_target_id": "123e4567-e89b-12d3-a456-426614174000",
- "business_register": "Handelsregister",
- "registercode": "HRB",
- "registerplace": "Berlin",
- "tax_identification_no": "DE123456789",
- "customer_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z",
- "anonymized_at": "2019-08-24T14:15:22Z",
- "payment_target": {
- "description": "Zahlungsziel 1",
- "target_1_days": 7,
- "target_1_skonto": "3.0",
- "target_2_days": 14,
- "target_2_skonto": "2.0",
- "target_3_days": 30,
- "target_3_skonto": "1.0",
- "payment_target_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}, - "active_payment": true,
- "addresses": [
- {
- "street": "Musterstraße",
- "house_number": "15",
- "house_number_addition": "A",
- "city": "Musterstadt",
- "postcode": "24768",
- "district": "Musterbezirk",
- "address_type_id": "384d8fa9-a139-4aee-9db7-4d1801e53fa7",
- "service_id": "123e4567-e89b-12d3-a456-426614174000",
- "valid_from": "2026-01-01",
- "valid_to": "2026-12-31",
- "address_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "customer_id": "123e4567-e89b-12d3-a456-426614174001",
- "address_type": {
- "description": "Rechnungsadresse",
- "is_billing": true,
- "is_allowed_for_customer": true,
- "is_allowed_for_service": true,
- "address_type_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}, - "last_change": "2019-08-24T14:15:22Z",
- "contact_data": [
- {
- "salutation_id": "7f0b3f53-df0a-408b-903e-c61405b6cff2",
- "title_id": "cca9fe7b-e875-4a1f-b00a-e74231225807",
- "name": "Weber",
- "firstname": "Karsten",
- "company": "WebSin UG",
- "mail": "info@websin.de",
- "phone": "0123456789",
- "mobile": "0123456789",
- "birthday": "2020-01-01",
- "note": "Note",
- "priority": 10,
- "valid_from": "2020-01-01",
- "valid_to": "2020-01-31",
- "contact_data_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "address_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z",
- "salutation": {
- "description": "Herr",
- "salutation_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}, - "title": {
- "description": "Herr",
- "title_id": "07aaacf5-41e3-4fb5-b6a7-cb2c2316ac66",
- "last_change": "2019-08-24T14:15:22Z"
}
}
]
}
], - "payments": [
- {
- "priority": 10,
- "iban": "DE02120300000000202051",
- "bank_data_id": "c9c7b9d9-1a2a-4d6e-8b5b-7d6b2c9a3a5d",
- "valid_from": "2020-01-01",
- "valid_to": "2020-01-31",
- "account_holder": "Max Mustermann",
- "mandate_reference": "MANDATE-2026-0001",
- "mandate_type": "core",
- "mandate_signed_on": "2019-08-24",
- "mandate_usage": "one_off",
- "mandate_status": "active",
- "customer_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "payment_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z",
- "bank_data": {
- "bic": "GENODEF1M03",
- "shortname": "Volksbank Musterstadt",
- "longname": "Volksbank Musterstadt eG",
- "bank_data_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}
}
], - "customer_group": {
- "description": "Customer Group 1",
- "customer_group_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}, - "billcycle": {
- "description": "for special customers",
- "billcycle_key": "BC1",
- "billcycle_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}, - "company_legal_form": {
- "description": "GmbH",
- "legal_form_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}, - "service": {
- "service_number": 1,
- "description": "Default",
- "discount_percentage": "1.05",
- "terms_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "date_active": "2021-02-01",
- "date_deactivate": "2022-01-01",
- "date_signed": "2021-01-10",
- "date_created": "2021-01-01",
- "duration_start_date": "2021-01-01",
- "service_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "customer_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z",
- "terms": {
- "description": "Default",
- "first_min_term_value": 12,
- "first_cancellation_period_value": 3,
- "min_term_value": 12,
- "cancellation_period_value": 3,
- "terms_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}, - "products": [
- {
- "product_count": "1",
- "date_active": "2021-02-01",
- "date_deactivate": "2022-01-01",
- "different_price": "1.00",
- "different_product_text": "Different product text",
- "bill_until": "2022-01-01",
- "duration_start_date": "2021-01-01",
- "service_product_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "service_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "product_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z",
- "product": {
- "product_number": 1,
- "product_unit_id": "a47a8dba-6622-40d2-b5cc-89341876f729",
- "description": "Product 1",
- "product_description": "Detailed description of Product 1",
- "account_id": "0b803418-3181-4e81-9916-f73d57f46dbf",
- "terms_id": "25f780aa-2bf5-4728-b1f1-b08230503b9f",
- "discountable": true,
- "pro_rata": true,
- "cycle_type": "once",
- "product_group_id": "10cf0055-bb74-4657-bd4c-49a785ddb23e",
- "product_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "product_unit": {
- "description": "kg",
- "product_unit_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}, - "product_group": {
- "description": "Grundgebühr",
- "product_group_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}, - "account": {
- "description": "Erlöse 19%",
- "account_no": "4400",
- "account_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}, - "terms": {
- "description": "Default",
- "first_min_term_value": 12,
- "first_cancellation_period_value": 3,
- "min_term_value": 12,
- "cancellation_period_value": 3,
- "terms_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}, - "product_features": [
- {
- "product_feature_key_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "value": "red",
- "product_feature_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z",
- "product_feature_key": {
- "description": "color",
- "product_feature_key_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}
}
], - "current_price": {
- "net_price": "10.00",
- "tax_type_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "valid_from": "2021-01-01",
- "intro_net_price": "7.50",
- "intro_duration_months": 6,
- "product_price_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z",
- "tax_type": {
- "description": "Taxes Type 1",
- "taxrate": "19.00",
- "account_id": "0b803418-3181-4e81-9916-f73d57f46dbf",
- "tax_type_id": "60c5aab4-d4ba-471c-ade0-a1e85045501c",
- "last_change": "2019-08-24T14:15:22Z"
}, - "gross_price": "11.90",
- "intro_gross_price": "8.93"
}
}, - "total_net_price": "100.00",
- "total_gross_price": "119.00",
- "earliest_possible_termination_date": "2021-01-01"
}
], - "addresses": [
- {
- "street": "Musterstraße",
- "house_number": "15",
- "house_number_addition": "A",
- "city": "Musterstadt",
- "postcode": "24768",
- "district": "Musterbezirk",
- "address_type_id": "384d8fa9-a139-4aee-9db7-4d1801e53fa7",
- "service_id": "123e4567-e89b-12d3-a456-426614174000",
- "valid_from": "2026-01-01",
- "valid_to": "2026-12-31",
- "address_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "customer_id": "123e4567-e89b-12d3-a456-426614174001",
- "address_type": {
- "description": "Rechnungsadresse",
- "is_billing": true,
- "is_allowed_for_customer": true,
- "is_allowed_for_service": true,
- "address_type_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}, - "last_change": "2019-08-24T14:15:22Z",
- "contact_data": [
- {
- "salutation_id": "7f0b3f53-df0a-408b-903e-c61405b6cff2",
- "title_id": "cca9fe7b-e875-4a1f-b00a-e74231225807",
- "name": "Weber",
- "firstname": "Karsten",
- "company": "WebSin UG",
- "mail": "info@websin.de",
- "phone": "0123456789",
- "mobile": "0123456789",
- "birthday": "2020-01-01",
- "note": "Note",
- "priority": 10,
- "valid_from": "2020-01-01",
- "valid_to": "2020-01-31",
- "contact_data_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "address_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z",
- "salutation": {
- "description": "Herr",
- "salutation_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}, - "title": {
- "description": "Herr",
- "title_id": "07aaacf5-41e3-4fb5-b6a7-cb2c2316ac66",
- "last_change": "2019-08-24T14:15:22Z"
}
}
]
}
], - "price_summary": {
- "currency": "EUR",
- "complete": true,
- "one_time": {
- "net_before_discount": "string",
- "discount_net": "string",
- "net": "string",
- "tax": "string",
- "gross": "string"
}, - "recurring": [
- {
- "net_before_discount": "string",
- "discount_net": "string",
- "net": "string",
- "tax": "string",
- "gross": "string",
- "cycle_type": "monthly"
}
]
}, - "earliest_possible_termination_date": "2021-01-01",
- "effective_earliest_termination_date": "2021-01-01"
}
}Update Service Product
Update a specific service-product relationship.
Authorizations:
path Parameters
| customer_id required | string <uuid> (Customer Id) |
| service_id required | string <uuid4> (Service Id) |
| service_product_id required | string <uuid4> (Service Product Id) |
Request Body schema: application/jsonrequired
Product Count (number) or Product Count (string) (Product Count) Default: "1" Quantity of the product on the service (supports fractional quantities). | |
Any of > 0 number (Product Count) > 0 Default: "1" Quantity of the product on the service (supports fractional quantities). | |
Date Active (string) or Date Active (null) (Date Active) Date when this product becomes active on the service. | |
Any of string <date> (Date Active) Date when this product becomes active on the service. | |
Date Deactivate (string) or Date Deactivate (null) (Date Deactivate) Date when this product is deactivated on the service. | |
Any of string <date> (Date Deactivate) Date when this product is deactivated on the service. | |
Different Price (number) or Different Price (string) or Different Price (null) (Different Price) Overrides the product net price for this service. If set, intro price and intro duration of the product are ignored. Tax calculation still uses the product's tax type (no tax override). | |
Any of number (Different Price) Overrides the product net price for this service. If set, intro price and intro duration of the product are ignored. Tax calculation still uses the product's tax type (no tax override). | |
Different Product Text (string) or Different Product Text (null) (Different Product Text) Custom display text for the product when linked to the service. | |
Any of string (Different Product Text) Custom display text for the product when linked to the service. | |
Bill Until (string) or Bill Until (null) (Bill Until) Date until which the product is billed for this service. | |
Any of string <date> (Bill Until) Date until which the product is billed for this service. | |
Duration Start Date (string) or Duration Start Date (null) (Duration Start Date) Start date for the duration calculation of this service product. | |
Any of string <date> (Duration Start Date) Start date for the duration calculation of this service product. | |
Responses
Request samples
- Payload
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
{- "product_count": "1",
- "date_active": "2021-02-01",
- "date_deactivate": "2022-01-01",
- "different_price": "1.00",
- "different_product_text": "Different product text",
- "bill_until": "2022-01-01",
- "duration_start_date": "2021-01-01"
}Response samples
- 200
- 404
- 422
- 500
- default
{- "product_count": "1",
- "date_active": "2021-02-01",
- "date_deactivate": "2022-01-01",
- "different_price": "1.00",
- "different_product_text": "Different product text",
- "bill_until": "2022-01-01",
- "duration_start_date": "2021-01-01",
- "service_product_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "service_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "product_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}Delete Service Product
Delete a specific service-product relation
Authorizations:
path Parameters
| customer_id required | string <uuid> (Customer Id) |
| service_id required | string <uuid4> (Service Id) |
| service_product_id required | string <uuid4> (Service Product Id) |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request DELETE \ --url 'https://your-instance.example.invalid/customers/497f6eca-6276-4993-bfeb-53cbbbba6f08/services/string/product/string' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 202
- 404
- 409
- 422
- 500
- default
nullCreate Service Product
Create a new service-product relationship
Authorizations:
path Parameters
| customer_id required | string <uuid> (Customer Id) |
| service_id required | string <uuid4> (Service Id) |
Request Body schema: application/jsonrequired
| product_id required | string <uuid4> (Product Id) Product ID linked to the service. |
Product Count (number) or Product Count (string) (Product Count) Default: "1" Quantity of the product on the service (supports fractional quantities). | |
Any of > 0 number (Product Count) > 0 Default: "1" Quantity of the product on the service (supports fractional quantities). | |
Date Active (string) or Date Active (null) (Date Active) Date when this product becomes active on the service. | |
Any of string <date> (Date Active) Date when this product becomes active on the service. | |
Date Deactivate (string) or Date Deactivate (null) (Date Deactivate) Date when this product is deactivated on the service. | |
Any of string <date> (Date Deactivate) Date when this product is deactivated on the service. | |
Different Price (number) or Different Price (string) or Different Price (null) (Different Price) Overrides the product net price for this service. If set, intro price and intro duration of the product are ignored. Tax calculation still uses the product's tax type (no tax override). | |
Any of number (Different Price) Overrides the product net price for this service. If set, intro price and intro duration of the product are ignored. Tax calculation still uses the product's tax type (no tax override). | |
Different Product Text (string) or Different Product Text (null) (Different Product Text) Custom display text for the product when linked to the service. | |
Any of string (Different Product Text) Custom display text for the product when linked to the service. | |
Bill Until (string) or Bill Until (null) (Bill Until) Date until which the product is billed for this service. | |
Any of string <date> (Bill Until) Date until which the product is billed for this service. | |
Duration Start Date (string) or Duration Start Date (null) (Duration Start Date) Start date for the duration calculation of this service product. | |
Any of string <date> (Duration Start Date) Start date for the duration calculation of this service product. | |
Responses
Request samples
- Payload
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
{- "product_count": "1",
- "date_active": "2021-02-01",
- "date_deactivate": "2022-01-01",
- "different_price": "1.00",
- "different_product_text": "Different product text",
- "bill_until": "2022-01-01",
- "duration_start_date": "2021-01-01",
- "product_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}Response samples
- 201
- 404
- 422
- 500
- default
{- "product_count": "1",
- "date_active": "2021-02-01",
- "date_deactivate": "2022-01-01",
- "different_price": "1.00",
- "different_product_text": "Different product text",
- "bill_until": "2022-01-01",
- "duration_start_date": "2021-01-01",
- "service_product_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "service_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "product_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}Get Service Product
Retrieve a specific service product by ID.
Authorizations:
path Parameters
| customer_id required | string <uuid4> (Customer Id) |
| service_id required | string <uuid4> (Service Id) |
| service_product_id required | string <uuid4> (Service Product Id) |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request GET \ --url 'https://your-instance.example.invalid/customers/string/services/string/products/string' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 200
- 404
- 422
- 500
- default
{- "product_count": "1",
- "date_active": "2021-02-01",
- "date_deactivate": "2022-01-01",
- "different_price": "1.00",
- "different_product_text": "Different product text",
- "bill_until": "2022-01-01",
- "duration_start_date": "2021-01-01",
- "service_product_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "service_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "product_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z",
- "product": {
- "product_number": 1,
- "product_unit_id": "a47a8dba-6622-40d2-b5cc-89341876f729",
- "description": "Product 1",
- "product_description": "Detailed description of Product 1",
- "account_id": "0b803418-3181-4e81-9916-f73d57f46dbf",
- "terms_id": "25f780aa-2bf5-4728-b1f1-b08230503b9f",
- "discountable": true,
- "pro_rata": true,
- "cycle_type": "once",
- "product_group_id": "10cf0055-bb74-4657-bd4c-49a785ddb23e",
- "product_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "product_unit": {
- "description": "kg",
- "product_unit_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}, - "product_group": {
- "description": "Grundgebühr",
- "product_group_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}, - "account": {
- "description": "Erlöse 19%",
- "account_no": "4400",
- "account_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}, - "terms": {
- "description": "Default",
- "first_min_term_value": 12,
- "first_cancellation_period_value": 3,
- "min_term_value": 12,
- "cancellation_period_value": 3,
- "terms_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}, - "product_features": [
- {
- "product_feature_key_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "value": "red",
- "product_feature_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z",
- "product_feature_key": {
- "description": "color",
- "product_feature_key_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}
}
], - "current_price": {
- "net_price": "10.00",
- "tax_type_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "valid_from": "2021-01-01",
- "intro_net_price": "7.50",
- "intro_duration_months": 6,
- "product_price_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z",
- "tax_type": {
- "description": "Taxes Type 1",
- "taxrate": "19.00",
- "account_id": "0b803418-3181-4e81-9916-f73d57f46dbf",
- "tax_type_id": "60c5aab4-d4ba-471c-ade0-a1e85045501c",
- "last_change": "2019-08-24T14:15:22Z"
}, - "gross_price": "11.90",
- "intro_gross_price": "8.93"
}
}, - "total_net_price": "100.00",
- "total_gross_price": "119.00",
- "earliest_possible_termination_date": "2021-01-01"
}Get Service Products
Retrieve all service products for a given service and customer.
Authorizations:
path Parameters
| customer_id required | string <uuid4> (Customer Id) |
| service_id required | string <uuid4> (Service Id) |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request GET \ --url 'https://your-instance.example.invalid/customers/string/services/string/products' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 200
- 422
- 500
- default
[- {
- "product_count": "1",
- "date_active": "2021-02-01",
- "date_deactivate": "2022-01-01",
- "different_price": "1.00",
- "different_product_text": "Different product text",
- "bill_until": "2022-01-01",
- "duration_start_date": "2021-01-01",
- "service_product_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "service_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "product_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z",
- "product": {
- "product_number": 1,
- "product_unit_id": "a47a8dba-6622-40d2-b5cc-89341876f729",
- "description": "Product 1",
- "product_description": "Detailed description of Product 1",
- "account_id": "0b803418-3181-4e81-9916-f73d57f46dbf",
- "terms_id": "25f780aa-2bf5-4728-b1f1-b08230503b9f",
- "discountable": true,
- "pro_rata": true,
- "cycle_type": "once",
- "product_group_id": "10cf0055-bb74-4657-bd4c-49a785ddb23e",
- "product_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "product_unit": {
- "description": "kg",
- "product_unit_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}, - "product_group": {
- "description": "Grundgebühr",
- "product_group_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}, - "account": {
- "description": "Erlöse 19%",
- "account_no": "4400",
- "account_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}, - "terms": {
- "description": "Default",
- "first_min_term_value": 12,
- "first_cancellation_period_value": 3,
- "min_term_value": 12,
- "cancellation_period_value": 3,
- "terms_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}, - "product_features": [
- {
- "product_feature_key_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "value": "red",
- "product_feature_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z",
- "product_feature_key": {
- "description": "color",
- "product_feature_key_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z"
}
}
], - "current_price": {
- "net_price": "10.00",
- "tax_type_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "valid_from": "2021-01-01",
- "intro_net_price": "7.50",
- "intro_duration_months": 6,
- "product_price_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
- "last_change": "2019-08-24T14:15:22Z",
- "tax_type": {
- "description": "Taxes Type 1",
- "taxrate": "19.00",
- "account_id": "0b803418-3181-4e81-9916-f73d57f46dbf",
- "tax_type_id": "60c5aab4-d4ba-471c-ade0-a1e85045501c",
- "last_change": "2019-08-24T14:15:22Z"
}, - "gross_price": "11.90",
- "intro_gross_price": "8.93"
}
}, - "total_net_price": "100.00",
- "total_gross_price": "119.00",
- "earliest_possible_termination_date": "2021-01-01"
}
]Read Service Attributes
Return paginated service attributes.
Authorizations:
path Parameters
| customer_id required | string <uuid4> (Customer Id) |
| service_id required | string <uuid4> (Service Id) |
query Parameters
| skip | integer (Skip) Default: 0 |
| limit | integer (Limit) Default: 100 |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request GET \ --url 'https://your-instance.example.invalid/customers/string/services/string/attributes?skip=0&limit=100' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 200
- 404
- 422
- 500
- default
{- "total_count": 0,
- "items": [
- {
- "service_attribute_key_id": "string",
- "value_string": "string",
- "value_int": 0,
- "value_decimal": "string",
- "value_bool": true,
- "value_date": "2019-08-24",
- "value_datetime": "2019-08-24T14:15:22Z",
- "service_attribute_id": "string",
- "service_id": "string",
- "last_change": "2019-08-24T14:15:22Z",
- "attribute_key": {
- "key": "string",
- "value_type": "string",
- "is_required": true,
- "is_sensitive": true,
- "is_unique_per_entity": true,
- "service_attribute_key_id": "string",
- "last_change": "2019-08-24T14:15:22Z"
}
}
]
}Create Service Attribute
Create a service attribute.
Authorizations:
path Parameters
| customer_id required | string <uuid> (Customer Id) |
| service_id required | string <uuid4> (Service Id) |
Request Body schema: application/jsonrequired
| service_attribute_key_id required | string <uuid4> (Service Attribute Key Id) |
Value String (string) or Value String (null) (Value String) | |
Any of string (Value String) | |
Value Int (integer) or Value Int (null) (Value Int) | |
Any of integer (Value Int) | |
Value Decimal (number) or Value Decimal (string) or Value Decimal (null) (Value Decimal) | |
Any of number (Value Decimal) | |
Value Bool (boolean) or Value Bool (null) (Value Bool) | |
Any of boolean (Value Bool) | |
Value Date (string) or Value Date (null) (Value Date) | |
Any of string <date> (Value Date) | |
Value Datetime (string) or Value Datetime (null) (Value Datetime) | |
Any of string <date-time> (Value Datetime) | |
Responses
Request samples
- Payload
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
{- "service_attribute_key_id": "string",
- "value_string": "string",
- "value_int": 0,
- "value_decimal": 0,
- "value_bool": true,
- "value_date": "2019-08-24",
- "value_datetime": "2019-08-24T14:15:22Z"
}Response samples
- 201
- 400
- 404
- 422
- 500
- default
{- "service_attribute_key_id": "string",
- "value_string": "string",
- "value_int": 0,
- "value_decimal": "string",
- "value_bool": true,
- "value_date": "2019-08-24",
- "value_datetime": "2019-08-24T14:15:22Z",
- "service_attribute_id": "string",
- "service_id": "string",
- "last_change": "2019-08-24T14:15:22Z"
}Read Service Attribute
Return a service attribute by ID.
Authorizations:
path Parameters
| customer_id required | string <uuid4> (Customer Id) |
| service_id required | string <uuid4> (Service Id) |
| service_attribute_id required | string <uuid4> (Service Attribute Id) |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request GET \ --url 'https://your-instance.example.invalid/customers/string/services/string/attributes/string' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 200
- 404
- 422
- 500
- default
{- "service_attribute_key_id": "string",
- "value_string": "string",
- "value_int": 0,
- "value_decimal": "string",
- "value_bool": true,
- "value_date": "2019-08-24",
- "value_datetime": "2019-08-24T14:15:22Z",
- "service_attribute_id": "string",
- "service_id": "string",
- "last_change": "2019-08-24T14:15:22Z",
- "attribute_key": {
- "key": "string",
- "value_type": "string",
- "is_required": true,
- "is_sensitive": true,
- "is_unique_per_entity": true,
- "service_attribute_key_id": "string",
- "last_change": "2019-08-24T14:15:22Z"
}
}Update Service Attribute
Update a service attribute.
Authorizations:
path Parameters
| customer_id required | string <uuid> (Customer Id) |
| service_id required | string <uuid4> (Service Id) |
| service_attribute_id required | string <uuid4> (Service Attribute Id) |
Request Body schema: application/jsonrequired
Service Attribute Key Id (string) or Service Attribute Key Id (null) (Service Attribute Key Id) | |
Any of string <uuid4> (Service Attribute Key Id) | |
Value String (string) or Value String (null) (Value String) | |
Any of string (Value String) | |
Value Int (integer) or Value Int (null) (Value Int) | |
Any of integer (Value Int) | |
Value Decimal (number) or Value Decimal (string) or Value Decimal (null) (Value Decimal) | |
Any of number (Value Decimal) | |
Value Bool (boolean) or Value Bool (null) (Value Bool) | |
Any of boolean (Value Bool) | |
Value Date (string) or Value Date (null) (Value Date) | |
Any of string <date> (Value Date) | |
Value Datetime (string) or Value Datetime (null) (Value Datetime) | |
Any of string <date-time> (Value Datetime) | |
Responses
Request samples
- Payload
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
{- "service_attribute_key_id": "string",
- "value_string": "string",
- "value_int": 0,
- "value_decimal": 0,
- "value_bool": true,
- "value_date": "2019-08-24",
- "value_datetime": "2019-08-24T14:15:22Z"
}Response samples
- 200
- 400
- 404
- 422
- 500
- default
{- "service_attribute_key_id": "string",
- "value_string": "string",
- "value_int": 0,
- "value_decimal": "string",
- "value_bool": true,
- "value_date": "2019-08-24",
- "value_datetime": "2019-08-24T14:15:22Z",
- "service_attribute_id": "string",
- "service_id": "string",
- "last_change": "2019-08-24T14:15:22Z"
}Delete Service Attribute
Delete a service attribute.
Authorizations:
path Parameters
| customer_id required | string <uuid> (Customer Id) |
| service_id required | string <uuid4> (Service Id) |
| service_attribute_id required | string <uuid4> (Service Attribute Id) |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request DELETE \ --url 'https://your-instance.example.invalid/customers/497f6eca-6276-4993-bfeb-53cbbbba6f08/services/string/attributes/string' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 202
- 404
- 422
- 500
- default
nullRead Service Attribute Keys
Return paginated service attribute keys.
Authorizations:
query Parameters
| skip | integer (Skip) Default: 0 |
| limit | integer (Limit) Default: 100 |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request GET \ --url 'https://your-instance.example.invalid/service-attribute-keys?skip=0&limit=100' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 200
- 422
- 500
- default
{- "total_count": 0,
- "items": [
- {
- "key": "string",
- "value_type": "string",
- "is_required": true,
- "is_sensitive": true,
- "is_unique_per_entity": true,
- "service_attribute_key_id": "string",
- "last_change": "2019-08-24T14:15:22Z"
}
]
}Create Service Attribute Key
Create a service attribute key.
Authorizations:
Request Body schema: application/jsonrequired
| key required | string (Key) [ 1 .. 100 ] characters |
| value_type required | string (Value Type) Enum: "string" "int" "decimal" "bool" "date" "datetime" |
| is_required | boolean (Is Required) Default: false |
| is_sensitive | boolean (Is Sensitive) Default: false |
| is_unique_per_entity | boolean (Is Unique Per Entity) Default: true |
Responses
Request samples
- Payload
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
{- "key": "string",
- "value_type": "string",
- "is_required": false,
- "is_sensitive": false,
- "is_unique_per_entity": true
}Response samples
- 201
- 400
- 422
- 500
- default
{- "key": "string",
- "value_type": "string",
- "is_required": true,
- "is_sensitive": true,
- "is_unique_per_entity": true,
- "service_attribute_key_id": "string",
- "last_change": "2019-08-24T14:15:22Z"
}Read Service Attribute Key
Return a service attribute key by ID.
Authorizations:
path Parameters
| service_attribute_key_id required | string <uuid4> (Service Attribute Key Id) |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request GET \ --url 'https://your-instance.example.invalid/service-attribute-keys/string' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 200
- 404
- 422
- 500
- default
{- "key": "string",
- "value_type": "string",
- "is_required": true,
- "is_sensitive": true,
- "is_unique_per_entity": true,
- "service_attribute_key_id": "string",
- "last_change": "2019-08-24T14:15:22Z"
}Update Service Attribute Key
Update a service attribute key.
Authorizations:
path Parameters
| service_attribute_key_id required | string <uuid4> (Service Attribute Key Id) |
Request Body schema: application/jsonrequired
Key (string) or Key (null) (Key) | |
Any of [ 1 .. 100 ] characters string (Key) [ 1 .. 100 ] characters | |
Value Type (string) or Value Type (null) (Value Type) | |
Any of string (Value Type) Enum: "string" "int" "decimal" "bool" "date" "datetime" | |
Is Required (boolean) or Is Required (null) (Is Required) | |
Any of boolean (Is Required) | |
Is Sensitive (boolean) or Is Sensitive (null) (Is Sensitive) | |
Any of boolean (Is Sensitive) | |
Is Unique Per Entity (boolean) or Is Unique Per Entity (null) (Is Unique Per Entity) | |
Any of boolean (Is Unique Per Entity) | |
Responses
Request samples
- Payload
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
{- "key": "string",
- "value_type": "string",
- "is_required": true,
- "is_sensitive": true,
- "is_unique_per_entity": true
}Response samples
- 200
- 400
- 404
- 422
- 500
- default
{- "key": "string",
- "value_type": "string",
- "is_required": true,
- "is_sensitive": true,
- "is_unique_per_entity": true,
- "service_attribute_key_id": "string",
- "last_change": "2019-08-24T14:15:22Z"
}Delete Service Attribute Key
Delete a service attribute key if it is not referenced.
Authorizations:
path Parameters
| service_attribute_key_id required | string <uuid4> (Service Attribute Key Id) |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request DELETE \ --url 'https://your-instance.example.invalid/service-attribute-keys/string' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 202
- 404
- 422
- 500
- 547
- default
nullRead Service Product Attributes
Return paginated service product attributes.
Authorizations:
path Parameters
| customer_id required | string <uuid4> (Customer Id) |
| service_id required | string <uuid4> (Service Id) |
| service_product_id required | string <uuid4> (Service Product Id) |
query Parameters
| skip | integer (Skip) Default: 0 |
| limit | integer (Limit) Default: 100 |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request GET \ --url 'https://your-instance.example.invalid/customers/string/services/string/products/string/attributes?skip=0&limit=100' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 200
- 404
- 422
- 500
- default
{- "total_count": 0,
- "items": [
- {
- "service_product_attribute_key_id": "string",
- "value_string": "string",
- "value_int": 0,
- "value_decimal": "string",
- "value_bool": true,
- "value_date": "2019-08-24",
- "value_datetime": "2019-08-24T14:15:22Z",
- "service_product_attribute_id": "string",
- "service_product_id": "string",
- "last_change": "2019-08-24T14:15:22Z",
- "attribute_key": {
- "key": "string",
- "value_type": "string",
- "is_required": true,
- "is_sensitive": true,
- "is_unique_per_entity": true,
- "service_product_attribute_key_id": "string",
- "last_change": "2019-08-24T14:15:22Z"
}
}
]
}Create Service Product Attribute
Create a service product attribute.
Authorizations:
path Parameters
| customer_id required | string <uuid> (Customer Id) |
| service_id required | string <uuid4> (Service Id) |
| service_product_id required | string <uuid4> (Service Product Id) |
Request Body schema: application/jsonrequired
| service_product_attribute_key_id required | string <uuid4> (Service Product Attribute Key Id) |
Value String (string) or Value String (null) (Value String) | |
Any of string (Value String) | |
Value Int (integer) or Value Int (null) (Value Int) | |
Any of integer (Value Int) | |
Value Decimal (number) or Value Decimal (string) or Value Decimal (null) (Value Decimal) | |
Any of number (Value Decimal) | |
Value Bool (boolean) or Value Bool (null) (Value Bool) | |
Any of boolean (Value Bool) | |
Value Date (string) or Value Date (null) (Value Date) | |
Any of string <date> (Value Date) | |
Value Datetime (string) or Value Datetime (null) (Value Datetime) | |
Any of string <date-time> (Value Datetime) | |
Responses
Request samples
- Payload
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
{- "service_product_attribute_key_id": "string",
- "value_string": "string",
- "value_int": 0,
- "value_decimal": 0,
- "value_bool": true,
- "value_date": "2019-08-24",
- "value_datetime": "2019-08-24T14:15:22Z"
}Response samples
- 201
- 400
- 404
- 422
- 500
- default
{- "service_product_attribute_key_id": "string",
- "value_string": "string",
- "value_int": 0,
- "value_decimal": "string",
- "value_bool": true,
- "value_date": "2019-08-24",
- "value_datetime": "2019-08-24T14:15:22Z",
- "service_product_attribute_id": "string",
- "service_product_id": "string",
- "last_change": "2019-08-24T14:15:22Z"
}Read Service Product Attribute
Return a service product attribute by ID.
Authorizations:
path Parameters
| customer_id required | string <uuid4> (Customer Id) |
| service_id required | string <uuid4> (Service Id) |
| service_product_id required | string <uuid4> (Service Product Id) |
| service_product_attribute_id required | string <uuid4> (Service Product Attribute Id) |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request GET \ --url 'https://your-instance.example.invalid/customers/string/services/string/products/string/attributes/string' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 200
- 404
- 422
- 500
- default
{- "service_product_attribute_key_id": "string",
- "value_string": "string",
- "value_int": 0,
- "value_decimal": "string",
- "value_bool": true,
- "value_date": "2019-08-24",
- "value_datetime": "2019-08-24T14:15:22Z",
- "service_product_attribute_id": "string",
- "service_product_id": "string",
- "last_change": "2019-08-24T14:15:22Z",
- "attribute_key": {
- "key": "string",
- "value_type": "string",
- "is_required": true,
- "is_sensitive": true,
- "is_unique_per_entity": true,
- "service_product_attribute_key_id": "string",
- "last_change": "2019-08-24T14:15:22Z"
}
}Update Service Product Attribute
Update a service product attribute.
Authorizations:
path Parameters
| customer_id required | string <uuid> (Customer Id) |
| service_id required | string <uuid4> (Service Id) |
| service_product_id required | string <uuid4> (Service Product Id) |
| service_product_attribute_id required | string <uuid4> (Service Product Attribute Id) |
Request Body schema: application/jsonrequired
Service Product Attribute Key Id (string) or Service Product Attribute Key Id (null) (Service Product Attribute Key Id) | |
Any of string <uuid4> (Service Product Attribute Key Id) | |
Value String (string) or Value String (null) (Value String) | |
Any of string (Value String) | |
Value Int (integer) or Value Int (null) (Value Int) | |
Any of integer (Value Int) | |
Value Decimal (number) or Value Decimal (string) or Value Decimal (null) (Value Decimal) | |
Any of number (Value Decimal) | |
Value Bool (boolean) or Value Bool (null) (Value Bool) | |
Any of boolean (Value Bool) | |
Value Date (string) or Value Date (null) (Value Date) | |
Any of string <date> (Value Date) | |
Value Datetime (string) or Value Datetime (null) (Value Datetime) | |
Any of string <date-time> (Value Datetime) | |
Responses
Request samples
- Payload
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
{- "service_product_attribute_key_id": "string",
- "value_string": "string",
- "value_int": 0,
- "value_decimal": 0,
- "value_bool": true,
- "value_date": "2019-08-24",
- "value_datetime": "2019-08-24T14:15:22Z"
}Response samples
- 200
- 400
- 404
- 422
- 500
- default
{- "service_product_attribute_key_id": "string",
- "value_string": "string",
- "value_int": 0,
- "value_decimal": "string",
- "value_bool": true,
- "value_date": "2019-08-24",
- "value_datetime": "2019-08-24T14:15:22Z",
- "service_product_attribute_id": "string",
- "service_product_id": "string",
- "last_change": "2019-08-24T14:15:22Z"
}Delete Service Product Attribute
Delete a service product attribute.
Authorizations:
path Parameters
| customer_id required | string <uuid> (Customer Id) |
| service_id required | string <uuid4> (Service Id) |
| service_product_id required | string <uuid4> (Service Product Id) |
| service_product_attribute_id required | string <uuid4> (Service Product Attribute Id) |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request DELETE \ --url 'https://your-instance.example.invalid/customers/497f6eca-6276-4993-bfeb-53cbbbba6f08/services/string/products/string/attributes/string' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 202
- 404
- 422
- 500
- default
nullRead Service Product Attribute Keys
Return paginated service product attribute keys.
Authorizations:
query Parameters
| skip | integer (Skip) Default: 0 |
| limit | integer (Limit) Default: 100 |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request GET \ --url 'https://your-instance.example.invalid/service-product-attribute-keys?skip=0&limit=100' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 200
- 422
- 500
- default
{- "total_count": 0,
- "items": [
- {
- "key": "string",
- "value_type": "string",
- "is_required": true,
- "is_sensitive": true,
- "is_unique_per_entity": true,
- "service_product_attribute_key_id": "string",
- "last_change": "2019-08-24T14:15:22Z"
}
]
}Create Service Product Attribute Key
Create a service product attribute key.
Authorizations:
Request Body schema: application/jsonrequired
| key required | string (Key) [ 1 .. 100 ] characters |
| value_type required | string (Value Type) Enum: "string" "int" "decimal" "bool" "date" "datetime" |
| is_required | boolean (Is Required) Default: false |
| is_sensitive | boolean (Is Sensitive) Default: false |
| is_unique_per_entity | boolean (Is Unique Per Entity) Default: true |
Responses
Request samples
- Payload
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
{- "key": "string",
- "value_type": "string",
- "is_required": false,
- "is_sensitive": false,
- "is_unique_per_entity": true
}Response samples
- 201
- 400
- 422
- 500
- default
{- "key": "string",
- "value_type": "string",
- "is_required": true,
- "is_sensitive": true,
- "is_unique_per_entity": true,
- "service_product_attribute_key_id": "string",
- "last_change": "2019-08-24T14:15:22Z"
}Read Service Product Attribute Key
Return a service product attribute key by ID.
Authorizations:
path Parameters
| service_product_attribute_key_id required | string <uuid4> (Service Product Attribute Key Id) |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request GET \ --url 'https://your-instance.example.invalid/service-product-attribute-keys/string' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 200
- 404
- 422
- 500
- default
{- "key": "string",
- "value_type": "string",
- "is_required": true,
- "is_sensitive": true,
- "is_unique_per_entity": true,
- "service_product_attribute_key_id": "string",
- "last_change": "2019-08-24T14:15:22Z"
}Update Service Product Attribute Key
Update a service product attribute key.
Authorizations:
path Parameters
| service_product_attribute_key_id required | string <uuid4> (Service Product Attribute Key Id) |
Request Body schema: application/jsonrequired
Key (string) or Key (null) (Key) | |
Any of [ 1 .. 100 ] characters string (Key) [ 1 .. 100 ] characters | |
Value Type (string) or Value Type (null) (Value Type) | |
Any of string (Value Type) Enum: "string" "int" "decimal" "bool" "date" "datetime" | |
Is Required (boolean) or Is Required (null) (Is Required) | |
Any of boolean (Is Required) | |
Is Sensitive (boolean) or Is Sensitive (null) (Is Sensitive) | |
Any of boolean (Is Sensitive) | |
Is Unique Per Entity (boolean) or Is Unique Per Entity (null) (Is Unique Per Entity) | |
Any of boolean (Is Unique Per Entity) | |
Responses
Request samples
- Payload
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
{- "key": "string",
- "value_type": "string",
- "is_required": true,
- "is_sensitive": true,
- "is_unique_per_entity": true
}Response samples
- 200
- 400
- 404
- 422
- 500
- default
{- "key": "string",
- "value_type": "string",
- "is_required": true,
- "is_sensitive": true,
- "is_unique_per_entity": true,
- "service_product_attribute_key_id": "string",
- "last_change": "2019-08-24T14:15:22Z"
}Delete Service Product Attribute Key
Delete a service product attribute key if it is not referenced.
Authorizations:
path Parameters
| service_product_attribute_key_id required | string <uuid4> (Service Product Attribute Key Id) |
Responses
Request samples
- cURL
- JavaScript / Node.js
- Python
- Java
- PHP
# Example only: replace the instance URL, token and sample values before use. curl --request DELETE \ --url 'https://your-instance.example.invalid/service-product-attribute-keys/string' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response samples
- 202
- 404
- 422
- 500
- 547
- default
null