# CTClamp

Schema: #/components/schemas/CTClamp

Method: SCHEMA
Version: 2.0
Security: oauth2

## Schema fields:

  - `id` (string)
    Unique identifier for the given CT clamp.
    Example: ctcl01HSH04KDEWF6Z4DB2J77J74K5

  - `url` (string)
    Example: https://api.ev.energy/v2/ct_clamps/ctcl01HSH04KDEWF6Z4DB2J77J74K5

  - `evse` (any)
    The EVSE associated with this CT clamp. Will be null if not linked to an EVSE.

  - `evse.id` (string, required)
    Unique identifier for the given EVSE.
    Example: evse01HSH04KDEWF6Z4DB2J77J74K5

  - `evse.url` (string, required)
    Example: https://api.ev.energy/v2/evses/evse01HSH04KDEWF6Z4DB2J77J74K5

  - `evse.cpid` (string, required)
    A unique identifier for the chargepoint. The format varies by manufacturer and model.
    Example: SHIR100001

  - `evse.model` (any)

  - `evse.model.id` (string, required)
    Unique identifier for the given EVSE Model.
    Example: emod01HS9A004X5TB5JCMHENB5Z446

  - `evse.model.url` (string, required)
    Example: https://api.ev.energy/v2/evse_models/emod01HS9A004X5TB5JCMHENB5Z446

  - `evse.model.name` (string, required)
    Example: EVWC2S22

  - `evse.model.make` (any)

  - `evse.model.make.id` (string, required)
    Unique identifier for the given EVSE Make.
    Example: emak01HS8FRXKJD5JZZ7ZN6W8H21P8

  - `evse.model.make.url` (string, required)
    Example: https://api.ev.energy/v2/evse_makes/emak01HS8FRXKJD5JZZ7ZN6W8H21P8

  - `evse.model.make.name` (string, required)
    Example: BG SyncEV

  - `evse.model.make.display_name` (string | null)
    The EVSE make name for in-app display. May be null if no display name has been set.
    Example: BG SyncEV

  - `evse.model.make.icon` (string | null)
    A url for an image of the make's logo.
    Example: https://cdn.example.com/volvo.png

  - `evse.model.make.onboarding_url` (string | null)
    A pre-constructed link to initiate onboarding for an EVSE of this make. If it is null, then it cannot be onboarded with model alone. You should filter the list of [EVSE models](ev.energy-API-v2.yaml/paths/~1evse_models/get) by this make and then have the user select their model.
Your `client_id` and the user's `user_id` are automatically included based on your authentication token. If you are using client credentials authentication, the user ID will not be automatically included unless you set the EvEnergy-User header on your request.
    Example: https://api.ev.energy/v2/evse_onboarding?make_id=emak01HN2NJQRGDQP0GBE1F7R6PB3D&user_id=user01HN2NJ9NMRZBXT1H6FT9N7735&client_id=your_client_id

  - `evse.model.make.is_beta` (boolean)
    Whether this EVSE make integration is in beta.
    Example: false

  - `evse.model.make.evse_models` (string)
    A pre-constructed link to a list of EVSE models filtered for this make.
    Example: https://api.ev.energy/v2/evse_models/?make_id=emak01HN2NJQRGDQP0GBE1F7R6PB3D

  - `evse.model.display_name` (string | null)
    The EVSE model name for in-app display. May be null if no display name has been set.
    Example: EVWC2S22

  - `evse.model.onboarding_url` (string | null)
    A pre-constructed link to initiate onboarding for an EVSE with this model. If it is null, then we do not support intergrating with this EVSE and the user will need an integrated vehicle in order for us to be able to track their charging.
