# Get Tenant Consumption by Process

> Consumption breakdown by process for a specific tenant, with pagination, sorting, filtering, and optional per-service breakdown.

Use this endpoint to retrieve a consumption breakdown by process for a specific tenant.

:::note
Unlike [Get Tenant Consumption Summary](get-tenant-consumption-summary.md), this endpoint does not require organization administrator permissions. A user with tenant-scoped license viewing permission for the tenant can call it.
:::

## API endpoint

`POST` `{accessURL}/lease_/api/usage/{organizationId}/tenants/consumption-by-process`

Replace `{accessURL}` in all endpoint paths with the base URL for your cloud platform:

| Cloud platform | Access URL |
| --- | --- |
| Automation Cloud | `https://cloud.uipath.com/` |
| Automation Cloud Public Sector | `https://govcloud.uipath.us/` |
| Automation Cloud Dedicated | `https://{customURL}.dedicated.uipath.com/` |

:::note
Your organization's name appears in the URL right after the access URL when you're logged into the product, for example `{accessURL}/{organizationName}/...`.
:::

## Request headers

```
--header 'Authorization: Bearer {access_token}'
--header 'Content-Type: application/json'
```

:::note
To obtain the `{access_token}`, make sure to authenticate through the Resource Owner Password Credentials (ROPC) method described in [Authentication methods](https://docs.uipath.com/automation-cloud/automation-cloud/latest/api-guide/authentication-methods#authentication-methods).
:::

## Path parameters

| Path param | Data type | Description |
| --- | --- | --- |
| `organizationId` (required) | String (GUID) | The ID of the organization in which your tenant resides. |

## Request body

The request body specifies the tenant, date range, and optional filters, pagination, and sorting options.

```json
{
  "tenantId": "string",
  "startDate": 0,
  "endDate": 0,
  "aggregateByOwnership": false,
  "processNameFilter": "string",
  "processType": "string",
  "folderKeys": ["string"],
  "skip": 0,
  "take": 50,
  "sortBy": "string",
  "sortDescending": true,
  "includeServiceBreakdown": false
}
```

:::note
- `tenantId` is required. The ID of the tenant for which to retrieve consumption.
- `startDate` and `endDate` are Unix timestamps in seconds. Both bounds are inclusive. Values provided in milliseconds are rejected with a `400 Bad Request` error indicating that seconds are expected.
- `aggregateByOwnership` is optional (default: `false`). When set to `true`, consumption is aggregated by the folder that owns the process rather than where it ran.
- `processNameFilter` is optional. Filters results by process name.
- `processType` is optional. Filters results by process type.
- `folderKeys` is optional. Provide a list of folder GUIDs to limit results to specific folders.
- `skip` is optional (default: `0`). Pagination offset.
- `take` is optional (default: `50`). Page size.
- `sortBy` is optional (default: `runs`). Either `runs` or a unit type code (`AIU`, `AGU`, `PLTU`, `RU`, `SPR`, `TEU`, `HEAL`, `APICALLS`).
- `sortDescending` is optional (default: `true`). Sort direction.
- `includeServiceBreakdown` is optional (default: `false`). When set to `true`, each process includes a per-service breakdown.
:::

## Responses

### 200 OK

Returns the consumption breakdown by process for the specified tenant.

:::note
- `totalCount` is the number of processes matching the filters, before pagination.
- `consumedUnits` lists the unit type codes present in the results.
- Each item in `items` includes `processKey`, `processName`, `processType`, `folderKey`, `runs`, and `consumption` (an array of `{ "unit": string, "quantity": number }` objects).
- `consumptionByService` is included on each item only when `includeServiceBreakdown` is `true`, as an array of `{ "service": string, "unitBreakdown": [{ "unit": string, "quantity": number }] }` objects.
- `subProcesses` is optional and, when present, uses the same shape as `items`.
:::

## Example request

The call should resemble the following example (cURL):

```
curl --location --request POST 'https://cloud.uipath.com/lease_/api/usage/11111111-1111-1111-1111-111111111111/tenants/consumption-by-process' \
--header 'Authorization: Bearer <your-access-token>' \
--header 'Content-Type: application/json' \
--data-raw '{
  "tenantId": "4b8f2f6e-1c33-4c8a-9f4e-2c1a7d3b5e90",
  "startDate": 1754006400,
  "endDate": 1756684799,
  "sortBy": "runs",
  "includeServiceBreakdown": true
}'
```

Here's the response body for a successful consumption by process retrieval:

```json
{
  "totalCount": 1,
  "consumedUnits": ["RU", "AIU"],
  "items": [
    {
      "processKey": "9d3c1a2b-7e45-4f10-b2aa-0c6d8e914f77",
      "processName": "InvoiceProcessing",
      "processType": "Process",
      "folderKey": "2f6e4b8f-1c33-4c8a-9f4e-2c1a7d3b5e90",
      "runs": 128,
      "consumption": [
        { "unit": "RU", "quantity": 12.5 },
        { "unit": "AIU", "quantity": 340 }
      ],
      "consumptionByService": [
        { "service": "Orchestrator", "unitBreakdown": [{ "unit": "RU", "quantity": 12.5 }] },
        { "service": "Document Understanding", "unitBreakdown": [{ "unit": "AIU", "quantity": 340 }] }
      ]
    }
  ]
}
```
