Retrieve qiyaov Platform Service Application Details
Retrieve the complete status of a single service application by Application ID—compared with the list API, it includes additional fields such as the complete service object (including packages plans), suitable for detail pages.
ℹ️ This API belongs to the qiyaov Platform Management API, with the unified prefix
https://api17.platform.acedata.cloud/api/v1/. For the complete API index, see Retrieve qiyaov Platform Documentation List.
¶ API Overview
| Item | Content |
|---|---|
| Method | GET |
| URL | https://api17.platform.acedata.cloud/api/v1/applications/{application_id} |
| Authentication | ✅ Account token required |
Both /applications/{id} and /applications/{id}/ are currently available; the examples consistently use the form without a trailing slash.
¶ Authentication Instructions (How to Obtain an Account Token)
Request header:
Authorization: Bearer ${PLATFORM_TOKEN}
For detailed acquisition instructions, see Manage qiyaov Platform Account Tokens.
ℹ️ Unlike the list API, the permission check of the detail API is performed directly on a single object, and there is no need to pass
?user_id=. However, accessing another person's application will result in403 permission_denied.
¶ Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
application_id |
UUID | ✅ | Application ID |
¶ Request Examples
¶ cURL
curl 'https://api17.platform.acedata.cloud/api/v1/applications/82f57141-2323-4453-8730-60f7d833a2da' \
-H 'accept: application/json' \
-H "authorization: Bearer ${PLATFORM_TOKEN}"
¶ Python
import os
import requests
app_id = "82f57141-2323-4453-8730-60f7d833a2da"
resp = requests.get(
f"https://api17.platform.acedata.cloud/api/v1/applications/{app_id}",
headers={
"accept": "application/json",
"authorization": f"Bearer {os.environ['PLATFORM_TOKEN']}",
},
timeout=10,
)
app = resp.json()
print(f"Service: {app['service']['title']}")
print(f"Remaining {app['remaining_amount']} {app['service']['unit']} / Used {app['used_amount']}")
¶ Node.js
const appId = '82f57141-2323-4453-8730-60f7d833a2da'
const r = await fetch(`https://api17.platform.acedata.cloud/api/v1/applications/${appId}`, {
headers: { authorization: `Bearer ${process.env.PLATFORM_TOKEN}` },
})
console.log(await r.json())
¶ Response Example (HTTP 200)
{
"id": "82f57141-2323-4453-8730-60f7d833a2da",
"service_id": "38ecf158-36f2-42f2-8e7f-6786cdfc2452",
"remaining_amount": 100.0,
"used_amount": 12.34,
"paid": true,
"user_id": "89518d07-5560-4b05-92c1-667f3ddf6a4b",
"disabled": false,
"allow_consume_global": false,
"scope": "Individual",
"type": "Usage",
"expired_at": null,
"tags": null,
"metadata": null,
"service": {
"id": "38ecf158-36f2-42f2-8e7f-6786cdfc2452",
"alias": "openai",
"title": "OpenAI",
"type": "Api",
"unit": "Credit",
"free_amount": 1.0,
"packages": [
{ "id": "...", "type": "Usage", "price": 10.0, "amount": 100.0 }
]
},
"created_at": "2026-04-26T07:52:27.462400Z",
"updated_at": "2026-04-26T08:42:13.123456Z"
}
¶ Response Field Descriptions
The field meanings are the same as in the list API, with the following additional field:
| Field | Type | Description |
|---|---|---|
service |
object | The complete service object (including packages plans, unit, and free_amount), which can be directly used to render the service details panel |
¶ Error Handling
| HTTP | code | Meaning |
|---|---|---|
| 401 | not_authenticated |
Account token is missing |
| 403 | permission_denied |
This Application does not belong to you |
| 404 | not_found |
The Application does not exist or has been deleted |
¶ Practical Tips
- Prioritize using the list for batch monitoring: After retrieving the Application list at once, determine based on the unit and threshold of each service to avoid requesting details one by one.
- When you need to view the number of credentials: Use the API Credential List and filter by
application_id. - Troubleshooting approach for
disabled=true: Check support tickets / email notifications to see whether it was shut down due to risk control, overdue payment, or policy-violating calls; it cannot be re-enabled through the API and you must contact customer support.