Your `client_id` and the user's `user_id` are automatically included based on your authentication token. If you are using client credentials authentication, the user ID will not be automatically included unless you set the EvEnergy-User header on your request.
    Example: https://api.ev.energy/v2/evse_onboarding?model_id=emod01HN2NJHAJJAQD32QJ4QXTDSGW&user_id=user01HN2NJ9NMRZBXT1H6FT9N7735&client_id=your_client_id

  - `evse.user` (any)
    Defaults to a url, but can be expanded to the full User resource via the `expand` query parameter. Null when the EVSE has no owner, or when an organisation calls and the owner is not a member of it.
    Example: https://api.ev.energy/v2/users/user01HN2NJ9NMRZBXT1H6FT9N7735

  - `evse.user.id` (string, required)
    Unique identifier for the given user.
    Example: user01HN2NJ9NMRZBXT1H6FT9N7735

  - `evse.user.url` (string, required)
    Example: https://api.ev.energy/v2/users/user01HN2NJ9NMRZBXT1H6FT9N7735

  - `evse.user.email` (string)

  - `evse.user.full_name` (string)
    The user's full name.
    Example: Frodo Baggins

  - `evse.user.joined_at` (string)
    The date and time when the user joined the platform.
    Example: 2023-06-15T10:00:00Z

  - `evse.user.terms_consent_datetime` (string | null)
    When the user gave their terms and conditions consent, or null if they have not.
    Example: 2023-06-15T10:00:00Z

  - `evse.user.deleted_at` (string | null)
    When the user's account was deleted, or null if it is still live. Deleted accounts are anonymised, so the remaining fields hold placeholder values rather than the user's data, except `enrollment_status`, `tier_enrolled_at` and `left_at`, which keep their real enrollment history. Reaching a deleted user requires `include_deleted=true`.
    Example: 2024-08-01T12:00:00Z

  - `evse.user.referral_code` (string | null)
    This user's personal referral code.
    Example: FRODO1

  - `evse.user.referral_performance` (object)
    How the users who signed up with this user's referral code have progressed,
