All pages

Developer docs

Get plan usage

View as Markdown

Get the account's plan and how many of its active transfers are in use. Finished transfers archive themselves a week after their last check and are not counted. Archived transfers stay in the account and never count. On a custom package, also how many transfers were added in the current billing period against the package's volume, and when it resets. Reading changes nothing.

GEThttps://uetr.ai/api/v1/account/usage
  • MCP tool: get_plan_usage
  • Access: any key or connection

Response

FieldTypeRequiredDescription
planobjectYes
plan.idstringYesfree, rescue, monitor, monitor_20, or operator for the retired Operator plan.
plan.namestringYes
active_transfersobject or nullYesNull unless the account has an active subscription; get_account gives the subscription status.
active_transfers.limitintegerYesActive transfers the plan covers.
active_transfers.in_useintegerYesActive transfers in the account. It can exceed the limit after the plan changed.
packageobject or nullYesNull unless the account has a custom package. Adds stop with monthly_limit_reached once added_this_period reaches included_transfers plus additional_transfers.
package.namestringYes
package.included_transfersintegerYesTransfers included in each billing period.
package.additional_transfersintegerYesExtra transfers allowed in each billing period beyond the included ones, billed on the renewal invoice at the package's pro-rated rate.
package.added_this_periodintegerYesTransfers added in the current billing period, extra ones included. Deleting a transfer does not lower it.
package.additional_added_this_periodintegerYesOf those, the extra transfers billed on the renewal invoice.
package.period_startstring or nullYesWhen the current billing period started.
package.resets_atstring or nullYesWhen the next billing period starts and the count begins again.

Example

curl -X GET "https://uetr.ai/api/v1/account/usage" \
  -H "Authorization: Bearer $UETR_API_KEY"

The answer:

{
  "plan": {
    "id": "monitor",
    "name": "Monitor"
  },
  "active_transfers": {
    "limit": 10,
    "in_use": 1
  },
  "package": null
}

Refusals

Besides the access refusals every call can meet, this call can answer: