---
title: "Set Meter"
method: PUT
path: "/plug/meters/{meterId}"
tags: ["Meters"]
---

# Set Meter

`PUT /plug/meters/{meterId}`

Each meter can have up to 10 custom data fields associated. Custom data fields are not required. Custom data allows you to organize meters and tie them back to records in your own system. To update a custom data field, the field must already have a defined label. To define a Custom Data label, you must use the [Update Organization Custom Data](https://docs.arcadia.com/reference/update-organization-custom-data) endpoint. This is a PUT method, which requires all fields be provided to ensure a complete update of the existing resource.

This endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).

## Path parameters

- `meterId` string, required

## Headers

- `Arcadia-Version` string, required

## Request body

- PlugPublicMeterRequest
  - `customData` object — You can use these fields to specify additional metadata.
  - `electricServiceIdentifier` string — The Electric Service Identifier (ESI ID) associated with the address for the meter. This field will be ignored when updating meters that are not associated with an intervals third party portal.
  - `isIntervalsProductActive` boolean — Indicates if intervals is activated for the meter.
  - `isStandalone` boolean — Indicates a meter is not expected to relate to a site.
  - `meterNumber` string — A meter identifier provided by the commodity provider (oftentimes the bill publisher). This field will be ignored when updating meters that are not associated with an intervals third party portal.
  - `retailCustomerEmail` string, email — The customer email address associated with the account for the meter. An email will be sent to this email address to grant data sharing access. This field will be ignored when updating meters that are not associated with an intervals third party portal.
  - `site` string — A physical location or facility associated with the meter. This field should be used to specify the site ID.

## Response `200`

OK