broken down by stage like a promo code's `performance`. `rewarded_count` counts
referrals this user has been credited for, whether or not the credit has been
paid out yet. `qualified_count` ignores the referral scheme's membership, region
and active-window rules and any cap on the referrer's rewards, so it can be
higher than `rewarded_count`.

  - `evse.user.referral_performance.redeemed_count` (integer, required)
    Users who signed up with this user's referral code.
    Example: 3

  - `evse.user.referral_performance.qualified_count` (integer, required)
    Of those, the users who have finished a charging session of at least 1 kWh.
    Example: 2

  - `evse.user.referral_performance.in_progress_count` (integer, required)
    `redeemed_count` minus `qualified_count`, clamped at zero.
    Example: 1

  - `evse.user.referral_performance.rewarded_count` (integer, required)
    Referrals this user has been credited for with a value above zero.
    Example: 1

  - `evse.user.deleted` (boolean)
    Whether the user's account has been deleted. True exactly when `deleted_at` is set.
    Example: false

  - `evse.user.enrollment_status` (string | null)
    The user's standing in your programs: `ENROLLED` while they hold an open enrollment in one of them, `LEFT` once their latest enrollment has ended, or null if they have never enrolled in any of them.
    Enum: "ENROLLED", "LEFT", "null"

  - `evse.user.tier_enrolled_at` (string | null)
    When the enrollment behind `enrollment_status` began, or null if the user has never enrolled in one of your programs.
    Example: 2024-01-10T14:30:00Z

  - `evse.user.left_at` (string | null)
    When the enrollment behind `enrollment_status` ended, or null while it is open or if the user has never enrolled in one of your programs.
    Example: null

  - `evse.user.program` (any)
    The program of the enrollment behind `enrollment_status`, or null if the user has never enrolled in one of your programs. Defaults to a url, but can be expanded to the full Program resource via the `expand` query parameter.

  - `evse.user.program.id` (string)
    Example: prog01JCK1HPNAANB8WN253G27SFPC

  - `evse.user.program.url` (string)
    Example: https://api.ev.energy/v2/programs/prog01JCK1HPNAANB8WN253G27SFPC

  - `evse.user.program.name` (string)
    A human-friendly name for the Program.
    Example: CoolCharge

  - `evse.user.program.description` (string)
    A plain text description of the program's incentives and requirements.
    Example: A program which incentivises charging when it's coolest to charge your EV

  - `evse.user.program.logo` (string | null)
    URL to download a logo image for the Program.

  - `evse.user.program.sponsor_name` (string)
    The name of the organisation which sponsors the program. Often, but not always, a utility company.
    Example: Cool Power

  - `evse.user.program.external_url` (string)
    A publicly accessible URL where individuals can enroll in the program.
    Example: https://www.example.com/coolcharge

  - `evse.user.program.sign_up_url` (string | null)
    URL of the registration form for this specific program, where one exists.
    Example: https://www.example.com/coolcharge/sign-up

  - `evse.user.program.eligibility_criteria` (string | null)
    HTML description of who is eligible to join the program.
    Example: <html><p>Residential customers of Cool Power with a compatible EV or home charger.</p></html>

  - `evse.user.program.benefits` (string | null)
    HTML description of the benefits of joining the program.
    Example: <html><p>Earn a monthly bill credit for charging off-peak.</p></html>

  - `evse.user.program.country` (string)
    ISO 3166-1 alpha-2 code of the country the program operates in.
    Example: US

  - `evse.user.program.faqs_url` (string | null)
    URL of the program's FAQ page, where one exists.
    Example: https://www.example.com/coolcharge/faqs

  - `evse.user.program.support_email` (string)
    Customer support email address for this program.
    Example: support@ev.energy

  - `evse.user.program.payment_frequency` (string | null)
    How often incentive payments are made, where the program pays incentives.
    Enum: "WEEKLY", "MONTHLY", "QUARTERLY", "null"

  - `evse.user.program.payment_day_of_month` (integer | null)
    Day of the month incentive payments are made, for monthly or quarterly programs. 31 means the last day of the month. Null when the program has no payment day configured.
    Example: 15

  - `evse.user.program.payment_weekday` (string | null)
    Day of the week incentive payments are made, for weekly programs. Null when the program has no payment weekday configured.
    Enum: "MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN", "null"

  - `evse.user.program.hidden` (boolean)
    Whether the program is hidden from public program lists. Hidden programs (test, internal, ended or mothballed) are omitted from the list endpoint for anonymous and driver-scoped requests, but are still returned by ID and are always listed for organisation-scoped API clients.
    Example: false

  - `evse.user.tier` (any)
    The tier of the enrollment behind `enrollment_status`, or null if the user has never enrolled in one of your programs. Defaults to a url, but can be expanded to the full ProgramTier resource via the `expand` query parameter. A hidden tier is still linked, and still embedded when expanded, but its url returns 404. An expanded tier's `eligible` describes the requesting user (or the driver acted as via `EvEnergy-User`), not necessarily this user.

  - `evse.user.tier.id` (string)
    Example: tier01JCK1HPNAANB8WN253G27SFPC

  - `evse.user.tier.url` (string)
    Example: https://api.ev.energy/v2/programs/prog01JCK1HPNAANB8WN253G27SFPC/tiers/tier01JCK1HPNAANB8WN253G27SFPC

  - `evse.user.tier.short_name` (string)
    A short slug-style identifier for the tier, unique within a program.
    Example: standard

  - `evse.user.tier.name` (string | null)
    A human-friendly name for the tier.
    Example: Standard Tier

  - `evse.user.tier.logo_svg` (string | null)
    URL to download an SVG logo for the tier.

  - `evse.user.tier.description_short` (string | null)
    Short HTML description of the tier. Wrapped in `<html>` tags on both real and sandbox responses.

  - `evse.user.tier.description_long` (string | null)
    Longer HTML description of the tier. Wrapped in `<html>` tags on both real and sandbox responses.

  - `evse.user.tier.smart_charging_enabled` (boolean)
    Whether smart charging is enabled for users in this tier.

  - `evse.user.tier.disable_changing_tariff` (boolean)
    Whether users in this tier are blocked from changing their tariff.

  - `evse.user.tier.visible` (boolean)
    Whether this tier should be shown to users when selecting a tier within the program.

  - `evse.user.tier.eligible` (boolean | null)
    Whether the authenticated user is eligible to join this tier. Populated only when
