DataEyesAI
Official SiteConsoleDocs Home
Getting StartedDeveloper ToolsAI Models APITerms & Policies
Official SiteConsoleDocs Home
Getting StartedDeveloper ToolsAI Models APITerms & Policies
  1. System interface
  • Documentation
    • Getting Started
      • Overview
      • Console (Getting Started)
      • API Key
      • Base URL
    • Developer Tool Integration
      • OpenClaw
      • Claude Code
      • Codex
      • Gemini CLI
      • Grok CLI
      • Other Tools
    • AI Models API
      • OpenAI format (supports major original models)
        • Chat (Response)
          • Create Network Search
          • Create Model Response GPT-5 Enable Thinking
          • Create Function Call
          • Create Model Response
          • Create Model Response (Streaming Return)
          • Create Model Response (Control Thinking Length)
        • ChatGPT Interface
          • Audio
            • Audio to text gpt-4o-transcribe
            • GPT-4o-audio
            • Audio to text whisper-1
            • Audio to text gpt-4o-transcribe
            • Create voice gpt-4o-mini-tts
          • Chat
            • Create chat-based image recognition (non-streaming)
            • Create chat-based image recognition (streaming)
            • Create chat-based image recognition (streaming) best64
            • Official N test
            • Create structured output
            • Control the effort level of the inference model
            • Create chat function call
            • deepseek-ocr recognition
            • Create chat completion (non-stream)
          • Completions
            • ChatGPT automatic completion
            • Create completion
        • Image
          • Edit image
          • Create chat completion (streaming)
          • Create chat completion (qwen-mt-turbo)
          • Create chat completion with deepseek v3.1 level of reasoning (streaming)
        • Audio
          • Speech recognition
          • Speech synthesis
          • Official Function Calling invocation
          • Create chat-generated images (non-streaming)
        • Embedding
          • Text embeddings
      • Anthropic format
        • Chat
        • Chat(prompt cache)
        • Streaming response
        • Chat (deep reasoning)
        • Tool invocation (function call)
        • Analyze image
      • Google Gemini interface
        • Native format
          • Text-to-image + control over aspect ratio + clarity
          • Generate image
          • Text generation
          • Text generation - stream
          • Text generation + reasoning - stream
          • Image generation
          • Formatted output
          • Function call
          • Document understanding
          • URL context [native format]
          • Code execution
          • Video understanding
          • URL context
          • Video understanding - url [native format]
          • Imagen 4
          • Audio understanding
          • Embeddings
          • Chat
          • Edit image
        • Image-to-image Base64 request method
          • Multi-image fusion slice generation with gemini-3-pro-image-preview, controlling aspect ratio and clarity
          • Image editing
          • Single image gemini-3-pro-image-preview, controlling aspect ratio and clarity.
          • Image generation( gemini-2.5-flash-image)
          • Image generation gemini-2.5-flash-image, controlling aspect ratio.
          • Image understanding
        • Image-to-image URL request returns URL request format OpenAI
          • Single image generation with gemini-3-pro-image-preview, controlling aspect ratio and clarity.
          • Multi-image fusion slice generation with gemini-3-pro-image-preview, controlling aspect ratio and clarity.
          • Image understanding
      • NanoBanana
        • OpenAI request
          • Edit image
          • OpenAI image format
        • Gemini request
          • Generate image
          • Edit image
      • Midjourney format
        • Midjourney API Reference
        • Task query interface
        • Upload image
        • Get seed (Seed)
        • Submit Imagine task
        • Query tasks based on ID list
        • FaceSwap
        • Execute Action operation
        • /mj/submit/blend
        • Submit Describe task
        • Submit Modal
        • Refresh link
        • Edit image
        • Query task status by task ID
        • Get the seed of the task image
      • Doubao - Painting
        • doubao-seededit-3-0-i2i-250628
        • doubao-seedream-4-0-250828 - text-to-image
        • doubao-seedream-4-0-250828 - image-to-image
        • doubao-seedream-4-0-250828 - multi-image generation
      • Rerank Reordering Model
        • Rerank
      • Video Model
        • Grok Video Generation
          • 00-Overview
          • 01-Text-to-Video
          • 02-Image-to-Video
          • 03-Reference-to-Video
          • 04-Video-Editing
          • 05-Video-Extension
        • Seedance Video Generation
          • 00-Overview
          • 01-Create-Video-Generation-Task
          • 02-Query-Video-Generation-Task
          • 03-Query-Video-Generation-Task-List
          • 04-Cancel-or-Delete-Task
          • Seedance Private Asset Library API Documentation
        • MiniMax-H3 Video Generation
          • 00-Overview
          • 01-Create-Video-Generation
          • 02-Create-Video-Regeneration
          • 03-Create-H3-Context-IR
          • 04-Query-Task
          • 05-List-Tasks
          • 06-Cancel-or-Delete-Task
        • Hailuo Video Generation
          • 00-Overview
          • 01-Text-to-Video-T2V
          • 02-Image-to-Video-I2V
          • 03-First-Last-Frame-FL2V
          • 04-Subject-Reference-S2V
          • 05-Query-Task-Status
          • 06-Video-Download
          • 99-Appendix-Camera-Movement-and-Webhooks
        • Jimeng Video Generation
          • 00-Overview
          • 01-3.0-Pro-Video-Generation
          • 02-720P-Text-to-Video
          • 03-720P-Image-to-Video-First-Frame
          • 04-720P-Image-to-Video-Start-End-Frame
          • 05-720P-Image-to-Video-Camera
          • 06-1080P-Text-to-Video
          • 07-1080P-Image-to-Video-First-Frame
          • 08-1080P-Image-to-Video-Start-End-Frame
          • 09-Error-Codes
        • Kling AI Video Generation
          • 00-Overview
          • 01-Text-to-Video
          • 02-Image-to-Video
          • 03-Omni-Video
          • 04-Multi-Image-to-Video
          • 05-Motion-Control
          • 06-Multi-Elements
          • 07-Video-Extension
          • 08-Lip-Sync
          • 09-Avatar
          • 10-Text-to-Audio
          • 11-Video-to-Audio
          • 12-TTS
          • 13-Custom-Voices
          • 14-Image-Recognition
          • 15-Element-Management
          • 16-Video-Effects
        • Vidu Video Generation
          • 00-Overview
          • 01-Text-to-Video
          • 02-Image-to-Video
          • 03-Reference-to-Video
          • 04-Start-End-Frame
          • 05-Multi-Frame
          • 06-Scene-Template
          • 07-Template-Story
          • 08-Query-Tasks
        • HappyHorse
          • HappyHorse Text-to-Video
          • HappyHorse Image-to-Video (First Frame)
          • HappyHorse Reference-to-Video
          • HappyHorse Video Editing
        • Wan Video Generation
          • 00-Overview.md
          • 01-Text-to-Video
          • 02-Image-to-Video
          • 03-Reference-to-Video
          • 04-Video-Editing
          • 05-First-Last-Frame-to-Video
          • 06-Motion-Transfer-and-Character-Swap
          • 07-Digital-Human-Video
          • 08-VACE-Video-Editing
          • 09-Query-Task
      • Audio API
        • Audio API
        • Gemini TTS API
        • Google DeepMind Lyria API
        • Elevenlabs Speech to Text API Reference
        • Text-to-Music Suno
          • Task Submission
            • Generate Song (Inspiration Mode)
            • Generate Song (Custom Mode)
            • Generate Song (Continuation Mode)
            • Generate Song (Singer Style)
            • Generate Song (Secondary Creation from Uploaded Song)
            • Generate Song (Song Stitching)
            • Generate Lyrics
            • Song Stitching
          • Query Interface
            • Batch Retrieve Tasks
            • Query Single Task
    • Search / Reader Product
      • Web Reader API​​
        • Web Reader API
        • Web Reader API(HK)
      • Web Search API​​
        • Modal Card API
          • Weather
            • All City ID
            • Weather Query API
        • Web Search API
        • Video Search api
        • Trending Search API
      • Document OCR Parsing API
        • fiel upload
        • URL Parsing
    • Advanced & System API
      • Data Updates
      • System interface
        • API Key & Quota Query API
        • API Key Management API
      • API Reference​​
        • Error Codes
        • HTTP Notes
      • List models
        • Models
  • Terms & Policies
    • DataEyesAI API Terms of Service
    • DataEyesAI Legal Notice and Privacy Policy
    • DataEyesAI Paid Services Agreement
    • Automatic Renewal Service Rules
  1. System interface

