Retrieve the Mai Platform Service Application List

Returns Applications owned by or authorized for use by the account in pages, including balance, status, service summary, and associated credentials. Suitable for bulk balance monitoring, finding Application IDs, and accessing credential management.

Preparation

  1. Log in to the Mai Platform.
  2. Create an account token in the Account Token Console.
  3. Regular users should use user_id=me; you can also obtain your own UUID from GET /api/v1/platform-tokens/me/.
export PLATFORM_TOKEN='your account token'

API Overview

Item Content
Method GET
URL https://moses.platform.acedata.cloud/api/v1/applications/
Auth Account Token; OAuth token requires applications:read
Pagination count + items

Regular users should pass user_id=me. If it is not passed, the query is not first narrowed by account, and pagination may return 403 when encountering unauthorized objects; administrators can view the entire table without passing it.

Query Parameters

Parameter Type Required for Regular Users Description
user_id UUID / me Required Query subject; supports repeated parameters
affiliation string No owner (default) or granted; both can be passed repeatedly to take the union, effective only when user_id is present
service_id UUID No Filter by service; supports repeated parameters
scope string No Individual or Global; supports repeated parameters
type string No Usage or Period; supports repeated parameters
limit integer No Number of items per page, maximum 100
offset integer No Pagination offset
ordering string No Only supports created_at or -created_at

paid, disabled, expired, low_balance, and tag are currently not server-side filtering parameters. For balance alerts, retrieve the list and determine them on the client side based on each Application's remaining_amount, service.unit, and business thresholds.

Request Examples

curl --get 'https://moses.platform.acedata.cloud/api/v1/applications/' \
  --data-urlencode 'user_id=me' \
  --data-urlencode 'affiliation=owner' \
  --data-urlencode 'limit=100' \
  -H "Authorization: Bearer ${PLATFORM_TOKEN}"

View both Applications you own and those authorized to you by others:

curl --get 'https://moses.platform.acedata.cloud/api/v1/applications/' \
  --data-urlencode 'user_id=me' \
  --data-urlencode 'affiliation=owner' \
  --data-urlencode 'affiliation=granted' \
  -H "Authorization: Bearer ${PLATFORM_TOKEN}"

Response Description

The response is {count, items}. Each item contains Application model fields, with the following additional fields:

  • service: id, alias, title, type, unit, icon_url;
  • credentials: credential summaries that the current caller is authorized to view;
  • paid, remaining_amount, used_amount, disabled, allow_consume_global, allow_overdraft;
  • The actual value of scope is Individual or Global;
  • The actual value of type is Usage or Period.

allow_overdraft is a read-only Boolean field controlled by administrators and defaults to false. For pay-as-you-go (Usage) applications with overdraft enabled, insufficient balance does not prevent calls, and charges are still based on actual usage; a negative balance indicates an amount pending settlement. Disabling, expiration, and API credential limits still take effect.

remaining_amount may be empty; the client must check for null before performing numeric comparisons. The quota unit is determined by service.unit.

Next Steps