Palmetto Bem API

The Bem API from Palmetto — 1 operation(s) for bem.

Operations 1

POST /api/v0/bem/calculate Calculate #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/palmetto-bem-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

palmetto-bem-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Palmetto Energy Intelligence Bem API
  version: v0.32.2-19a9666
servers:
- url: https://ei.palmetto.com
tags:
- name: Bem
paths:
  /api/v0/bem/calculate:
    post:
      summary: Calculate
      description: Calculate energy consumption, production, costs and emissions
      operationId: calculate_api_v0_bem_calculate_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CalculateRequest'
            examples:
              example_1:
                value:
                  location:
                    latitude: 37.7749
                    longitude: -122.4194
                  parameters:
                    clip_by: inner
                    from_datetime: '2023-01-01T00:00:00'
                    group_by: month
                    interval_format: long
                    to_datetime: '2024-01-01T00:00:00'
                    variables:
                    - consumption.electricity
                  consumption:
                    actuals:
                    - from_datetime: '2023-01-01T00:00:00'
                      to_datetime: '2024-01-01T00:00:00'
                      value: 3774
                      variable: consumption.electricity
                    attributes:
                      baseline:
                      - name: building_type
                        value: Single-Family Detached
                      hypothetical:
                      - name: building_type
                        value: Single-Family Detached
                    calibration:
                      apply_residuals: true
                      method: uniform-mean
                      sample_size: 35
                  production:
                    actuals:
                    - from_datetime: '2023-01-01T00:00:00'
                      to_datetime: '2024-01-01T00:00:00'
                      value: 7.3
                      variable: production.electricity
                    attributes:
                      baseline:
                      - name: panel_arrays
                        value:
                        - azimuth: 180.0
                          capacity: 10.0
                          tilt: 30.0
                      hypothetical: []
                    calibration:
                      method: uniform-mean
                  storage:
                    attributes:
                      baseline:
                      - name: capacity
                        value: 10
                      - name: power
                        value: 5
                      - name: capacity_recommendation_quantile
                        value: 0.5
                      hypothetical: []
                  costs:
                    emission_rates:
                      electricity:
                        units: kgCO2e/kWh
                        value: 0.47045
                      fossil_fuel:
                        units: kgCO2e/kWh
                        value: 0.1872057318321392
                    utility_rates:
                      electricity:
                        units: $/kWh
                        value: 0.29305
                      fossil_fuel:
                        units: $/kWh
                        value: 0.069771
                      pv_buyback:
                        units: $/kWh
                        value: 0.2
                      pv_ppa:
                        units: $/kWh
                        value: 0.26
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CalculateResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - APIKeyHeader: []
      tags:
      - Bem