- PublicMeterResource
  - `accounts` PublicEmbeddedAccountResource[], required — An array of the accounts this meter belongs to. These accounts are searchable on `accountNumber` and `accountId`.
    - `accountNumber` string, required — An account identifier provided by the commodity provider (often times the bill publisher).
    - `id` string, required — A unique identifier for the entity.
  - `bulbType` string, nullable, required — Type or specification of light bulbs associated with the account, if applicable.
  - `correlationIds` string[], required — A list of correlationIds cascaded from all directly associated Credentials and Files.
  - `createdAt` string, date-time, nullable, required — A timestamp indicating when the entity was created.
  - `createdBy` string, nullable, required — User or system responsible for creating the entity.
  - `currentTariff` PublicTariffResource, nullable, required — The tariff the meter is currently on.
    - `provider` PublicProviderResource, nullable, required — The entity providing service and issuing bills (informally known as a utility).
      - `country` string, nullable, required — The country associated with the billing address.
      - `id` string, required — A unique identifier for the entity.
      - `intervalServiceTypes` string[], required — List of interval service types supported by this provider (e.g., ['electric', 'gas'])
      - `isIntervalDataSupported` boolean, nullable, required — Indicates whether the provider supports interval data
      - `isIntervalFileUploadSupported` boolean, nullable, required — Indicates whether the provider supports interval file upload
      - `isRealTimeCredentialValidationSupported` boolean, required — Indicates whether the provider supports credential validation
      - `name` string, nullable, required — The name of the utility service provider.
    - `tariffName` string, required — The name of the tariff.
  - `customData` PublicCustomDataResource, required — You can use these fields to specify additional metadata.
  - `earliestIntervalAt` string, date-time, nullable, required — A timestamp of the earliest interval available for the meter.
  - `generalDescriptionAsPrinted` string, nullable, required — A general description of the account or service as printed on the bill.
  - `id` string, required — A unique identifier for the entity.
  - `isIntervalsDormant` boolean, nullable, required — Indicates whether the meter is dormant based on interval job results and error codes.
  - `isIntervalsProductActive` boolean, required — Indicates if intervals is activated for the meter.
  - `isIntervalsThirdPartyPortalMeter` boolean, required — Indicates whether or not this meter is enrolled under an intervals third party portal.
  - `isLocationRecommendationIgnored` boolean, required — Indicates whether or not location recommendation should be ignored.
  - `isStandalone` boolean, required — Indicates a meter is not expected to relate to a site.
  - `lastModifiedAt` string, date-time, nullable, required — The timestamp indicating when this resource was last modified.
  - `lastModifiedBy` string, nullable, required — The user or system that last modified this resource.
  - `latestIntervalAt` string, date-time, nullable, required — A timestamp of the latest interval available for the meter
  - `latestIntervalsCheckedAt` string, date-time, nullable, required — A timestamp of the most recent intervals check Arcadia attempted.
  - `latestStatementDate` string, date, nullable, required — The date of the most recent statement.
  - `localTimezone` string, nullable, required — For meters that have intervals available, the meter's local timezone. The value can be any TZ identifier from this [this list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List).
  - `meterConstantMultiplier` number, nullable, required — The multiplier used to convert meter readings to actual usage values for the account. The first conversion after the meter delta is calculated
  - `meterNumber` string, nullable, required — A number assigned to the meter by the commodity provider.
  - `nextExpectedPostDate` string, date, nullable, required — The expected date for the next statement to be posted for this account.
  - `normalizedMeterNumber` string, nullable, required — The normalized version of the meter number (removing things like hyphens, underscores, and leading zeros).
  - `normalizedPointOfDeliveryNumber` string, nullable, required — The normalized version of the Point of Delivery number (removing things like hyphens, underscores, and leading zeros).
  - `pipeType` string, nullable, required — This field is only populated when the Service Type of the meter is water. This field describes the pipe type
  - `pointOfDeliveryNumber` string, nullable, required — The point of delivery number in deregulated markets is an independent identifier for meter location and used by all utility companies.
  - `previousMeterConstantMultiplier` number, nullable, required — The previous multiplier used to convert meter readings to actual usage values.
  - `previousMeterNumber` string, nullable, required — The number assigned to the previous meter used.
  - `provider` PublicProviderResource, nullable, required — The entity providing service and issuing bills (informally known as a utility).
    - `country` string, nullable, required — The country associated with the billing address.
    - `id` string, required — A unique identifier for the entity.
    - `intervalServiceTypes` string[], required — List of interval service types supported by this provider (e.g., ['electric', 'gas'])
    - `isIntervalDataSupported` boolean, nullable, required — Indicates whether the provider supports interval data
    - `isIntervalFileUploadSupported` boolean, nullable, required — Indicates whether the provider supports interval file upload
    - `isRealTimeCredentialValidationSupported` boolean, required — Indicates whether the provider supports credential validation
    - `name` string, nullable, required — The name of the utility service provider.
  - `serviceAddress` PublicAddressResource, nullable, required — Address associated with the service location for the account.
    - `addressType` 'FULL' | 'PARTIAL' | 'CUSTOMER_PREFERRED', required — Enumeration of strings field that indicates the comprehensiveness of the address for an account.
    - `city` string, nullable, required — The city associated with the billing address.
    - `country` string, nullable, required — The country associated with the billing address.
    - `fullAddress` string, nullable, required — The complete address associated with the account, including street address, city, postal code, and country.
    - `postalCode` string, nullable, required — The postal code or ZIP code associated with the address of the account.
    - `recipient` string, nullable, required — The recipient for the address.
    - `state` string, nullable, required — The state or province associated with the billing address of the account.
    - `streetLine1` string, nullable, required — The first line of the street address.
    - `streetLine2` string, nullable, required — The second line of the street address.
  - `serviceType` string, required — The type of service supported, such as electricity, water, or gas.
  - `serviceTypeClassification` 'CORE' | 'SUPPLEMENTAL', required — The classification for the service type depending on the comprehensiveness of data that can be returned.
  - `site` PublicSiteResource, nullable, required
    - `addressIssueType` 'INCOMPLETE_ADDRESS' | 'UNVERIFIED_ADDRESS' | 'VERIFIED_ADDRESS', nullable, required — Issue type of a site's address.
    - `area` integer, nullable, required — The area of the Site in square feet.
    - `buildingType` 'FULL_SERVICE_RESTAURANT' | 'HOSPITAL' | 'LARGE_HOTEL' | 'LARGE_OFFICE' | 'MEDIUM_OFFICE' | 'OUTPATIENT' | 'PRIMARY_SCHOOL' | 'QUICK_SERVICE_RESTAURANT' | 'RETAIL_STANDALONE' | 'RETAIL_STRIPMALL' | 'SECONDARY_SCHOOL' | 'SMALL_HOTEL' | 'SMALL_OFFICE' | 'WAREHOUSE' | 'OTHER', nullable, required — The type of building.
    - `buildingTypeGroup` 'EDUCATION' | 'FOOD_SERVICE' | 'HEALTHCARE' | 'LODGING' | 'MERCANTILE' | 'OFFICE' | 'WAREHOUSE_AND_STORAGE' | 'OTHER', nullable, required — The group of building types.
    - `createdAt` string, date-time, nullable, required — A timestamp indicating when the entity was created.
    - `createdBy` string, nullable, required — User or system responsible for creating the entity.
    - `facilityType` string, nullable, required — Custom field for you to input site’s facility type. Deprecated in favor of buildingType.
    - `heatingFuel` 'ELECTRICITY' | 'NATURAL_GAS' | 'PROPANE' | 'DISTRICT' | 'FUEL_OIL' | 'OTHER' | 'NONE', nullable, required — The type of heating fuel used in the Site.
    - `hvacCoolType` 'CHILLER' | 'DIRECT_EXPANSION' | 'DISTRICT' | 'EVAPORATIVE' | 'HEAT_PUMP' | 'OTHER' | 'NONE', nullable, required — The type of cooling system in the Site.
    - `hvacHeatType` 'DISTRICT' | 'ELECTRIC_RESISTANCE' | 'FURNACE_OR_BOILER' | 'HEAT_PUMP' | 'OTHER' | 'NONE', nullable, required — The type of heating system in the Site.
    - `hvacVentType` 'ROOFTOP_UNIT' | 'ZONE_TERMINAL' | 'FORCED_AIR' | 'OTHER' | 'NONE', nullable, required — The type of ventilation system in the Site.
    - `id` string, required — A unique identifier for the entity.
    - `isLocationRecommendationIgnored` boolean, required — Indicates if a site has been opted out of address verification.
    - `lastModifiedAt` string, date-time, nullable, required — The timestamp indicating when this resource was last modified.
    - `lastModifiedBy` string, nullable, required — The user or system that last modified this resource.
    - `meterIds` string[], nullable, required — Deprecated: prefer listing Meters filtered by siteId. An array of unique identifiers for multiple meters. Null for non-root users.
    - `numberOfStories` integer, nullable, required — The number of stories of the Site.
    - `region` string, nullable, required — The region or geographic area associated with the Site.
    - `serviceAddress` PublicAddressResource, nullable, required — Address associated with the service location for the account.
      - `addressType` 'FULL' | 'PARTIAL' | 'CUSTOMER_PREFERRED', required — Enumeration of strings field that indicates the comprehensiveness of the address for an account.
      - `city` string, nullable, required — The city associated with the billing address.
      - `country` string, nullable, required — The country associated with the billing address.
      - `fullAddress` string, nullable, required — The complete address associated with the account, including street address, city, postal code, and country.
      - `postalCode` string, nullable, required — The postal code or ZIP code associated with the address of the account.
      - `recipient` string, nullable, required — The recipient for the address.
      - `state` string, nullable, required — The state or province associated with the billing address of the account.
      - `streetLine1` string, nullable, required — The first line of the street address.
      - `streetLine2` string, nullable, required — The second line of the street address.
    - `siteCode` string, nullable, required — A code or identifier assigned to a specific site.
    - `siteName` string, nullable, required — The name or label assigned to a specific Site.
    - `siteNumber` string, nullable, required — The number or identifier assigned to a specific Site.
    - `subRegion` string, nullable, required — A subregion or subdivision within a larger region, such as a county or district.
    - `totalMeters` integer, required — Total number of meters associated with this site.
    - `yearBuilt` integer, nullable, required — The year the Site was built.
  - `status` 'INTERVALS_NOT_REQUESTED' | 'INTERVALS_IN_PROGRESS' | 'INTERVALS_SUCCESS' | 'INTERVALS_FAILURE' | 'INTERVALS_NOT_SUPPORTED' | 'INTERVALS_PENDING', required — Status of the resource.
  - `statusDetail` 'INTERVALS_EXTRACTION_NOT_REQUESTED' | 'INTERVALS_EXTRACTION_IN_PROGRESS' | 'INTERVALS_AVAILABLE' | 'INVALID_CREDENTIALS' | 'ACCOUNT_INACCESSIBLE' | 'INTERVALS_ACCESS_ERROR' | 'SERVICE_TYPE_NOT_SUPPORTED' | 'PROVIDER_NOT_SUPPORTED' | 'INTERVALS_NOT_PUBLISHED' | 'UTILITY_SITE_ERROR' | 'REQUIRES_ENROLLMENT' | 'EMAIL_APPROVAL' | 'UNSUCCESSFUL_EMAIL_APPROVAL' | 'USER_REVOKED_ACCESS' | 'INTERVALS_DISCOVERY_QUEUED' | 'INTERVALS_DISCOVERY_IN_PROGRESS' | 'INTERVALS_DISCOVERY_FAILED', required — Reason the resource has the current status.
  - `voidedAt` string, date-time, nullable, required — A timestamp indicating when the entity was voided. This value resets to null if the entity is unvoided. See event history for additional context.

---

[API](https://skmtc.net/arcadia/apis/plug-api.md) · [All operations](https://skmtc.net/arcadia/apis/plug-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/arcadia/plug-api/revisions/d00587742116/schema)
