Get Fishapi Cloud Platform Service Application Details

Retrieve the complete status of a single service application by Application ID—compared with the list endpoint, it includes additional fields such as the complete service object (including packages plans), and is suitable for detail pages.

ℹ️ This endpoint belongs to the Fishapi Cloud Platform Management API, with the unified prefix https://fishapi.platform.acedata.cloud/api/v1/. For the complete endpoint index, see Get Fishapi Cloud Platform Document List.

Endpoint Overview

Item Content
Method GET
URL https://fishapi.platform.acedata.cloud/api/v1/applications/{application_id}
Auth ✅ Account token required

Both /applications/{id} and /applications/{id}/ are currently available; 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 instructions on obtaining it, see Manage Fishapi Cloud Platform Account Tokens.

ℹ️ Unlike the list endpoint, the permission check of the detail endpoint is performed directly on a single object, so there is no need to pass ?user_id=. However, accessing someone else's application will result in 403 permission_denied.

Path Parameters

Parameter Type Required Description
application_id UUID ✅ Application ID

Request Examples

cURL

curl 'https://fishapi.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://fishapi.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://fishapi.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,
  "allow_overdraft": 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 Description

The field meanings are the same as the list endpoint, with the following additional field:

Field Type Description
service object Complete service object (including packages plans, unit, and free_amount), which can directly render the service detail 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 Application does not exist or was deleted

Practical Tips

  • Use the list endpoint first for batch monitoring: Retrieve the Application list at once, then determine based on the unit and threshold of each service, avoiding individual detail requests.
  • 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 tickets / email notifications to see whether it was suspended due to risk control, overdue payments, or policy-violating calls; it cannot be re-enabled through the API, and you must contact customer service.