components:
  schemas:
    PlugLoads:
      properties:
        name:
          type: string
          const: plug_loads
          title: Name
          default: plug_loads
        value:
          type: number
          maximum: 1.66
          minimum: 0.78
          title: Value
      type: object
      required:
      - value
      title: PlugLoads
      description: Plug Loads usage as a fraction of the national average
    WallExteriorFinish:
      properties:
        name:
          type: string
          const: wall_exterior_finish
          title: Name
          default: wall_exterior_finish
        value:
          $ref: '#/components/schemas/WallExteriorFinishEnum'
      type: object
      required:
      - value
      title: WallExteriorFinish
      description: Wall Exterior Finish
    HVACCoolingSetpoint:
      properties:
        name:
          type: string
          const: hvac_cooling_setpoint
          title: Name
          default: hvac_cooling_setpoint
        value:
          $ref: '#/components/schemas/Setpoint'
      type: object
      required:
      - value
      title: HVACCoolingSetpoint
      description: HVAC Cooling Setpoint [°C]
    Timezone:
      type: string
      enum:
      - Africa/Abidjan
      - Africa/Accra
      - Africa/Addis_Ababa
      - Africa/Algiers
      - Africa/Asmara
      - Africa/Asmera
      - Africa/Bamako
      - Africa/Bangui
      - Africa/Banjul
      - Africa/Bissau
      - Africa/Blantyre
      - Africa/Brazzaville
      - Africa/Bujumbura
      - Africa/Cairo
      - Africa/Casablanca
      - Africa/Ceuta
      - Africa/Conakry
      - Africa/Dakar
      - Africa/Dar_es_Salaam
      - Africa/Djibouti
      - Africa/Douala
      - Africa/El_Aaiun
      - Africa/Freetown
      - Africa/Gaborone
      - Africa/Harare
      - Africa/Johannesburg
      - Africa/Juba
      - Africa/Kampala
      - Africa/Khartoum
      - Africa/Kigali
      - Africa/Kinshasa
      - Africa/Lagos
      - Africa/Libreville
      - Africa/Lome
      - Africa/Luanda
      - Africa/Lubumbashi
      - Africa/Lusaka
      - Africa/Malabo
      - Africa/Maputo
      - Africa/Maseru
      - Africa/Mbabane
      - Africa/Mogadishu
      - Africa/Monrovia
      - Africa/Nairobi
      - Africa/Ndjamena
      - Africa/Niamey
      - Africa/Nouakchott
      - Africa/Ouagadougou
      - Africa/Porto-Novo
      - Africa/Sao_Tome
      - Africa/Timbuktu
      - Africa/Tripoli
      - Africa/Tunis
      - Africa/Windhoek
      - America/Adak
      - America/Anchorage
      - America/Anguilla
      - America/Antigua
      - America/Araguaina
      - America/Argentina/Buenos_Aires
      - America/Argentina/Catamarca
      - America/Argentina/ComodRivadavia
      - America/Argentina/Cordoba
      - America/Argentina/Jujuy
      - America/Argentina/La_Rioja
      - America/Argentina/Mendoza
      - America/Argentina/Rio_Gallegos
      - America/Argentina/Salta
      - America/Argentina/San_Juan
      - America/Argentina/San_Luis
      - America/Argentina/Tucuman
      - America/Argentina/Ushuaia
      - America/Aruba
      - America/Asuncion
      - America/Atikokan
      - America/Atka
      - America/Bahia
      - America/Bahia_Banderas
      - America/Barbados
      - America/Belem
      - America/Belize
      - America/Blanc-Sablon
      - America/Boa_Vista
      - America/Bogota
      - America/Boise
      - America/Buenos_Aires
      - America/Cambridge_Bay
      - America/Campo_Grande
      - America/Cancun
      - America/Caracas
      - America/Catamarca
      - America/Cayenne
      - America/Cayman
      - America/Chicago
      - America/Chihuahua
      - America/Ciudad_Juarez
      - America/Coral_Harbour
      - America/Cordoba
      - America/Costa_Rica
      - America/Coyhaique
      - America/Creston
      - America/Cuiaba
      - America/Curacao
      - America/Danmarkshavn
      - America/Dawson
      - America/Dawson_Creek
      - America/Denver
      - America/Detroit
      - America/Dominica
      - America/Edmonton
      - America/Eirunepe
      - America/El_Salvador
      - America/Ensenada
      - America/Fort_Nelson
      - America/Fort_Wayne
      - America/Fortaleza
      - America/Glace_Bay
      - America/Godthab
      - America/Goose_Bay
      - America/Grand_Turk
      - America/Grenada
      - America/Guadeloupe
      - America/Guatemala
      - America/Guayaquil
      - America/Guyana
      - America/Halifax
      - America/Havana
      - America/Hermosillo
      - America/Indiana/Indianapolis
      - America/Indiana/Knox
      - America/Indiana/Marengo
      - America/Indiana/Petersburg
      - America/Indiana/Tell_City
      - America/Indiana/Vevay
      - America/Indiana/Vincennes
      - America/Indiana/Winamac
      - America/Indianapolis
      - America/Inuvik
      - America/Iqaluit
      - America/Jamaica
      - America/Jujuy
      - America/Juneau
      - America/Kentucky/Louisville
      - America/Kentucky/Monticello
      - America/Knox_IN
      - America/Kralendijk
      - America/La_Paz
      - America/Lima
      - America/Los_Angeles
      - America/Louisville
      - America/Lower_Princes
      - America/Maceio
      - America/Managua
      - America/Manaus
      - America/Marigot
      - America/Martinique
      - America/Matamoros
      - America/Mazatlan
      - America/Mendoza
      - America/Menominee
      - America/Merida
      - America/Metlakatla
      - America/Mexico_City
      - America/Miquelon
      - America/Moncton
      - America/Monterrey
      - America/Montevideo
      - America/Montreal
      - America/Montserrat
      - America/Nassau
      - America/New_York
      - America/Nipigon
      - America/Nome
      - America/Noronha
      - America/North_Dakota/Beulah
      - America/North_Dakota/Center
      - America/North_Dakota/New_Salem
      - America/Nuuk
      - America/Ojinaga
      - America/Panama
      - America/Pangnirtung
      - America/Paramaribo
      - America/Phoenix
      - America/Port-au-Prince
      - America/Port_of_Spain
      - America/Porto_Acre
      - America/Porto_Velho
      - America/Puerto_Rico
      - America/Punta_Arenas
      - America/Rainy_River
      - America/Rankin_Inlet
      - America/Recife
      - America/Regina
      - America/Resolute
      - America/Rio_Branco
      - America/Rosario
      - America/Santa_Isabel
      - America/Santarem
      - America/Santiago
      - America/Santo_Domingo
      - America/Sao_Paulo
      - America/Scoresbysund
      - America/Shiprock
      - America/Sitka
      - America/St_Barthelemy
      - America/St_Johns
      - America/St_Kitts
      - America/St_Lucia
      - America/St_Thomas
      - America/St_Vincent
      - America/Swift_Current
      - America/Tegucigalpa
      - America/Thule
      - America/Thunder_Bay
      - America/Tijuana
      - America/Toronto
      - America/Tortola
      - America/Vancouver
      - America/Virgin
      - America/Whitehorse
      - America/Winnipeg
      - America/Yakutat
      - America/Yellowknife
      - Antarctica/Casey
      - Antarctica/Davis
      - Antarctica/DumontDUrville
      - Antarctica/Macquarie
      - Antarctica/Mawson
      - Antarctica/McMurdo
      - Antarctica/Palmer
      - Antarctica/Rothera
      - Antarctica/South_Pole
      - Antarctica/Syowa
      - Antarctica/Troll
      - Antarctica/Vostok
      - Arctic/Longyearbyen
      - Asia/Aden
      - Asia/Almaty
      - Asia/Amman
      - Asia/Anadyr
      - Asia/Aqtau
      - Asia/Aqtobe
      - Asia/Ashgabat
      - Asia/Ashkhabad
      - Asia/Atyrau
      - Asia/Baghdad
      - Asia/Bahrain
      - Asia/Baku
      - Asia/Bangkok
      - Asia/Barnaul
      - Asia/Beirut
      - Asia/Bishkek
      - Asia/Brunei
      - Asia/Calcutta
      - Asia/Chita
      - Asia/Choibalsan
      - Asia/Chongqing
      - Asia/Chungking
      - Asia/Colombo
      - Asia/Dacca
      - Asia/Damascus
      - Asia/Dhaka
      - Asia/Dili
      - Asia/Dubai
      - Asia/Dushanbe
      - Asia/Famagusta
      - Asia/Gaza
      - Asia/Harbin
      - Asia/Hebron
      - Asia/Ho_Chi_Minh
      - Asia/Hong_Kong
      - Asia/Hovd
      - Asia/Irkutsk
      - Asia/Istanbul
      - Asia/Jakarta
      - Asia/Jayapura
      - Asia/Jerusalem
      - Asia/Kabul
      - Asia/Kamchatka
      - Asia/Karachi
      - Asia/Kashgar
      - Asia/Kathmandu
      - Asia/Katmandu
      - Asia/Khandyga
      - Asia/Kolkata
      - Asia/Krasnoyarsk
      - Asia/Kuala_Lumpur
      - Asia/Kuching
      - Asia/Kuwait
      - Asia/Macao
      - Asia/Macau
      - Asia/Magadan
      - Asia/Makassar
      - Asia/Manila
      - Asia/Muscat
      - Asia/Nicosia
      - Asia/Novokuznetsk
      - Asia/Novosibirsk
      - Asia/Omsk
      - Asia/Oral
      - Asia/Phnom_Penh
      - Asia/Pontianak
      - Asia/Pyongyang
      - Asia/Qatar
      - Asia/Qostanay
      - Asia/Qyzylorda
      - Asia/Rangoon
      - Asia/Riyadh
      - Asia/Saigon
      - Asia/Sakhalin
      - Asia/Samarkand
      - Asia/Seoul
      - Asia/Shanghai
      - Asia/Singapore
      - Asia/Srednekolymsk
      - Asia/Taipei
      - Asia/Tashkent
      - Asia/Tbilisi
      - Asia/Tehran
      - Asia/Tel_Aviv
      - Asia/Thimbu
      - Asia/Thimphu
      - Asia/Tokyo
      - Asia/Tomsk
      - Asia/Ujung_Pandang
      - Asia/Ulaanbaatar
      - Asia/Ulan_Bator
      - Asia/Urumqi
      - Asia/Ust-Nera
      - Asia/Vientiane
      - Asia/Vladivostok
      - Asia/Yakutsk
      - Asia/Yangon
      - Asia/Yekaterinburg
      - Asia/Yerevan
      - Atlantic/Azores
      - Atlantic/Bermuda
      - Atlantic/Canary
      - Atlantic/Cape_Verde
      - Atlantic/Faeroe
      - Atlantic/Faroe
      - Atlantic/Jan_Mayen
      - Atlantic/Madeira
      - Atlantic/Reykjavik
      - Atlantic/South_Georgia
      - Atlantic/St_Helena
      - Atlantic/Stanley
      - Australia/ACT
      - Australia/Adelaide
      - Australia/Brisbane
      - Australia/Broken_Hill
      - Australia/Canberra
      - Australia/Currie
      - Australia/Darwin
      - Australia/Eucla
      - Australia/Hobart
      - Australia/LHI
      - Australia/Lindeman
      - Australia/Lord_Howe
      - Australia/Melbourne
      - Australia/NSW
      - Australia/North
      - Australia/Perth
      - Australia/Queensland
      - Australia/South
      - Australia/Sydney
      - Australia/Tasmania
      - Australia/Victoria
      - Australia/West
      - Australia/Yancowinna
      - Brazil/Acre
      - Brazil/DeNoronha
      - Brazil/East
      - Brazil/West
      - CET
      - CST6CDT
      - Canada/Atlantic
      - Canada/Central
      - Canada/Eastern
      - Canada/Mountain
      - Canada/Newfoundland
      - Canada/Pacific
      - Canada/Saskatchewan
      - Canada/Yukon
      - Chile/Continental
      - Chile/EasterIsland
      - Cuba
      - EET
      - EST
      - EST5EDT
      - Egypt
      - Eire
      - Etc/GMT
      - Etc/GMT+0
      - Etc/GMT+1
      - Etc/GMT+10
      - Etc/GMT+11
      - Etc/GMT+12
      - Etc/GMT+2
      - Etc/GMT+3
      - Etc/GMT+4
      - Etc/GMT+5
      - Etc/GMT+6
      - Etc/GMT+7
      - Etc/GMT+8
      - Etc/GMT+9
      - Etc/GMT-0
      - Etc/GMT-1
      - Etc/GMT-10
      - Etc/GMT-11
      - Etc/GMT-12
      - Etc/GMT-13
      - Etc/GMT-14
      - Etc/GMT-2
      - Etc/GMT-3
      - Etc/GMT-4
      - Etc/GMT-5
      - Etc/GMT-6
      - Etc/GMT-7
      - Etc/GMT-8
      - Etc/GMT-9
      - Etc/GMT0
      - Etc/Greenwich
      - Etc/UCT
      - Etc/UTC
      - Etc/Universal
      - Etc/Zulu
      - Europe/Amsterdam
      - Europe/Andorra
      - Europe/Astrakhan
      - Europe/Athens
      - Europe/Belfast
      - Europe/Belgrade
      - Europe/Berlin
      - Europe/Bratislava
      - Europe/Brussels
      - Europe/Bucharest
      - Europe/Budapest
      - Europe/Busingen
      - Europe/Chisinau
      - Europe/Copenhagen
      - Europe/Dublin
      - Europe/Gibraltar
      - Europe/Guernsey
      - Europe/Helsinki
      - Europe/Isle_of_Man
      - Europe/Istanbul
      - Europe/Jersey
      - Europe/Kaliningrad
      - Europe/Kiev
      - Europe/Kirov
      - Europe/Kyiv
      - Europe/Lisbon
      - Europe/Ljubljana
      - Europe/London
      - Europe/Luxembourg
      - Europe/Madrid
      - Europe/Malta
      - Europe/Mariehamn
      - Europe/Minsk
      - Europe/Monaco
      - Europe/Moscow
      - Europe/Nicosia
      - Europe/Oslo
      - Europe/Paris
      - Europe/Podgorica
      - Europe/Prague
      - Europe/Riga
      - Europe/Rome
      - Europe/Samara
      - Europe/San_Marino
      - Europe/Sarajevo
      - Europe/Saratov
      - Europe/Simferopol
      - Europe/Skopje
      - Europe/Sofia
      - Europe/Stockholm
      - Europe/Tallinn
      - Europe/Tirane
      - Europe/Tiraspol
      - Europe/Ulyanovsk
      - Europe/Uzhgorod
      - Europe/Vaduz
      - Europe/Vatican
      - Europe/Vienna
      - Europe/Vilnius
      - Europe/Volgograd
      - Europe/Warsaw
      - Europe/Zagreb
      - Europe/Zaporozhye
      - Europe/Zurich
      - Factory
      - GB
      - GB-Eire
      - GMT
      - GMT+0
      - GMT-0
      - GMT0
      - Greenwich
      - HST
      - Hongkong
      - Iceland
      - Indian/Antananarivo
      - Indian/Chagos
      - Indian/Christmas
      - Indian/Cocos
      - Indian/Comoro
      - Indian/Kerguelen
      - Indian/Mahe
      - Indian/Maldives
      - Indian/Mauritius
      - Indian/Mayotte
      - Indian/Reunion
      - Iran
      - Israel
      - Jamaica
      - Japan
      - Kwajalein
      - Libya
      - MET
      - MST
      - MST7MDT
      - Mexico/BajaNorte
      - Mexico/BajaSur
      - Mexico/General
      - NZ
      - NZ-CHAT
      - Navajo
      - PRC
      - PST8PDT
      - Pacific/Apia
      - Pacific/Auckland
      - Pacific/Bougainville
      - Pacific/Chatham
      - Pacific/Chuuk
      - Pacific/Easter
      - Pacific/Efate
      - Pacific/Enderbury
      - Pacific/Fakaofo
      - Pacific/Fiji
      - Pacific/Funafuti
      - Pacific/Galapagos
      - Pacific/Gambier
      - Pacific/Guadalcanal
      - Pacific/Guam
      - Pacific/Honolulu
      - Pacific/Johnston
      - Pacific/Kanton
      - Pacific/Kiritimati
      - Pacific/Kosrae
      - Pacific/Kwajalein
      - Pacific/Majuro
      - Pacific/Marquesas
      - Pacific/Midway
      - Pacific/Nauru
      - Pacific/Niue
      - Pacific/Norfolk
      - Pacific/Noumea
      - Pacific/Pago_Pago
      - Pacific/Palau
      - Pacific/Pitcairn
      - Pacific/Pohnpei
      - Pacific/Ponape
      - Pacific/Port_Moresby
      - Pacific/Rarotonga
      - Pacific/Saipan
      - Pacific/Samoa
      - Pacific/Tahiti
      - Pacific/Tarawa
      - Pacific/Tongatapu
      - Pacific/Truk
      - Pacific/Wake
      - Pacific/Wallis
      - Pacific/Yap
      - Poland
      - Portugal
      - ROC
      - ROK
      - Singapore
      - Turkey
      - UCT
      - US/Alaska
      - US/Aleutian
      - US/Arizona
      - US/Central
      - US/East-Indiana
      - US/Eastern
      - US/Hawaii
      - US/Indiana-Starke
      - US/Michigan
      - US/Mountain
      - US/Pacific
      - US/Samoa
      - UTC
      - Universal
      - W-SU
      - WET
      - Zulu
      title: Timezone
    ProductionElectricity:
      type: number
      minimum: 0.0
      title: ProductionElectricity
    GridElectricityImport:
      type: number
      minimum: 0.0
      title: GridElectricityImport
    Meta:
      properties:
        parameters:
          $ref: '#/components/schemas/CalculateRequestParameters'
        units:
          $ref: '#/components/schemas/Units'
        warnings:
          items:
            type: string
          type: array
          title: Warnings
        sources:
          $ref: '#/components/schemas/DataSourcesMeta'
      type: object
      required:
      - parameters
      - units
      - sources
      title: Meta
      description: Meta data for a Calculate Response
    NumStoriesSource:
      type: string
      enum:
      - regrid
      - resstock
      title: NumStoriesSource
    BuildingType:
      properties:
        name:
          type: string
          const: building_type
          title: Name
          default: building_type
        value:
          $ref: '#/components/schemas/BuildingTypeEnum'
      type: object
      required:
      - value
      title: BuildingType
      description: Building Type
    EVMiles:
      properties:
        name:
          type: string
          const: ev_miles
          title: Name
          default: ev_miles
        value:
          type: number
          maximum: 100000.0
          minimum: 0.0
          title: Value
      type: object
      required:
      - value
      title: EVMiles
      description: 'EV Miles Driven per year

        Ignored when ev_charging is False'
    ConsumptionFossilFuelCookingRange:
      type: number
      minimum: 0.0
      title: ConsumptionFossilFuelCookingRange
    WindowToWallRatio:
      properties:
        name:
          type: string
          const: window_to_wall_ratio
          title: Name
          default: window_to_wall_ratio
        value:
          type: number
          maximum: 0.3
          minimum: 0.06
          title: Value
      type: object
      required:
      - value
      title: WindowToWallRatio
      description: Window to Wall Ratio
    Setpoint:
      anyOf:
      - $ref: '#/components/schemas/Setpoint1'
      - $ref: '#/components/schemas/Setpoint2'
      title: Setpoint
      description: HVAC Setpoint Temperature or 24-hr Schedule
    NetMeteringPolicyType:
      type: string
      enum:
      - 1-to-1 Net Metering
      - Monthly Net Metering
      - Export Credit
      - Buy All Sell All
      title: NetMeteringPolicyType
      description: General policy descriptor. Reference individual rate types for more specific application details.
    UtilityRateClass:
      type: string
      enum:
      - residential
      - commercial
      - industrial
      title: UtilityRateClass
      description: Utility rate class for energy consumption
    CookingRange:
      properties:
        name:
          type: string
          const: cooking_range
          title: Name
          default: cooking_range
        value:
          $ref: '#/components/schemas/CookingRangeEnum'
      type: object
      required:
      - value
      title: CookingRange
      description: 'Cooking Range Type

        Reference: https://www.energystar.gov/products/electric_cooking_products/key_product_criteria'
    ClothesWasherEfficiencyEnum:
      type: string
      enum:
      - None
      - Standard
      - EnergyStar
      title: ClothesWasherEfficiencyEnum
    Band:
      properties:
        description:
          type: string
          title: Description
          description: '[Optional Annotation]'
        amount:
          type: number
          title: Amount
          description: Charge amount for this band in $/quantity. A positive value is a cost while a negative value is a credit on a customer's bill
        limit:
          $ref: '#/components/schemas/Limit'
        citation:
          $ref: '#/components/schemas/Citation'
      type: object
      required:
      - amount
      title: Band
      description: different tiers or levels based on the quantity of electricity consumed
    EVChargingEfficiency:
      properties:
        name:
          type: string
          const: ev_charging_efficiency
          title: Name
          default: ev_charging_efficiency
        value:
          type: number
          maximum: 1.0
          minimum: 0.6
          title: Value
      type: object
      required:
      - value
      title: EVChargingEfficiency
      description: 'EV Charger Efficiency as a fraction of the total energy consumed

        Ignored when ev_charging is False'
    BatteryCyclePenaltyPerKwh:
      properties:
        name:
          type: string
          const: cycle_penalty_per_kwh
          title: Name
          default: cycle_penalty_per_kwh
        value:
          type: number
          minimum: 0.0
          title: Value
      type: object
      required:
      - value
      title: BatteryCyclePenaltyPerKwh
      description: 'Penalty on battery throughput, incurred on both charge and discharge.


        The default (~0.001) is a sensible choice for most cases — small enough that the

        battery is used freely rather than left idle. Raise it under retail_rate_dispatch

        to model real battery wear and prevent low-return arbitrage (cycles whose bill

        savings don''t justify the wear): there it is a degradation cost in $/kWh of

        throughput, counted on both legs, so ~2x per delivered kWh (~$0.05–0.17/kWh: a

        typical home lithium iron phosphate battery at the low end, a Tesla Powerwall

        warranty at the high end). Under self_consumption it is not a dollar amount and

        barely affects dispatch (the battery stores surplus PV whenever it can).

        peak_shaving ignores it entirely: shaving a per-kW peak is not a per-kWh trade,

        so it uses only a tiny internal floor.'
    EmissionRate:
      properties:
        value:
          type: number
          minimum: 0.0
          title: Value
        units:
          type: string
          const: kgCO2e/kWh
          title: Units
          default: kgCO2e/kWh
        meta:
          anyOf:
          - $ref: '#/components/schemas/EGRIDEmissionRateMeta'
          - $ref: '#/components/schemas/FossilFuelEmissionRateMeta'
          title: Meta
          description: Metadata about the data source.
      type: object
      required:
      - value
      title: EmissionRate
    AtticTypeEnum:
      type: string
      enum:
      - Finished Attic or Cathedral Ceilings
      - Unvented Attic
      - Vented Attic
      - None
      title: AtticTypeEnum
    ActualConsumptionInterval:
      properties:
        from_datetime:
          type: string
          format: date-time
          title: From Datetime
        to_datetime:
          type: string
          format: date-time
          title: To Datetime
        variable:
          $ref: '#/components/schemas/Variable'
        value:
          type: number
          minimum: 0.0
          title: Value
      type: object
      required:
      - from_datetime
      - to_datetime
      - variable
      - value
      title: ActualConsumptionInterval
      description: Interval for actual known consumption data
    EnsembleAggregationMethod:
      type: string
      enum:
      - nearest
      - average
      title: EnsembleAggregationMethod
      description: "Method for aggregating a building ensemble.\n- 'nearest' elects a single building from the ensemble. When actuals are provided,\n  it selects the building with the lowest calibration error (MSE) relative to those actuals.\n  When actuals are not provided, it selects the building closest to the median total\n  energy consumption (electricity + fossil fuel) across the ensemble, using MSE as the\n  distance metric.\n- 'average' calculates a weighted average of all buildings in the ensemble. When actuals are\n  provided, buildings are weighted based on calibration error (lower error = higher weight).\n  When no actuals are provided, this is a simple unweighted average. Note that when using this\n  method, ``floor_area`` is averaged across buildings even when their values differ, whereas\n  other building attributes are only returned when they are common (equal) across all buildings\n  in the ensemble. Future releases may provide distributional information for varying attributes."
    CalculateResponse:
      properties:
        version:
          type: string
          title: Version
          default: v2.46.2-9b9d19f
        detail:
          type: string
          title: Detail
          default: success
        meta:
          $ref: '#/components/schemas/Meta'
        data:
          $ref: '#/components/schemas/Data'
      type: object
      required:
      - meta
      - data
      title: CalculateResponse
      description: Payload Schema for a Calculate Response
    HVACCoolingCapacity:
      properties:
        name:
          type: string
          const: hvac_cooling_capacity
          title: Name
          default: hvac_cooling_capacity
        value:
          $ref: '#/components/schemas/CapacityCurve'
          title: Value
      type: object
      required:
      - value
      title: HVACCoolingCapacity
      description: 'HVAC Cooling Capacity [kBtu/hr] at a specific outdoor dry bulb temperature [°C]

        Ignored when hvac_cooling is False'
    ClothesDryerFuelEnum:
      type: string
      enum:
      - Electric
      - Gas
      title: ClothesDryerFuelEnum
    UtilityRatesInput:
      properties:
        electricity:
          anyOf:
          - $ref: '#/components/schemas/UtilityFlatRateInput'
          - $ref: '#/components/schemas/Tariff'
          title: Electricity
          description: Buy rate or Tariff for electricity
        fossil_fuel:
          $ref: '#/components/schemas/UtilityFlatRateInput'
          title: Fossil Fuel
          description: Buy rate for fossil fuel (e.g. natural gas)
        pv_ppa:
          $ref: '#/components/schemas/UtilityFlatRateInput'
          title: Pv Ppa
          description: Buy rate for energy generated by PV system
        pv_buyback:
          $ref: '#/components/schemas/UtilityFlatRateInput'
          title: Pv Buyback
          description: Sell rate for excess PV electricity exported to the grid. Cannot be used when a Tariff for electricity is passed.
      type: object
      title: UtilityRatesInput
      description: Utility energy rates information
    HVACHeatingSetpoint:
      properties:
        name:
          type: string
          const: hvac_heating_setpoint
          title: Name
          default: hvac_heating_setpoint
        value:
          $ref: '#/components/schemas/Setpoint'
      type: object
      required:
      - value
      title: HVACHeatingSetpoint
      description: HVAC Heating Setpoint [°C]
    WallType:
      properties:
        name:
          type: string
          const: wall_type
          title: Name
          default: wall_type
        value:
          $ref: '#/components/schemas/WallTypeEnum'
      type: object
      required:
      - value
      title: WallType
      description: Wall Construction Type
    EVEfficiency:
      properties:
        name:
          type: string
          const: ev_efficiency
          title: Name
          default: ev_efficiency
        value:
          type: number
          maximum: 0.5
          minimum: 0.2
          title: Value
      type: object
      required:
      - value
      title: EVEfficiency
      description: 'EV Efficiency as kWh per mile

        Ignored when ev_charging is False'
    EmissionsFossilFuel:
      type: number
      minimum: 0.0
      title: EmissionsFossilFuel
    AvailabilityLoss:
      properties:
        name:
          type: string
          const: availability_loss
          title: Name
          default: availability_loss
        value:
          type: number
          title: Value
          default: 0.03
          ge: 0.0
          lt: 1.0
      type: object
      title: AvailabilityLoss
      description: 'Reduction in the system''s output cause by scheduled and unscheduled system shutdown

        for maintenance, grid outages, and other operational factors; combined multiplicatively

        with other DC losses.'
    HVACHeatingDucts:
      properties:
        name:
          type: string
          const: hvac_heating_ducts
          title: Name
          default: hvac_heating_ducts
        value:
          type: boolean
          title: Value
      type: object
      required:
      - value
      title: HVACHeatingDucts
      description: HVAC Ducts are used for Heating
    FossilFuelEmissionRateMeta:
      properties:
        type:
          type: string
          const: fossil_fuel_emission_rate
          title: Type
          default: fossil_fuel_emission_rate
        fuel:
          $ref: '#/components/schemas/FossilFuelType'
        source:
          type: string
          title: Source
      type: object
      required:
      - fuel
      - source
      title: FossilFuelEmissionRateMeta
    WallTypeEnum:
      type: string
      enum:
      - Brick
      - Concrete
      - Steel Frame
      - Wood Frame
      title: WallTypeEnum
    WaterHeater:
      properties:
        name:
          type: string
          const: water_heater
          title: Name
          default: water_heater
        value:
          $ref: '#/components/schemas/WaterHeaterEnum'
      type: object
      required:
      - value
      title: WaterHeater
      description: Water Heater Efficiency
    HorizontalLocationEnum:
      type: string
      enum:
      - Left
      - Middle
      - Right
  

# --- truncated at 32 KB (140 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/palmetto/refs/heads/main/openapi/palmetto-bem-api-openapi.yml