Leap provisional assets API

The provisional assets API from Leap — 2 operation(s) for provisional assets.

OpenAPI Specification

leap-provisional-assets-api-openapi.yml Raw ↑
openapi: 3.0.2
info:
  description: Endpoints to create or update meters in bulk through Leap's API.
  title: create meters provisional assets API
  version: 1.1.0
servers:
- description: Leap staging API
  url: https://api.staging.leap.energy
- description: Leap production API
  url: https://api.leap.energy
security:
- Bearer: []
tags:
- name: provisional assets
paths:
  /v1.1/provisional-assets:
    get:
      description: Lists all provisional assets that were created through Meter Batch Jobs. Especially handy if you create multiple smaller jobs and just want to have an overview of all provisional assets that were created through those.
      operationId: listProvisionalAssets
      parameters:
      - description: 'One or more filters to apply. Uses the `AND` approach, so all filters should match for provisional assets to show up.  Use the `/v1.1/provisional-assets-filters` endpoint to retrieve all available  filters that can be applied when querying provisional assets. When you provide multiple values for a key (e.g. transmission_region), the IN operator is used. Combine multiple filters like this: `?filter=transmission_region:CAISO,NYISO&filter=partner_reference:123`'
        example:
        - transmission_region:CAISO,NYISO
        - partner_reference:123
        explode: true
        in: query
        name: filter
        required: false
        schema:
          items:
            type: string
          type: array
        style: form
      - description: If there are more provisional assets to fetch, this token will be populated as `next_page_token` in the response. Use it to fetch the next page of provisional assets.
        explode: true
        in: query
        name: page_token
        required: false
        schema:
          type: string
        style: form
      - description: Amount of results to return. Defaults to 100.
        explode: true
        in: query
        name: page_size
        required: false
        schema:
          default: 100
          type: integer
        style: form
      - description: Search query to apply. Comma-separate multiple values. This is a free-text search that will be applied when searching through the provisional assets. Define the fields to search through in the `search_fields` parameter.
        example: serial-001
        explode: true
        in: query
        name: search_query
        required: false
        schema:
          type: string
        style: form
      - description: Fields to search through. Required if `search_query` is provided. If the string from `search_query` is found in any of these fields, the provisional asset will be included in the results.
        example:
        - partner_reference
        - device_serial_number
        explode: true
        in: query
        name: search_fields
        required: false
        schema:
          items:
            type: string
          minItems: 0
          type: array
        style: form
      responses:
        '200':
          content:
            application/json:
              example:
                provisional_assets:
                - job_id: 514dc8d0-7dff-4bd3-9737-f1f49a6e99ed
                  partner_reference: my-caiso-device-serial-2
                  status: DUPLICATE
                  status_detail:
                    name: DUPLICATE_REF_ID
                    description: Partner reference ID already exists.
                  created_at: 2024-03-12 10:15:00+00:00
                - job_id: e21fb44f-ecd9-49e4-bade-067f5abf7ded
                  partner_reference: my-caiso-device-serial-1
                  status: PROCESSING
                  status_detail: {}
                  created_at: 2024-03-12 09:00:00+00:00
                next_page_token: token123
              schema:
                $ref: '#/components/schemas/ListProvisionalAssetsResponse'
            text/csv:
              example: 'job_id,partner_reference,status,status_detail.description,data.partner_reference,data.transmission_region,data.customer_classification,data.load_types.0,data.load_types.1,data.meter_type,data.customer.street_1,data.customer.postal_code,data.customer.city,data.customer.state_or_province_code,data.customer.country_code,data.customer.street_2,data.customer.end_customer_name,data.customer.end_customer_title,data.customer.end_customer_email,data.customer.end_customer_phone_number,data.customer.end_customer_company_name,data.customer.partner_offering_name,data.customer.partner_offering_date,data.customer.dispatch_option,data.customer.billing.street_1,data.customer.billing.postal_code,data.customer.billing.city,data.customer.billing.state_or_province_code,data.customer.billing.country_code,data.customer.billing.street_2,data.device.device_serial_number,data.device.device_model,data.device.device_manufacturer,data.device.install_date,data.device.permission_to_operate_date,data.site.load_zone,data.site.generator_manufacturer,data.site.generator_fuel_type,data.site.generator_serial_number,data.nyiso.existing_nyiso_resource_id,data.utility.utility_name,data.utility.load_serving_entity,data.utility.electric_service_account_number,data.utility.tariff,data.utility.voltage,data.utility.utility_meter_serial_number,created_at,status_detail.failed_fields.0.key,status_detail.failed_fields.0.value

                "514dc8d0-7dff-4bd3-9737-f1f49a6e99ed",my-caiso-device-serial-2,DUPLICATE,Partner reference ID found on meter ID 72c06683-ca85-43b7-9a6a-dc72d2bf6244. A unique reference ID is required.,my-caiso-device-serial-2,ISONE,COMMERCIAL,BATTERY_STORAGE,MANUFACTURING,DEVICE,ST Main Av 2,90002,Los Angeles,CA,US,Main ST Av 2,Audrey,Mrs.,audrey@dummyemail.com,(206) 342-8631,Audrey John Ltd.,partnerOfferingName,2024-03-12,TARGETED,billing street 1,54321,Atlanta,GA,US,billing street 2,serial-1,model-1,manufacturer-1,2024-03-12,2024-03-12,Load Zone,Gen Manufacturer,DUAL_FUEL,generator serial number,existing resource id,SCE,loadServingEntity,electricServiceAgreementNumber,tariff,voltage,utility-meter-serial-number,2023-02-13T14:29:51Z,,

                "e21fb44f-ecd9-49e4-bade-067f5abf7ded",my-caiso-device-serial-1,PROCESSING,,my-caiso-device-serial-1,ISONE,COMMERCIAL,BATTERY_STORAGE,MANUFACTURING,DEVICE,ST Main Av 1,90001,Los Angeles,CA,US,Main ST Av 1,Audrey,Mrs.,audrey@dummyemail.com,(206) 342-8631,Audrey John Ltd.,partnerOfferingName,2024-03-12,TARGETED,billing street 1,54321,Atlanta,GA,US,billing street 2,serial-1,model-1,manufacturer-1,2024-03-12,2024-03-12,Load Zone,Gen Manufacturer,DUAL_FUEL,generator serial number,existing resource id,SCE,loadServingEntity,electricServiceAgreementNumber,tariff,voltage,utility-meter-serial-number,2023-02-13T14:29:51Z,,

                "e21fb44f-ecd9-49e4-bade-067f5abf7ded",my-caiso-device-serial-2,FAILED,,my-caiso-device-serial-2,ISONE,COMMERCIAL,BATTERY_STORAGE,MANUFACTURING,DEVICE,ST Main Av 2,90002,Los Angeles,CA,US,Main ST Av 2,Audrey,Mrs.,audrey@dummyemail.com,(206) 342-8631,Audrey John Ltd.,partnerOfferingName,2024-03-12,TARGETED,billing street 1,54321,Atlanta,GA,US,billing street 2,serial-1,model-1,manufacturer-1,2024-03-12,2024-03-12,Load Zone,Gen Manufacturer,DUAL_FUEL,generator serial number,existing resource id,SCE,loadServingEntity,electricServiceAgreementNumber,tariff,voltage,utility-meter-serial-number,2023-02-06T10:15:00Z,field,message'
              schema:
                type: string
          description: Provisional assets
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: Validation error if invalid filters are provided
      summary: List provisional assets
      tags:
      - provisional assets
  /v1.1/provisional-assets-filters:
    get:
      description: '[Leap frontend only] lists filters that can be used to filter provisional assets.'
      operationId: listProvisionalAssetsFilters
      responses:
        '200':
          content:
            application/json:
              example:
                filter_options:
                - key: status
                  values:
                  - PROCESSING
                  - FAILED
                  - DUPLICATE
                  - COMPLETED
                  - MULTIPLE_PARTNER_REFERENCE
                - key: transmission_region
                  values:
                  - CAISO
                  - NYISO
                  - ISONE
              schema:
                $ref: '#/components/schemas/ListProvisionalAssetsFiltersResponse'
          description: Provisional assets filters
      summary: List provisional assets filters
      tags:
      - provisional assets
