# M3ter CustomField API

**Canonical:** https://apis.io/apis/m3ter/m3ter-customfield-api/  
**Provider:** M3ter — https://apis.io/providers/m3ter/  
**Base URL:** https://api.m3ter.com  
**Documentation:** https://www.m3ter.com/

M3ter CustomField API is one of 58 APIs that [M3ter](https://apis.io/providers/m3ter/) publishes on the [APIs.io](https://apis.io/) network, described by a machine-readable OpenAPI specification. Tagged areas include Custom Field. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, an API reference, authentication docs, and a getting-started guide.

Endpoints for retrieving and updating Custom Fields at the Organization level for all entities that support them. Custom Fields in m3ter allow you to store custom data in the form of number or string values against m3ter entities in a way that does not directly affect the normal working operation of the m3ter platform. Having this capability to store data in a free-hand fashion can prove very useful in helping you to meet specific usage-based pricing and other operational business use cases. However, you can exploit the values stored on Custom Fields in a more direct way by referencing them in Derived Field and Compound Aggregation calculations. Given the key role these calculations can play when implementing usage-based pricing schema, any Custom Fields you reference will then affect how the platform behaves. Referencing Custom Field values in your calculations offers a much wider scope of options when it comes to resolving complex usage-based pricing use cases. Custom Fields can be added to the following entities at Organizational level: * Organization * Account * AccountPlan * Aggregation * Compound Aggregation * Meter * Product * Plan * PlanTemplate * Contract These all follow the same pattern - a new *(optional)* field is available on the entity request and response bodies called "customFields" which is a object in this format: ``` "customFields": { "exampleCustomField1": 7.1, "exampleCustomField2": "stringValue" } ``` The value for a Custom Field can be a string or a number. **Using Custom Field values in calculations:** - You can add Custom Fields at two levels - the Organization level and the individual entity level. - The Organizational level field provides a default value and *must be added* if you want to also add a Custom Field of the same name at the corresponding individual entity level. If you reference the Custom Field in a calculation, the value for the individual entity level field is used. If no field is defined at individual entity level, then the Organization level field value is used. **Important: Constraints and Exceptions!** **Custom Fields at Organization Level**. Currently, you cannot create Custom Fields at the Organization-level for the following enitites: * Plan Group * Balance * Balance Transaction Schedule * Balance Charge Schedule Therefore you cannot reference the Custom Fields values created at the individual entity level for these entities in your Derived Field or Compound Aggregation calculations. **Derived Field Calculations**. You can *only reference Custom Fields* for the following entities: * Organization * Meter * Account However, if you are using Meters belonging to *a specific Product*, that is, not *Global Meters*, you can also reference Custom Fields added to a Product in Derived Field calculations. **Compound Aggregation Calculations - Meter Custom Fields**. The value of the *Organization level Meter Custom Field will always be used*, even if you have defined a corresponding field at the individual Meter level. See [Working with Custom Fields](https://www.m3ter.com/docs/guides/creating-and-managing-products/working-with-custom-fields) in the m3ter documentation for more information.

## Machine-readable artifacts (11)

- **OpenAPI** — https://raw.githubusercontent.com/api-evangelist/m3ter/refs/heads/main/openapi/m3ter-customfield-api-openapi.yml
- **Documentation** — https://docs.m3ter.com/
- **APIReference** — https://docs.m3ter.com/api
- **Authentication** — https://docs.m3ter.com/api/authentication
- **GettingStarted** — https://www.m3ter.com/docs/guides/m3ter-apis/getting-started-with-api-calls
- **SDKs** — https://github.com/m3ter-com/m3ter-sdk-python
- **SDKs** — https://github.com/m3ter-com/m3ter-sdk-node
- **SDKs** — https://github.com/m3ter-com/m3ter-sdk-java
- **SDKs** — https://github.com/m3ter-com/m3ter-sdk-go
- **SDKs** — https://github.com/m3ter-com/m3ter-sdk-typescript
- **TerraformProvider** — https://github.com/m3ter-com/terraform-provider-m3ter

## Other M3ter APIs (12)

- [M3ter Account API](https://apis.io/apis/m3ter/m3ter-account-api/)
- [M3ter AccountPlan API](https://apis.io/apis/m3ter/m3ter-accountplan-api/)
- [M3ter Aggregation API](https://apis.io/apis/m3ter/m3ter-aggregation-api/)
- [M3ter Auth API](https://apis.io/apis/m3ter/m3ter-auth-api/)
- [M3ter BalanceChargeSchedule API](https://apis.io/apis/m3ter/m3ter-balancechargeschedule-api/)
- [M3ter Balances API](https://apis.io/apis/m3ter/m3ter-balances-api/)
- [M3ter BalanceTransactionSchedule API](https://apis.io/apis/m3ter/m3ter-balancetransactionschedule-api/)
- [M3ter Bill API](https://apis.io/apis/m3ter/m3ter-bill-api/)
- [M3ter BillConfig API](https://apis.io/apis/m3ter/m3ter-billconfig-api/)
- [M3ter BillGroupingKey API](https://apis.io/apis/m3ter/m3ter-billgroupingkey-api/)
- [M3ter BillJob API](https://apis.io/apis/m3ter/m3ter-billjob-api/)
- [M3ter Charge API](https://apis.io/apis/m3ter/m3ter-charge-api/)

## Tags

Custom Field

---

Profiled by [API Evangelist](https://apievangelist.com) and published on [APIs.io](https://apis.io/apis/m3ter/m3ter-customfield-api/). The API's provider profile, Kin Score and agent-readiness rating are at https://apis.io/providers/m3ter/.
