Get Fishapi Cloud Platform API Call Records

Return the business call records generated by the current account on the Fishapi Cloud API, including request time, status code, consumed quota, call credentials, duration, and public metadata.

This interface belongs to the platform management API, with the base address https://fishapi.platform.acedata.cloud/api/v1/. Complete call details are retained for the last 60 days.

Interface Overview

Item Content
Method GET
URL https://fishapi.platform.acedata.cloud/api/v1/usage/apis/
Authentication Bearer platform account token
Pagination count + items, default 10 items per page

Query Scope

Ordinary users do not need to pass user_id. The interface will limit the results based on perspective to the scope that the current account is authorized to view:

perspective Meaning
both Default value; returns records paid for or actually called by the current account
billing Returns only records paid for by the current account
actor Returns only records actually called by the current account

Administrators can explicitly pass one or more user_id. Ordinary users should not use this parameter to query other accounts; object-level permission checks will still reject unauthorized records.

Query Parameters

Parameter Type Required Default Description
perspective string No both billing, actor, or both
user_id UUID No Filter by user for administrators; supports repeated parameters
application_id UUID No Filter by Application; supports repeated parameters
service_id UUID No Filter by service; supports repeated parameters
credential_id UUID No Filter by API credentials; supports repeated parameters
api_id UUID No Filter by API; supports repeated parameters
status_code integer No Filter by HTTP status code; supports repeated or comma-separated values
created_at_from datetime No Lower bound for creation time, ISO 8601
created_at_to datetime No Upper bound for creation time, ISO 8601
limit integer No 10 Number of items per page, maximum 100
offset integer No 0 Pagination offset
ordering string No -created_at Order by creation time descending

When the request includes a time range earlier than the last 60 days, the interface returns 400 usage_history_expired and provides the earliest queryable time through available_from.

Request Example

curl 'https://fishapi.platform.acedata.cloud/api/v1/usage/apis/?perspective=both&limit=100&ordering=-created_at' \
  -H 'Authorization: Bearer <PLATFORM_TOKEN>'

Filter by time and status:

curl 'https://fishapi.platform.acedata.cloud/api/v1/usage/apis/?created_at_from=2026-09-01T00%3A00%3A00Z&created_at_to=2026-09-02T00%3A00%3A00Z&status_code=500&limit=100' \
  -H 'Authorization: Bearer <PLATFORM_TOKEN>'

Successful response includes:

  • count: Total number of records under the current filter conditions;
  • items: Call records for this page, including call ID, paying user and actual calling user, Application, API, credentials, status code, quota, duration, public metadata, and time fields.

Errors and Retries

HTTP error Meaning Client Handling
400 usage_history_expired Request time is earlier than the 60-day retention range Adjust the start time to after available_from
401 not_authenticated Missing or invalid account token Re-authenticate
403 permission_denied Request contains records not authorized for viewing Remove unauthorized user filter conditions
429 usage_query_in_progress An identical query is still in progress Wait for Retry-After and retry
503 usage_query_timeout Query exceeded server safety time limit Retry after narrowing the time range or increasing filter conditions

The poller must maintain at most one in-progress request for the same query. After a previous request times out or disconnects, it should adhere to Retry-After and use backoff retries, not fixed intervals to accumulate the same request.

Usage Recommendations