---
title: "Operation to Get Billing Statement for user owned account."
method: GET
path: "/service-efficiency-api/v1/bills/users/{userId}"
tags: ["Accounts", "Service Efficiency", "Users"]
---

# Operation to Get Billing Statement for user owned account.

`GET /service-efficiency-api/v1/bills/users/{userId}`

## Request

- Base URL: `https://apis.roblox.com`
- URL: `https://apis.roblox.com/service-efficiency-api/v1/bills/users/{userId}`
- Auth: one of:
  - API key in cookie `.ROBLOSECURITY`
  - API key in header `x-api-key`

## Path parameters

- `userId` integer, required

## Query parameters

- `billId` string
- `year` integer
- `month` integer
- `date` integer
- `latest` boolean

## Response `200`

OK

- BillDetailsResponse: Response object for a billing statement.
  - `accountState` 'Invalid' | 'Normal' | 'Overdue' | 'Suspended': Account State in the HTTP response.
  - `billId` string, nullable: Gets or sets the ID of the bill.
  - `billStatus` 'Invalid' | 'Unpaid' | 'Paid' | 'Closed', required: Bill Status Type
  - `usageAmount` ServiceEfficiencyApiMoney, required: Temporary until https://roblox.atlassian.net/browse/ICSC-1360 is done. Will be replaced by google.type.Money
    - `currencyCode` string, nullable: The three-letter currency code defined in ISO 4217.
    - `units` integer: The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
    - `nanos` integer: Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
  - `taxAmount` ServiceEfficiencyApiMoney, required: Temporary until https://roblox.atlassian.net/browse/ICSC-1360 is done. Will be replaced by google.type.Money
    - `currencyCode` string, nullable: The three-letter currency code defined in ISO 4217.
    - `units` integer: The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
    - `nanos` integer: Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
  - `totalAmount` ServiceEfficiencyApiMoney, required: Temporary until https://roblox.atlassian.net/browse/ICSC-1360 is done. Will be replaced by google.type.Money
    - `currencyCode` string, nullable: The three-letter currency code defined in ISO 4217.
    - `units` integer: The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
    - `nanos` integer: Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
  - `usages` ConsumerUsage[], required: Gets or sets the list of consumer usages.
    - `consumerId` integer, required: Gets or sets the consumer Id.
    - `consumerName` string, nullable: Gets or sets consumer name.
    - `subtotalAmount` ServiceEfficiencyApiMoney, required: Temporary until https://roblox.atlassian.net/browse/ICSC-1360 is done. Will be replaced by google.type.Money
      - `currencyCode` string, nullable: The three-letter currency code defined in ISO 4217.
      - `units` integer: The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
      - `nanos` integer: Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
    - `serviceUsages` ServiceUsage[], required: Gets or sets the list of service usages.
      - `serviceId` string, required: Gets or sets service ID.
      - `subtotalAmount` ServiceEfficiencyApiMoney, required: Temporary until https://roblox.atlassian.net/browse/ICSC-1360 is done. Will be replaced by google.type.Money
        - `currencyCode` string, nullable: The three-letter currency code defined in ISO 4217.
        - `units` integer: The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
        - `nanos` integer: Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
      - `resourceUsages` ResourceUsage[], required: Gets or sets the list of resource usages.
        - `resourceId` string, required: Gets or sets resource ID.
        - `freeAmount` number, double: Gets or sets free amount
        - `paidAmount` number, double: Gets or sets paid amount
        - `unitCost` ServiceEfficiencyApiMoney, required: Temporary until https://roblox.atlassian.net/browse/ICSC-1360 is done. Will be replaced by google.type.Money
          - `currencyCode` string, nullable: The three-letter currency code defined in ISO 4217.
          - `units` integer: The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
          - `nanos` integer: Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
        - `price` Price, required: Describes the price of a resource.
          - `cost` ServiceEfficiencyApiMoney: Temporary until https://roblox.atlassian.net/browse/ICSC-1360 is done. Will be replaced by google.type.Money
            - `currencyCode` string, nullable: The three-letter currency code defined in ISO 4217.
            - `units` integer: The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
            - `nanos` integer: Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
          - `unitAmount` integer: The number of units of the resource to which the cost applies. For example, if `cost` is 0.0044 and `unit_amount` is 1000000, the cost is $0.0044 per million of units. The split between `cost` and `unit_amount` should reflect how we refer to the price in real life, e.g. the above example reflects how we talk about the price of UMS request units ($0.0044 per million request units).
        - `totalCost` ServiceEfficiencyApiMoney, required: Temporary until https://roblox.atlassian.net/browse/ICSC-1360 is done. Will be replaced by google.type.Money
          - `currencyCode` string, nullable: The three-letter currency code defined in ISO 4217.
          - `units` integer: The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
          - `nanos` integer: Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
  - `billingAddress` Address, required: Represents an address.
    - `country` string, nullable: The country of this address. Format: ISO 3166-1 alpha-2 Currently, only "US" supported
    - `postalCode` string, nullable: The ZIP or postal code of this address.
    - `state` string, nullable: The state, county, province, or region of this address.
    - `city` string, nullable: The city, district, suburb, town, or village of this address.
    - `addressLine1` string, nullable: The first address line of this address (e.g. street, PO Box, or company name)
    - `addressLine2` string, nullable: The second address line of this address (e.g. apartment, suite, unit, or building)
    - `name` string, nullable: The name associated with this address.
  - `robloxAddress` Address, required: Represents an address.
    - `country` string, nullable: The country of this address. Format: ISO 3166-1 alpha-2 Currently, only "US" supported
    - `postalCode` string, nullable: The ZIP or postal code of this address.
    - `state` string, nullable: The state, county, province, or region of this address.
    - `city` string, nullable: The city, district, suburb, town, or village of this address.
    - `addressLine1` string, nullable: The first address line of this address (e.g. street, PO Box, or company name)
    - `addressLine2` string, nullable: The second address line of this address (e.g. apartment, suite, unit, or building)
    - `name` string, nullable: The name associated with this address.
  - `taxId` string, nullable: Gets or sets the tax id used for this bill.
  - `taxIdType` 'Invalid' | 'UnitedStatesEin' | 'EuropeanVatNumber' | 'UnitedKingdomVatNumber' | 'CanadianBusinessNumber' | 'CanadianGstHstNumber' | 'MexicanRfcNumber': Type of the tax id. Maps to and should be kept up to date with https://github.rbx.com/Roblox/service-contracts/blob/master/protos/roblox/payments/shared/v1/tax_id_type.proto.
  - `payments` Payment[], required: Gets or sets the payments associated with this bill.
    - `timestamp` integer, required: Gets or sets the time of this payment, in unix milliseconds.
    - `amount` ServiceEfficiencyApiMoney, required: Temporary until https://roblox.atlassian.net/browse/ICSC-1360 is done. Will be replaced by google.type.Money
      - `currencyCode` string, nullable: The three-letter currency code defined in ISO 4217.
      - `units` integer: The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
      - `nanos` integer: Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
    - `status` 'Invalid' | 'Pending' | 'Successful' | 'Failed', required: Transaction Status for HTTP responses.
  - `conversionRate` number, double, nullable: Gets or sets the USD-to-local-currency conversion rate at bill creation time, provided for reference only. Null if the payment method is in the US, the bill predates this feature, or for pending bills. -1 if the currency converter lookup failed.

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `500`: Internal Server Error
- `503`: Service Unavailable

## Changes

- **2026-10-20** `365aada792ed`: 3 info
  - api tag `Accounts` added
  - api tag `Service Efficiency` added
  - api tag `Users` added
- **2026-10-15** `e53153475cb2`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/roblox/apis/roblox-api/changes/service-efficiency-api/v1/bills/users/:userId/get.md)

---

[API](https://skmtc.dev/roblox/apis/roblox-api.md) - [All operations](https://skmtc.dev/roblox/apis/roblox-api/llms.txt) - [OpenAPI document](https://skmtc.dev/roblox/apis/roblox-api/revisions/bcfdc20689cd?raw)
