Sequential ID Service

Download OpenAPI specification:Download

Create sequentially unique IDs for orders, invoices, customers or similar.


Key Features:

  • Custom sequence pattern / schemas
  • Pre-configured patterns for orders, invoices, pick-packs, and quotes
  • Customizable placeholders
  • Customizable prefix and suffix

Key Benefits:

  • Safely create unique IDs
  • Be tax compliant with unique invoices IDs

Sequential IDs management

Retrieving all schemasDeprecated

Gets all sequence schemas.

This endpoint is deprecated. Please use the /sequential-id/{tenant}/schemas instead.


Required scopes

  • sequentialid.schema_view
SecurityOAuth2
Responses
200
401

Given request is unauthorized - the authorization token is invalid or has expired. Details will be provided in the response payload.

403

Given authorization scopes are not sufficient and do not match required scopes.

get/sequential-id/sequenceSchemas
Request samples
Response samples
application/json
[
  • {
    }
]

Creating a schemaDeprecated

Creates a new sequence schema.

This endpoint is deprecated. Please use the /sequential-id/{tenant}/schemas instead.


Required scopes

  • sequentialid.schema_manage
SecurityOAuth2
Request
Request Body schema: application/json
name
required
string

The name of the sequence schema.

schemaType
string^[a-zA-Z0-9]*$

The schema type corresponding to the entity it is used for. Possible values are:

  • orderNoSequence
  • invoiceNoSequence
  • quoteNoSequence
  • pickPackNoSequence
  • orderHoldingAreaNoSequence
preText
string

The prefix of the ID. It can contain placeholders, which are replaced with their values. Placeholders are defined in the placeholders property.

postText
string

The suffix of the ID. It can contain placeholders, which are replaced with their values. Placeholders are defined in the placeholders property.

startValue
required
number

The starting value of the sequence. It is used to generate the first ID. The starting value is incremented for each subsequent ID.

maxValue
required
number

The maximum value of the sequence. It is used to limit the range of generated IDs. If the maximum value is reached, the sequence will not generate any more IDs.

numberOfDigits
required
number

The number of digits in the generated ID. It is used to format the ID. If the number of digits is less than the maximum value, leading zeros are added.

object (Placeholders)

The filler text for values based on certain properties or settings in the system.

Responses
201
400

Request syntactically incorrect. Any details will be provided within the response payload.

401

Given request is unauthorized - the authorization token is invalid or has expired. Details will be provided in the response payload.

403

Given authorization scopes are not sufficient and do not match required scopes.

post/sequential-id/sequenceSchemas
Request samples
application/json
{
  • "name": "invoiceNoSequence",
  • "schemaType": "invoiceNoSequence",
  • "preText": "INV__num__",
  • "maxValue": 999999999,
  • "numberOfDigits": 4,
  • "startValue": 1000,
  • "placeholders": {
    }
}
Response samples
application/json
"string"

Creating a nextIdDeprecated

Creates and returns the nextId in the sequence. If you specify the sequenceKey parameter in request body, the nextId number is generated for this sequence, otherwise default pool is used.

This endpoint is deprecated. Please use the /sequential-id/{tenant}/schemas/types/{schemaType}/nextId instead.

SecurityOAuth2
Request
path Parameters
sequenceSchema
required
string

The sequence schema to generate the nextId for.

query Parameters
siteCode
string

Value used to resolve certain placeholders.

Placeholders such as __year__, __month__, __day__, __hour__, __minute__, __second__, and __country__, which are defined in the schema, can have default values computed when their counterparts are missing in the request body.

The default values are derived from the site. Specifically:

  • All date-related placeholders are computed based on the site.homeBase.timezone field.
  • The country placeholder is replaced with the value of site.homeBase.address.country.

If these values are missing in site, the following defaults are used:

  • UTC for timezone
  • DE for country
Request Body schema: application/json
numberOfIds
number >= 1

The number of IDs to create sequentially in one request.

sequenceKey
string

The pattern to follow for the nextID.

object

The filler text for values based on certain properties or settings in the system.

Responses
201
400

Request syntactically incorrect. Any details will be provided within the response payload.

401

Given request is unauthorized - the authorization token is invalid or has expired. Details will be provided in the response payload.

403

Given authorization scopes are not sufficient and do not match required scopes.

404

Resource does not exist.

