---
title: "Register App"
method: POST
path: "/v2/authentication"
tags: ["appRegistration"]
---

# Register App

`POST /v2/authentication`

Send a registration request for an (external) application

## Headers

- `x-tenant-id` string, uuid, required
- `x-challengecode` string, required

## Request body

- JTLWawiRestContractsModelsV1AuthenticationCreateAppRegistrationRequest — Model Class: CreateAppRegistrationRequest
  - `appId` string — Unique identifier of the application
  - `displayName` string — Default display name of the application
  - `description` string — Default description of the application
  - `localizedDisplayNames` JTLWawiRestContractsModelsV1CommonCreateTranslation[] — Localized display names of the application
    - `languageIso` string — The language ISO code
    - `name` string — The word in the corresponding language
  - `localizedDescriptions` JTLWawiRestContractsModelsV1CommonCreateTranslation[] — Localized descriptions of the application
    - `languageIso` string — The language ISO code
    - `name` string — The word in the corresponding language
  - `version` string — Version of the application to be registered
  - `providerName` string — Name of the application's provider
  - `providerWebsite` string — Website of the application's provider
  - `mandatoryApiScopes` string[] — Mandatory required API scopes for the application to work
  - `optionalApiScopes` string[] — Optional (recommended) API scopes for the application
  - `appIcon` string, byte — Base64 encoded data of an image.
  - `registrationType` 0 | 1 | 2 | 3 — 0 = OneInstance, 1 = MultiInstance, 2 = PerUserInstance, 3 = PerUserLoginInstance
  - `signature` string, byte — The Signature of the App, it combines AppId.SignatureData like myApp/v1.2025-08-03T25:48:00 in UTC Time
  - `signatureData` string, date-time — The Data as DateTimeOffset must be in a range from 10 Minutes equals, and is base for the Signature and must be in UTC Time

## Response `201`

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

- JTLWawiRestContractsModelsV1AuthenticationRegistrationRequestStatusInfo — Model Class: RegistrationRequestStatusInfo
  - `appId` string — Unique identifier of the application
  - `registrationRequestId` string — Unique identifier of the registration request
  - `status` 0 | 1 | 2 — 0 = Pending, 1 = Rejected, 2 = Accepted

## Other responses

- `402` — No licence available or the app has not been authorised by JTL.
- `403` — There was no application service available to receive and handle the registration request
- `409` — An application with the specified unique id is already registered.

---

[API](https://skmtc.net/jtl-software/apis/scx-authentication-api.md) · [All operations](https://skmtc.net/jtl-software/apis/scx-authentication-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/jtl-software/scx-authentication-api/revisions/f979b1ea6951/schema)
