> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.solvimon.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.solvimon.com/_mcp/server.

# Credit consumption & expiry

How Solvimon draws down a customer's credit balance when several grants are live at once, what the different balance figures mean, and what happens to credits that are never used.

---

## Why this matters

A customer rarely holds a single block of credits. A recurring monthly grant, a promotional grant, and a purchased top-up can all sit in the same wallet with different expiry dates. Which block gets consumed first determines how much value the customer keeps at the end of the month, and it determines your deferred revenue and breakage numbers.

## Drawdown order

Credits are consumed **earliest expiry first**. Solvimon orders the customer's active grants in the wallet by `expire_at` and draws down the grant closest to expiring before touching any other.

Grants with no expiry are consumed last, after every expiring grant is exhausted. When two grants share the same `expire_at`, the older grant (earlier `start_at`) is consumed first.

Worked example. A customer holds two grants in the same wallet:

| Grant                                           | Credits | `start_at` | `expire_at` |
| ----------------------------------------------- | ------- | ---------- | ----------- |
| `wgr_5tKqPz3nAvBd7YsLmQ2Rf` (monthly recurring) | 1,000   | 2026-08-01 | 2026-08-31  |
| `wgr_9HdXbN4vTcRe2WkJpS6Yz` (purchased top-up)  | 5,000   | 2026-07-14 | 2027-07-14  |

The customer consumes 1,200 credits during August. The first 1,000 come out of the monthly grant, because it expires on 31 August. The remaining 200 come out of the top-up. On 1 September the monthly grant is spent, the top-up holds 4,800, and a fresh 1,000-credit monthly grant is created.

Had the order been reversed, the customer would have lost 1,000 credits to expiry while still holding a paid balance. Earliest-expiry-first protects the customer's paid credits and puts the shortest-lived credits to work first.

> **Note**
>
> Drawdown order is fixed platform behavior. There is no per-grant priority or weighting field, and there is no way to make consumption draw from a specific grant.

## Reading a balance

A wallet balance is not a single number. `POST /v{version}/wallets/{resourceIdOrReference}/balance` returns four figures:

| Field              | Meaning                                                               |
| ------------------ | --------------------------------------------------------------------- |
| `balance`          | Credits (or amount) currently held, after all completed consumption   |
| `reserved_balance` | Credits committed to usage that has been metered but not yet invoiced |
| `open_balance`     | `balance` minus `reserved_balance`: what the customer can still spend |
| `balance_at`       | The moment the balance was determined                                 |

Use `open_balance` for anything customer-facing, such as a "credits remaining" figure in your product. Use `balance` when reconciling against accounting.

### Request