the request is authenticated as a specific user (Authorization Code / Password grant,
or Client Credentials with the `EvEnergy-User` header). A Clerk active-organisation
session acting as a driver via `EvEnergy-User` gets that driver's eligibility.
`null` for anonymous and pure client-credentials requests.

  - `evse.user.default_location` (any)
    LocationDetail is served when a single user is requested, otherwise Location is served for user lists.

  - `evse.user.default_location.address_1` (string | null)
    First line of address.

  - `evse.user.default_location.address_2` (string | null)
    Second line of address.

  - `evse.user.default_location.postal_code` (string | null)
    Postal Code.

  - `evse.user.default_location.country_code` (string)
    ISO 3166-1 2 letter Country Codes.
    Enum: "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AO", "AQ", "AR", "AS", "AT", "AU", "AW", "AX", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BL", "BM", "BN", "BO", "BQ", "BR", "BS", "BT", "BV", "BW", "BY", "BZ", "CA", "CC", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", "CU", "CV", "CW", "CX", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG", "EH", "ER", "ES", "ET", "FI", "FJ", "FK", "FM", "FO", "FR", "GA", "GB", "GD", "GE", "GF", "GG", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", "GT", "GU", "GW", "GY", "HK", "HM", "HN", "HR", "HT", "HU", "ID", "IE", "IL", "IM", "IN", "IO", "IQ", "IR", "IS", "IT", "JE", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KP", "KR", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME", "MF", "MG", "MH", "MK", "ML", "MM", "MN", "MO", "MP", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NF", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA", "PE", "PF", "PG", "PH", "PK", "PL", "PM", "PN", "PR", "PS", "PT", "PW", "PY", "QA", "RE", "RO", "RS", "RU", "RW", "SA", "SB", "SC", "SD", "SE", "SG", "SH", "SI", "SJ", "SK", "SL", "SM", "SN", "SO", "SR", "SS", "ST", "SV", "SX", "SY", "SZ", "TC", "TD", "TF", "TG", "TH", "TJ", "TK", "TL", "TM", "TN", "TO", "TR", "TT", "TV", "TW", "TZ", "UA", "UG", "UM", "US", "UY", "UZ", "VA", "VC", "VE", "VG", "VI", "VN", "VU", "WF", "WS", "YE", "YT", "ZA", "ZM", "ZW"

  - `evse.user.default_location.coordinates` (any)

  - `evse.user.default_location.coordinates.latitude` (number, required)
    Example: 51.52576576674041

  - `evse.user.default_location.coordinates.longitude` (number, required)
    Example: -0.08366433371722264

  - `evse.user.default_location.tariff` (any)
    The import tariff at this location. When updating, it must be a tariff visible to you: a public tariff or one of your organisation's custom tariffs. Renders as `null` if the tariff is another organisation's custom tariff.

  - `evse.user.default_location.tariff.id` (string, required)
    Unique identifier for the given user.
    Example: tari01HN2NJ9NMRZBXT1H6FT9N7735

  - `evse.user.default_location.tariff.url` (string, required)
    Example: https://api.ev.energy/v2/tariffs/tari01HN2NJ9NMRZBXT1H6FT9N7735

  - `evse.user.default_location.tariff.supplier` (any, required)
    The energy company that supplies this tariff.

  - `evse.user.default_location.tariff.supplier.id` (string, required)
    Unique identifier for the given user.
    Example: supl01HN2NJ9NMRZBXT1H6FT9N7735

  - `evse.user.default_location.tariff.supplier.url` (string, required)
    Example: https://api.ev.energy/v2/suppliers/supl01HN2NJ9NMRZBXT1H6FT9N7735

  - `evse.user.default_location.tariff.supplier.name` (string, required)
    Example: Rivendell Renewables

  - `evse.user.default_location.tariff.supplier.icon` (string | null, required)
    Example: https://cdn.example.com/rivendell_renewables.jpg

  - `evse.user.default_location.tariff.supplier.highlighted` (boolean)
    A highlighted supplier is one that is often selected by users.

  - `evse.user.default_location.tariff.name` (string, required)
    Example: Fangorn Biomass

  - `evse.user.default_location.tariff.currency` (string, required)
    Example: GBP

  - `evse.user.default_location.tariff.highlighted` (boolean)
    A highlighted tariff is one that is often selected by users.

  - `evse.user.default_location.tariff.type` (string)
    Enum: "FLAT_RATE", "DUAL_RATE", "THREE_RATE", "DYNAMIC", "EXTERNALLY_MANAGED", "OTHER"

  - `evse.user.default_location.tariff.daily_prices` (object)
    Information about the tariff's prices for different parts of the day.

  - `evse.user.default_location.tariff.daily_prices.peak` (object, required)
    A single price for a certain time range.

  - `evse.user.default_location.tariff.daily_prices.peak.price` (string | null)
    The price is in major currency units e.g. 0.10 means £0.10. `null` for licensed tariffs without the tariff:prices:read scope.
    Example: 0.10

  - `evse.user.default_location.tariff.daily_prices.peak.times` (array)

  - `evse.user.default_location.tariff.timezone_name` (string)
    Example: Europe/London

  - `evse.user.default_location.tariff.price_chart_url` (string | null)
    The url of a website which can display a chart of prices for the tariff. This website is an external resource and is not affiliated with ev.energy.
    Example: https://www.example.com/

  - `evse.user.default_location.tariff.prices_include_vat` (boolean | null)
    Whether the prices of this tariff include VAT. `null` if this is not known for the tariff.
    Example: true

  - `evse.user.default_location.tariff.gsp_group` (string | null)
    The GB Grid Supply Point (DNO region) the tariff applies to. Suppliers publish region-specific rates, so the same named tariff can appear once per region with differing prices; this field distinguishes them. `null` for tariffs that are not region-specific.
    Example: _C

  - `evse.user.default_location.tariff.valid_from` (string)
    The date from which this tariff became available to new customers.
    Example: 2026-03-17

  - `evse.user.default_location.tariff.valid_until` (string | null)
    The date after which this tariff is no longer available to new customers (it has been superseded). `null` if the tariff is still open to new sign-ups. Use the `valid` query parameter to filter the list to only currently-available tariffs.
    Example: 2027-03-17

  - `evse.user.default_location.tariff.payment_method` (string | null)
    The payment method the tariff's prices apply to. Some suppliers charge different rates depending on how the customer pays, so the same named tariff can appear once per payment method; this field distinguishes them. `null` when the supplier does not price by payment method.
    Enum: "DIRECT_DEBIT", "NON_DIRECT_DEBIT", "null"

  - `evse.user.default_location.tariff.scheduler_tariff` (any)
    The tariff used by the scheduler for charge optimisation, which may differ from the billing tariff. Returns a URL by default, or null if not set. Expandable with ?expand=scheduler_tariff to return a TariffBase object (additional fields may be present beyond those listed here).

  - `evse.user.default_location.tariff.scheduler_tariff.id` (string, required)

  - `evse.user.default_location.tariff.scheduler_tariff.url` (string, required)

  - `evse.user.default_location.tariff.scheduler_tariff.supplier` (string, required)

  - `evse.user.default_location.tariff.scheduler_tariff.name` (string, required)

  - `evse.user.default_location.tariff.scheduler_tariff.currency` (string, required)

  - `evse.user.default_location.city` (string | null)

  - `evse.user.default_location.state` (string | null)

  - `evse.user.default_location.evse_site` (any)
    If null, the user's location is not an EVSE Site. Otherwise, this field references the site they are a part of.

  - `evse.user.default_location.evse_site.id` (string, required)

  - `evse.user.default_location.evse_site.url` (string, required)
    Example: https://api.ev.energy/v2/evse_sites/site01JX2SZ0WAFTDYVYY0JRAYREY7

  - `evse.user.default_location.evse_site.evses` (array, required)
    A list of all EVSEs that are currently associated with this site.

  - `evse.user.default_location.evse_site.cpms_connection` (string | null, required)
    The type of ChargePoint Management System that this site is connected to, if there is one.
    Enum: "null", "CHARGEPOINT", "SWTCH"

  - `evse.user.default_location.evse_site.cpms_connection_display_name` (string | null)
    A human-readable name for the Chargepoint Management System that the site is connected to.
    Example: ChargePoint

  - `evse.user.default_location.evse_site.user_connected` (boolean | null)
    When authenticated as a specific user (eg. via the Authorisation Code grant type) or when the EvEnergy-User header is set to a valid user ID, this field will indicate whether the user is currently connected to this EVSE Site's CPMS. If the request is not made in the context of a user, or the site does not have a CPMS connection, this field will be null.

  - `evse.user.default_location.current_carbon_intensity_grams_per_kilowatt_hour` (integer | null)
    The current carbon intensity associated with the location in gCO2/kWh.
    Example: 300

  - `evse.user.vehicles` (array)

  - `evse.user.evses` (array)

  - `evse.latest_status_log` (any)
    An expandable reference to the most recent status log for this EVSE. This can be requested or expanded to get the most accurate information we have on the device's current status.
