Login
curl --request POST \
--url https://api.jtl-cloud.com/erp/v1/authentication/login \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-challengecode: <x-challengecode>' \
--header 'x-tenant-id: <x-tenant-id>' \
--data '
{
"UserName": "<string>",
"Password": "<string>"
}
'import requests
url = "https://api.jtl-cloud.com/erp/v1/authentication/login"
payload = {
"UserName": "<string>",
"Password": "<string>"
}
headers = {
"x-challengecode": "<x-challengecode>",
"x-tenant-id": "<x-tenant-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-challengecode': '<x-challengecode>',
'x-tenant-id': '<x-tenant-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({UserName: '<string>', Password: '<string>'})
};
fetch('https://api.jtl-cloud.com/erp/v1/authentication/login', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.jtl-cloud.com/erp/v1/authentication/login",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'UserName' => '<string>',
'Password' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-challengecode: <x-challengecode>",
"x-tenant-id: <x-tenant-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.jtl-cloud.com/erp/v1/authentication/login"
payload := strings.NewReader("{\n \"UserName\": \"<string>\",\n \"Password\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-challengecode", "<x-challengecode>")
req.Header.Add("x-tenant-id", "<x-tenant-id>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.jtl-cloud.com/erp/v1/authentication/login")
.header("x-challengecode", "<x-challengecode>")
.header("x-tenant-id", "<x-tenant-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"UserName\": \"<string>\",\n \"Password\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.jtl-cloud.com/erp/v1/authentication/login")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-challengecode"] = '<x-challengecode>'
request["x-tenant-id"] = '<x-tenant-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"UserName\": \"<string>\",\n \"Password\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"SessionId": "<string>"
}{
"ErrorCode": "<string>",
"ValidationErrors": {},
"Errors": {},
"ErrorMessage": "<string>",
"Stacktrace": "<string>"
}Authentication
Login
Sends a request to log in the user / dynamically assign the WAWI user. Only use this request if your API uses SSL.
POST
/
v1
/
authentication
/
login
Login
curl --request POST \
--url https://api.jtl-cloud.com/erp/v1/authentication/login \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-challengecode: <x-challengecode>' \
--header 'x-tenant-id: <x-tenant-id>' \
--data '
{
"UserName": "<string>",
"Password": "<string>"
}
'import requests
url = "https://api.jtl-cloud.com/erp/v1/authentication/login"
payload = {
"UserName": "<string>",
"Password": "<string>"
}
headers = {
"x-challengecode": "<x-challengecode>",
"x-tenant-id": "<x-tenant-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-challengecode': '<x-challengecode>',
'x-tenant-id': '<x-tenant-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({UserName: '<string>', Password: '<string>'})
};
fetch('https://api.jtl-cloud.com/erp/v1/authentication/login', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.jtl-cloud.com/erp/v1/authentication/login",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'UserName' => '<string>',
'Password' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-challengecode: <x-challengecode>",
"x-tenant-id: <x-tenant-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.jtl-cloud.com/erp/v1/authentication/login"
payload := strings.NewReader("{\n \"UserName\": \"<string>\",\n \"Password\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-challengecode", "<x-challengecode>")
req.Header.Add("x-tenant-id", "<x-tenant-id>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.jtl-cloud.com/erp/v1/authentication/login")
.header("x-challengecode", "<x-challengecode>")
.header("x-tenant-id", "<x-tenant-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"UserName\": \"<string>\",\n \"Password\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.jtl-cloud.com/erp/v1/authentication/login")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-challengecode"] = '<x-challengecode>'
request["x-tenant-id"] = '<x-tenant-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"UserName\": \"<string>\",\n \"Password\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"SessionId": "<string>"
}{
"ErrorCode": "<string>",
"ValidationErrors": {},
"Errors": {},
"ErrorMessage": "<string>",
"Stacktrace": "<string>"
}Authorizations
oauth2-authorization-codeoauth2-client-credentials
The access token received from the authorization server in the OAuth 2.0 flow.
Headers
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.
The tenant ID for the target ERP instance.
Body
application/json
Contains the login information
Response
login success
Model Class: Login
Unique identifier of the current session
Was this page helpful?
⌘I