Create an API key
curl --request POST \
--url https://api.unitedmarket.ai/me/api-keys \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"name": "trading-bot"
}
'const options = {
method: 'POST',
headers: {
'x-api-key': '<api-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({name: 'trading-bot'})
};
fetch('https://api.unitedmarket.ai/me/api-keys', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.unitedmarket.ai/me/api-keys"
payload = { "name": "trading-bot" }
headers = {
"x-api-key": "<api-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"id": "<string>",
"name": "trading-bot",
"prefix": "umk_live_AbC123",
"tier": "DEFAULT",
"lastUsedAt": "2023-11-07T05:31:56Z",
"revokedAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"key": "umk_live_xxxxxxxxxxxxxxxxxxxxxxxx"
}{
"message": "<string>",
"error": "Unauthorized",
"statusCode": 401
}API Keys
Create an API key
Creates a new API key. The plaintext secret is returned exactly once — store it immediately. Requires x-api-key and a SIWE bearer.
POST
https://api.unitedmarket.ai
/
me
/
api-keys
Create an API key
curl --request POST \
--url https://api.unitedmarket.ai/me/api-keys \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"name": "trading-bot"
}
'const options = {
method: 'POST',
headers: {
'x-api-key': '<api-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({name: 'trading-bot'})
};
fetch('https://api.unitedmarket.ai/me/api-keys', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.unitedmarket.ai/me/api-keys"
payload = { "name": "trading-bot" }
headers = {
"x-api-key": "<api-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"id": "<string>",
"name": "trading-bot",
"prefix": "umk_live_AbC123",
"tier": "DEFAULT",
"lastUsedAt": "2023-11-07T05:31:56Z",
"revokedAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"key": "umk_live_xxxxxxxxxxxxxxxxxxxxxxxx"
}{
"message": "<string>",
"error": "Unauthorized",
"statusCode": 401
}Authorizations
Shared web key or a personal key (umk_live_…). Required on routes that are not @Public(). A missing or unknown key returns 401 Invalid API Key provided even if a SIWE bearer is also sent.
SIWE access token returned by POST /auth/verify.
Body
application/json
Maximum string length:
60Example:
"trading-bot"
Response
API key created. The key field appears only in this response.
Example:
"trading-bot"
Non-secret display fragment of the key.
Example:
"umk_live_AbC123"
Rate-limit tier. MM sits between PRO and INTERNAL for external market makers.
Available options:
DEFAULT, PRO, MM, INTERNAL The full plaintext secret. Returned only once, at creation or rotation.
Example:
"umk_live_xxxxxxxxxxxxxxxxxxxxxxxx"