API Key & Quota Query API

DataEyes AI — API Key & Quota Query API Reference#

Document Version: v2.1
Last Updated: 2026-09-29
Document Status: Draft — authenticated API testing pending
Service Region: International

Overview#

This reference covers API key retrieval, quota and usage queries, available models, user information, and subscriptions.
To retrieve a full API key, start with Section 3.2.

Service Addresses#

PurposeAddress
Model calls and OpenAI-compatible querieshttps://platform.dataeyes.ai
Key quota, user information, and subscription querieshttps://www.dataeyes.ai/apex
Login and full key retrieval (Section 3.2)https://www.dataeyes.ai/api
Each cURL example includes the full request URL.

Authentication Methods#

Method 1: API Key Authentication#

Use an API key for Sections I and II and for the SDK examples in Section VI:
Authorization: Bearer sk-xxxxxxxxxxxxxxxx
API keys are managed on the Tokens page.

Method 2: System Access Token Authentication#

The user information and subscription queries in Sections 3.1 and 3.3 use a system access token and a numeric user ID:
Authorization: Bearer <system_access_token>
apex-api-user: <user_numeric_id>
The system access token can be found in the console under "Personal Settings > Account Management > Security Settings". The user numeric ID must be obtained from a backend administrator.

Method 3: Login Token Authentication#

