Legal Entities
Was this helpful?
Was this helpful?
The tenant that the caller is acting upon.
Please note that this value is always lowercase.
^[a-z][a-z0-9]+$
The legal entity unique identifier.
Comma-separated list of fields to return in the response. If not specified, all fields are returned.
name,type
GET /customer-management/{tenant}/legal-entities/{legalEntityId} HTTP/1.1
Host: api.emporix.io
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"id": "123e06ecf0452c2d6c0b81390",
"name": "Company name",
"type": "COMPANY",
"legalInfo": {
"legalName": "Some company name",
"registrationDate": "2022-03-31T13:18:02.379Z",
"registrationAgency": "Comp reg agency",
"registrationId": "627e06ecf0452c2d6c0b81391",
"countryOfRegistration": "DE",
"taxRegistrationNumber": "1234"
},
"accountLimit": {
"currency": "EUR",
"value": 1000.99
},
"customerGroups": [
{
"id": "123e06ecf0452c2d6c0b81390",
"name": {
"en": "Customer group 1",
"fr": "Groupe de clients 1"
}
},
{
"id": "123e06ecf0452c2d6c0b12345",
"name": {
"en": "Customer group 2",
"fr": "Groupe de clients 2"
}
}
],
"entitiesAddresses": [
{
"id": "627e06ecf0452c2d6c0b81391",
"name": "Main HQ",
"type": "HEADQUARTER",
"contactDetails": {
"emails": [
"jon.doe@example.com",
"adam.smith@sample.org"
],
"phones": [
"1234567890",
"123456789"
],
"addressLine1": "W Sample St",
"addressLine2": "3601-3799",
"city": "South Bend",
"state": "Indiana",
"postcode": "46619",
"countryCode": "US",
"tags": [
"shipping"
]
},
"metadata": {
"createdAt": "2022-03-31T13:18:02.379Z",
"modifiedAt": "2022-03-31T13:18:02.379Z",
"version": 1
}
},
{
"id": "123e06ecf0acd223140b12345",
"name": "Main Warehouse",
"type": "WAREHOUSE",
"metadata": {
"createdAt": "2022-03-31T13:22:31.112Z",
"modifiedAt": "2022-03-31T13:22:31.112Z",
"version": 1
}
}
],
"approvalGroup": [
{
"id": "627e06ecf0452c2d6c0b81391",
"type": "BILLING",
"primary": true,
"legalEntity": {
"id": "123e06ecf0452c2d6c0b81390"
},
"customer": {
"id": "627e06ecf0452c2d6c0b80000",
"name": "John",
"surname": "Doe"
},
"metadata": {
"createdAt": "2022-03-11T13:18:03.379Z",
"modifiedAt": "2022-03-11T13:18:04.379Z",
"version": 2
}
},
{
"id": "123e06ecf0452c2d6c0b81390",
"type": "LOGISTICS",
"primary": false,
"legalEntity": {
"id": "123e06ecf0452c2d6c0b81390"
},
"customer": {
"id": "123e06ecf0452c2d6c0b80000",
"name": "Adam",
"surname": "Smith"
},
"metadata": {
"createdAt": "2022-04-11T13:18:52.379Z",
"modifiedAt": "2022-05-12T15:13:12.379Z",
"version": 3
}
}
],
"metadata": {
"createdAt": "2022-03-31T13:18:02.379Z",
"modifiedAt": "2022-03-31T13:18:02.379Z",
"version": 1
}
}
The tenant that the caller is acting upon.
Please note that this value is always lowercase.
^[a-z][a-z0-9]+$
The legal entity unique identifier.
DELETE /customer-management/{tenant}/legal-entities/{legalEntityId} HTTP/1.1
Host: api.emporix.io
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
No content
Retrieves all legal entities. You can filter, sort and paginate the results with query parameters.
If the customermanagement.legalentity_read
scope is used, then all legal entities assigned to the tenant are returned.
If the customermanagement.legalentity_read_own
scope is used, then all legal entities assigned to the customer are returned.
customermanagement.legalentity_read
customermanagement.legalentity_read_own
The tenant that the caller is acting upon.
Please note that this value is always lowercase.
^[a-z][a-z0-9]+$
The page number to be retrieved where the size of the pages must be specified by the pageSize parameter. The number of the first page is 1.
1
The number of documents being retrieved on the page.
16
Fields to sort the response data by following order of the parameters from left to right. Can contain multiple fields in format: field name:sort direction separated by a comma. The colon with sort direction parameter is redundant and descending order is taken only if it is equal to desc or DESC. Ascending order is considered in any other case.
name,metadata.createdAt:desc
Query param for filtering entities by specified type. Examples of query params which are supported:
Q Param | Description |
---|---|
name:"Exact match" |
find an entity with name field with Exact match value |
name:~John |
find an entity with name field containing John value |
locDescription.fr:"Description traduction française 02" |
find an entity with localized locDescription field with Description traduction française 02 value in french language |
primary:true |
find an entity with primary field with true value |
metadata.createdAt:(>"2019-01-06T10:29:30.602Z" AND <"2020-01-07T10:29:30.602Z") |
find an entity with metadata.createdAt field with value between 2019-01-06T10:29:30.602Z and 2020-01-07T10:29:30.602Z |
name:exists |
find an entity with existing name field |
name:null |
find an entity with non-existing name field |
name:missing |
find an entity with non-existing name field |
name:"John" surname:~Smith |
find an entity with name exactly equals to John and surname containing Smith value |
name:("John","Jack","James") |
find an entity with name field with one of the following value: John or Jack or James |
name:~john
Comma-separated list of fields to return in the response. If not specified, all fields are returned.
name,type
Legal entity id. When specified, only legal entity with the specified id will be returned.
Note: When filtering the results with this field, the equals
operator is used. The operator is case-insensitive.
Legal entity name. When specified, only legal entities containing the specified name will be returned.
Note: When filtering the results with this field, the contains
operator is used. The operator is case-insensitive.
Legal entity type. When specified, only legal entities with the specified type will be returned.
Note: When filtering the results with this field, the equals
operator is used.
The id of the parent legal entity. When specified, only legal entities with the specified parent will be returned.
Note: When filtering the results with this field, the equals
operator is used.
The legal name of the entity. When specified, only legal entities containing the specified name will be returned.
Note: When filtering the results with this field, the contains
operator is used. The operator is case-insensitive.
Legal entity registration date. When specified, only legal entities registered in the specified date will be returned.
Note: When filtering the results with this field, the equals
operator is used.
Legal entity tax registration number. When specified, only legal entities with the specified tax registration number will be returned.
Note: When filtering the results with this field, the equals
operator is used.
Legal entity registration agency. When specified, only legal entities containing the specified registration agency will be returned.
Note: When filtering the results with this field, the contains
operator is used. The operator is case-insensitive.
Legal entity registration country. When specified, only legal entities containing the specified registration country will be returned.
Note: When filtering the results with this field, the contains
operator is used. The operator is case-insensitive.
The id of the legal entity registration. When specified, only legal entities with the specified registration ID will be returned.
Note: When filtering the results with this field, the equals
operator is used.
In order to get information how many entities meet a filter requirements, X-Total-Count header has been introduced. The header is optional and its default value is false. It the header is provided and it is true then total count is returned in the X-Total-Count response header. In both cases (X-Total-Count true, false or not provided), the response body has the same format (array of entities). In other words, the information about total count is returned on demand, depending of an existence of X-Total-Count header in a request. Therefore, the X-Total-Count header is not returned if an API consumer didn't ask for it.
false
GET /customer-management/{tenant}/legal-entities HTTP/1.1
Host: api.emporix.io
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
[
{
"id": "123e06ecf0452c2d6c0b81390",
"name": "Company name",
"type": "COMPANY",
"legalInfo": {
"legalName": "Some company name",
"registrationDate": "2022-03-31T13:18:02.379Z",
"registrationAgency": "Comp reg agency",
"registrationId": "627e06ecf0452c2d6c0b81391",
"countryOfRegistration": "DE",
"taxRegistrationNumber": "1234"
},
"metadata": {
"createdAt": "2022-03-31T13:18:02.379Z",
"modifiedAt": "2022-03-31T13:18:02.379Z",
"version": 1
}
},
{
"id": "123e06ecf0452c2d6c0b12391",
"name": "Subsidiary name",
"type": "SUBSIDIARY",
"parentId": "627e06ecf0452c2d6c0b81391",
"accountLimit": {
"currency": "EUR",
"value": 1000.99
},
"legalInfo": {
"legalName": "Some subsidiary name",
"registrationDate": "2022-03-31T13:18:02.379Z",
"taxRegistrationNumber": "4311",
"registrationAgency": "Sub reg agency",
"countryOfRegistration": "DE",
"registrationId": "627e06ecf0452c2d6c0b81399"
},
"customerGroups": [
{
"id": "123e06ecf0452c2d6c0b81390",
"name": {
"en": "Customer group 1",
"fr": "Groupe de clients 1"
}
}
],
"approvalGroup": [
{
"id": "321e06ecf0452c2d6c0b81390",
"type": "BILLING",
"primary": true,
"legalEntity": {
"id": "627e06ecf0452c2d6c0b81391"
},
"customer": {
"id": "123e06ecf0452c2d6c0b81390",
"name": "Adam",
"surname": "Smith"
},
"metadata": {
"createdAt": "2022-02-31T13:18:01.379Z",
"modifiedAt": "2022-02-31T13:18:01.379Z",
"version": 1
}
}
],
"entitiesAddresses": [
{
"id": "627e06ecf0452c2d6c0b81391",
"name": "Main HQ",
"type": "HEADQUARTER",
"contactDetails": {
"emails": [
"jon.doe@example.com",
"adam.smith@sample.org"
],
"phones": [
"1234567890",
"123456789"
],
"addressLine1": "W Sample St",
"addressLine2": "3601-3799",
"city": "South Bend",
"state": "Indiana",
"postcode": "46619",
"countryCode": "US",
"tags": [
"shipping"
]
},
"metadata": {
"createdAt": "2022-03-31T13:18:02.379Z",
"modifiedAt": "2022-03-31T13:18:02.379Z",
"version": 1
}
},
{
"id": "123e06ecf0acd223140b12345",
"name": "Main Warehouse",
"type": "WAREHOUSE",
"metadata": {
"createdAt": "2022-03-31T13:22:31.112Z",
"modifiedAt": "2022-03-31T13:22:31.112Z",
"version": 1
}
}
],
"metadata": {
"createdAt": "2022-03-31T13:18:02.379Z",
"modifiedAt": "2022-04-31T13:18:02.379Z",
"version": 2
}
}
]
The tenant that the caller is acting upon.
Please note that this value is always lowercase.
^[a-z][a-z0-9]+$
Custom legal entity identifier. If not provided, it is automatically generated.
^[a-zA-Z0-9_-]$
The name of the legal entity.
The type of the legal entity. Default value if not provided is: COMPANY
The id of the parent legal entity.
POST /customer-management/{tenant}/legal-entities HTTP/1.1
Host: api.emporix.io
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 629
{
"name": "Company name",
"type": "COMPANY",
"legalInfo": {
"legalName": "Some company name",
"registrationDate": "2022-03-31T13:18:02.379Z",
"registrationAgency": "Comp reg agency",
"registrationId": "627e06ecf0452c2d6c0b81391",
"countryOfRegistration": "DE",
"taxRegistrationNumber": "1234"
},
"accountLimit": {
"currency": "EUR",
"value": 1000.99
},
"customerGroups": [
{
"id": "123e06ecf0452c2d6c0b81390",
"name": {
"en": "En customer group name",
"de": "De customer group name"
}
}
],
"entitiesAddresses": [
{
"id": "123e123455452c2d6c0b81390"
},
{
"id": "123e06ecf0acd223140b12345"
}
],
"approvalGroup": [
{
"id": "123e121111452c12330b81390"
},
{
"id": "123e061110acd223133333345"
}
]
}
{
"id": "53ac81fd0cce8b26b36f3492"
}
Retrieves all legal entities that match provided criteria.
If the customermanagement.legalentity_read
scope is used, then all legal entities assigned to the tenant are returned.
If the customermanagement.legalentity_read_own
scope is used, then all legal entities assigned to the customer are returned.
customermanagement.legalentity_read
customermanagement.legalentity_read_own
The tenant that the caller is acting upon.
Please note that this value is always lowercase.
^[a-z][a-z0-9]+$
The page number to be retrieved where the size of the pages must be specified by the pageSize parameter. The number of the first page is 1.
1
The number of documents being retrieved on the page.
16
Fields to sort the response data by following order of the parameters from left to right. Can contain multiple fields in format: field name:sort direction separated by a comma. The colon with sort direction parameter is redundant and descending order is taken only if it is equal to desc or DESC. Ascending order is considered in any other case.
name,metadata.createdAt:desc
Comma-separated list of fields to return in the response. If not specified, all fields are returned.
name,type
Legal entity id. When specified, only legal entity with the specified id will be returned.
Note: When filtering the results with this field, the equals
operator is used. The operator is case-insensitive.
Legal entity name. When specified, only legal entities containing the specified name will be returned.
Note: When filtering the results with this field, the contains
operator is used. The operator is case-insensitive.
Legal entity type. When specified, only legal entities with the specified type will be returned.
Note: When filtering the results with this field, the equals
operator is used.
The id of the parent legal entity. When specified, only legal entities with the specified parent will be returned.
Note: When filtering the results with this field, the equals
operator is used.
The legal name of the entity. When specified, only legal entities containing the specified name will be returned.
Note: When filtering the results with this field, the contains
operator is used. The operator is case-insensitive.
Legal entity registration date. When specified, only legal entities registered in the specified date will be returned.
Note: When filtering the results with this field, the equals
operator is used.
Legal entity tax registration number. When specified, only legal entities with the specified tax registration number will be returned.
Note: When filtering the results with this field, the equals
operator is used.
Legal entity registration agency. When specified, only legal entities containing the specified registration agency will be returned.
Note: When filtering the results with this field, the contains
operator is used. The operator is case-insensitive.
Legal entity registration country. When specified, only legal entities containing the specified registration country will be returned.
Note: When filtering the results with this field, the contains
operator is used. The operator is case-insensitive.
The id of the legal entity registration. When specified, only legal entities with the specified registration ID will be returned.
Note: When filtering the results with this field, the equals
operator is used.
In order to get information how many entities meet a filter requirements, X-Total-Count header has been introduced. The header is optional and its default value is false. It the header is provided and it is true then total count is returned in the X-Total-Count response header. In both cases (X-Total-Count true, false or not provided), the response body has the same format (array of entities). In other words, the information about total count is returned on demand, depending of an existence of X-Total-Count header in a request. Therefore, the X-Total-Count header is not returned if an API consumer didn't ask for it.
false
Query param for filtering entities by specified type.
POST /customer-management/{tenant}/legal-entities/search HTTP/1.1
Host: api.emporix.io
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 20
{
"q": "type:COMPANY"
}
[
{
"id": "123e06ecf0452c2d6c0b81390",
"name": "Company name",
"type": "COMPANY",
"legalInfo": {
"legalName": "Some company name",
"registrationDate": "2022-03-31T13:18:02.379Z",
"registrationAgency": "Comp reg agency",
"registrationId": "627e06ecf0452c2d6c0b81391",
"countryOfRegistration": "DE",
"taxRegistrationNumber": "1234"
},
"metadata": {
"createdAt": "2022-03-31T13:18:02.379Z",
"modifiedAt": "2022-03-31T13:18:02.379Z",
"version": 1
}
},
{
"id": "123e06ecf0452c2d6c0b12391",
"name": "Subsidiary name",
"type": "SUBSIDIARY",
"parentId": "627e06ecf0452c2d6c0b81391",
"accountLimit": {
"currency": "EUR",
"value": 1000.99
},
"legalInfo": {
"legalName": "Some subsidiary name",
"registrationDate": "2022-03-31T13:18:02.379Z",
"taxRegistrationNumber": "4311",
"registrationAgency": "Sub reg agency",
"countryOfRegistration": "DE",
"registrationId": "627e06ecf0452c2d6c0b81399"
},
"customerGroups": [
{
"id": "123e06ecf0452c2d6c0b81390",
"name": {
"en": "Customer group 1",
"fr": "Groupe de clients 1"
}
}
],
"approvalGroup": [
{
"id": "321e06ecf0452c2d6c0b81390",
"type": "BILLING",
"primary": true,
"legalEntity": {
"id": "627e06ecf0452c2d6c0b81391"
},
"customer": {
"id": "123e06ecf0452c2d6c0b81390",
"name": "Adam",
"surname": "Smith"
},
"metadata": {
"createdAt": "2022-02-31T13:18:01.379Z",
"modifiedAt": "2022-02-31T13:18:01.379Z",
"version": 1
}
}
],
"entitiesAddresses": [
{
"id": "627e06ecf0452c2d6c0b81391",
"name": "Main HQ",
"type": "HEADQUARTER",
"contactDetails": {
"emails": [
"jon.doe@example.com",
"adam.smith@sample.org"
],
"phones": [
"1234567890",
"123456789"
],
"addressLine1": "W Sample St",
"addressLine2": "3601-3799",
"city": "South Bend",
"state": "Indiana",
"postcode": "46619",
"countryCode": "US",
"tags": [
"shipping"
]
},
"metadata": {
"createdAt": "2022-03-31T13:18:02.379Z",
"modifiedAt": "2022-03-31T13:18:02.379Z",
"version": 1
}
},
{
"id": "123e06ecf0acd223140b12345",
"name": "Main Warehouse",
"type": "WAREHOUSE",
"metadata": {
"createdAt": "2022-03-31T13:22:31.112Z",
"modifiedAt": "2022-03-31T13:22:31.112Z",
"version": 1
}
}
],
"metadata": {
"createdAt": "2022-03-31T13:18:02.379Z",
"modifiedAt": "2022-04-31T13:18:02.379Z",
"version": 2
}
}
]
Updates or creates a legal entity with given legal entity id. You can omit the metadata.version
, but then optimistic locking is not enabled.
Important: If automatically generated customer group is not present in customerGroups list, this group will be removed from iam.
customermanagement.legalentity_manage
The tenant that the caller is acting upon.
Please note that this value is always lowercase.
^[a-z][a-z0-9]+$
The legal entity unique identifier.
The name of the legal entity.
The type of the legal entity.
The id of the parent legal entity.
PUT /customer-management/{tenant}/legal-entities/{legalEntityId} HTTP/1.1
Host: api.emporix.io
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 667
{
"name": "Subsidiary name",
"type": "SUBSIDIARY",
"parentId": "627e06ecf0452c2d6c0b81391",
"accountLimit": {
"currency": "EUR",
"value": 1000.99
},
"legalInfo": {
"legalName": "Some subsidiary name",
"registrationDate": "2022-03-31T13:18:02.379Z",
"registrationAgency": "Sub reg agency",
"registrationId": "627e06ecf0452c2d6c0b81391",
"countryOfRegistration": "DE",
"taxRegistrationNumber": "4311"
},
"customerGroups": [
{
"id": "123e06ecf0452c2d6c0b81390"
},
{
"id": "123e06ecf0452c2d6c0b12345"
}
],
"entitiesAddresses": [
{
"id": "123e123455452c2d6c0b81390"
},
{
"id": "123e06ecf0acd223140b12345"
}
],
"approvalGroup": [
{
"id": "123e121111452c12330b81390"
},
{
"id": "123e061110acd223133333345"
}
],
"metadata": {
"version": 1
}
}
{
"id": "53ac81fd0cce8b26b36f3492"
}