Issue Azure file-share credentials for a data exporter client
curl --request POST \
--url https://app.solya.app/api/data-exporter/bootstrap \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"licenseKey": "LK-ABCDEF1234567890GHIJ",
"organizationId": "org-uuid-001"
}
'import requests
url = "https://app.solya.app/api/data-exporter/bootstrap"
payload = {
"licenseKey": "LK-ABCDEF1234567890GHIJ",
"organizationId": "org-uuid-001"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({licenseKey: 'LK-ABCDEF1234567890GHIJ', organizationId: 'org-uuid-001'})
};
fetch('https://app.solya.app/api/data-exporter/bootstrap', 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://app.solya.app/api/data-exporter/bootstrap",
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([
'licenseKey' => 'LK-ABCDEF1234567890GHIJ',
'organizationId' => 'org-uuid-001'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://app.solya.app/api/data-exporter/bootstrap"
payload := strings.NewReader("{\n \"licenseKey\": \"LK-ABCDEF1234567890GHIJ\",\n \"organizationId\": \"org-uuid-001\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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://app.solya.app/api/data-exporter/bootstrap")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"licenseKey\": \"LK-ABCDEF1234567890GHIJ\",\n \"organizationId\": \"org-uuid-001\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.solya.app/api/data-exporter/bootstrap")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"licenseKey\": \"LK-ABCDEF1234567890GHIJ\",\n \"organizationId\": \"org-uuid-001\"\n}"
response = http.request(request)
puts response.read_body{
"azure": {
"blobPrefix": "organizations/org-uuid-001/data-archives",
"fileShareName": "org-org-uuid-001",
"storageAccountKey": "<redacted-storage-account-key>",
"storageAccountName": "solyaexports",
"uncPath": "\\\\solyaexports.file.core.windows.net\\org-org-uuid-001"
},
"organization": {
"id": "org-uuid-001",
"name": "Solya Fashion Group"
}
}Data Export
Issue Azure file-share credentials for a data exporter client
Public endpoint. Validates the organization’s license key and issues Azure storage credentials. The response includes the storage account key, file share name, UNC path, and blob prefix for the SMB-mount flow. The license key and account key are never logged.
POST
/
api
/
data-exporter
/
bootstrap
Issue Azure file-share credentials for a data exporter client
curl --request POST \
--url https://app.solya.app/api/data-exporter/bootstrap \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"licenseKey": "LK-ABCDEF1234567890GHIJ",
"organizationId": "org-uuid-001"
}
'import requests
url = "https://app.solya.app/api/data-exporter/bootstrap"
payload = {
"licenseKey": "LK-ABCDEF1234567890GHIJ",
"organizationId": "org-uuid-001"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({licenseKey: 'LK-ABCDEF1234567890GHIJ', organizationId: 'org-uuid-001'})
};
fetch('https://app.solya.app/api/data-exporter/bootstrap', 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://app.solya.app/api/data-exporter/bootstrap",
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([
'licenseKey' => 'LK-ABCDEF1234567890GHIJ',
'organizationId' => 'org-uuid-001'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://app.solya.app/api/data-exporter/bootstrap"
payload := strings.NewReader("{\n \"licenseKey\": \"LK-ABCDEF1234567890GHIJ\",\n \"organizationId\": \"org-uuid-001\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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://app.solya.app/api/data-exporter/bootstrap")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"licenseKey\": \"LK-ABCDEF1234567890GHIJ\",\n \"organizationId\": \"org-uuid-001\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.solya.app/api/data-exporter/bootstrap")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"licenseKey\": \"LK-ABCDEF1234567890GHIJ\",\n \"organizationId\": \"org-uuid-001\"\n}"
response = http.request(request)
puts response.read_body{
"azure": {
"blobPrefix": "organizations/org-uuid-001/data-archives",
"fileShareName": "org-org-uuid-001",
"storageAccountKey": "<redacted-storage-account-key>",
"storageAccountName": "solyaexports",
"uncPath": "\\\\solyaexports.file.core.windows.net\\org-org-uuid-001"
},
"organization": {
"id": "org-uuid-001",
"name": "Solya Fashion Group"
}
}Authorizations
User session token issued by NextAuth. For human users accessing Solya via the web application.
Body
application/json
⌘I