Section 3.2 uses the login token returned by the account login request:
Authorization: Bearer <login_token>
The key retrieval examples do not require a numeric user ID or the apex-api-user header. Follow the three steps in Section 3.2 to obtain the login token and find the key ID.

Section I: OpenAI-Compatible Endpoints#

These endpoints return billing and model data in OpenAI-compatible response formats.
Base Address: https://platform.dataeyes.ai

1.1 Query Quota Limits#

Retrieve quota limits using an API key.
Endpoint
GET /v1/dashboard/billing/subscription
Request Headers
NameRequiredDescription
AuthorizationYesBearer <API-Key>
Request Example
Response Example
{
  "object": "billing_subscription",
  "has_payment_method": true,
  "soft_limit_usd": 100000000,
  "hard_limit_usd": 100000000,
  "system_hard_limit_usd": 100000000,
  "access_until": 0
}
Response Fields
FieldTypeDescription
objectStringFixed value "billing_subscription"
has_payment_methodBooleanCompatibility field; returns true
soft_limit_usdNumberReported soft quota limit in USD
hard_limit_usdNumberReported hard quota limit in USD
system_hard_limit_usdNumberSystem-level hard limit, identical to hard_limit_usd
access_untilIntegerSubscription expiration time (Unix timestamp); 0 means never expires
For an unlimited-quota key, the three limit fields return 100000000. This value represents an unlimited key quota, not an account balance of USD 100 million.

1.2 Query Cumulative Usage#

Retrieve cumulative usage charges.
Endpoint
GET /v1/dashboard/billing/usage
Request Headers
NameRequiredDescription
AuthorizationYesBearer <API-Key>
Request Example
The start_date and end_date parameters do not filter the results. This endpoint returns cumulative usage.
Response Example
{
  "object": "list",
  "total_usage": 601.41
}
Response Fields
FieldTypeDescription
objectStringFixed value "list"
total_usageNumberCumulative usage charges in US cents. Divide by 100 to convert to USD: 601.41 cents = 6.01

1.3 List Available Models#

Retrieve all models accessible by the current API Key.
Endpoint
GET /v1/models
Request Headers
NameRequiredDescription
AuthorizationYesBearer <API-Key>
Request Example
Response Example
{
  "data": [
    {
      "id": "gpt-4o",
      "object": "model",
      "created": 1626777600,
      "owned_by": "openai",
      "supported_endpoint_types": ["openai"]
    },
    {
      "id": "claude-opus-4-6",
      "object": "model",
      "created": 1626777600,
      "owned_by": "vertex-ai",
      "supported_endpoint_types": ["openai", "anthropic"]
    },
    {
      "id": "gemini-2.5-pro-thinking",
      "object": "model",
      "created": 1626777600,
      "owned_by": "custom",
      "supported_endpoint_types": ["openai", "gemini"]
    }
  ],
  "object": "list",
  "success": true
}
Response Fields
FieldTypeDescription
dataArrayModel list
data[].idStringModel identifier — use this value when making API calls
data[].objectStringFixed value "model"
data[].createdIntegerCreation timestamp reported by the API, in Unix seconds
data[].owned_byStringOwner or provider label reported by the API, such as openai, vertex-ai, or custom
data[].supported_endpoint_typesArraySupported calling formats: openai, anthropic, gemini, image-generation, embeddings, rerank, etc.
objectStringFixed value "list"
successBooleanWhether the request succeeded

