openapi: 3.2.0
info:
title: Aeb Companies API
version: '1.0'
description: 'Operations tagged Companies across 10 of this provider''s published API definitions: aeb-bsm-openapi.json, aeb-carrier-connect-openapi.json, aeb-carrier-event-service-openapi.json, aeb-carrier-select-openapi.json, aeb-customs-broker-portal-openapi.json, aeb-customs-inventory-management-openapi.json, aeb-customs-management-openapi.json, aeb-logistics-cost-management-openapi.json, aeb-product-classification-openapi.json, aeb-trade-compliance-management-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://rz3.aeb.de/test2bsm/rest
- url: https://rz3.aeb.de/demo1cai/rest
- url: https://xnsg.dc.aeb.com/demo1ces/rest
- url: https://rz3.aeb.de/demo1routing/rest
- url: https://rz3.aeb.de/test2broker/rest
- url: https://rz3.aeb.de/test2cim/rest
- url: https://rz3.aeb.de/test2ici/rest
- url: https://rz3.aeb.de/demo1billing/rest
- url: https://rz3.aeb.de/test2cl/rest
- url: https://rz3.aeb.de/test4ce/rest
security:
- SWAGGER_AUTH_KEY: []
- BASIC_AUTH: []
tags:
- name: Companies
description: Rest API for companies
paths:
/companies/{id}:
servers:
- url: https://rz3.aeb.de/test2bsm/rest
get:
tags:
- Companies
description: Returns the company with the requested ID (company number). In some cases the ID (company number) is not unique. In this case an error is returned.
operationId: getCompany
parameters:
- name: id
in: path
description: The requested ID (company number).
required: true
schema:
type: string
example: 12345
responses:
'200':
description: Successful call
content:
application/json:
schema:
$ref: '#/components/schemas/Company'
examples:
Successful call:
description: Successful call
value:
companyNumber: '12345'
name: AEB SE
name2: Name 2
name3: Name 3
name4: Name 4
street: Sigmaringerstr. 109
street2: Street 2
postcode: '70567'
city: Stuttgart
district: Möhringen
countryIsoCode: DE
county: BW
poBox: '12345'
postcodePoBox: '70567'
cityPoBox: Stuttgart
emailAddress: max.mustermann@aeb.com
phoneNumber: 0711 12345
faxNumber: 0711 12345
vatNumber: DE123456789
isEnabled: true
homepage: www.aeb.com
remark: Logistics company
roles:
- identCode: DLSHIPPT
description: Versandstelle
'400':
description: Either the requested company number is not unique or something went wrong during the validation.
content:
application/problem+json:
examples:
Company number is not unique:
description: Company number is not unique
value:
type: company/company-number-not-unique
status: 400
title: Company not unique
detail: Es gibt mehrere Firmen mit der gleichen Firmennummer
timestamp: '2024-04-24T13:34:01.051128600Z'
errors: []
companyNumber: '12345'
'404':
description: Requested company not found
content:
application/json:
examples:
Requested company not found:
description: Requested company not found
value:
errorMessage: HTTP 404 Not Found
put:
tags:
- Companies
description: Create or update a company with the specified ID (company number). If the company with the given ID does not exist, a new company is created. If the company exist, the existing company is fully updated. Not filled fields in the request are treated thereby as empty data fields and lead to empty fields in an already existing company. It is therefore recommended to use the GET/companies to check whether a company with a specific ID exists or not BEFORE you use PUT/companies/{id}.
operationId: createOrUpdateCompany
parameters:
- name: id
in: path
description: The requested ID (company number).
required: true
schema:
type: string
example: 12345
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Company'
responses:
'200':
description: Successful call
content:
application/json:
schema:
$ref: '#/components/schemas/Company'
examples:
Successful call:
description: Successful call
value:
companyNumber: '12345'
name: AEB SE
name2: Name 2
name3: Name 3
name4: Name 4
street: Sigmaringerstr. 109
street2: Street 2
postcode: '70567'
city: Stuttgart
district: Möhringen
countryIsoCode: DE
county: BW
poBox: '12345'
postcodePoBox: '70567'
cityPoBox: Stuttgart
emailAddress: max.mustermann@aeb.com
phoneNumber: 0711 12345
faxNumber: 0711 12345
vatNumber: DE123456789
isEnabled: true
homepage: www.aeb.com
remark: Logistics company
roles:
- identCode: DLSHIPPT
description: Versandstelle
'400':
description: Either the requested company number is not unique or something went wrong during the validation.
content:
application/problem+json:
examples:
Company number is not unique:
description: Company number is not unique
value:
type: company/company-number-not-unique
status: 400
title: Company not unique
detail: Es gibt mehrere Firmen mit der gleichen Firmennummer
timestamp: '2024-04-24T13:34:01.051128600Z'
errors: []
companyNumber: '12345'
Validation error:
description: Validation error
value:
type: about:blank
status: 400
title: Invalid data
timestamp: '2024-04-24T13:35:11.511687Z'
errors:
- code: INVALID_VALUE
message: darf nicht leer sein
field: name
value: ''
- code: INVALID_VALUE
message: Größe muss zwischen 1 und 40 sein
field: name
value: ''
'404':
description: Requested company not found
content:
application/json:
examples:
Requested company not found:
description: Requested company not found
value:
errorMessage: HTTP 404 Not Found
'409':
description: Locking error
content:
application/problem+json:
examples:
Requested company cannot be locked:
description: Requested company cannot be locked
value:
type: about:blank
status: 409
title: Locked
detail: Locking für Firma - [AEB SE] fehlgeschlagen.
timestamp: '2024-04-24T13:43:17.602220800Z'
errors: []
delete:
tags:
- Companies
description: Delete the company with the specified ID (company number). The ID is in some AEB services not unique, in this case a conflict (409) is returned.
operationId: deleteCompany
parameters:
- name: id
in: path
description: The requested ID (company number).
required: true
schema:
type: string
example: 12345
responses:
'200':
description: Successful call
content:
application/json:
schema:
$ref: '#/components/schemas/Company'
examples:
Successful call:
description: Successful call
value:
companyNumber: '12345'
name: AEB SE
name2: Name 2
name3: Name 3
name4: Name 4
street: Sigmaringerstr. 109
street2: Street 2
postcode: '70567'
city: Stuttgart
district: Möhringen
countryIsoCode: DE
county: BW
poBox: '12345'
postcodePoBox: '70567'
cityPoBox: Stuttgart
emailAddress: max.mustermann@aeb.com
phoneNumber: 0711 12345
faxNumber: 0711 12345
vatNumber: DE123456789
isEnabled: true
homepage: www.aeb.com
remark: Logistics company
roles:
- identCode: DLSHIPPT
description: Versandstelle
'400':
description: Either the requested company number is not unique or something went wrong during the validation.
content:
application/problem+json:
examples:
Company number is not unique:
description: Company number is not unique
value:
type: company/company-number-not-unique
status: 400
title: Company not unique
detail: Es gibt mehrere Firmen mit der gleichen Firmennummer
timestamp: '2024-04-24T13:34:01.051128600Z'
errors: []
companyNumber: '12345'
'404':
description: Requested company not found
content:
application/json:
examples:
Requested company not found:
description: Requested company not found
value:
errorMessage: HTTP 404 Not Found
'409':
description: Locking error
content:
application/problem+json:
examples:
Requested company cannot be locked:
description: Requested company cannot be locked
value:
type: about:blank
status: 409
title: Locked
detail: Locking für Firma - [AEB SE] fehlgeschlagen.
timestamp: '2024-04-24T13:43:17.602220800Z'
errors: []
/companies:
servers:
- url: https://rz3.aeb.de/test2bsm/rest
get:
tags:
- Companies
description: Returns all companies matching the given filter criteria. In case no company matches the given filter criteria an empty companies collection is returned. All filter fields are case insensitive. If the filter field supports place holders ('*' or '%'), you get all companies back beginning with the value of the filter. Means a place holder at the end of the filter value is added automatically.
operationId: searchCompanies
parameters:
- name: is_enabled
in: query
description: Use this filter field with value 'true' if you want to get enabled companies only.
schema:
type: boolean
example: false
- name: roles
in: query
description: Filters companies by company roles. Use the API method GET/company-roles to retrieve all company roles. When searching for more than one role, all companies including one of the given roles are returned.
This filter field is case insensitive.
Place holders are not supported.
schema:
type: array
items:
type: string
- name: company_number_like
in: query
description: Filters companies by company number.
In the example, all companies whose company number begins with '123' are returned.
This filter field is case insensitive.
Place holders are supported.
The company number is in some AEB services not unique, so the result may return more than one company with the same company number.
schema:
type: string
example: 123
- name: name_like
in: query
description: Filters companies by name.
In the example, all companies whose name begins with 'AEB' are returned.
This filter field is case insensitive.
Place holders are supported.
schema:
type: string
example: AEB
- name: city_like
in: query
description: Filters companies by city.
In the example, all companies whose city includes 'ttgart' are returned.
This filter field is case insensitive.
Place holders are supported.
schema:
type: string
example: '*ttgart*'
- name: postcode_like
in: query
description: Filters companies by postcode.
In the example, all companies whose postcode starts with '70' are returned.
This filter field is case insensitive (relevant for alphanumeric postcodes, like in GB).
Place holders are supported.
schema:
type: string
example: 70*
- name: country_iso_code
in: query
description: 'Filters companies by the 2 digit country ISO code according to ISO 3166. Examples for valid codes: ''US'' for USA, ''DE'' for Germany, ''IT'' for Italy, etc.
In the example, all German companies are returned.
This filter field is case insensitive.
Place holders are not supported.'
schema:
maxLength: 2
minLength: 2
type: string
example: DE
- name: offset
in: query
description: 'The starting point from which to return elements of the ordered list.
Minimum : 0'
schema:
minimum: 0
type: integer
format: int32
default: 0
example: 0
- name: limit
in: query
description: 'The maximum number of elements to be returned from the ordered list.
Minimum : 1
Maximum : 1000'
schema:
maximum: 1000
minimum: 1
type: integer
format: int32
default: 1000
example: 200
responses:
'200':
description: Successful call
content:
application/json:
schema:
$ref: '#/components/schemas/CompanyPage'
examples:
List with two companies:
description: List with two companies
value:
totalElements: 42
content:
- companyNumber: '1111'
name: AEB GmbH
name2: Advanced Global Trade Solutions
street: Julius-Hölder-Straße 39
postcode: '70597'
city: Stuttgart
countryIsoCode: DE
emailAddress: info@aeb.de
phoneNumber: +49/711/7 28 42-300
faxNumber: +49/711/7 28 42-333
vatNumber: '12345'
isEnabled: true
homepage: http://www.aeb.de
roles:
- identCode: DLSHIPPT
description: Versandstelle
- companyNumber: '2222'
name: AEB SE
name2: Name 2
name3: Name 3
name4: Name 4
street: Sigmaringerstr. 109
street2: Street 2
postcode: '70567'
city: Stuttgart
district: Möhringen
countryIsoCode: DE
county: BW
poBox: '12345'
postcodePoBox: '70567'
cityPoBox: Stuttgart
emailAddress: max.mustermann@aeb.com
phoneNumber: 0711 12345
faxNumber: 0711 12345
vatNumber: DE123456789
isEnabled: true
homepage: www.aeb.com
remark: Logistics company
roles: []
Empty list:
description: Empty list
value:
totalElements: 42
content: []
'400':
description: Either the requested company role is unknown or something went wrong during the validation.
content:
application/problem+json:
examples:
Unknown company role:
description: Filtered company role does not exist
value:
type: about:blank
status: 400
title: Invalid data
timestamp: '2024-04-24T13:01:32.275722800Z'
errors:
- code: INVALID_DATA
message: Unbekannte Firmenrolle
field: company_roles
value: TEST
Validation error:
description: Invalid value for param limit
value:
type: about:blank
status: 400
title: Invalid data
timestamp: '2024-04-24T13:16:04.903767200Z'
errors:
- code: INVALID_VALUE
message: muss größer-gleich 1 sein
field: limit
value: '0'
/company-roles:
servers:
- url: https://rz3.aeb.de/test2bsm/rest
get:
tags:
- Companies
description: Returns all company roles of this AEB service. Company roles are domain specific characteristics and can differ between the different AEB services.
operationId: getCompanyRoles
responses:
'200':
description: Successful call
content:
application/json:
schema:
$ref: '#/components/schemas/CompanyRoleList'
examples:
All companies roles for this specific AEB service:
description: All companies roles for this specific AEB service
value:
roles:
- identCode: DLSHIPPT
description: Shipping point
components:
schemas:
CompanyPage:
required:
- content
- totalElements
type: object
properties:
totalElements:
type: integer
description: The total number of elements available to return.
readOnly: true
example: 100
content:
type: array
description: List of companies.
items:
$ref: '#/components/schemas/Company'
CompanyRole:
required:
- identCode
type: object
properties:
identCode:
maxLength: 20
minLength: 1
type: string
description: The identCode of the role.
example: DLSHIPPT
description:
maxLength: 80
minLength: 0
type: string
description: The name of the role in request language.
readOnly: true
example: Shipping point
description: A role of a company. Company roles are domain specific characteristics and can differ between the different AEB services.
CompanyRoleList:
required:
- roles
type: object
properties:
roles:
type: array
items:
$ref: '#/components/schemas/CompanyRole'
Company:
required:
- companyNumber
- countryIsoCode
- name
type: object
properties:
companyNumber:
maxLength: 20
minLength: 1
type: string
description: Company number. The company number is in some AEB services not unique.
readOnly: true
example: '12345'
name:
maxLength: 40
minLength: 1
type: string
description: Name of the company (first address line).
example: AEB SE
name2:
maxLength: 40
minLength: 0
type: string
description: Address name line 2.
name3:
maxLength: 40
minLength: 0
type: string
description: Address name line 3.
name4:
maxLength: 40
minLength: 0
type: string
description: Address name line 4.
street:
maxLength: 40
minLength: 0
type: string
description: Street (line 1) of the address.
example: Sigmaringer Str. 109
street2:
maxLength: 40
minLength: 0
type: string
description: Street (line 2) of the address.
postcode:
maxLength: 10
minLength: 0
type: string
description: Postcode of the street address.
example: '70567'
city:
maxLength: 40
minLength: 0
type: string
description: City of the address.
example: Stuttgart
district:
maxLength: 40
minLength: 0
type: string
description: District (city line 2) of the address.
countryIsoCode:
maxLength: 2
minLength: 2
pattern: '[A-Z]{2}'
type: string
description: Country of address. Unique alpha-2 ISO code of country according to ISO 3166.
example: DE
county:
maxLength: 40
minLength: 0
type: string
description: County of the address.
example: BW
poBox:
maxLength: 10
minLength: 0
type: string
description: PO-Box.
postcodePoBox:
maxLength: 10
minLength: 0
type: string
description: Postcode of the poBox address.
cityPoBox:
maxLength: 40
minLength: 0
type: string
description: City of the po-box address.
emailAddress:
maxLength: 256
minLength: 0
type: string
description: Email address of the address.
format: email
example: support@aeb.com
phoneNumber:
maxLength: 20
minLength: 0
type: string
description: Phone number of reception.
example: +49 711 72842 0
faxNumber:
maxLength: 20
minLength: 0
type: string
description: Fax number of reception.
vatNumber:
maxLength: 20
minLength: 0
type: string
description: 'International VAT identification number. Example of format: DE123456789'
example: DE123456789
isEnabled:
type: boolean
description: If false, the company is logically deleted. Disabled companies will not be linked to new transactional data. It is possible to enable a disabled company by overwriting the value with 'true' or leave it empty.
example: true
disabledAt:
type: string
description: Date at wich the company was set as disabled. Empty if the company is not disabled. This date is always UTC time zone and has the RFC-3339 date format.
format: date-time
readOnly: true
homepage:
maxLength: 250
minLength: 0
type: string
description: Homepage of the company.
example: www.aeb.com
remark:
maxLength: 4000
minLength: 0
type: string
description: Remarks about the company.
example: :)
roles:
type: array
description: Roles of the company. The possible roles depends on the AEB service. Use API method GET /company-roles to retrieve all possible company roles.
items:
$ref: '#/components/schemas/CompanyRole'
description: A complete address of a company.
securitySchemes:
SWAGGER_AUTH_KEY:
type: apiKey
name: X-XNSG_WEB_TOKEN
in: header
BASIC_AUTH:
type: http
scheme: basic
x-refined-from:
- aeb-bsm-openapi.json
- aeb-carrier-connect-openapi.json
- aeb-carrier-event-service-openapi.json
- aeb-carrier-select-openapi.json
- aeb-customs-broker-portal-openapi.json
- aeb-customs-inventory-management-openapi.json
- aeb-customs-management-openapi.json
- aeb-logistics-cost-management-openapi.json
- aeb-product-classification-openapi.json
- aeb-trade-compliance-management-openapi.json
x-proxy-enabled: false