Skip to content
OpenRelay is in early access, and the /v1 API is stable. New capabilities ship in the changelog.
Provider

Provider earnings from usage records (+ payout history)

GET
/v1/orgs/{orgId}/provider/earnings
AuthorizationBearer <token>

OpenRelay API key. Send it as Authorization: Bearer vl_….

In: header

Path Parameters

orgId*string

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/v1/orgs/string/provider/earnings"
{
  "totalEarningsCents": 0,
  "grossEarningsCents": 0,
  "billableGrossCents": 0,
  "totalHours": 0,
  "billableHours": 0,
  "freeCreditHours": 0,
  "unpaidHours": 0,
  "currentMonthEarningsCents": 0,
  "currentMonthHours": 0,
  "pendingEarningsCents": 0,
  "availableForPayoutCents": 0,
  "totalPaidOutCents": 0,
  "commissionPercent": 0,
  "byNode": [
    {
      "nodeId": "string",
      "hostname": "string",
      "grossEarningsCents": 0,
      "billableGrossCents": 0,
      "earningsCents": 0,
      "hours": 0,
      "billableHours": 0,
      "gpuCount": 0,
      "rentedGpuHoursMonth": 0,
      "utilizationPercent": 0
    }
  ],
  "byGpuModel": [
    {
      "gpuModelId": "string",
      "name": "string",
      "grossEarningsCents": 0,
      "billableGrossCents": 0,
      "earningsCents": 0,
      "hours": 0,
      "billableHours": 0
    }
  ],
  "byStream": [
    {
      "stream": "string",
      "grossEarningsCents": 0,
      "billableGrossCents": 0,
      "earningsCents": 0,
      "hours": 0,
      "billableHours": 0
    }
  ],
  "recentPayouts": [
    {
      "id": "string",
      "type": "string",
      "amountCents": 0,
      "description": "string",
      "createdAt": "string"
    }
  ]
}
{
  "error": "string",
  "code": "string"
}
{
  "error": "string",
  "code": "string"
}

Command line

The orl CLI wraps this endpoint:

orl provider earnings get