Section II: Platform-Specific Endpoints#

Use this endpoint to query an API key's quota, usage, and model restrictions.
Base Address: https://www.dataeyes.ai/apex

2.1 Query API Key Quota and Usage#

Retrieve quota allocation, usage, remaining balance, and model restrictions for the API key used to authenticate the request.
Endpoint
GET /api/usage/token/
Request Headers
NameRequiredDescription
AuthorizationYesBearer <API-Key>
Request Example
Response Example (Limited Quota)
{
  "code": true,
  "message": "ok",
  "data": {
    "object": "token_usage",
    "name": "my-production-key",
    "total_granted": 5000000,
    "total_used": 20,
    "total_available": 4999980,
    "unlimited_quota": false,
    "model_limits": {},
    "model_limits_enabled": false,
    "expires_at": 0
  }
}
Response Example (Unlimited Quota)
{
  "code": true,
  "message": "ok",
  "data": {
    "object": "token_usage",
    "name": "default-key",
    "total_granted": 500000,
    "total_used": 3007043,
    "total_available": -2507043,
    "unlimited_quota": true,
    "model_limits": {},
    "model_limits_enabled": false,
    "expires_at": 0
  }
}
Response Fields
FieldTypeDescription
codeBooleanWhether the request succeeded; true indicates success
messageStringStatus description; "ok" on success
data.objectStringFixed value "token_usage"
data.nameStringAPI Key display name
data.total_grantedIntegerTotal allocated quota (internal units). Conversion: ÷ 500,000 = USD
data.total_usedIntegerCumulative consumed quota (internal units)
data.total_availableIntegerRemaining available quota (total_granted − total_used)
data.unlimited_quotaBooleanWhether the key's quota limit is disabled. This does not indicate an unlimited account balance
data.model_limitsObjectModel access restriction rules. Empty object {} means no restrictions
data.model_limits_enabledBooleanWhether model-level access control is enabled
data.expires_atIntegerKey expiration time (Unix timestamp); 0 means never expires
Quota Conversion Formula
USD Amount = Internal Quota Value ÷ 500,000
Internal Quota ValueEquivalent USDCalculation
5,000,000$10.005000000 ÷ 500000 = 10
3,007,043$6.013007043 ÷ 500000 ≈ 6.01
500,000$1.00500000 ÷ 500000 = 1
When unlimited_quota is true, total_available may be negative. This means recorded usage exceeds the allocation; it does not by itself indicate that the key has reached a quota limit.

Section III: Account and API Key Queries#

This section covers user information, full API key retrieval, and subscriptions. Use the address and authentication headers shown for each request.

3.1 Get User Information#

Retrieve user account details using a system access token and user ID.
Endpoint
GET /api/user/self
Request Headers
NameRequiredDescription
AuthorizationYesBearer <system_access_token>
apex-api-userYesNumeric user ID associated with the system access token
Request Example
Response Example
{
  "success": true,
  "message": "",
  "data": {
    "id": 669,
    "username": "example_user",
    "display_name": "example_user",
    "email": "user@example.com",
    "role": 1,
    "status": 1,
    "group": "pro",
    "quota": 4084864,
    "used_quota": 269527941,
    "request_count": 9412,
    "aff_code": "xxxx",
    "aff_count": 0,
    "aff_quota": 0,
    "aff_history_quota": 0,
    "inviter_id": 0
  }
}
Response Fields (data object)
FieldTypeDescription
idIntegerUser numeric ID
usernameStringLogin username
display_nameStringDisplay name
emailStringRegistered email address
roleIntegerUser role. 1 = Regular user, 10 = Administrator, 100 = Super administrator
statusIntegerAccount status. 1 = Active, 2 = Disabled
groupStringUser's billing group
quotaIntegerAccount-level remaining quota (internal units, ÷500000 = USD)
used_quotaIntegerAccount-level total consumed quota
request_countIntegerCumulative API request count
aff_codeStringReferral code
aff_countIntegerNumber of referred users
aff_quotaIntegerPending referral reward quota
aff_history_quotaIntegerHistorical cumulative referral rewards
inviter_idIntegerInviter's user ID; 0 means no inviter