**Inferring reachability:** v2 deliberately does not expose a discrete `online`/`offline` state on the EVSE resource — the boundary is fuzzy and prone to misuse. To decide whether an EVSE is currently reachable, expand `latest_status_log` (or fetch it separately) and compare its `sampled_at` timestamp against your own staleness threshold (for example: a charger silent for more than 15 minutes is likely unreachable).
    Example: https://api.ev.energy/v2/evse/evse01HSH04KDEWF6Z4DB2J77J74K5/status_logs/2024-01-01T11:11:11.1111Z/

  - `evse.latest_status_log.url` (string)
    Example: https://api.ev.energy/v2/evse/evse01HSH04KDEWF6Z4DB2J77J74K5/status_logs/2024-01-01T11:11:11.1111Z/

  - `evse.latest_status_log.sampled_at` (string)
    The date and time this status information was sampled on the EVSE.

  - `evse.latest_status_log.logged_at` (string)
    The date and time when this data was recorded. Likely to be later than `sampled_at`, but how much later depends on the integration and other factors.

  - `evse.latest_status_log.evse` (any)

  - `evse.latest_status_log.is_plugged_in` (boolean | null)
    Is there currently a vehicle connected to the EVSE? Will be null if we are unable to get this information from the EVSE integration.

  - `evse.latest_status_log.is_charging` (boolean | null)
    Is the EVSE currently delivering charge? Will be null if we are unable to get this information from the EVSE integration.

  - `evse.latest_status_log.charge_rate_watts` (integer | null)
    The current rate of charge delivery, in watts. Will be null if we are unable to get this information from the EVSE integration.

  - `evse.latest_status_log.export_power_watts` (integer | null)
    Power flowing from the vehicle to the grid (V2X), in watts. Will be null when the EVSE does not report export power or is not bidirectional.

  - `evse.latest_status_log.control_pilot_status` (string | null)
    The SAE J1772 Control Pilot state of the EVSE. Will be null if we are unable to get this information from the EVSE integration.