post/sequential-id/sequenceSchemas/{sequenceSchema}/nextIds
Request samples
application/json
{
  • "numberOfIds": 3,
  • "sequenceKey": "2016-05",
  • "placeholders": {
    }
}
Response samples
application/json
{
  • "ids": [
    ]
}

Retrieving all schemas

Gets all sequence schemas.


Required scopes

  • sequentialid.schema_view
SecurityOAuth2
Request
path Parameters
tenant
required
string [ 3 .. 16 ] characters [a-zA-Z0-9_-]+

The name of your tenant.

Note: The tenant name should always be provided in lowercase.

Responses
200
400

Request syntactically incorrect. Any details will be provided within the response payload.

401

Given request is unauthorized - the authorization token is invalid or has expired. Details will be provided in the response payload.

403

Given authorization scopes are not sufficient and do not match required scopes.

get/sequential-id/{tenant}/schemas
Request samples
Response samples
application/json
[
  • {
    },
  • {
    }
]

Creating a schema

Creates a new sequence schema.


Required scopes

  • sequentialid.schema_manage
SecurityOAuth2
Request
path Parameters
tenant
required
string [ 3 .. 16 ] characters [a-zA-Z0-9_-]+

The name of your tenant.

Note: The tenant name should always be provided in lowercase.

Request Body schema: application/json
name
required
string

The name of the sequence schema.

schemaType
string^[a-zA-Z0-9]*$

The schema type corresponding to the entity it is used for. Possible values are:

  • orderNoSequence
  • invoiceNoSequence
  • quoteNoSequence
  • pickPackNoSequence
  • orderHoldingAreaNoSequence
preText
string

The prefix of the ID. It can contain placeholders, which are replaced with their values. Placeholders are defined in the placeholders property.

postText
string

The suffix of the ID. It can contain placeholders, which are replaced with their values. Placeholders are defined in the placeholders property.

startValue
required
number

The starting value of the sequence. It is used to generate the first ID. The starting value is incremented for each subsequent ID.

maxValue
required
number

The maximum value of the sequence. It is used to limit the range of generated IDs. If the maximum value is reached, the sequence will not generate any more IDs.

numberOfDigits
required
number

The number of digits in the generated ID. It is used to format the ID. If the number of digits is less than the maximum value, leading zeros are added.

object (Placeholders)

The filler text for values based on certain properties or settings in the system.

Responses
201
400

Request syntactically incorrect. Any details will be provided within the response payload.

401

Given request is unauthorized - the authorization token is invalid or has expired. Details will be provided in the response payload.

403

Given authorization scopes are not sufficient and do not match required scopes.

post/sequential-id/{tenant}/schemas
Request samples
application/json
{
  • "name": "testSchema",
  • "schemaType": "orderNoSequence",
  • "preText": "C-__year__-__month__-",
  • "postText": "-D",
  • "maxValue": 999999999,
  • "numberOfDigits": 9,
  • "startValue": 3,
  • "placeholders": {
    }
}
Response samples
application/json
"string"

Retrieving a schema

Gets a sequence schema by its id.


Required scopes

  • sequentialid.schema_view
SecurityOAuth2
Request
path Parameters
schemaId
required
string

The ID of the schema to retrieve.

tenant
required
string [ 3 .. 16 ] characters ^[a-z][a-z0-9]+$

The name of your tenant.

Note: The tenant name should always be provided in lowercase.

Responses
200
400

Request syntactically incorrect. Any details will be provided within the response payload.

401

Given request is unauthorized - the authorization token is invalid or has expired. Details will be provided in the response payload.

403

Given authorization scopes are not sufficient and do not match required scopes.

get/sequential-id/{tenant}/schemas/{schemaId}
Request samples
Response samples
application/json
{
  • "name": "testSchema",
  • "schemaType": "orderNoSequence",
  • "active": true,
  • "preText": "C-__year__-__month__-",
  • "postText": "-D",
  • "startValue": 1,
  • "maxValue": 999999999,
  • "numberOfDigits": 9,
  • "counter": 45684,
  • "placeholders": {
    }
}

Activating a schema

Sets the schema as active in the system.


Required scopes

  • sequentialid.schema_manage
SecurityOAuth2
Request
path Parameters
schemaId
required
string

The ID of the schema to activate.

tenant
required
string [ 3 .. 16 ] characters ^[a-z][a-z0-9]+$

The name of your tenant.

Note: The tenant name should always be provided in lowercase.

Responses
200

Schema set to active

400

Request syntactically incorrect. Any details will be provided within the response payload.

401