POST [https://test.api.solvimon.com/v\{version}/wallets/\{resourceIdOrReference}/balance](https://test.api.solvimon.com/v\{version}/wallets/\{resourceIdOrReference}/balance)

**`Wallets_postWalletsByResourceIdOrReferenceBalance_example`**

```curl Wallets_postWalletsByResourceIdOrReferenceBalance_example
curl -X POST https://test.api.solvimon.com/v1/wallets//balance \
     -H "X-API-KEY: <apiKey>" \
     -H "Content-Type: application/json" \
     -d '{
  "balance_at": "2026-10-09T12:00:00Z"
}'
```

**`Wallets_postWalletsByResourceIdOrReferenceBalance_example`**

```python Wallets_postWalletsByResourceIdOrReferenceBalance_example
import requests

url = "https://test.api.solvimon.com/v1/wallets/:resourceIdOrReference/balance"

payload = { "balance_at": "2026-10-09T12:00:00Z" }
headers = {
    "X-API-KEY": "<apiKey>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

**`Wallets_postWalletsByResourceIdOrReferenceBalance_example`**

```javascript Wallets_postWalletsByResourceIdOrReferenceBalance_example
const url = 'https://test.api.solvimon.com/v1/wallets/:resourceIdOrReference/balance';
const options = {
  method: 'POST',
  headers: {'X-API-KEY': '<apiKey>', 'Content-Type': 'application/json'},
  body: '{"balance_at":"2026-10-09T12:00:00Z"}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

**`Wallets_postWalletsByResourceIdOrReferenceBalance_example`**

```go Wallets_postWalletsByResourceIdOrReferenceBalance_example
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://test.api.solvimon.com/v1/wallets/:resourceIdOrReference/balance"

	payload := strings.NewReader("{\n  \"balance_at\": \"2026-10-09T12:00:00Z\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("X-API-KEY", "<apiKey>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

**`Wallets_postWalletsByResourceIdOrReferenceBalance_example`**

```ruby Wallets_postWalletsByResourceIdOrReferenceBalance_example
require 'uri'
require 'net/http'

url = URI("https://test.api.solvimon.com/v1/wallets/:resourceIdOrReference/balance")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<apiKey>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"balance_at\": \"2026-10-09T12:00:00Z\"\n}"

response = http.request(request)
puts response.read_body
```

**`Wallets_postWalletsByResourceIdOrReferenceBalance_example`**

```java Wallets_postWalletsByResourceIdOrReferenceBalance_example
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://test.api.solvimon.com/v1/wallets/:resourceIdOrReference/balance")
  .header("X-API-KEY", "<apiKey>")
  .header("Content-Type", "application/json")
  .body("{\n  \"balance_at\": \"2026-10-09T12:00:00Z\"\n}")
  .asString();
```

**`Wallets_postWalletsByResourceIdOrReferenceBalance_example`**

```php Wallets_postWalletsByResourceIdOrReferenceBalance_example
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://test.api.solvimon.com/v1/wallets/:resourceIdOrReference/balance', [
  'body' => '{
  "balance_at": "2026-10-09T12:00:00Z"
}',
  'headers' => [
    'Content-Type' => 'application/json',
    'X-API-KEY' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

**`Wallets_postWalletsByResourceIdOrReferenceBalance_example`**

```csharp Wallets_postWalletsByResourceIdOrReferenceBalance_example
using RestSharp;

var client = new RestClient("https://test.api.solvimon.com/v1/wallets/:resourceIdOrReference/balance");
var request = new RestRequest(Method.POST);
request.AddHeader("X-API-KEY", "<apiKey>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"balance_at\": \"2026-10-09T12:00:00Z\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

**`Wallets_postWalletsByResourceIdOrReferenceBalance_example`**

```swift Wallets_postWalletsByResourceIdOrReferenceBalance_example
import Foundation

let headers = [
  "X-API-KEY": "<apiKey>",
  "Content-Type": "application/json"
]
let parameters = ["balance_at": "2026-10-09T12:00:00Z"] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://test.api.solvimon.com/v1/wallets/:resourceIdOrReference/balance")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Response (200)

```json
{
  "balance": {
    "credits": {
      "quantity": "string",
      "credit_type_id": "string",
      "credit_type": {
        "object_type": "string",
        "id": "string",
        "reference": "string",
        "status": "DRAFT",
        "name": "string",
        "description": "string",
        "unit_name": {
          "singular": "string",
          "plural": "string"
        },
        "created_at": "string",
        "updated_at": "string"
      }
    },
    "amount": {
      "quantity": "string",
      "currency": "AED"
    }
  },
  "reserved_balance": {
    "credits": {
      "quantity": "string",
      "credit_type_id": "string",
      "credit_type": {
        "object_type": "string",
        "id": "string",
        "reference": "string",
        "status": "DRAFT",
        "name": "string",
        "description": "string",
        "unit_name": {
          "singular": "string",
          "plural": "string"
        },
        "created_at": "string",
        "updated_at": "string"
      }
    },
    "amount": {
      "quantity": "string",
      "currency": "AED"
    }
  },
  "open_balance": {
    "credits": {
      "quantity": "string",
      "credit_type_id": "string",
      "credit_type": {
        "object_type": "string",
        "id": "string",
        "reference": "string",
        "status": "DRAFT",
        "name": "string",
        "description": "string",
        "unit_name": {
          "singular": "string",
          "plural": "string"
        },
        "created_at": "string",
        "updated_at": "string"
      }
    },
    "amount": {
      "quantity": "string",
      "currency": "AED"
    }
  },
  "balance_at": "string",
  "over_granted": {
    "credits": {
      "quantity": "string",
      "credit_type_id": "string",
      "credit_type": {
        "object_type": "string",
        "id": "string",
        "reference": "string",
        "status": "DRAFT",
        "name": "string",
        "description": "string",
        "unit_name": {
          "singular": "string",
          "plural": "string"
        },
        "created_at": "string",
        "updated_at": "string"
      }
    },
    "amount": {
      "quantity": "string",
      "currency": "AED"
    }
  },
  "customer_details": [
    {
      "customer_id": "string",
      "reserved_balance": {
        "credits": {
          "quantity": "string",
          "credit_type_id": "string",
          "credit_type": {
            "object_type": "string",
            "id": "string",
            "reference": "string",
            "status": "DRAFT",
            "name": "string",
            "description": "string",
            "unit_name": {
              "singular": "string",
              "plural": "string"
            },
            "created_at": "string",
            "updated_at": "string"
          }
        },
        "amount": {
          "quantity": "string",
          "currency": "AED"
        }
      },
      "balance": {
        "credits": {
          "quantity": "string",
          "credit_type_id": "string",
          "credit_type": {
            "object_type": "string",
            "id": "string",
            "reference": "string",
            "status": "DRAFT",
            "name": "string",
            "description": "string",
            "unit_name": {
              "singular": "string",
              "plural": "string"
            },
            "created_at": "string",
            "updated_at": "string"
          }
        },
        "amount": {
          "quantity": "string",
          "currency": "AED"
        }
      },
      "over_granted": {
        "credits": {
          "quantity": "string",
          "credit_type_id": "string",
          "credit_type": {
            "object_type": "string",
            "id": "string",
            "reference": "string",
            "status": "DRAFT",
            "name": "string",
            "description": "string",
            "unit_name": {
              "singular": "string",
              "plural": "string"
            },
            "created_at": "string",
            "updated_at": "string"
          }
        },
        "amount": {
          "quantity": "string",
          "currency": "AED"
        }
      }
    }
  ]
}
```

Pass `balance_at` to ask for a historical balance. The default is `now()`, so omitting it gives the current balance. This is how you reproduce a month-end balance after the fact, which is what a reconciliation needs.

To read every wallet a customer holds in a single call, use `POST /v{version}/customers/{resourceIdOrReference}/wallets/balance`. The response returns one `wallet_balance` per `wallet_id`.

### Request

POST [https://test.api.solvimon.com/v\{version}/customers/\{resourceIdOrReference}/wallets/balance](https://test.api.solvimon.com/v\{version}/customers/\{resourceIdOrReference}/wallets/balance)

**`Customers_postCustomersByResourceIdOrReferenceWalletsBalance_example`**

```curl Customers_postCustomersByResourceIdOrReferenceWalletsBalance_example
curl -X POST https://test.api.solvimon.com/v1/customers//wallets/balance \
     -H "X-API-KEY: <apiKey>" \
     -H "Content-Type: application/json" \
     -d '{
  "balance_at": "2026-10-09T12:00:00Z",
  "include_customer_details": true
}'
```

**`Customers_postCustomersByResourceIdOrReferenceWalletsBalance_example`**

```python Customers_postCustomersByResourceIdOrReferenceWalletsBalance_example
import requests

url = "https://test.api.solvimon.com/v1/customers/:resourceIdOrReference/wallets/balance"

payload = {
    "balance_at": "2026-10-09T12:00:00Z",
    "include_customer_details": True
}
headers = {
    "X-API-KEY": "<apiKey>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

**`Customers_postCustomersByResourceIdOrReferenceWalletsBalance_example`**

```javascript Customers_postCustomersByResourceIdOrReferenceWalletsBalance_example
const url = 'https://test.api.solvimon.com/v1/customers/:resourceIdOrReference/wallets/balance';
const options = {
  method: 'POST',
  headers: {'X-API-KEY': '<apiKey>', 'Content-Type': 'application/json'},
  body: '{"balance_at":"2026-10-09T12:00:00Z","include_customer_details":true}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

**`Customers_postCustomersByResourceIdOrReferenceWalletsBalance_example`**

```go Customers_postCustomersByResourceIdOrReferenceWalletsBalance_example
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://test.api.solvimon.com/v1/customers/:resourceIdOrReference/wallets/balance"

	payload := strings.NewReader("{\n  \"balance_at\": \"2026-10-09T12:00:00Z\",\n  \"include_customer_details\": true\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("X-API-KEY", "<apiKey>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

**`Customers_postCustomersByResourceIdOrReferenceWalletsBalance_example`**

```ruby Customers_postCustomersByResourceIdOrReferenceWalletsBalance_example
require 'uri'
require 'net/http'

url = URI("https://test.api.solvimon.com/v1/customers/:resourceIdOrReference/wallets/balance")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<apiKey>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"balance_at\": \"2026-10-09T12:00:00Z\",\n  \"include_customer_details\": true\n}"

response = http.request(request)
puts response.read_body
```

**`Customers_postCustomersByResourceIdOrReferenceWalletsBalance_example`**

```java Customers_postCustomersByResourceIdOrReferenceWalletsBalance_example
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://test.api.solvimon.com/v1/customers/:resourceIdOrReference/wallets/balance")
  .header("X-API-KEY", "<apiKey>")
  .header("Content-Type", "application/json")
  .body("{\n  \"balance_at\": \"2026-10-09T12:00:00Z\",\n  \"include_customer_details\": true\n}")
  .asString();
```

**`Customers_postCustomersByResourceIdOrReferenceWalletsBalance_example`**

```php Customers_postCustomersByResourceIdOrReferenceWalletsBalance_example
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://test.api.solvimon.com/v1/customers/:resourceIdOrReference/wallets/balance', [
  'body' => '{
  "balance_at": "2026-10-09T12:00:00Z",
  "include_customer_details": true
}',
  'headers' => [
    'Content-Type' => 'application/json',
    'X-API-KEY' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

**`Customers_postCustomersByResourceIdOrReferenceWalletsBalance_example`**

```csharp Customers_postCustomersByResourceIdOrReferenceWalletsBalance_example
using RestSharp;

var client = new RestClient("https://test.api.solvimon.com/v1/customers/:resourceIdOrReference/wallets/balance");
var request = new RestRequest(Method.POST);
request.AddHeader("X-API-KEY", "<apiKey>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"balance_at\": \"2026-10-09T12:00:00Z\",\n  \"include_customer_details\": true\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

**`Customers_postCustomersByResourceIdOrReferenceWalletsBalance_example`**

```swift Customers_postCustomersByResourceIdOrReferenceWalletsBalance_example
import Foundation

let headers = [
  "X-API-KEY": "<apiKey>",
  "Content-Type": "application/json"
]
let parameters = [
  "balance_at": "2026-10-09T12:00:00Z",
  "include_customer_details": true
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://test.api.solvimon.com/v1/customers/:resourceIdOrReference/wallets/balance")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Response (200)

```json
{
  "wallet_balances": [
    {
      "wallet_id": "string",
      "wallet": {
        "object_type": "string",
        "id": "string",
        "reference": "string",
        "status": "DRAFT",
        "wallet_type_id": "string",
        "wallet_type": {
          "object_type": "string",
          "id": "string",
          "name": "string",
          "reference": "string",
          "status": "DRAFT",
          "type": "CREDIT",
          "credit": {
            "grant_type": "CREDITS",
            "amount_grant": {
              "default_currency": "AED",
              "tax_category": "STANDARD"
            },
            "credits_grant": {
              "credit_type_id": "string"
            }
          },
          "balance": {
            "default_currency": "string"
          },
          "created_at": "string",
          "updated_at": "string"
        },
        "auto_top_up_configs": [
          {
            "object_type": "string",
            "id": "string",
            "wallet_id": "string",
            "status": "ACTIVE",
            "threshold": {
              "amount": {
                "quantity": "string",
                "currency": "AED"
              },
              "credits": {
                "quantity": "string",
                "credit_type_id": "string",
                "credit_type": {
                  "object_type": "string",
                  "id": "string",
                  "reference": "string",
                  "status": "DRAFT",
                  "name": "string",
                  "description": "string",
                  "unit_name": {
                    "singular": "string",
                    "plural": "string"
                  },
                  "created_at": "string",
                  "updated_at": "string"
                }
              }
            },
            "topup_amount": {
              "quantity": "string",
              "currency": "AED"
            },
            "pricing_plan_schedule_id": "string",
            "pricing_item_id": "string",
            "payment_method_id": "string",
            "created_at": "string",
            "updated_at": "string"
          }
        ],
        "customer_id": "string",
        "created_at": "string",
        "updated_at": "string"
      },
      "wallet_balance": {
        "balance": {
          "credits": {
            "quantity": "string",
            "credit_type_id": "string",
            "credit_type": {
              "object_type": "string",
              "id": "string",
              "reference": "string",
              "status": "DRAFT",
              "name": "string",
              "description": "string",
              "unit_name": {
                "singular": "string",
                "plural": "string"
              },
              "created_at": "string",
              "updated_at": "string"
            }
          },
          "amount": {
            "quantity": "string",
            "currency": "AED"
          }
        },
        "reserved_balance": {
          "credits": {
            "quantity": "string",
            "credit_type_id": "string",
            "credit_type": {
              "object_type": "string",
              "id": "string",
              "reference": "string",
              "status": "DRAFT",
              "name": "string",
              "description": "string",
              "unit_name": {
                "singular": "string",
                "plural": "string"
              },
              "created_at": "string",
              "updated_at": "string"
            }
          },
          "amount": {
            "quantity": "string",
            "currency": "AED"
          }
        },
        "open_balance": {
          "credits": {
            "quantity": "string",
            "credit_type_id": "string",
            "credit_type": {
              "object_type": "string",
              "id": "string",
              "reference": "string",
              "status": "DRAFT",
              "name": "string",
              "description": "string",
              "unit_name": {
                "singular": "string",
                "plural": "string"
              },
              "created_at": "string",
              "updated_at": "string"
            }
          },
          "amount": {
            "quantity": "string",
            "currency": "AED"
          }
        },
        "balance_at": "string",
        "over_granted": {
          "credits": {
            "quantity": "string",
            "credit_type_id": "string",
            "credit_type": {
              "object_type": "string",
              "id": "string",
              "reference": "string",
              "status": "DRAFT",
              "name": "string",
              "description": "string",
              "unit_name": {
                "singular": "string",
                "plural": "string"
              },
              "created_at": "string",
              "updated_at": "string"
            }
          },
          "amount": {
            "quantity": "string",
            "currency": "AED"
          }
        },
        "customer_details": [
          {
            "customer_id": "string",
            "reserved_balance": {
              "credits": {
                "quantity": "string",
                "credit_type_id": "string",
                "credit_type": {
                  "object_type": "string",
                  "id": "string",
                  "reference": "string",
                  "status": "DRAFT",
                  "name": "string",
                  "description": "string",
                  "unit_name": {
                    "singular": "string",
                    "plural": "string"
                  },
                  "created_at": "string",
                  "updated_at": "string"
                }
              },
              "amount": {
                "quantity": "string",
                "currency": "AED"
              }
            },
            "balance": {
              "credits": {
                "quantity": "string",
                "credit_type_id": "string",
                "credit_type": {
                  "object_type": "string",
                  "id": "string",
                  "reference": "string",
                  "status": "DRAFT",
                  "name": "string",
                  "description": "string",
                  "unit_name": {
                    "singular": "string",
                    "plural": "string"
                  },
                  "created_at": "string",
                  "updated_at": "string"
                }
              },
              "amount": {
                "quantity": "string",
                "currency": "AED"
              }
            },
            "over_granted": {
              "credits": {
                "quantity": "string",
                "credit_type_id": "string",
                "credit_type": {
                  "object_type": "string",
                  "id": "string",
                  "reference": "string",
                  "status": "DRAFT",
                  "name": "string",
                  "description": "string",
                  "unit_name": {
                    "singular": "string",
                    "plural": "string"
                  },
                  "created_at": "string",
                  "updated_at": "string"
                }
              },
              "amount": {
                "quantity": "string",
                "currency": "AED"
              }
            }
          }
        ]
      },
      "charge_on_demand_pricing_items": [
        {
          "pricing_item_id": "string",
          "pricing_plan_schedule_id": "string",
          "pricing_item": {
            "object_type": "string",
            "id": "string",
            "original_pricing_item_id": "string",
            "original_pricing_item": {},
            "override": "ALL",
            "product_item_ids": [
              "string"
            ],
            "product_items": [
              {
                "object_type": "string",
                "id": "string",
                "product_id": "string",
                "product": {
                  "object_type": "string",
                  "id": "string",
                  "category_id": "string",
                  "category": {
                    "object_type": "string",
                    "id": "string",
                    "name": "string",
                    "reference": "string",
                    "description": "string",
                    "tax_category": "STANDARD",
                    "display_order": 1,
                    "customer_id": "string"
                  },
                  "parent_product_id": "string",
                  "name": "string",
                  "reference": "string",
                  "description": "string",
                  "status": "DRAFT",
                  "product_type": "DEFAULT",
                  "tax_category": "STANDARD",
                  "features": [
                    {
                      "id": "string",
                      "reference": "string"
                    }
                  ],
                  "custom_fields": [
                    {
                      "id": "string",
                      "reference": "string",
                      "value": "string",
                      "values": [
                        "string"
                      ],
                      "integration_details": {
                        "id": "string",
                        "reference": "string",
                        "payment_gateway_variant": "ADYEN",
                        "adyen": {
                          "recurring_detail_reference": "string"
                        },
                        "stripe": {
                          "payment_method_id": "string"
                        }
                      },
                      "integration_id": "string"
                    }
                  ],
                  "display_order": 1,
                  "linked_integrations": [
                    {
                      "id": "string",
                      "link_details": [
                        {
                          "url": "string",
                          "custom_field_name": "string"
                        }
                      ]
                    }
                  ],
                  "billing_entity_id": "string",
                  "customer_id": "string",
                  "agent_context": {
                    "guidance": "string"
                  }
                },
                "name": "string",
                "status": "DRAFT",
                "reference": "string",
                "description": "string",
                "type": "REVENUE",
                "model_type": "USAGE_BASED",
                "usage_based": {
                  "meter_value_calculation_id": "string",
                  "meter_value_calculation": {
                    "object_type": "string",
                    "id": "string",
                    "reference": "string",
                    "name": "string",
                    "description": "string",
                    "calculation_type": "SUM",
                    "persist": true,
                    "meter_id": "string",
                    "meter": {
                      "object_type": "string",
                      "id": "string",
                      "reference": "string",
                      "name": "string",
                      "description": "string",
                      "status": "DRAFT",
                      "meter_values": [
                        {
                          "id": "string",
                          "object": {
                            "object_type": "string",
                            "id": "string",
                            "reference": "string",
                            "name": "string",
                            "description": "string",
                            "status": "DRAFT",
                            "type": "NUMBER"
                          },
                          "required": true
                        }
                      ],
                      "meter_properties": [
                        {
                          "id": "string",
                          "object": {
                            "object_type": "string",
                            "id": "string",
                            "reference": "string",
                            "name": "string",
                            "description": "string",
                            "status": "DRAFT",
                            "type": "NUMBER",
                            "enum_values": [
                              "string"
                            ]
                          },
                          "required": true
                        }
                      ]
                    },
                    "meter_value_id": "string",
                    "meter_value": {
                      "object_type": "string",
                      "id": "string",
                      "reference": "string",
                      "name": "string",
                      "description": "string",
                      "status": "DRAFT",
                      "type": "NUMBER"
                    },
                    "meter_property_id": "string",
                    "meter_property": {
                      "object_type": "string",
                      "id": "string",
                      "reference": "string",
                      "name": "string",
                      "description": "string",
                      "status": "DRAFT",
                      "type": "NUMBER",
                      "enum_values": [
                        "string"
                      ]
                    }
                  },
                  "tiering_meter_value_calculation_id": "string",
                  "tiering_meter_value_calculation": {
                    "object_type": "string",
                    "id": "string",
                    "reference": "string",
                    "name": "string",
                    "description": "string",
                    "calculation_type": "SUM",
                    "persist": true,
                    "meter_id": "string",
                    "meter": {
                      "object_type": "string",
                      "id": "string",
                      "reference": "string",
                      "name": "string",
                      "description": "string",
                      "status": "DRAFT",
                      "meter_values": [
                        {
                          "id": "string",
                          "object": {
                            "object_type": "string",
                            "id": "string",
                            "reference": "string",
                            "name": "string",
                            "description": "string",
                            "status": "DRAFT",
                            "type": "NUMBER"
                          },
                          "required": true
                        }
                      ],
                      "meter_properties": [
                        {
                          "id": "string",
                          "object": {
                            "object_type": "string",
                            "id": "string",
                            "reference": "string",
                            "name": "string",
                            "description": "string",
                            "status": "DRAFT",
                            "type": "NUMBER",
                            "enum_values": [
                              "string"
                            ]
                          },
                          "required": true
                        }
                      ]
                    },
                    "meter_value_id": "string",
                    "meter_value": {
                      "object_type": "string",
                      "id": "string",
                      "reference": "string",
                      "name": "string",
                      "description": "string",
                      "status": "DRAFT",
                      "type": "NUMBER"
                    },
                    "meter_property_id": "string",
                    "meter_property": {
                      "object_type": "string",
                      "id": "string",
                      "reference": "string",
                      "name": "string",
                      "description": "string",
                      "status": "DRAFT",
                      "type": "NUMBER",
                      "enum_values": [
                        "string"
                      ]
                    }
                  },
                  "report_meter_value_calculation_ids": [
                    "string"
                  ],
                  "conditions": {
                    "name": "string",
                    "expression": {
                      "operator": "AND",
                      "operands": [
                        {
                          "meter_property": {
                            "id": "string",
                            "reference": "string",
                            "meter_property": {
                              "object_type": "string",
                              "id": "string",
                              "reference": "string",
                              "name": "string",
                              "description": "string",
                              "status": "DRAFT",
                              "type": "NUMBER",
                              "enum_values": [
                                "string"
                              ]
                            },
                            "value": "string",
                            "values": [
                              "string"
                            ],
                            "meter_property_variable_id": "string",
                            "meter_property_variable": {
                              "object_type": "string",
                              "id": "string",
                              "reference": "string",
                              "name": "string",
                              "description": "string",
                              "meter_property_id": "string",
                              "type": "LIST",
                              "status": "DRAFT",
                              "value_count": 1,
                              "created_at": "string",
                              "updated_at": "string"
                            },
                            "comparator": "EQUALS"
                          },
                          "expression": {}
                        }
                      ]
                    },
                    "meter_properties": [
                      {
                        "id": "string",
                        "reference": "string",
                        "meter_property": {
                          "object_type": "string",
                          "id": "string",
                          "reference": "string",
                          "name": "string",
                          "description": "string",
                          "status": "DRAFT",
                          "type": "NUMBER",
                          "enum_values": [
                            "string"
                          ]
                        },
                        "value": "string",
                        "values": [
                          "string"
                        ],
                        "meter_property_variable_id": "string",
                        "meter_property_variable": {
                          "object_type": "string",
                          "id": "string",
                          "reference": "string",
                          "name": "string",
                          "description": "string",
                          "meter_property_id": "string",
                          "type": "LIST",
                          "status": "DRAFT",
                          "value_count": 1,
                          "created_at": "string",
                          "updated_at": "string"
                        },
                        "comparator": "EQUALS"
                      }
                    ]
                  }
                },
                "credits": {
                  "credit_type_id": "string",
                  "credit_type": {
                    "object_type": "string",
                    "id": "string",
                    "reference": "string",
                    "status": "DRAFT",
                    "name": "string",
                    "description": "string",
                    "unit_name": {
                      "singular": "string",
                      "plural": "string"
                    },
                    "created_at": "string",
                    "updated_at": "string"
                  }
                },
                "meter_value_calculation": {
                  "object_type": "string",
                  "id": "string",
                  "reference": "string",
                  "name": "string",
                  "description": "string",
                  "calculation_type": "SUM",
                  "persist": true,
                  "meter_id": "string",
                  "meter": {
                    "object_type": "string",
                    "id": "string",
                    "reference": "string",
                    "name": "string",
                    "description": "string",
                    "status": "DRAFT",
                    "meter_values": [
                      {
                        "id": "string",
                        "object": {
                          "object_type": "string",
                          "id": "string",
                          "reference": "string",
                          "name": "string",
                          "description": "string",
                          "status": "DRAFT",
                          "type": "NUMBER"
                        },
                        "required": true
                      }
                    ],
                    "meter_properties": [
                      {
                        "id": "string",
                        "object": {
                          "object_type": "string",
                          "id": "string",
                          "reference": "string",
                          "name": "string",
                          "description": "string",
                          "status": "DRAFT",
                          "type": "NUMBER",
                          "enum_values": [
                            "string"
                          ]
                        },
                        "required": true
                      }
                    ]
                  },
                  "meter_value_id": "string",
                  "meter_value": {
                    "object_type": "string",
                    "id": "string",
                    "reference": "string",
                    "name": "string",
                    "description": "string",
                    "status": "DRAFT",
                    "type": "NUMBER"
                  },
                  "meter_property_id": "string",
                  "meter_property": {
                    "object_type": "string",
                    "id": "string",
                    "reference": "string",
                    "name": "string",
                    "description": "string",
                    "status": "DRAFT",
                    "type": "NUMBER",
                    "enum_values": [
                      "string"
                    ]
                  }
                },
                "tax_category": "STANDARD",
                "display_order": 1,
                "unit_name": {
                  "singular": "string",
                  "plural": "string"
                },
                "custom_fields": [
                  {
                    "id": "string",
                    "reference": "string",
                    "value": "string",
                    "values": [
                      "string"
                    ],
                    "integration_details": {
                      "id": "string",
                      "reference": "string",
                      "payment_gateway_variant": "ADYEN",
                      "adyen": {
                        "recurring_detail_reference": "string"
                      },
                      "stripe": {
                        "payment_method_id": "string"
                      }
                    },
                    "integration_id": "string"
                  }
                ],
                "customer_id": "string",
                "agent_context": {
                  "guidance": "string"
                },
                "meter_value_calculation_id": "string",
                "report_meter_value_calculation_ids": [
                  "string"
                ]
              }
            ],
            "configs": [
              {
                "object_type": "string",
                "id": "string",
                "original_pricing_item_config_id": "string",
                "original_pricing_item_config": {},
                "details": {
                  "billing_period": {
                    "type": "DAY",
                    "value": 1
                  },
                  "pricing_type": "FLAT",
                  "pricing_period": {
                    "type": "DAY",
                    "value": 1
                  },
                  "bands": [
                    {
                      "amount": {
                        "quantity": "string",
                        "currency": "AED"
                      },
                      "percentage": "string",
                      "credits": {
                        "quantity": "string",
                        "credit_type_id": "string",
                        "credit_type": {
                          "object_type": "string",
                          "id": "string",
                          "reference": "string",
                          "status": "DRAFT",
                          "name": "string",
                          "description": "string",
                          "unit_name": {
                            "singular": "string",
                            "plural": "string"
                          },
                          "created_at": "string",
                          "updated_at": "string"
                        }
                      },
                      "fixed_amount": {
                        "quantity": "string",
                        "currency": "AED"
                      },
                      "maximum_amount": {
                        "quantity": "string",
                        "currency": "AED"
                      },
                      "minimum_amount": {
                        "quantity": "string",
                        "currency": "AED"
                      },
                      "maximum_number": "string",
                      "minimum_number": "string",
                      "block_size": {
                        "number": "string",
                        "amount": {
                          "quantity": "string",
                          "currency": "AED"
                        },
                        "count": "string"
                      },
                      "tier_top_bound": {
                        "number": "string",
                        "amount": {
                          "quantity": "string",
                          "currency": "AED"
                        },
                        "count": "string"
                      }
                    }
                  ]
                },
                "billing_period": {
                  "type": "DAY",
                  "value": 1
                },
                "pricing_period": {
                  "type": "DAY",
                  "value": 1
                },
                "default_included_volume": {
                  "number": "string",
                  "amount": {
                    "quantity": "string",
                    "currency": "AED"
                  },
                  "count": "string",
                  "reset_type": "string"
                },
                "default_seats_value": {
                  "number": "string",
                  "amount": {
                    "quantity": "string",
                    "currency": "AED"
                  },
                  "count": "string"
                },
                "default_units": {
                  "number": "string",
                  "amount": {
                    "quantity": "string",
                    "currency": "AED"
                  },
                  "count": "string"
                },
                "conditions": {
                  "name": "string",
                  "meter_properties": [
                    {
                      "id": "string",
                      "reference": "string",
                      "meter_property": {
                        "object_type": "string",
                        "id": "string",
                        "reference": "string",
                        "name": "string",
                        "description": "string",
                        "status": "DRAFT",
                        "type": "NUMBER",
                        "enum_values": [
                          "string"
                        ]
                      },
                      "value": "string",
                      "values": [
                        "string"
                      ],
                      "meter_property_variable_id": "string",
                      "meter_property_variable": {
                        "object_type": "string",
                        "id": "string",
                        "reference": "string",
                        "name": "string",
                        "description": "string",
                        "meter_property_id": "string",
                        "type": "LIST",
                        "status": "DRAFT",
                        "value_count": 1,
                        "created_at": "string",
                        "updated_at": "string"
                      },
                      "comparator": "EQUALS"
                    }
                  ],
                  "configs": [
                    {}
                  ]
                },
                "tiering_conditions": {
                  "name": "string",
                  "expression": {
                    "operator": "AND",
                    "operands": [
                      {
                        "meter_property": {
                          "id": "string",
                          "reference": "string",
                          "meter_property": {
                            "object_type": "string",
                            "id": "string",
                            "reference": "string",
                            "name": "string",
                            "description": "string",
                            "status": "DRAFT",
                            "type": "NUMBER",
                            "enum_values": [
                              "string"
                            ]
                          },
                          "value": "string",
                          "values": [
                            "string"
                          ],
                          "meter_property_variable_id": "string",
                          "meter_property_variable": {
                            "object_type": "string",
                            "id": "string",
                            "reference": "string",
                            "name": "string",
                            "description": "string",
                            "meter_property_id": "string",
                            "type": "LIST",
                            "status": "DRAFT",
                            "value_count": 1,
                            "created_at": "string",
                            "updated_at": "string"
                          },
                          "comparator": "EQUALS"
                        },
                        "expression": {}
                      }
                    ]
                  },
                  "meter_properties": [
                    {
                      "id": "string",
                      "reference": "string",
                      "meter_property": {
                        "object_type": "string",
                        "id": "string",
                        "reference": "string",
                        "name": "string",
                        "description": "string",
                        "status": "DRAFT",
                        "type": "NUMBER",
                        "enum_values": [
                          "string"
                        ]
                      },
                      "value": "string",
                      "values": [
                        "string"
                      ],
                      "meter_property_variable_id": "string",
                      "meter_property_variable": {
                        "object_type": "string",
                        "id": "string",
                        "reference": "string",
                        "name": "string",
                        "description": "string",
                        "meter_property_id": "string",
                        "type": "LIST",
                        "status": "DRAFT",
                        "value_count": 1,
                        "created_at": "string",
                        "updated_at": "string"
                      },
                      "comparator": "EQUALS"
                    }
                  ]
                },
                "order": 1,
                "billing_in_advance": true,
                "volume_group_reference": "string",
                "top_up": {
                  "rollover": true
                },
                "split_pricing": {
                  "meter_properties": [
                    {
                      "id": "string",
                      "reference": "string",
                      "value": "string",
                      "meter_property": {
                        "object_type": "string",
                        "id": "string",
                        "reference": "string",
                        "name": "string",
                        "description": "string",
                        "status": "DRAFT",
                        "type": "NUMBER",
                        "enum_values": [
                          "string"
                        ]
                      }
                    }
                  ]
                },
                "on_demand": true,
                "wallet_grants": [
                  {
                    "wallet_type_id": "string",
                    "wallet_type": {
                      "object_type": "string",
                      "id": "string",
                      "name": "string",
                      "reference": "string",
                      "status": "DRAFT",
                      "type": "CREDIT",
                      "credit": {
                        "grant_type": "CREDITS",
                        "amount_grant": {
                          "default_currency": "AED",
                          "tax_category": "STANDARD"
                        },
                        "credits_grant": {
                          "credit_type_id": "string"
                        }
                      },
                      "balance": {
                        "default_currency": "string"
                      },
                      "created_at": "string",
                      "updated_at": "string"
                    },
                    "amount_grant": {
                      "amount": {
                        "quantity": "string",
                        "currency": "AED"
                      },
                      "percentage": "string"
                    },
                    "credits_grant": {
                      "credits": {
                        "quantity": "string",
                        "credit_type_id": "string",
                        "credit_type": {
                          "object_type": "string",
                          "id": "string",
                          "reference": "string",
                          "status": "DRAFT",
                          "name": "string",
                          "description": "string",
                          "unit_name": {
                            "singular": "string",
                            "plural": "string"
                          },
                          "created_at": "string",
                          "updated_at": "string"
                        }
                      },
                      "conversion": {
                        "credit_type_id": "string",
                        "rate": "string"
                      }
                    },
                    "expiry_policy": {
                      "expiry_period": {
                        "type": "DAY",
                        "value": 1
                      }
                    },
                    "source": "FIXED"
                  }
                ],
                "type": "FLAT",
                "pricing_type": "FLAT",
                "bands": [
                  {
                    "amount": {
                      "quantity": "string",
                      "currency": "AED"
                    },
                    "percentage": "string",
                    "credits": {
                      "quantity": "string",
                      "credit_type_id": "string",
                      "credit_type": {
                        "object_type": "string",
                        "id": "string",
                        "reference": "string",
                        "status": "DRAFT",
                        "name": "string",
                        "description": "string",
                        "unit_name": {
                          "singular": "string",
                          "plural": "string"
                        },
                        "created_at": "string",
                        "updated_at": "string"
                      }
                    },
                    "fixed_amount": {
                      "quantity": "string",
                      "currency": "AED"
                    },
                    "maximum_amount": {
                      "quantity": "string",
                      "currency": "AED"
                    },
                    "minimum_amount": {
                      "quantity": "string",
                      "currency": "AED"
                    },
                    "maximum_number": "string",
                    "minimum_number": "string",
                    "block_size": {
                      "number": "string",
                      "amount": {
                        "quantity": "string",
                        "currency": "AED"
                      },
                      "count": "string"
                    },
                    "tier_top_bound": {
                      "number": "string",
                      "amount": {
                        "quantity": "string",
                        "currency": "AED"
                      },
                      "count": "string"
                    }
                  }
                ]
              }
            ],
            "pricing_currency_configs": [
              {
                "currency": "AED",
                "configs": [
                  {
                    "object_type": "string",
                    "id": "string",
                    "original_pricing_item_config_id": "string",
                    "original_pricing_item_config": {},
                    "details": {
                      "billing_period": {
                        "type": "DAY",
                        "value": 1
                      },
                      "pricing_type": "FLAT",
                      "pricing_period": {
                        "type": "DAY",
                        "value": 1
                      },
                      "bands": [
                        {
                          "amount": {
                            "quantity": "string",
                            "currency": "AED"
                          },
                          "percentage": "string",
                          "credits": {
                            "quantity": "string",
                            "credit_type_id": "string",
                            "credit_type": {
                              "object_type": "string",
                              "id": "string",
                              "reference": "string",
                              "status": "DRAFT",
                              "name": "string",
                              "description": "string",
                              "unit_name": {
                                "singular": "string",
                                "plural": "string"
                              },
                              "created_at": "string",
                              "updated_at": "string"
                            }
                          },
                          "fixed_amount": {
                            "quantity": "string",
                            "currency": "AED"
                          },
                          "maximum_amount": {
                            "quantity": "string",
                            "currency": "AED"
                          },
                          "minimum_amount": {
                            "quantity": "string",
                            "currency": "AED"
                          },
                          "maximum_number": "string",
                          "minimum_number": "string",
                          "block_size": {
                            "number": "string",
                            "amount": {
                              "quantity": "string",
                              "currency": "AED"
                            },
                            "count": "string"
                          },
                          "tier_top_bound": {
                            "number": "string",
                            "amount": {
                              "quantity": "string",
                              "currency": "AED"
                            },
                            "count": "string"
                          }
                        }
                      ]
                    },
                    "billing_period": {
                      "type": "DAY",
                      "value": 1
                    },
                    "pricing_period": {
                      "type": "DAY",
                      "value": 1
                    },
                    "default_included_volume": {
                      "number": "string",
                      "amount": {
                        "quantity": "string",
                        "currency": "AED"
                      },
                      "count": "string",
                      "reset_type": "string"
                    },
                    "default_seats_value": {
                      "number": "string",
                      "amount": {
                        "quantity": "string",
                        "currency": "AED"
                      },
                      "count": "string"
                    },
                    "default_units": {
                      "number": "string",
                      "amount": {
                        "quantity": "string",
                        "currency": "AED"
                      },
                      "count": "string"
                    },
                    "conditions": {
                      "name": "string",
                      "meter_properties": [
                        {
                          "id": "string",
                          "reference": "string",
                          "meter_property": {
                            "object_type": "string",
                            "id": "string",
                            "reference": "string",
                            "name": "string",
                            "description": "string",
                            "status": "DRAFT",
                            "type": "NUMBER",
                            "enum_values": [
                              "string"
                            ]
                          },
                          "value": "string",
                          "values": [
                            "string"
                          ],
                          "meter_property_variable_id": "string",
                          "meter_property_variable": {
                            "object_type": "string",
                            "id": "string",
                            "reference": "string",
                            "name": "string",
                            "description": "string",
                            "meter_property_id": "string",
                            "type": "LIST",
                            "status": "DRAFT",
                            "value_count": 1,
                            "created_at": "string",
                            "updated_at": "string"
                          },
                          "comparator": "EQUALS"
                        }
                      ],
                      "configs": [
                        {}
                      ]
                    },
                    "tiering_conditions": {
                      "name": "string",
                      "expression": {
                        "operator": "AND",
                        "operands": [
                          {
                            "meter_property": {
                              "id": "string",
                              "reference": "string",
                              "meter_property": {
                                "object_type": "string",
                                "id": "string",
                                "reference": "string",
                                "name": "string",
                                "description": "string",
                                "status": "DRAFT",
                                "type": "NUMBER",
                                "enum_values": [
                                  "string"
                                ]
                              },
                              "value": "string",
                              "values": [
                                "string"
                              ],
                              "meter_property_variable_id": "string",
                              "meter_property_variable": {
                                "object_type": "string",
                                "id": "string",
                                "reference": "string",
                                "name": "string",
                                "description": "string",
                                "meter_property_id": "string",
                                "type": "LIST",
                                "status": "DRAFT",
                                "value_count": 1,
                                "created_at": "string",
                                "updated_at": "string"
                              },
                              "comparator": "EQUALS"
                            },
                            "expression": {}
                          }
                        ]
                      },
                      "meter_properties": [
                        {
                          "id": "string",
                          "reference": "string",
                          "meter_property": {
                            "object_type": "string",
                            "id": "string",
                            "reference": "string",
                            "name": "string",
                            "description": "string",
                            "status": "DRAFT",
                            "type": "NUMBER",
                            "enum_values": [
                              "string"
                            ]
                          },
                          "value": "string",
                          "values": [
                            "string"
                          ],
                          "meter_property_variable_id": "string",
                          "meter_property_variable": {
                            "object_type": "string",
                            "id": "string",
                            "reference": "string",
                            "name": "string",
                            "description": "string",
                            "meter_property_id": "string",
                            "type": "LIST",
                            "status": "DRAFT",
                            "value_count": 1,
                            "created_at": "string",
                            "updated_at": "string"
                          },
                          "comparator": "EQUALS"
                        }
                      ]
                    },
                    "order": 1,
                    "billing_in_advance": true,
                    "volume_group_reference": "string",
                    "top_up": {
                      "rollover": true
                    },
                    "split_pricing": {
                      "meter_properties": [
                        {
                          "id": "string",
                          "reference": "string",
                          "value": "string",
                          "meter_property": {
                            "object_type": "string",
                            "id": "string",
                            "reference": "string",
                            "name": "string",
                            "description": "string",
                            "status": "DRAFT",
                            "type": "NUMBER",
                            "enum_values": [
                              "string"
                            ]
                          }
                        }
                      ]
                    },
                    "on_demand": true,
                    "wallet_grants": [
                      {
                        "wallet_type_id": "string",
                        "wallet_type": {
                          "object_type": "string",
                          "id": "string",
                          "name": "string",
                          "reference": "string",
                          "status": "DRAFT",
                          "type": "CREDIT",
                          "credit": {
                            "grant_type": "CREDITS",
                            "amount_grant": {
                              "default_currency": "AED",
                              "tax_category": "STANDARD"
                            },
                            "credits_grant": {
                              "credit_type_id": "string"
                            }
                          },
                          "balance": {
                            "default_currency": "string"
                          },
                          "created_at": "string",
                          "updated_at": "string"
                        },
                        "amount_grant": {
                          "amount": {
                            "quantity": "string",
                            "currency": "AED"
                          },
                          "percentage": "string"
                        },
                        "credits_grant": {
                          "credits": {
                            "quantity": "string",
                            "credit_type_id": "string",
                            "credit_type": {
                              "object_type": "string",
                              "id": "string",
                              "reference": "string",
                              "status": "DRAFT",
                              "name": "string",
                              "description": "string",
                              "unit_name": {
                                "singular": "string",
                                "plural": "string"
                              },
                              "created_at": "string",
                              "updated_at": "string"
                            }
                          },
                          "conversion": {
                            "credit_type_id": "string",
                            "rate": "string"
                          }
                        },
                        "expiry_policy": {
                          "expiry_period": {
                            "type": "DAY",
                            "value": 1
                          }
                        },
                        "source": "FIXED"
                      }
                    ],
                    "type": "FLAT",
                    "pricing_type": "FLAT",
                    "bands": [
                      {
                        "amount": {
                          "quantity": "string",
                          "currency": "AED"
                        },
                        "percentage": "string",
                        "credits": {
                          "quantity": "string",
                          "credit_type_id": "string",
                          "credit_type": {
                            "object_type": "string",
                            "id": "string",
                            "reference": "string",
                            "status": "DRAFT",
                            "name": "string",
                            "description": "string",
                            "unit_name": {
                              "singular": "string",
                              "plural": "string"
                            },
                            "created_at": "string",
                            "updated_at": "string"
                          }
                        },
                        "fixed_amount": {
                          "quantity": "string",
                          "currency": "AED"
                        },
                        "maximum_amount": {
                          "quantity": "string",
                          "currency": "AED"
                        },
                        "minimum_amount": {
                          "quantity": "string",
                          "currency": "AED"
                        },
                        "maximum_number": "string",
                        "minimum_number": "string",
                        "block_size": {
                          "number": "string",
                          "amount": {
                            "quantity": "string",
                            "currency": "AED"
                          },
                          "count": "string"
                        },
                        "tier_top_bound": {
                          "number": "string",
                          "amount": {
                            "quantity": "string",
                            "currency": "AED"
                          },
                          "count": "string"
                        }
                      }
                    ]
                  }
                ],
                "billing_period_configs": [
                  {
                    "billing_period": {
                      "type": "DAY",
                      "value": 1
                    },
                    "configs": [
                      {
                        "object_type": "string",
                        "id": "string",
                        "original_pricing_item_config_id": "string",
                        "original_pricing_item_config": {},
                        "details": {
                          "billing_period": {
                            "type": "DAY",
                            "value": 1
                          },
                          "pricing_type": "FLAT",
                          "pricing_period": {
                            "type": "DAY",
                            "value": 1
                          },
                          "bands": [
                            {
                              "amount": {
                                "quantity": "string",
                                "currency": "AED"
                              },
                              "percentage": "string",
                              "credits": {
                                "quantity": "string",
                                "credit_type_id": "string",
                                "credit_type": {
                                  "object_type": "string",
                                  "id": "string",
                                  "reference": "string",
                                  "status": "DRAFT",
                                  "name": "string",
                                  "description": "string",
                                  "unit_name": {
                                    "singular": "string",
                                    "plural": "string"
                                  },
                                  "created_at": "string",
                                  "updated_at": "string"
                                }
                              },
                              "fixed_amount": {
                                "quantity": "string",
                                "currency": "AED"
                              },
                              "maximum_amount": {
                                "quantity": "string",
                                "currency": "AED"
                              },
                              "minimum_amount": {
                                "quantity": "string",
                                "currency": "AED"
                              },
                              "maximum_number": "string",
                              "minimum_number": "string",
                              "block_size": {
                                "number": "string",
                                "amount": {
                                  "quantity": "string",
                                  "currency": "AED"
                                },
                                "count": "string"
                              },
                              "tier_top_bound": {
                                "number": "string",
                                "amount": {
                                  "quantity": "string",
                                  "currency": "AED"
                                },
                                "count": "string"
                              }
                            }
                          ]
                        },
                        "billing_period": {
                          "type": "DAY",
                          "value": 1
                        },
                        "pricing_period": {
                          "type": "DAY",
                          "value": 1
                        },
                        "default_included_volume": {
                          "number": "string",
                          "amount": {
                            "quantity": "string",
                            "currency": "AED"
                          },
                          "count": "string",
                          "reset_type": "string"
                        },
                        "default_seats_value": {
                          "number": "string",
                          "amount": {
                            "quantity": "string",
                            "currency": "AED"
                          },
                          "count": "string"
                        },
                        "default_units": {
                          "number": "string",
                          "amount": {
                            "quantity": "string",
                            "currency": "AED"
                          },
                          "count": "string"
                        },
                        "conditions": {
                          "name": "string",
                          "meter_properties": [
                            {
                              "id": "string",
                              "reference": "string",
                              "meter_property": {
                                "object_type": "string",
                                "id": "string",
                                "reference": "string",
                                "name": "string",
                                "description": "string",
                                "status": "DRAFT",
                                "type": "NUMBER",
                                "enum_values": [
                                  "string"
                                ]
                              },
                              "value": "string",
                              "values": [
                                "string"
                              ],
                              "meter_property_variable_id": "string",
                              "meter_property_variable": {
                                "object_type": "string",
                                "id": "string",
                                "reference": "string",
                                "name": "string",
                                "description": "string",
                                "meter_property_id": "string",
                                "type": "LIST",
                                "status": "DRAFT",
                                "value_count": 1,
                                "created_at": "string",
                                "updated_at": "string"
                              },
                              "comparator": "EQUALS"
                            }
                          ],
                          "configs": [
                            {}
                          ]
                        },
                        "tiering_conditions": {
                          "name": "string",
                          "expression": {
                            "operator": "AND",
                            "operands": [
                              {
                                "meter_property": {
                                  "id": "string",
                                  "reference": "string",
                                  "meter_property": {
                                    "object_type": "string",
                                    "id": "string",
                                    "reference": "string",
                                    "name": "string",
                                    "description": "string",
                                    "status": "DRAFT",
                                    "type": "NUMBER",
                                    "enum_values": [
                                      "string"
                                    ]
                                  },
                                  "value": "string",
                                  "values": [
                                    "string"
                                  ],
                                  "meter_property_variable_id": "string",
                                  "meter_property_variable": {
                                    "object_type": "string",
                                    "id": "string",
                                    "reference": "string",
                                    "name": "string",
                                    "description": "string",
                                    "meter_property_id": "string",
                                    "type": "LIST",
                                    "status": "DRAFT",
                                    "value_count": 1,
                                    "created_at": "string",
                                    "updated_at": "string"
                                  },
                                  "comparator": "EQUALS"
                                },
                                "expression": {}
                              }
                            ]
                          },
                          "meter_properties": [
                            {
                              "id": "string",
                              "reference": "string",
                              "meter_property": {
                                "object_type": "string",
                                "id": "string",
                                "reference": "string",
                                "name": "string",
                                "description": "string",
                                "status": "DRAFT",
                                "type": "NUMBER",
                                "enum_values": [
                                  "string"
                                ]
                              },
                              "value": "string",
                              "values": [
                                "string"
                              ],
                              "meter_property_variable_id": "string",
                              "meter_property_variable": {
                                "object_type": "string",
                                "id": "string",
                                "reference": "string",
                                "name": "string",
                                "description": "string",
                                "meter_property_id": "string",
                                "type": "LIST",
                                "status": "DRAFT",
                                "value_count": 1,
                                "created_at": "string",
                                "updated_at": "string"
                              },
                              "comparator": "EQUALS"
                            }
                          ]
                        },
                        "order": 1,
                        "billing_in_advance": true,
                        "volume_group_reference": "string",
                        "top_up": {
                          "rollover": true
                        },
                        "split_pricing": {
                          "meter_properties": [
                            {
                              "id": "string",
                              "reference": "string",
                              "value": "string",
                              "meter_property": {
                                "object_type": "string",
                                "id": "string",
                                "reference": "string",
                                "name": "string",
                                "description": "string",
                                "status": "DRAFT",
                                "type": "NUMBER",
                                "enum_values": [
                                  "string"
                                ]
                              }
                            }
                          ]
                        },
                        "on_demand": true,
                        "wallet_grants": [
                          {
                            "wallet_type_id": "string",
                            "wallet_type": {
                              "object_type": "string",
                              "id": "string",
                              "name": "string",
                              "reference": "string",
                              "status": "DRAFT",
                              "type": "CREDIT",
                              "credit": {
                                "grant_type": "CREDITS",
                                "amount_grant": {
                                  "default_currency": "AED",
                                  "tax_category": "STANDARD"
                                },
                                "credits_grant": {
                                  "credit_type_id": "string"
                                }
                              },
                              "balance": {
                                "default_currency": "string"
                              },
                              "created_at": "string",
                              "updated_at": "string"
                            },
                            "amount_grant": {
                              "amount": {
                                "quantity": "string",
                                "currency": "AED"
                              },
                              "percentage": "string"
                            },
                            "credits_grant": {
                              "credits": {
                                "quantity": "string",
                                "credit_type_id": "string",
                                "credit_type": {
                                  "object_type": "string",
                                  "id": "string",
                                  "reference": "string",
                                  "status": "DRAFT",
                                  "name": "string",
                                  "description": "string",
                                  "unit_name": {
                                    "singular": "string",
                                    "plural": "string"
                                  },
                                  "created_at": "string",
                                  "updated_at": "string"
                                }
                              },
                              "conversion": {
                                "credit_type_id": "string",
                                "rate": "string"
                              }
                            },
                            "expiry_policy": {
                              "expiry_period": {
                                "type": "DAY",
                                "value": 1
                              }
                            },
                            "source": "FIXED"
                          }
                        ],
                        "type": "FLAT",
                        "pricing_type": "FLAT",
                        "bands": [
                          {
                            "amount": {
                              "quantity": "string",
                              "currency": "AED"
                            },
                            "percentage": "string",
                            "credits": {
                              "quantity": "string",
                              "credit_type_id": "string",
                              "credit_type": {
                                "object_type": "string",
                                "id": "string",
                                "reference": "string",
                                "status": "DRAFT",
                                "name": "string",
                                "description": "string",
                                "unit_name": {
                                  "singular": "string",
                                  "plural": "string"
                                },
                                "created_at": "string",
                                "updated_at": "string"
                              }
                            },
                            "fixed_amount": {
                              "quantity": "string",
                              "currency": "AED"
                            },
                            "maximum_amount": {
                              "quantity": "string",
                              "currency": "AED"
                            },
                            "minimum_amount": {
                              "quantity": "string",
                              "currency": "AED"
                            },
                            "maximum_number": "string",
                            "minimum_number": "string",
                            "block_size": {
                              "number": "string",
                              "amount": {
                                "quantity": "string",
                                "currency": "AED"
                              },
                              "count": "string"
                            },
                            "tier_top_bound": {
                              "number": "string",
                              "amount": {
                                "quantity": "string",
                                "currency": "AED"
                              },
                              "count": "string"
                            }
                          }
                        ]
                      }
                    ]
                  }
                ],
                "fallback_currency": "AED"
              }
            ],
            "billing_period_configs": [
              {
                "billing_period": {
                  "type": "DAY",
                  "value": 1
                },
                "configs": [
                  {
                    "object_type": "string",
                    "id": "string",
                    "original_pricing_item_config_id": "string",
                    "original_pricing_item_config": {},
                    "details": {
                      "billing_period": {
                        "type": "DAY",
                        "value": 1
                      },
                      "pricing_type": "FLAT",
                      "pricing_period": {
                        "type": "DAY",
                        "value": 1
                      },
                      "bands": [
                        {
                          "amount": {
                            "quantity": "string",
                            "currency": "AED"
                          },
                          "percentage": "string",
                          "credits": {
                            "quantity": "string",
                            "credit_type_id": "string",
                            "credit_type": {
                              "object_type": "string",
                              "id": "string",
                              "reference": "string",
                              "status": "DRAFT",
                              "name": "string",
                              "description": "string",
                              "unit_name": {
                                "singular": "string",
                                "plural": "string"
                              },
                              "created_at": "string",
                              "updated_at": "string"
                            }
                          },
                          "fixed_amount": {
                            "quantity": "string",
                            "currency": "AED"
                          },
                          "maximum_amount": {
                            "quantity": "string",
                            "currency": "AED"
                          },
                          "minimum_amount": {
                            "quantity": "string",
                            "currency": "AED"
                          },
                          "maximum_number": "string",
                          "minimum_number": "string",
                          "block_size": {
                            "number": "string",
                            "amount": {
                              "quantity": "string",
                              "currency": "AED"
                            },
                            "count": "string"
                          },
                          "tier_top_bound": {
                            "number": "string",
                            "amount": {
                              "quantity": "string",
                              "currency": "AED"
                            },
                            "count": "string"
                          }
                        }
                      ]
                    },
                    "billing_period": {
                      "type": "DAY",
                      "value": 1
                    },
                    "pricing_period": {
                      "type": "DAY",
                      "value": 1
                    },
                    "default_included_volume": {
                      "number": "string",
                      "amount": {
                        "quantity": "string",
                        "currency": "AED"
                      },
                      "count": "string",
                      "reset_type": "string"
                    },
                    "default_seats_value": {
                      "number": "string",
                      "amount": {
                        "quantity": "string",
                        "currency": "AED"
                      },
                      "count": "string"
                    },
                    "default_units": {
                      "number": "string",
                      "amount": {
                        "quantity": "string",
                        "currency": "AED"
                      },
                      "count": "string"
                    },
                    "conditions": {
                      "name": "string",
                      "meter_properties": [
                        {
                          "id": "string",
                          "reference": "string",
                          "meter_property": {
                            "object_type": "string",
                            "id": "string",
                            "reference": "string",
                            "name": "string",
                            "description": "string",
                            "status": "DRAFT",
                            "type": "NUMBER",
                            "enum_values": [
                              "string"
                            ]
                          },
                          "value": "string",
                          "values": [
                            "string"
                          ],
                          "meter_property_variable_id": "string",
                          "meter_property_variable": {
                            "object_type": "string",
                            "id": "string",
                            "reference": "string",
                            "name": "string",
                            "description": "string",
                            "meter_property_id": "string",
                            "type": "LIST",
                            "status": "DRAFT",
                            "value_count": 1,
                            "created_at": "string",
                            "updated_at": "string"
                          },
                          "comparator": "EQUALS"
                        }
                      ],
                      "configs": [
                        {}
                      ]
                    },
                    "tiering_conditions": {
                      "name": "string",
                      "expression": {
                        "operator": "AND",
                        "operands": [
                          {
                            "meter_property": {
                              "id": "string",
                              "reference": "string",
                              "meter_property": {
                                "object_type": "string",
                                "id": "string",
                                "reference": "string",
                                "name": "string",
                                "description": "string",
                                "status": "DRAFT",
                                "type": "NUMBER",
                                "enum_values": [
                                  "string"
                                ]
                              },
                              "value": "string",
                              "values": [
                                "string"
                              ],
                              "meter_property_variable_id": "string",
                              "meter_property_variable": {
                                "object_type": "string",
                                "id": "string",
                                "reference": "string",
                                "name": "string",
                                "description": "string",
                                "meter_property_id": "string",
                                "type": "LIST",
                                "status": "DRAFT",
                                "value_count": 1,
                                "created_at": "string",
                                "updated_at": "string"
                              },
                              "comparator": "EQUALS"
                            },
                            "expression": {}
                          }
                        ]
                      },
                      "meter_properties": [
                        {
                          "id": "string",
                          "reference": "string",
                          "meter_property": {
                            "object_type": "string",
                            "id": "string",
                            "reference": "string",
                            "name": "string",
                            "description": "string",
                            "status": "DRAFT",
                            "type": "NUMBER",
                            "enum_values": [
                              "string"
                            ]
                          },
                          "value": "string",
                          "values": [
                            "string"
                          ],
                          "meter_property_variable_id": "string",
                          "meter_property_variable": {
                            "object_type": "string",
                            "id": "string",
                            "reference": "string",
                            "name": "string",
                            "description": "string",
                            "meter_property_id": "string",
                            "type": "LIST",
                            "status": "DRAFT",
                            "value_count": 1,
                            "created_at": "string",
                            "updated_at": "string"
                          },
                          "comparator": "EQUALS"
                        }
                      ]
                    },
                    "order": 1,
                    "billing_in_advance": true,
                    "volume_group_reference": "string",
                    "top_up": {
                      "rollover": true
                    },
                    "split_pricing": {
                      "meter_properties": [
                        {
                          "id": "string",
                          "reference": "string",
                          "value": "string",
                          "meter_property": {
                            "object_type": "string",
                            "id": "string",
                            "reference": "string",
                            "name": "string",
                            "description": "string",
                            "status": "DRAFT",
                            "type": "NUMBER",
                            "enum_values": [
                              "string"
                            ]
                          }
                        }
                      ]
                    },
                    "on_demand": true,
                    "wallet_grants": [
                      {
                        "wallet_type_id": "string",
                        "wallet_type": {
                          "object_type": "string",
                          "id": "string",
                          "name": "string",
                          "reference": "string",
                          "status": "DRAFT",
                          "type": "CREDIT",
                          "credit": {
                            "grant_type": "CREDITS",
                            "amount_grant": {
                              "default_currency": "AED",
                              "tax_category": "STANDARD"
                            },
                            "credits_grant": {
                              "credit_type_id": "string"
                            }
                          },
                          "balance": {
                            "default_currency": "string"
                          },
                          "created_at": "string",
                          "updated_at": "string"
                        },
                        "amount_grant": {
                          "amount": {
                            "quantity": "string",
                            "currency": "AED"
                          },
                          "percentage": "string"
                        },
                        "credits_grant": {
                          "credits": {
                            "quantity": "string",
                            "credit_type_id": "string",
                            "credit_type": {
                              "object_type": "string",
                              "id": "string",
                              "reference": "string",
                              "status": "DRAFT",
                              "name": "string",
                              "description": "string",
                              "unit_name": {
                                "singular": "string",
                                "plural": "string"
                              },
                              "created_at": "string",
                              "updated_at": "string"
                            }
                          },
                          "conversion": {
                            "credit_type_id": "string",
                            "rate": "string"
                          }
                        },
                        "expiry_policy": {
                          "expiry_period": {
                            "type": "DAY",
                            "value": 1
                          }
                        },
                        "source": "FIXED"
                      }
                    ],
                    "type": "FLAT",
                    "pricing_type": "FLAT",
                    "bands": [
                      {
                        "amount": {
                          "quantity": "string",
                          "currency": "AED"
                        },
                        "percentage": "string",
                        "credits": {
                          "quantity": "string",
                          "credit_type_id": "string",
                          "credit_type": {
                            "object_type": "string",
                            "id": "string",
                            "reference": "string",
                            "status": "DRAFT",
                            "name": "string",
                            "description": "string",
                            "unit_name": {
                              "singular": "string",
                              "plural": "string"
                            },
                            "created_at": "string",
                            "updated_at": "string"
                          }
                        },
                        "fixed_amount": {
                          "quantity": "string",
                          "currency": "AED"
                        },
                        "maximum_amount": {
                          "quantity": "string",
                          "currency": "AED"
                        },
                        "minimum_amount": {
                          "quantity": "string",
                          "currency": "AED"
                        },
                        "maximum_number": "string",
                        "minimum_number": "string",
                        "block_size": {
                          "number": "string",
                          "amount": {
                            "quantity": "string",
                            "currency": "AED"
                          },
                          "count": "string"
                        },
                        "tier_top_bound": {
                          "number": "string",
                          "amount": {
                            "quantity": "string",
                            "currency": "AED"
                          },
                          "count": "string"
                        }
                      }
                    ]
                  }
                ]
              }
            ],
            "display_order": 1
          }
        }
      ]
    }
  ],
  "balance_at": "string"
}
```

## Expiry

Expiry is configured on the wallet grant in the pricing plan, as a period rather than a fixed date. The `expiry_period` on the grant's expiry policy is measured from the grant's `start_at`, so a one-month expiry period on a monthly recurring grant means each month's credits expire as the next month's credits arrive.

At `expire_at`, whatever is left in that grant stops being spendable. The remaining credits do not roll into another grant and they do not extend: the grant simply stops contributing to `balance`. Other grants in the same wallet are unaffected.

A grant with no expiry policy never expires. Its credits stay spendable until they are consumed.

> **Warning**
>
> Expiry applies per grant, not per wallet. A wallet balance can drop at the turn of a period even though no usage was recorded, because an expiring grant left the balance. Reconcile per grant (`GET /v{version}/wallet-grants`) when a balance change looks unexplained.

### Rollover on top-ups

A top-up pricing item exposes a `rollover` flag. With `rollover` enabled, an unused balance from the previous period carries into the next period instead of expiring with it. With it disabled, the balance resets each period. Rollover is a property of the top-up configuration, not of the wallet, so two top-up items funding the same wallet can behave differently.

## Edge cases

* **Balance never goes negative.** Once a wallet is empty, further usage is either charged in currency through a credit overage item or not charged at all. See [Credits in pricing plans](/platform-guides/wallets-credits/credits-in-pricing-plans).
* **A refunded or reversed top-up** does not claw credits back automatically. Create a compensating adjustment if credits were already consumed.
* **Low balance is an event, not a block.** A `WalletThreshold` and the wallet balance workflow trigger notify you or trigger an automatic top-up; they do not stop consumption.

See [Credit revenue and breakage](/platform-guides/wallets-credits/credit-revenue-and-breakage) for how consumption and expiry translate into recognised revenue.

---