- `A`
: Standby (no vehicle connected).
- `B`
: Vehicle detected (plugged in, not charging).
- `C`
: Ready / charging (drawing power, no ventilation required).
- `D`
: Charging with ventilation required.
- `E`
: No power (shut off).
- `F`
: Error / fault.
    Enum: "A", "B", "C", "D", "E", "F", "null"

  - `evse.latest_status_log.meter_reading_watt_hours` (integer | null)
    The meter reading in watt hours. Will be null if we are unable to get this information from the EVSE integration.

  - `evse.latest_status_log.is_enabled` (boolean | null)
    Whether the EVSE is enabled (free-vend mode). Will be null if we are unable to get this information from the EVSE integration.

  - `evse.latest_status_log.max_current_rating_milliamps` (integer | null)
    The maximum current the EVSE will allow the car to draw, in milliamps. Will be null if we are unable to get this information from the EVSE integration.

  - `evse.latest_status_log.cable_current_rating_milliamps` (integer | null)
    The maximum current the cable is rated for, in milliamps. Will be null if we are unable to get this information from the EVSE integration.

  - `evse.latest_status_log.signal_strength_rssi_dbm` (integer | null)
    The signal strength (RSSI) the EVSE reported, in dBm. Will be null if we are unable to get this information from the EVSE integration.

  - `evse.latest_status_log.inlet_power_watts` (integer | null)
    Power measured by the EVSE at the property supply inlet, in watts. Will be null if we are unable to get this information from the EVSE integration.

  - `evse.latest_status_log.voltage_millivolts` (integer | null)
    Voltage measured by the EVSE, in millivolts. Will be null if we are unable to get this information from the EVSE integration.

  - `evse.latest_status_log.state_of_charge_percentage` (integer | null)
    Battery charge level as a percentage, as received via the EVSE. Will be null if we are unable to get this information from the EVSE integration.

  - `evse.latest_status_log.mode` (string | null)
    Operating mode reported by the EVSE. Will be null if we are unable to get this information from the EVSE integration.
    Enum: "null", "Unknown", "Idle", "Delay", "Charge", "Discharge", "FFR", "Load match", "Export match", "Peak time", "Deep sleep"

  - `evse.ct_clamp` (any)
    An expandable reference to the CT clamp associated with this EVSE. Will be null if no CT clamp is installed.

  - `evse.ct_clamp.id` (string)
    Unique identifier for the given CT clamp.
    Example: ctcl01HSH04KDEWF6Z4DB2J77J74K5

  - `evse.ct_clamp.url` (string)
    Example: https://api.ev.energy/v2/ct_clamps/ctcl01HSH04KDEWF6Z4DB2J77J74K5

  - `evse.ct_clamp.evse` (any)
    The EVSE associated with this CT clamp. Will be null if not linked to an EVSE.

  - `evse.ct_clamp.calibration_factor` (integer)
    Calibration multiplier for current readings. A value of -1 indicates the clamp was fitted the wrong way around.
    Example: 1

  - `evse.lock_mode` (string | null)
    Lock mode of the EVSE. `UNLOCKED` allows free charging, `SMART` only allows charging within smart-charging hours, `LOCKED` blocks all charging.
    Enum: "UNLOCKED", "SMART", "LOCKED", "null"

  - `evse.location` (object | null)
    The geographic location of the EVSE as a latitude/longitude point.
