Report metered usage
Report usage on the custom meter dimensions of flat-rate Microsoft Marketplace plans: 1 to 100 records, each for one tenant, product, dimension and UTC hour. Each record is checked and saved on its own; the answer has one result per record, in the order sent. An Idempotency-Key header is honoured but not required, because each hour of each dimension is reported once. Scope usage:write (app role Usage.Write.All).
Errors: request.validation_failed, api_client.scope_not_allowed, metering.window_not_ended, metering.subscription_not_found, metering.subscription_ambiguous, metering.window_already_reported, metering.subscription_not_active, metering.marketplace_subscription_missing, metering.not_metered, metering.unknown_dimension, metering.window_too_old, auth.credentials_invalid, auth.forbidden, request.rate_limited.
AuthorizationBearer <token>A Microsoft Entra client-credentials token for the Transakt API (scope api://{apiAppId}/.default), issued in the tenant recorded on the API client credential, with the app role matching the operation: Entitlement.Read.All, Catalogue.Read.All or Usage.Write.All.
Scope: api://{apiAppId}/.default
application/json- body
ReportUsageRequest (P-07): 1 to 100 usage records.
records*|array<>1 <= items <= 100OK
application/json- response
UsageBatchResult (P-07): one result per record, in the order sent.
recorded*integerint32refused*integerint32results*array<>curl -X POST "https://example.com/api/v1/metered-usage" \ -H "Content-Type: application/json" \ -d '{ "records": null }'{ "recorded": 0, "refused": 0, "results": [ { "index": 0, "outcome": "string", "reportId": null, "subscriptionId": null, "status": null, "dimension": null, "quantity": null, "usageStartAt": null, "usageEndAt": null, "error": null } ]}List your products GET
Your products that the API client may read, with their editions (in rank order) and plans; each plan carries its edition and its effective capabilities (features and limits). Scope `catalogue:read` (app role `Catalogue.Read.All`). Errors: [`category.not_found`](/errors/category.not_found/), [`auth.credentials_invalid`](/errors/auth.credentials_invalid/), [`auth.forbidden`](/errors/auth.forbidden/), [`request.rate_limited`](/errors/request.rate_limited/).
Prove control of an Entra application POST
Activates a pending Entra application credential of an API client. Call it from the application with a client-credentials token for the Transakt API and the one-time challenge shown in the Admin Portal (valid 24 hours). The token must be issued in the tenant you recorded for the application. Errors: [`auth.credentials_invalid`](/errors/auth.credentials_invalid/), [`api_client.application_verification_failed`](/errors/api_client.application_verification_failed/), [`auth.forbidden`](/errors/auth.forbidden/), [`request.rate_limited`](/errors/request.rate_limited/).