components:
  schemas:
    KeyValueFilter:
      example:
        key: key
        values:
        - values
        - values
      properties:
        key:
          type: string
        values:
          items:
            type: string
          type: array
      required:
      - key
      - values
      type: object
    Caiso:
      example:
        is_receiving_sgip_funding: true
        nem_type: NEM2
      properties:
        is_receiving_sgip_funding:
          description: Only needed if the battery is installed after June 30, 2023 to verify eligibility for no baseline.
          type: boolean
        nem_type:
          $ref: '#/components/schemas/NemType'
      type: object
    NemType:
      description: Is the battery under NEM2 or NEM3 rules
      enum:
      - NEM2
      - NEM3
      type: string
    company_type:
      description: Required for customers enrolling in PSEGLI CSRP/DLRP
      enum:
      - INDIVIDUAL_OR_SOLE_PROPRIETOR
      - LIMITED_LIABILITY_COMPANY
      - PARTNERSHIP
      - CORPORATION
      - OTHER
      - EXEMPT_PAYEE
      type: string
    Customer:
      example:
        street_1: 132 My Street
        street_2: Apartment 32
        postal_code: '10001'
        city: New York
        state_or_province_code: NY
        country_code: US
        end_customer_name: Customer Name
        end_customer_title: Mrs.
        end_customer_email: email@address.com
        end_customer_phone_number: (123) 123-4567
        end_customer_company_name: Company Name Inc.
        partner_offering_name: Offering Name
        partner_offering_date: 2000-01-23
        is_in_wholesale_capacity_market: true
        dispatch_option: DAILY
        billing:
          street_1: 132 My Billing Street
          street_2: Apartment 32
          postal_code: '90210'
          city: Los Angeles
          state_or_province_code: CA
          country_code: US
        partner_customer_reference: partner-customer-reference-1
      properties:
        street_1:
          description: Physical street this asset is located in. If you need to provide extensions like apartment or unit number, please add those to the 'street2' field.
          example: 132 My Street
          maxLength: 128
          minLength: 1
          pattern: ^[’'+#"@()/&.,;\sA-Za-zÀ-ɏḀ-ỿ0-9\-|\\]{1,128}$
          type: string
        street_2:
          description: Provide extensions like apartment or unit number here.
          example: Apartment 32
          maxLength: 128
          minLength: 1
          pattern: ^[’'+#"@()/&.,;\sA-Za-zÀ-ɏḀ-ỿ0-9\-|\\]{1,128}$
          type: string
        postal_code:
          description: Postal code of the location this asset is located in.
          example: '10001'
          pattern: ^[0-9]{5}(?:-[0-9]{4})?$
          type: string
        city:
          description: City this asset is located in.
          example: New York
          maxLength: 128
          minLength: 1
          pattern: ^[’'+#"@()/&.,;\sA-Za-zÀ-ɏḀ-ỿ0-9\-]{1,128}$
          type: string
        state_or_province_code:
          description: State or province this asset is located in.
          example: NY
          maxLength: 2
          minLength: 2
          type: string
        country_code:
          default: US
          description: ISO 3166-1 alpha-2 country code of the country this asset is located in.
          example: US
          maxLength: 2
          minLength: 2
          type: string
        end_customer_name:
          description: End customer name or contact name
          example: Customer Name
          maxLength: 128
          minLength: 1
          pattern: ^(?!.*[�\u00A0\uFFFD?])[\s\S]{1,128}$
          type: string
        end_customer_title:
          description: Title of the primary contact for the end customer; only applicable for Commercial & Industrial customers
          example: Mrs.
          maxLength: 15
          minLength: 1
          pattern: ^[’'+#"@()/&.,;\sA-Za-zÀ-ɏḀ-ỿ0-9\-]{1,128}$
          type: string
        end_customer_email:
          description: The customer email address
          example: email@address.com
          format: email
          maxLength: 128
          minLength: 3
          type: string
        end_customer_phone_number:
          description: This would ideally be the phone number on file with the LSE; it may be used by the CEC and/or Utility Distribution Company (UDC) for verification purposes; please do not use any special characters for this column, and do not include a "1" at the front of the phone number.
          example: (123) 123-4567
          maxLength: 32
          minLength: 3
          type: string
        end_customer_company_name:
          description: Legal company name of the end customer site; only applicable for Commercial & Industrial customers
          example: Company Name Inc.
          maxLength: 128
          minLength: 1
          pattern: ^[’'+#"@()/&.,;\sA-Za-zÀ-ɏḀ-ỿ0-9\-]{1,128}$
          type: string
        partner_offering_name:
          description: 'The name of Partner''s program/offering in which the end-customer enrolled/contracted. '
          example: Offering Name
          maxLength: 128
          minLength: 1
          type: string
        partner_offering_date:
          description: Date in which the end customer enrolled in Partner's offering
          format: date
          type: string
        is_in_wholesale_capacity_market:
          description: Forward Capacity Market in ISONE
          type: boolean
        dispatch_option:
          $ref: '#/components/schemas/DispatchOption'
        billing:
          $ref: '#/components/schemas/Customer_billing'
        partner_customer_reference:
          description: Partner identifier for customer or site. This should match the refId used in Leap Connect when combining  customer-supplied data in Leap Connect with partner-supplied data in Create Meters/Meter Uploads.
          example: partner-customer-reference-1
          maxLength: 256
          minLength: 3
          pattern: ^[^\/\\?\]\[{}!#$%^&*()<>|]{3,256}$
          type: string
      required:
      - city
      - country_code
      - postal_code
      - state_or_province_code
      - street_1
      type: object
    ProvisionalAssetStatus:
      enum:
      - PROCESSING
      - FAILED
      - DUPLICATE
      - COMPLETED
      - MULTIPLE_PARTNER_REFERENCE
      type: string
    ListProvisionalAssetsFiltersResponse:
      example:
        filter_options:
        - key: key
          values:
          - values
          - values
        - key: key
          values:
          - values
          - values
      properties:
        filter_options:
          items:
            $ref: '#/components/schemas/KeyValueFilter'
          type: array
      required:
      - filter_options
      type: object
    DeviceType:
      description: Type of device on premise
      enum:
      - BATTERY
      - GENERATOR
      - EV
      - EV_CHARGER
      - BIDIRECTIONAL_EV_CHARGER
      - SMART_THERMOSTAT
      - AIR_CONDITIONER
      - HEAT_PUMP
      example: BATTERY
      type: string
    CreateMeterUtility:
      properties:
        utility:
          $ref: '#/components/schemas/CommonUtility'
    CommonMeter:
      properties:
        customer:
          $ref: '#/components/schemas/Customer'
        device:
          $ref: '#/components/schemas/Device'
        site:
          $ref: '#/components/schemas/Site'
        caiso:
          $ref: '#/components/schemas/Caiso'
        isone:
          $ref: '#/components/schemas/Isone'
        nyiso:
          $ref: '#/components/schemas/Nyiso'
      required:
      - customer
      - meter_type
      - transmission_region
      type: object
    ProvisionalAsset:
      allOf:
      - $ref: '#/components/schemas/AssetUploadStatus'
      - properties:
          job_id:
            description: The id of the job where this provisional asset was uploaded
            example: 5961a37f-6325-431c-97cb-82f35e3c09cf
            format: uuid
            type: string
          data:
            $ref: '#/components/schemas/CreateMeter'
        required:
        - job_id
        type: object
      description: A provisional asset is an asset that was created through a create meter  call or batch job, but is not yet fully processed. It's a temporary entity that is created to give you a way to track the status of the asset creation process. The "data" property will be populated with the asset data if the job is completed successfully.
      example:
        partner_reference: ''
        status: PROCESSING
        status_detail:
          name: ACCOUNT_MISMATCH
          description: description
          failed_fields:
            key: failed_fields
        created_at: 2000-01-23 04:56:07+00:00
        meter_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        job_id: 5961a37f-6325-431c-97cb-82f35e3c09cf
        data:
          partner_reference: unique-reference-id-12345
          transmission_region: CAISO
          customer_classification: RESIDENTIAL
          load_types:
          - HVAC
          meter_type: UTILITY_METER
          customer:
            street_1: 132 My Street
            street_2: Apartment 32
            postal_code: '10001'
            city: New York
            state_or_province_code: NY
            country_code: US
            end_customer_name: Customer Name
            end_customer_title: Mrs.
            end_customer_email: email@address.com
            end_customer_phone_number: (123) 123-4567
            end_customer_company_name: Company Name Inc.
            partner_offering_name: Offering Name
            partner_offering_date: 2000-01-23
            is_in_wholesale_capacity_market: true
            dispatch_option: DAILY
            billing:
              street_1: 132 My Billing Street
              street_2: Apartment 32
              postal_code: '90210'
              city: Los Angeles
              state_or_province_code: CA
              country_code: US
            partner_customer_reference: partner-customer-reference-1
          device:
            device_type: BATTERY
            device_serial_number: device-serial-number
            device_model: device-model
            device_manufacturer: device-manufacturer
            install_date: 2000-01-23
            battery_power_capacity_kw: 1.233
            battery_energy_capacity_kwh: 9.876
            battery_duration_hours: 4
            permission_to_operate_date: 2000-01-23
          site:
            load_zone: load-zone
            number_of_devices: 1
            on_site_fossil_generator: true
            renewable_generator: true
            generator_capacity_kw: 1.234
            generator_model_year: 2020
            generator_manufacturer: Manufacturer of the generator
            generator_fuel_type: ''
            generator_serial_number: generator-serial-number
            site_devices:
            - device_type: BATTERY
              model: device-model
              manufacturer: device-manufacturer
              serial_number: device-serial-number
              energy_capacity_kwh: 39.504
              power_capacity_kw: 9.876
              energy_capacity_duration_hours: 4
              voltage_level: EVSE_LEVEL_1
              model_year: 2020
              fuel_type: DIESEL
              max_energy_production_rate_kw: 7.5
              max_energy_consumption_rate_kw: 7.5
              battery_max_state_of_charge_percentage: 95
              battery_min_state_of_charge_percentage: 10
              installer: Acme Installations Inc.
              pv_connected: true
            - device_type: BATTERY
              model: device-model
              manufacturer: device-manufacturer
              serial_number: device-serial-number
              energy_capacity_kwh: 39.504
              power_capacity_kw: 9.876
              energy_capacity_duration_hours: 4
              voltage_level: EVSE_LEVEL_1
              model_year: 2020
              fuel_type: DIESEL
              max_energy_production_rate_kw: 7.5
              max_energy_consumption_rate_kw: 7.5
              battery_max_state_of_charge_percentage: 95
              battery_min_state_of_charge_percentage: 10
              installer: Acme Installations Inc.
              pv_connected: true
          caiso:
            is_receiving_sgip_funding: true
            nem_type: NEM2
          isone:
            in_connected_solutions: true
          nyiso:
            cbl_method: AVERAGE_DAY
            company_type: INDIVIDUAL_OR_SOLE_PROPRIETOR
            existing_nyiso_resource_id: '666266'
            partner_nyiso_resource_name: '666266'
          utility:
            utility_name: PGE
            load_serving_entity: PGE
            electric_service_account_number: 12243243-121
            tariff: tariff code
            voltage: '>= 600 V'
            utility_meter_serial_number: utility-meter-serial-number
          customer_group: customer_group
    MeterType:
      description: The type of asset.
      enum:
      - UTILITY_METER
      - SUBMETER
      - DEVICE
      type: string
    CustomerClassification:
      description: Whether this is a residential (home) asset or a commercial (business) asset.
      enum:
      - RESIDENTIAL
      - COMMERCIAL
      type: string
    CreateMeterCustomerGroup:
      properties:
        customer_group:
          description: The customer group associated with the meter.
          pattern: ^[’'+#\"@()/&.,;A-Za-z\u00C0-\u024F\u1E00-\u1EFF0-9\s_\-]{0,128}$
          type: string
    AssetUploadStatus:
      description: This is a temporary entity that is created to give you a way to track the status of the asset creation process.
      example:
        partner_reference: ''
        status: PROCESSING
        status_detail:
          name: ACCOUNT_MISMATCH
          description: description
          failed_fields:
            key: failed_fields
        created_at: 2000-01-23 04:56:07+00:00
        meter_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
      properties:
        partner_reference:
          allOf:
          - $ref: '#/components/schemas/PartnerReference'
          description: Reference ID on your end. This ID can be used to link the asset to your internal systems, and can be changed/updated during the lifetime of a resulting Leap Meter.
        status:
          $ref: '#/components/schemas/ProvisionalAssetStatus'
        status_detail:
          $ref: '#/components/schemas/AssetUploadStatus_status_detail'
        created_at:
          format: date-time
          type: string
        meter_id:
          description: If a meter got created or updated on Leap's platform successfully (status = `COMPLETED`), the meter ID will be populated in this field, so you can use it to do API calls in other parts of Leap's system.
          format: uuid
          type: string
      required:
      - partner_reference
      - status
      - status_detail
      type: object
    ValidationError:
      example:
        message: Missing required parameter
        json_index: 1
        problem_field: partner_reference
      properties:
        message:
          type: string
        csv_row:
          description: If you uploaded a CSV file, and we can identify in which row the error occurred, the row number from your original file will be shown here.
          type: integer
        json_index:
          description: If you submitted data through a JSON payload, and we can identify in which index of the top level asset array the error occurred, it will be shown here.
          type: integer
        problem_field:
          description: The problematic column (CSV) or property (JSON), e.g. partner_reference. This will be set in most cases, but not if the entire file has a malformed structure for example. Use in combination with csv_row (CSV) or json_index (JSON) to find in which row or index the problematic field occurred.
          type: string
      required:
      - message
      type: object
    CommonUtility:
      example:
        utility_name: PGE
        load_serving_entity: PGE
        electric_service_account_number: 12243243-121
        tariff: tariff code
        voltage: '>= 600 V'
        utility_meter_serial_number: utility-meter-serial-number
      properties:
        utility_name:
          $ref: '#/components/schemas/utility'
        load_serving_entity:
          description: The utility or community choice aggregator that the customer buys electricity from
          example: PGE
          maxLength: 128
          minLength: 1
          type: string
        electric_service_account_number:
          description: This is also known as Service Agreement ID or Service Account Number, depending on utility in CAISO, Electric Account Number in ISO-NE, ESIID in ERCOT, or TO Account Number in NYISO.
          example: 12243243-121
          maxLength: 128
          minLength: 1
          type: string
        tariff:
          description: The tariff or electric rate code can be found on the electric bill. For California DSGS, virtual net energy metering storage assets must indicate 'VNEM'.
          example: tariff code
          maxLength: 128
          minLength: 1
          type: string
        voltage:
          description: Transmission Owner voltage service level description (e.g., High tension, Transmission, Primary) or range (e.g., >= 600 V, < 35kV).While this information is required for customers enrolling in NYISO SCR, Leap is usually able to identify the TO service voltage level for the site.
          example: '>= 600 V'
          maxLength: 128
          minLength: 1
          type: string
        utility_meter_serial_number:
          description: Serial number of the electricity meter
          example: utility-meter-serial-number
          maxLength: 256
          minLength: 1
          type: string
      type: object
    AssetIdentifiers:
      properties:
        partner_reference:
          allOf:
          - $ref: '#/components/schemas/PartnerReference'
          description: The partner-supplied reference ID to help identify the customer or site that a Leap meter correlates to a partner’s internal systems.
          example: unique-reference-id-12345
          type: string
        transmission_region:
          $ref: '#/components/schemas/transmission_region'
        customer_classification:
          $ref: '#/components/schemas/CustomerClassification'
        load_types:
          description: The partner-controlled and curtailable assets associated with the meter. Multiple load types per meter are supported.
          example:
          - HVAC
          items:
            $ref: '#/components/schemas/load_type'
          minItems: 1
          type: array
        meter_type:
          $ref: '#/components/schemas/MeterType'
    utility:
      description: The name of the Investor Owned Utility or Publicly Owned Utility whose territory the customer is in.
      enum:
      - PGE
      - SCE
      - SDGE
      - SMUD
      - LADWP
      - SVP
      - CECONY
      - ORU
      - PSEGLI
      - NYS
      - RIE
      - EVERSOURCE
      - NATGRID
      - UNITIL
      - PPL
      - CAPELIGHT
      - UPLIGHT
      - UNITED_ILLUMINATED
      - SMT
      - AEP_CENTRAL
      - AEP_NORTH
      - NUECES_ELECTRIC
      - ONCOR
      - CENTERPOINT
      - ENTERGY_GULF
      - SWEPCO
      - TNMP
      - DEMO
      - DEMO2
      - LEAP_TEST_CAISO
      - LEAP_TEST_NYISO
      - COMED
      - BGE
      - PECO
      - METED
      - PENELEC
      - PSEG
      - DOMINION
      - WESTPENN
      - PENNPOWER
      - PEPCO
      - PJM_DEMO
      - OTHER
      - NES
      - MLGW
      - KUB
      - NPU
      - MTEMC
      - PRECC
      - HSVU
      - SRP
      - PSE
      - TVA
      example: PGE
      type: string
    Site:
      example:
        load_zone: load-zone
        number_of_devices: 1
        on_site_fossil_generator: true
        renewable_generator: true
        generator_capacity_kw: 1.234
        generator_model_year: 2020
        generator_manufacturer: Manufacturer of the generator
        generator_fuel_type: ''
        generator_serial_number: generator-serial-number
        site_devices:
        - device_type: BATTERY
          model: device-model
          manufacturer: device-manufacturer
          serial_number: device-serial-number
          energy_capacity_kwh: 39.504
          power_capacity_kw: 9.876
          energy_capacity_duration_hours: 4
          voltage_level: EVSE_LEVEL_1
          model_year: 2020
          fuel_type: DIESEL
          max_energy_production_rate_kw: 7.5
          max_energy_consumption_rate_kw: 7.5
          battery_max_state_of_charge_percentage: 95
          battery_min_state_of_charge_percentage: 10
          installer: Acme Installations Inc.
          pv_connected: true
        - device_type: BATTERY
          model: device-model
          manufacturer: device-manufacturer
          serial_number: device-serial-number
          energy_capacity_kwh: 39.504
          power_capacity_kw: 9.876
          energy_capacity_duration_hours: 4
          voltage_level: EVSE_LEVEL_1
          model_year: 2020
          fuel_type: DIESEL
          max_energy_production_rate_kw: 7.5
          max_energy_consumption_rate_kw: 7.5
          battery_max_state_of_charge_percentage: 95
          battery_min_state_of_charge_percentage: 10
          installer: Acme Installations Inc.
          pv_connected: true
      properties:
        load_zone:
          description: Sub region of the transmission region that the meter is located
          example: load-zone
          maxLength: 128
          minLength: 1
          type: string
        number_of_devices:
          description: Refers to the total number of devices available for dispatch behind this Leap meter.   For CA DSGS Option 3, this field is required to indicate if multiple batteries are being stacked behind a single inverter.
          example: 1
          format: int32
          maximum: 99
          minimum: 0
          type: integer
        on_site_fossil_generator:
          description: Is there a fossil fuel powered generator on site
          type: boolean
        renewable_generator:
          description: Is there a behind the meter renewable generator on site
          type: boolean
        generator_capacity_kw:
          deprecated: true
          description: Deprecated. Use site_devices.power_capacity_kw for the capacity in kW of the generator on site.
          example: 1.234
          maximum: 999999
          minimum: 0
          type: number
        generator_model_year:
          deprecated: true
          description: Deprecated. Use site_devices.model_year for the year in which the generator was manufactured.
          example: 2020
          format: int32
          maximum: 2100
          minimum: 1900
          type: integer
        generator_manufacturer:
          deprecated: true
          description: Deprecated. Use site_devices.manufacturer for generator manufacturer’s name.
          example: Manufacturer of the generator
          maxLength: 128
          minLength: 1
          type: string
        generator_fuel_type:
          allOf:
          - $ref: '#/components/schemas/FuelType'
          deprecated: true
          description: Deprecated. Use site_devices.fuel_type for the fuel source of the generator.
        generator_serial_number:
          deprecated: true
          description: Deprecated. Use site_devices.serial_number for the serial number on the generator.
          example: generator-serial-number
          maxLength: 256
          minLength: 1
          type: string
        site_devices:
          description: List of additional information about devices on the premise
          items:
            $ref: '#/components/schemas/DeviceInfo'
          minItems: 0
          type: array
      type: object
    FuelType:
      description: The fuel source for a generator.
      enum:
      - DIESEL
      - NATURAL_GAS
      - DUAL_FUEL
      - CO_G

# --- truncated at 32 KB (57 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/leap/refs/heads/main/openapi/leap-provisional-assets-api-openapi.yml