Skip to main content
POST
/
authentication
Register App
curl --request POST \
  --url https://api.jtl-cloud.com/erp/authentication \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'x-challengecode: <x-challengecode>' \
  --header 'x-tenant-id: <x-tenant-id>' \
  --data '
{
  "AppId": "myApp/v1",
  "DisplayName": "My App",
  "Description": "Demo app for testing purposes",
  "Version": "1.0.0",
  "ProviderName": "JTL-Software-GmbH",
  "ProviderWebsite": "https://www.jtl-software.de",
  "MandatoryApiScopes": "",
  "AppIcon": "aSDinaTvuI8gbWludGxpZnk=",
  "LocalizedDisplayNames": [
    {
      "LanguageIso": "DE",
      "Name": "German"
    }
  ],
  "LocalizedDescriptions": [
    {
      "LanguageIso": "DE",
      "Name": "German"
    }
  ],
  "OptionalApiScopes": "",
  "RegistrationType": 0,
  "Signature": "aSDinaTvuI8gbWludGxpZnk=",
  "SignatureData": "2025-03-20T08:57:00.0000000+01:00"
}
'
{
  "AppId": "myApp/V3",
  "RegistrationRequestId": "295C196B-CBB0-4E76-9050-ECEC3356DDA6",
  "Status": 0
}

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Headers

api-version
string

Specify the desired API version, e.g. '1.0'. If not provided, the last available version is set.

x-challengecode
string
required

You can enter any custom value here. The X-ChallengeCode is used during app registration and must be the same for all registration requests. The maximum length is 30 characters.

x-tenant-id
string<uuid>
required

The tenant ID for the target ERP instance.

Body

application/json

Contains the registration request's data

Model Class: CreateAppRegistrationRequest

AppId
string
required

Unique identifier of the application

Example:

"myApp/v1"

DisplayName
string
required

Default display name of the application

Example:

"My App"

Description
string
required

Default description of the application

Example:

"Demo app for testing purposes"

Version
string
required

Version of the application to be registered

Example:

"1.0.0"

ProviderName
string
required

Name of the application's provider

Example:

"JTL-Software-GmbH"

ProviderWebsite
string
required

Website of the application's provider

Example:

"https://www.jtl-software.de"

MandatoryApiScopes
string[]
required

Mandatory required API scopes for the application to work

Example:

""

AppIcon
string<byte>
required

Base64 encoded data of an image.

LocalizedDisplayNames
object[]
LocalizedDescriptions
object[]
OptionalApiScopes
string[]
Example:

""

RegistrationType
enum<integer>

0 = OneInstance, 1 = MultiInstance, 2 = PerUserInstance, 3 = PerUserLoginInstance

Available options:
0,
1,
2,
3
Signature
string<byte>
SignatureData
string<date-time>
Example:

"2025-03-20T08:57:00.0000000+01:00"

Response

Status of the registration process (including the unique identifiers for application and registration request)

Model Class: RegistrationRequestStatusInfo

AppId
string
required

Unique identifier of the application

Example:

"myApp/V3"

RegistrationRequestId
string
required

Unique identifier of the registration request

Example:

"295C196B-CBB0-4E76-9050-ECEC3356DDA6"

Status
enum<integer>
required

0 = Pending, 1 = Rejected, 2 = Accepted

Available options:
0,
1,
2