**Why smart charging needs it:** the location tells ev.energy which electricity grid the charger sits on, which drives the core smart-charging decisions:
- **Carbon optimisation**
 — selects the local carbon-intensity feed so charging is shifted to the lowest-carbon periods.
- **Timezone**
 — resolves the charger's timezone so time-of-day charging schedules and tariff windows are applied in local time.
- **Programs and solar**
 — determines the eligible grid/demand-response programs and the relevant solar forecast.

Without an accurate location the scheduler cannot reliably optimise charging for cost and carbon.
**When it is set:** during commissioning, where the supplied postcode/address is geocoded to a latitude/longitude (or, for app-linked chargers, copied from the owner's home location). It can be corrected later via `PATCH`. Null when the location has not yet been determined.
    Example: {"latitude":51.5074,"longitude":-0.1278}

  - `evse.location.latitude` (number, required)
    Example: 51.5074

  - `evse.location.longitude` (number, required)
    Example: -0.1278

  - `evse.lifecycle_state` (string | null)
    The most recently recorded stage of the EVSE's onboarding lifecycle. Null when no stage has been recorded for it yet, which is normal for a charger that has only just been created.
    Enum: "CREATED_LINKED", "INSTALLED", "COMMISSIONED", "DECOMMISSIONED", "UNKNOWN", "PROBABLY_INSTALLED", "UNPAIRED", "PENDING", "ENROLLED", "null"

  - `evse.charging_sub_sessions` (string)
    Provides a pre-constructed URL to list charging sub-sessions involving this EVSE.
    Example: https://api.ev.energy/charging_sub_sessions/?evse_id=evse01HSH04KDEWF6Z4DB2J77J74K5

  - `calibration_factor` (integer)
    Calibration multiplier for current readings. A value of -1 indicates the clamp was fitted the wrong way around.
    Example: 1

