---
title: "Add Meters to a Site"
method: PATCH
path: "/plug/sites/{siteId}/meters"
tags: ["Sites"]
---

# Add Meters to a Site

`PATCH /plug/sites/{siteId}/meters`

This endpoint allows you to associate a list of meters with a site. Provide a non-empty list of meter IDs in the request body to add the specified meters to the site.

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

## Path parameters

- `siteId` string, required

## Headers

- `Arcadia-Version` string, required

## Request body

- PublicSiteMeterRequest
  - `meterIds` string[], required — An array of unique identifiers for multiple meters.

## Response `200`

OK

- PagedPublicMeterResource
  - `meters` PublicMeterResource[], required — An array of meters.
    - `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.
  - `page` PageMetadata, required — Specifies which page of results to return; this is 0-indexed
    - `number` integer, required
    - `size` integer, required
    - `totalElements` integer, required
    - `totalPages` integer, required

---

[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/versions/d00587742116/schema)
