Account

Register, login, manage API keys, and view usage statistics.

Base URLhttps://api.apps.myallies.com/v1
POST/account/registerRegister a new API accountexpand_less

Register a new API account

No Auth Required

Create a new API account. No authentication required. Returns your user ID, email, first API key, and subscription tier. Store the API key securely — it will not be shown again.

Request Body

NameTypeDescription
email *string
Email address for the new account
password *string
Account password (min 8 characters)

Responses

200Account created successfully
400Invalid email or password format
curl -X POST "https://api.apps.myallies.com/v1/account/register" \
  -H "Content-Type: application/json" \
  -d '{
  "email": "demo@myallies.com",
  "password": "demo"
}'
Response Example
{
  "success": true,
  "data": {
    "userId": 42,
    "email": "demo@myallies.com",
    "apiKey": "ma_live_k8x2mN4pQ7...",
    "tier": "free",
    "message": "Account created. Store your API key securely."
  },
  "error": null,
  "meta": {
    "requestId": "req_a1b2c3",
    "timestamp": "2026-03-17T10:00:00Z",
    "version": "v1"
  }
}

terminal Try It

expand_more
POST/account/loginLogin and get an account tokenexpand_less

Login and get an account token

No Auth Required

Authenticate with email and password to receive an account token for the MyAllies first-party apps. No authentication required to call it. NOTE: this token is NOT accepted by the Public API — no endpoint here validates a bearer token. Every authenticated endpoint, account management included, uses your API key in the X-Api-Key header.

Request Body

NameTypeDescription
email *string
Account email address
password *string
Account password

Responses

200Login successful
401Invalid email or password
curl -X POST "https://api.apps.myallies.com/v1/account/login" \
  -H "Content-Type: application/json" \
  -d '{
  "email": "demo@myallies.com",
  "password": "demo"
}'
Response Example
{
  "success": true,
  "data": {
    "token": "eyJhbGciOiJIUzI1NiIs...",
    "userId": 42,
    "email": "demo@myallies.com"
  },
  "error": null,
  "meta": {
    "requestId": "req_d4e5f6",
    "timestamp": "2026-03-17T10:01:00Z",
    "version": "v1"
  }
}

terminal Try It

expand_more
GET/account/keysList all API keysexpand_less

List all API keys

API Key (X-Api-Key)

Retrieve all API keys associated with the authenticated user. Shows key prefix, name, status, and usage info. Authenticate with your existing API key in the X-Api-Key header — the key you were given at registration can manage the rest.

Responses

200List of API keys
curl -X GET "https://api.apps.myallies.com/v1/account/keys" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json"
Response Example
{
  "success": true,
  "data": [
    {
      "id": 1,
      "keyPrefix": "ma_live_k8x2...",
      "name": "Production Key",
      "isActive": true,
      "created": "2026-03-01T10:00:00Z",
      "lastUsedAt": "2026-03-17T09:45:00Z"
    },
    {
      "id": 2,
      "keyPrefix": "ma_live_p3n7...",
      "name": "Development Key",
      "isActive": true,
      "created": "2026-03-10T14:00:00Z",
      "lastUsedAt": null
    }
  ],
  "error": null,
  "meta": {
    "requestId": "req_g7h8i9",
    "timestamp": "2026-03-17T10:02:00Z",
    "version": "v1"
  }
}

terminal Try It

expand_more
POST/account/keysGenerate a new API keyexpand_less

Generate a new API key

API Key (X-Api-Key)

Create a new API key with the given name. The full key is returned only once — store it securely. Authenticate with an existing API key in the X-Api-Key header; the new key is created for the same account.

Request Body

NameTypeDescription
name *string
Descriptive name for the key (e.g., "Production", "Testing")

Responses

200API key generated
curl -X POST "https://api.apps.myallies.com/v1/account/keys" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Trading Bot Key"
}'
Response Example
{
  "success": true,
  "data": {
    "apiKey": "ma_live_r5t8uV2wX9...",
    "name": "Trading Bot Key",
    "message": "Store this key securely. It will not be shown again."
  },
  "error": null,
  "meta": {
    "requestId": "req_j1k2l3",
    "timestamp": "2026-03-17T10:03:00Z",
    "version": "v1"
  }
}

