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
- Log in to the Mai Platform.
- Create an account token in the Account Token Console.
- Regular users should use
user_id=me; you can also obtain your own UUID fromGET /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
scopeisIndividualorGlobal; - The actual value of
typeisUsageorPeriod.
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.