Given request is unauthorized - the authorization token is invalid or has expired. Details will be provided in the response payload.

403

Given authorization scopes are not sufficient and do not match required scopes.

404

Resource does not exist.

post/sequential-id/{tenant}/schemas/{schemaId}/setActive
Request samples
Response samples
application/json
{
  • "status": 400,
  • "message": "There are validation problems, see details section for more information"
}

Retrieving all schema types

Gets all sequence schemas.


Required scopes

  • sequentialid.schema_view
SecurityOAuth2
Request
path Parameters
schemaType
required
string

The schema type corresponding to the entity it is used for. Possible values are:

  • orderNoSequence
  • invoiceNoSequence
  • quoteNoSequence
  • pickPackNoSequence
  • orderHoldingAreaNoSequence
tenant
required
string [ 3 .. 16 ] characters [a-zA-Z0-9_-]+

The name of your tenant.

Note: The tenant name should always be provided in lowercase.

Responses
200
400

Request syntactically incorrect. Any details will be provided within the response payload.

401

Given request is unauthorized - the authorization token is invalid or has expired. Details will be provided in the response payload.

403

Given authorization scopes are not sufficient and do not match required scopes.

get/sequential-id/{tenant}/schemas/types/{schemaType}
Request samples
Response samples
application/json
[
  • {
    },
  • {
    }
]

Creating a nextId for schema type

Creates and returns the nextId according to the specified sequence. If you specify the sequenceKey in request body, the nextId number is generated for this sequence, otherwise default pool is used.


Required scopes

  • sequentialid.schema_view
SecurityOAuth2
Request
path Parameters
schemaType
required
string

The schema type corresponding to the entity it is used for. Possible values are:

  • orderNoSequence
  • invoiceNoSequence
  • quoteNoSequence
  • pickPackNoSequence
  • orderHoldingAreaNoSequence
tenant
required
string [ 3 .. 16 ] characters ^[a-z][a-z0-9]+$

The name of your tenant.

Note: The tenant name should always be provided in lowercase.

query Parameters
siteCode
string

Value used to resolve certain placeholders.

Placeholders such as __year__, __month__, __day__, __hour__, __minute__, __second__, and __country__, which are defined in the schema, can have default values computed when their counterparts are missing in the request body.

The default values are derived from the site. Specifically:

  • All date-related placeholders are computed based on the site.homeBase.timezone field.
  • The country placeholder is replaced with the value of site.homeBase.address.country.

If these values are missing in site, the following defaults are used:

  • UTC for timezone
  • DE for country
Request Body schema: application/json
sequenceKey
string

The pattern to follow for the nextID.

object

The filler text for values based on certain properties or settings in the system.

Responses
201
400

Request syntactically incorrect. Any details will be provided within the response payload.

401

Given request is unauthorized - the authorization token is invalid or has expired. Details will be provided in the response payload.

403

Given authorization scopes are not sufficient and do not match required scopes.

404

Resource does not exist.

post/sequential-id/{tenant}/schemas/types/{schemaType}/nextId
Request samples
application/json
{
  • "sequenceKey": "2016-05",
  • "placeholders": {
    }
}
Response samples
application/json
{
  • "id": "B7012562"
}

Creating nextIds for schema types

Creates and returns the nextId for the specified sequence schemas. If you specify the sequenceKey in request body, the nextId number is generated for this sequence, otherwise default pool is used.


Required scopes

  • sequentialid.schema_view
SecurityOAuth2
Request
query Parameters
siteCode
string

Value used to resolve certain placeholders.

Placeholders such as __year__, __month__, __day__, __hour__, __minute__, __second__, and __country__, which are defined in the schema, can have default values computed when their counterparts are missing in the request body.

The default values are derived from the site. Specifically:

  • All date-related placeholders are computed based on the site.homeBase.timezone field.
  • The country placeholder is replaced with the value of site.homeBase.address.country.

If these values are missing in site, the following defaults are used:

  • UTC for timezone
  • DE for country
Request Body schema: application/json
additional property
object
Responses
201
400

Request syntactically incorrect. Any details will be provided within the response payload.

401

Given request is unauthorized - the authorization token is invalid or has expired. Details will be provided in the response payload.

403

Given authorization scopes are not sufficient and do not match required scopes.

post/sequential-id/sequenceSchemaBatch/nextIds
Request samples
application/json
{
  • "testSchema": {
    },
  • "testSchema2": {
    }
}
Response samples
application/json
{
  • "testSchema": {
    }
}