terminal Try It

expand_more
DELETE/account/keys/{keyId}Revoke an API keyexpand_less

Revoke an API key

API Key (X-Api-Key)

Permanently revoke an API key. Any requests using this key will immediately fail. Authenticate with an existing API key in the X-Api-Key header — you cannot revoke the last key you are authenticating with unless you send a different one.

Parameters

NameTypeDescription
keyId *
path
integer
ID of the API key to revoke

Responses

200API key revoked
404API key not found, or it does not belong to this account (KEY_NOT_FOUND).
curl -X DELETE "https://api.apps.myallies.com/v1/account/keys/1" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json"
Response Example
{
  "success": true,
  "data": null,
  "error": null,
  "meta": {
    "requestId": "req_m4n5o6",
    "timestamp": "2026-03-17T10:04:00Z",
    "version": "v1"
  }
}

terminal Try It

expand_more
GET/account/usageGet usage statisticsexpand_less

Get usage statistics

API Key (X-Api-Key)

Retrieve your current subscription tier, per-minute rate limit, daily request limit, and whether the subscription is active. These are your own effective limits, which may differ from the tier defaults in GET /v1/account/tiers if custom limits are set on your account. Useful for monitoring API consumption.

Responses

200Usage statistics
curl -X GET "https://api.apps.myallies.com/v1/account/usage" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json"
Response Example
{
  "success": true,
  "data": {
    "tier": "Free",
    "rateLimit": 60,
    "dailyLimit": 1000,
    "isActive": true
  },
  "error": null,
  "meta": {
    "requestId": "req_p7q8r9",
    "timestamp": "2026-03-17T10:05:00Z",
    "version": "v1"
  }
}

terminal Try It

expand_more
GET/account/tiersGet subscription tiersexpand_less

Get subscription tiers

No Auth Required

Retrieve all available API subscription tiers with rate limits, daily call limits, and monthly pricing. No authentication required.

Responses

200Available subscription tiers
curl -X GET "https://api.apps.myallies.com/v1/account/tiers" \
  -H "Content-Type: application/json"
Response Example
{
  "success": true,
  "data": [
    {
      "id": 0,
      "name": "Free",
      "perMinuteLimit": 60,
      "dailyLimit": 1000,
      "monthlyPrice": 0,
      "description": "Free API key. Requests sent without a key are bucketed by IP address instead, at 30 per minute and 500 per UTC day."
    },
    {
      "id": 1,
      "name": "Starter",
      "perMinuteLimit": 60,
      "dailyLimit": 10000,
      "monthlyPrice": 49,
      "description": "For individual developers and small projects."
    },
    {
      "id": 2,
      "name": "Professional",
      "perMinuteLimit": 300,
      "dailyLimit": 50000,
      "monthlyPrice": 199,
      "description": "For growing applications with moderate traffic."
    }
  ],
  "error": null,
  "meta": {
    "requestId": "req_tr01",
    "timestamp": "2026-03-27T10:00:00Z",
    "version": "v1"
  }
}

terminal Try It

expand_more
POST/account/contactSubmit a contact messageexpand_less

Submit a contact message

No Auth Required

Send a contact form message to the MyAllies team. Used by the marketing site contact form and partner outreach. No authentication required.

Request Body

NameTypeDescription
name *string
Contact name
email *string
Valid email address
company string
Company name
role string
Job title / role
subject string
Message subject
inquiryType string
Inquiry category (e.g., sales, support, partnership)
message *string
Message body

Responses

200Message delivered to the MyAllies team
400Missing or invalid fields (email, name, message)
curl -X POST "https://api.apps.myallies.com/v1/account/contact" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Jane Doe",
  "email": "jane@example.com",
  "company": "Acme Corp",
  "inquiryType": "sales",
  "subject": "Enterprise pricing",
  "message": "Interested in enterprise plan."
}'

terminal Try It

expand_more