3.2 Retrieve a Full API Key#

Have your account, login password, and key name ready.
Replace the placeholders in angle brackets with your own values. Do not include the brackets.
StepRequestValue to use next
1. Log inPOST /api/client/logindata.token: login token
2. Find the key IDGET /api/apex/api/token/searchdata.items[].id: key ID
3. Retrieve the full keyPOST /api/apex/api/token/{id}/revealFull key returned by the reveal request
Full key viewing is a one-time operation in the current international console. Save the key when it is returned. Logging in again does not restore a used viewing opportunity.
If your account has no login password, set one through the website's account settings or password recovery before using the password login example.

Step 1: Log In#

Endpoint
POST https://www.dataeyes.ai/api/client/login
Request Headers
HeaderRequiredDescription
Content-TypeYesapplication/json
Request Body
ParameterTypeRequiredDescription
accountStringYesEmail address or phone number used to log in to the international website. For a phone number, use the same country code as on the login page and omit spaces
passwordStringYesCurrent login password
cURL Example
Success Response Example (Excerpt)
{
  "code": 0,
  "data": {
    "token": "<login_token>"
  },
  "msg": ""
}
Response Fields
FieldTypeDescription
codeInteger0 indicates a successful login
data.tokenStringLogin token for the following requests
msgStringResponse message
When code is 0, copy the complete data.token value without the surrounding quotation marks. You do not need to copy the other account information.

Step 2: Find the Key ID#

Search using the key's name. You do not need to know its numeric ID in advance.
Endpoint
GET https://www.dataeyes.ai/api/apex/api/token/search
Request Headers
HeaderRequiredDescription
AuthorizationYesBearer <login_token>, using data.token from Step 1
Query Parameters
ParameterTypeRequiredDescription
keywordStringYes, for this name-search exampleName of the key to retrieve
pIntegerNoPage number, starting at 1; this example uses 1
sizeIntegerNoItems per page; this example uses 20
cURL Example
Replace <key_name> with your key's name, for example default.
If you do not know the name, list the keys first:
Success Response Example (Excerpt)
{
  "success": true,
  "message": "",
  "data": {
    "page": 1,
    "page_size": 20,
    "total": 1,
    "items": [
      {
        "id": 12345,
        "name": "default"
      }
    ]
  }
}
Response Fields
FieldTypeDescription
successBooleantrue indicates a successful query
messageStringResponse message
data.pageIntegerCurrent page number
data.page_sizeIntegerItems per page
data.totalIntegerNumber of matching keys
data.items[].idIntegerKey ID to include in the URL in Step 3
data.items[].nameStringKey name
Find the matching record and use its id in Step 3. In this example, default has ID 12345; replace it with the ID returned for your own key.
If more than one record has the same name, check its creation time and configuration before proceeding. Increase p to read another page. An empty data.items array means there are no records on that page.
The key value in a list or search result is not the full key. Use Step 3 to retrieve the full value.
Additional Key Fields
The list and search responses may also contain the following fields. They are not required for the Step 3 request.
Field in data.items[]TypeDescription
user_idIntegerKey owner's numeric user ID
keyStringMasked key value; do not use it for model calls
viewedBooleanWhether the one-time viewing opportunity has been used
statusInteger1 = enabled, 2 = disabled, 3 = expired, 4 = quota exhausted
created_timeIntegerCreation time, as a Unix timestamp in seconds
accessed_timeIntegerLast access time, as a Unix timestamp in seconds
expired_timeIntegerExpiration time, as a Unix timestamp in seconds; -1 means no expiration
remain_quotaIntegerRemaining key quota in internal units
unlimited_quotaBooleanWhether the key's quota limit is disabled
used_quotaIntegerConsumed quota in internal units
model_limits_enabledBooleanWhether the key's model restrictions are enabled
model_limitsStringConfigured model restrictions
allow_ipsStringConfigured allowed IP addresses; empty means no key-level IP restriction
groupStringKey's configured group
cross_group_retryBooleanWhether cross-group retry is enabled

Step 3: Retrieve the Full Key#

