---
title: "Operation to Update ConsumerConfiguration for a universe."
method: PATCH
path: "/service-efficiency-api/v1/configurations/universes/{universeId}"
tags: ["Service Efficiency", "Universes"]
---

# Operation to Update ConsumerConfiguration for a universe.

`PATCH /service-efficiency-api/v1/configurations/universes/{universeId}`

## Request

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

## Path parameters

- `universeId` integer, required

## Request body

- ConsumerConfigurationRequest: Request for updating consumer configuration.
  - `serviceConfigurations` ServiceConfiguration[], required: Gets or sets the service configuration lists.
    - `serviceId` string, required: Gets or sets the service ID.
    - `monthlyBudget` 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.
    - `resourceConfigurations` ResourceConfiguration[], required: Gets or sets the list of resource configurations.
      - `resourceId` string, required: Gets or sets the resource ID.
      - `unlocked` boolean, required: Gets or sets a value indicating whether the resource has unlocked additional usage.
      - `monthlyBudget` 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.
      - `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).
    - `budgetLevel` 'ResourceOnly' | 'ServiceOnly', required: Indicates the allowed budget levels for a service.

## Response `200`

OK

- ConsumerConfigurationResponse: Response object for consumer configuration.
  - `accountState` 'Invalid' | 'Normal' | 'Overdue' | 'Suspended': Account State in the HTTP response.
  - `accountInfoComplete` boolean: Gets or sets a value indicating whether account information is complete.
  - `serviceConfigurations` ServiceConfiguration[], required: Gets or sets the service configuration lists.
    - `serviceId` string, required: Gets or sets the service ID.
    - `monthlyBudget` 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.
    - `resourceConfigurations` ResourceConfiguration[], required: Gets or sets the list of resource configurations.
      - `resourceId` string, required: Gets or sets the resource ID.
      - `unlocked` boolean, required: Gets or sets a value indicating whether the resource has unlocked additional usage.
      - `monthlyBudget` 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.
      - `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).
    - `budgetLevel` 'ResourceOnly' | 'ServiceOnly', required: Indicates the allowed budget levels for a service.

## Other responses

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

## Changes

- **2026-10-20** `365aada792ed`: 2 info
  - api tag `Service Efficiency` added
  - api tag `Universes` added
- **2026-10-15** `e53153475cb2`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/roblox/apis/roblox-api/changes/service-efficiency-api/v1/configurations/universes/:universeId/patch.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)
