Get the list of API credentials for the AceDataCloud platform

List all API credentials (Credential) issued for the current account—this is the 32-bit Token used when calling the https://api.acedata.cloud/** business interface.

ℹ️ This interface belongs to the AceDataCloud platform management API, with a unified prefix of https://platform.acedata.cloud/api/v1/. For a complete index of interfaces, see Get the AceDataCloud platform documentation list.

API Credentials vs Account Token

Beginners often confuse these—let's emphasize again:

Dimension API Credentials (this document) Account Token (Account Token)
Purpose Call business interface https://api.acedata.cloud/** Call management interface https://platform.acedata.cloud/**
Format 32-bit hexadecimal platform-v1- + 64-bit hexadecimal (total 76 characters)
Quantity Multiple can be issued for each Application Usually 1-2
Expiration Conditions Can set quota limits / expiration time / bound IP Only invalidated when actively deleted

See Manage AceDataCloud platform account tokens for details.

Interface Overview

Item Content
Method GET
URL https://platform.acedata.cloud/api/v1/credentials/
Authentication ✅ Requires account token

Authentication Instructions (How to obtain account token)

Request header:

Authorization: Bearer platform-v1-92eb****629c

How to obtain: Log in to AceDataCloud platformAccount Token Console → Click the "Create" button. See Manage AceDataCloud platform account tokens for details.

Required Query Parameters

⚠️ Must include ?user_id=<your_user_id>. The list interface performs permission checks for each object; if not provided, the first non-self object will return 403 permission_denied.

Get user_id: Open https://auth.acedata.cloud/user/profile.

Query Parameters

Parameter Type Required Default Description
user_id UUID Current account user ID
application_id UUID No Filter by Application
service_id UUID No Filter by service
disabled boolean No true to see only disabled, false to see only enabled
expired boolean No true to see only expired
limit integer No 10 Number of items per page
offset integer No 0 Offset
ordering string No Sorting field, prefix - for descending. Commonly used -created_at, -used_at

Request Example

cURL

USER_ID=89518d07-5560-4b05-92c1-667f3ddf6a4b
curl "https://platform.acedata.cloud/api/v1/credentials/?user_id=${USER_ID}&limit=20" \
  -H 'accept: application/json' \
  -H 'authorization: Bearer platform-v1-92eb****629c'

Python

import requests

PLATFORM_TOKEN = "platform-v1-92eb****629c"
USER_ID = "89518d07-5560-4b05-92c1-667f3ddf6a4b"

resp = requests.get(
    "https://platform.acedata.cloud/api/v1/credentials/",
    headers={
        "accept": "application/json",
        "authorization": f"Bearer {PLATFORM_TOKEN}",
    },
    params={"user_id": USER_ID, "limit": 100},
    timeout=10,
)
data = resp.json()
print(f"Total {data['count']} credentials")
for c in data["items"]:
    print(f"  {c['name']:30s}  {c['token'][:8]}...{c['token'][-4:]}  Last used: {c.get('used_at') or 'Never'}")

Node.js

const USER_ID = '89518d07-5560-4b05-92c1-667f3ddf6a4b'
const url = new URL('https://platform.acedata.cloud/api/v1/credentials/')
url.searchParams.set('user_id', USER_ID)

const r = await fetch(url, {
  headers: { authorization: 'Bearer platform-v1-92eb****629c' },
})
console.log(await r.json())

Response Example (HTTP 200)

{
  "count": 5,
  "items": [
    {
      "id": "df3e1b1b-9e72-4c4f-9a83-1e23f7c8b4d6",
      "user_id": "89518d07-5560-4b05-92c1-667f3ddf6a4b",
      "application_id": "82f57141-2323-4453-8730-60f7d833a2da",
      "name": "production-server-01",
      "token": "ac****ab",
      "amount": null,
      "used_amount": 12.34,
      "remaining_amount": null,
      "disabled": false,
      "expired_at": null,
      "tags": ["prod"],
      "metadata": null,
      "client_ip_allowlist": null,
      "used_at": "2026-04-26T08:30:00Z",
      "created_at": "2026-04-26T07:55:00Z",
      "updated_at": "2026-04-26T08:30:00Z"
    }
  ]
}

⚠️ The token field in the list interface is masked (first 2 + **** + last 2 characters). To obtain the complete Token, please go to the Create AceDataCloud platform API credentials interface and save it at the time of creation. If you forget to save it, you can only rotate or delete and recreate it.

Response Field Description

Field Type Description
id UUID Credential ID
user_id UUID Associated user
application_id UUID Related Application
name string User-defined name (for identification in the console)
token string Desensitized Token preview
amount number null
used_amount number Total consumed amount of this credential
remaining_amount number null
disabled boolean Whether it is disabled
expired_at string null
tags array null
metadata object null
client_ip_allowlist array null
used_at string null
created_at string Creation time
updated_at string Last modified time

Error Handling

HTTP Code Meaning
401 not_authenticated Missing account token
403 permission_denied ?user_id= not provided or provided another's user_id

Practical Tips

  • token desensitization is irreversible—it is only returned in full plaintext once at the moment of creation or rotation, so be sure to store it in a password manager on the spot.
  • It is strongly recommended to set amount limits in production environments: specify when creating credentials to avoid unlimited charges after credential leakage.
  • Zombie credential cleanup: can be batch deleted if used_at is null or has not been updated for a long time.