This request uses the login token from Step 1 and the key ID from Step 2. It does not submit the login password again.
Endpoint
POST https://www.dataeyes.ai/api/apex/api/token/{id}/reveal
Path Parameters
ParameterTypeRequiredDescription
idIntegerYesKey ID returned in Step 2
Request Headers
HeaderRequiredDescription
AuthorizationYesBearer <login_token>, using data.token from Step 1
No request body is required.
cURL Example
Replace 12345 in the URL with the key ID from Step 2. Call this endpoint only when you are ready to save the returned key.
Response Fields
FieldTypeDescription
successBooleantrue indicates a successful reveal
messageStringResponse message; token.already_viewed indicates that the viewing opportunity has already been used
dataTo be verifiedFull key response; its exact structure must be confirmed by an authenticated test
Before publication: Verify the successful response structure and whether the returned key includes sk-, then add the response example and the exact field to copy.
If the response indicates that the key has already been viewed, use the full key you previously saved. Key rotation creates a replacement credential; it is not a way to retrieve the same key again.
Do not retry a reveal request automatically after a timeout: the server may have completed the one-time operation even if the response did not reach you. Do not write passwords, login tokens, or full keys to logs or source control.

3.3 Get Subscription Information#

Retrieve subscription details using a system access token and user ID.
Endpoint
GET /api/subscription/self
Request Headers
NameRequiredDescription
AuthorizationYesBearer <system_access_token>
apex-api-userYesNumeric user ID associated with the system access token
Request Example
Response Example
{
  "success": true,
  "message": "",
  "data": {
    "subscriptions": [],
    "all_subscriptions": [],
    "billing_preference": "subscription_first"
  }
}
Response Fields
FieldTypeDescription
data.subscriptionsArrayCurrently active subscription plans
data.all_subscriptionsArrayAll subscription plans (including expired)
data.billing_preferenceStringBilling priority. "subscription_first" = prioritize subscription quota

Section IV: Endpoint Selection Guide#

TaskSectionAuthentication
Query quota limits1.1API key
Query cumulative usage charges1.2API key
List available models1.3API key
Query a key's quota and usage in internal units2.1API key
Query user information3.1System access token and numeric user ID
Retrieve a full API key3.2Account password for login, then login token
Query subscriptions3.3System access token and numeric user ID

Section V: Error Code Reference#

HTTP 200 does not always mean the request succeeded. Check the response body as well:
RequestSuccess condition
Logincode is the integer 0 and data.token is present
Key quota and usage (Section 2.1)code is the boolean true
User information, key search/list/reveal, and subscriptionssuccess is true; also check the returned data
OpenAI-compatible queriesHTTP 2xx, the expected response fields, and no error object
Error messages may be localized. Use the status fields to detect failures and read msg, message, or error.message for details.
ScenarioResponseWhat to check
Missing API keyHTTP 401Include Authorization: Bearer <API-Key>
Login parameters rejectedNonzero code, with details in msgCheck the account format and current login password
Login requires browser verificationLogin response requests additional verificationComplete verification on the website; do not repeatedly submit the same cURL request
Login token missing or expiredcode: 401, with details in msgLog in again and use the new data.token in the request header
System-token authentication failedcode: 401, with details in msgCheck the system access token and its associated numeric user ID
Search returns no recordssuccess: true and an empty resultCheck the key name and page number, or use the list request in Step 2
Key has already been viewedmessage: "token.already_viewed"Use the full key you previously saved; logging in again does not reset the viewing opportunity
Key retrieval failedFailure status and a messageCheck the login token, key ID, and error message before taking further action
Request URL or method is incorrectHTTP 404Compare the method and full URL with the cURL example
Group permission deniedMessage identifies a group permission problemCheck the key's configured group and available models

Section VI: SDK Integration Examples#

Replace the sample API key with your full key. Set model to an ID returned by /v1/models for that key.

Python (OpenAI SDK)#

JavaScript / TypeScript (OpenAI SDK)#


Section VII: Best Practices#

1.
Cache quota query results for 30–60 seconds when that delay is acceptable for your application.
2.
Retry read-only queries with a delay after temporary network failures. Do not automatically retry the one-time key reveal request.
3.
Use separate keys for applications that need separate usage tracking.
4.
For keys with unlimited_quota set to false, trigger an alert when total_available falls below your threshold.
5.
Store API keys securely. Do not include passwords, login tokens, or full keys in application logs or source control.

Change History#

VersionDateChanges
v2.1 draft2026-09-29Reorganized full key retrieval; updated authentication, error handling, and wording. Authenticated API testing is pending

Previous
Data Updates
Next
API Key Management API