> ## Documentation Index
> Fetch the complete documentation index at: https://developers.podero.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get details about a user's electric vehicle

> Get the electric vehicle related to a specific user under a specific organization.



## OpenAPI

````yaml https://app.podero.com/api/partners/v2.0/openapi.json get /api/partners/v2.0/org/{org_id}/users/{user_id}/electric-vehicles/{electric_vehicle_id}
openapi: 3.1.0
info:
  title: Podero Partner API
  version: '2.0'
  description: >-
    This API provides a unified interaction point for Podero's partner
    companies.


    The goal of this API is to give partners easily integratable endpoints that
    don't require extensive software

    development. For this reason, the endpoints focus around user and device
    management, setting of preferences

    and high level device controls.


    While direct control of devices is implemented for special use cases such as
    pause power, we abstract away low level

    direct device steering so developers and partners can focus on delivering
    maximum value to end users.
  termsOfService: https://www.podero.com/terms-and-conditions
servers: []
security: []
paths:
  /api/partners/v2.0/org/{org_id}/users/{user_id}/electric-vehicles/{electric_vehicle_id}:
    get:
      tags:
        - User Electric Vehicles
      summary: Get details about a user's electric vehicle
      description: >-
        Get the electric vehicle related to a specific user under a specific
        organization.
      operationId: >-
        integrations_api_api_v2_organizations_users_electric_vehicles_router_retrieve_electric_vehicle
      parameters:
        - in: path
          name: org_id
          schema:
            description: The organization ID of the user's organization
            format: uuid
            title: Org Id
            type: string
          required: true
          description: The organization ID of the user's organization
        - in: path
          name: user_id
          schema:
            description: The user ID of the user whom the electric vehicle belongs to
            format: uuid
            title: User Id
            type: string
          required: true
          description: The user ID of the user whom the electric vehicle belongs to
        - in: path
          name: electric_vehicle_id
          schema:
            description: The ID of the specified electric vehicle
            format: uuid
            title: Electric Vehicle Id
            type: string
          required: true
          description: The ID of the specified electric vehicle
        - in: query
          name: include_deleted
          schema:
            default: false
            description: If true, includes soft-deleted
            title: Include Deleted
            type: boolean
          required: false
          description: If true, includes soft-deleted
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ElectricVehicleDetailOutput'
      security:
        - OAuth2: []
components:
  schemas:
    ElectricVehicleDetailOutput:
      properties:
        connection_status:
          enum:
            - ok
            - warning
            - error
            - unknown
          title: Connection Status
          type: string
        monitoring_status:
          enum:
            - ok
            - warning
            - error
            - unknown
          title: Monitoring Status
          type: string
        steering_status:
          enum:
            - ok
            - warning
            - error
            - unknown
          title: Steering Status
          type: string
        device_model:
          anyOf:
            - $ref: '#/components/schemas/DeviceModelOutput'
            - type: 'null'
        owner:
          $ref: '#/components/schemas/OwnerOutput'
        price_zone:
          allOf:
            - $ref: '#/components/schemas/PriceZone'
          default: AT
        id:
          anyOf:
            - format: uuid
              type: string
            - type: 'null'
          title: Id
        created_at:
          format: date-time
          title: Created At
          type: string
        updated_at:
          format: date-time
          title: Updated At
          type: string
        deleted_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          description: When set, the device is considered deleted.
          title: Soft-deleted at
        lifecycle_state:
          default: authenticated
          maxLength: 20
          title: Lifecycle state
          type: string
        lifecycle_error:
          anyOf:
            - type: string
            - type: 'null'
          description: Error metadata when lifecycle_state is 'error'.
          title: Lifecycle error details
        pause_power_until:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          title: Pause power consumption until
        is_pause_power_active:
          default: false
          title: Pause function currently active
          type: boolean
        external_device_id:
          anyOf:
            - maxLength: 255
              type: string
            - type: 'null'
          default: ''
          title: External Device Id
        is_authenticated:
          anyOf:
            - type: boolean
            - type: 'null'
          default: false
          title: Is Authenticated
        is_smart_optimization_active:
          default: false
          title: Smart Optimization Active
          type: boolean
        optimization_score:
          anyOf:
            - type: number
            - type: 'null'
          title: Optimization Score
        current_mode:
          anyOf:
            - type: string
            - type: 'null'
          title: Current Mode
        comment:
          anyOf:
            - maxLength: 300
              type: string
            - type: 'null'
          title: Comment
        current_state_last_updated_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          title: Current State Last Updated At
        last_monitoring_executed_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          title: Last Monitoring Executed At
        is_inverter_forced_mode_enabled:
          default: false
          title: Is Inverter Forced Mode Enabled
          type: boolean
        is_inverter_forced_mode_active:
          default: false
          title: Is Inverter Forced Mode Active
          type: boolean
        inverter_forced_mode_since:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          default: '0001-01-01T00:00:00Z'
          title: Inverter Forced Mode Since
        is_trading_enabled:
          default: false
          title: Is Trading Enabled
          type: boolean
        actual_steering_state:
          default: unknown
          maxLength: 20
          title: Actual Steering State
          type: string
        charge_target_min:
          anyOf:
            - type: integer
            - type: 'null'
          default: 50
          title: Minimum vehicle charge level
        charge_target_max:
          anyOf:
            - type: integer
            - type: 'null'
          description: >-
            Detected OEM-app charge cap (percent). NULL = unknown / no cap
            detected.
          title: Maximum vehicle charge level
        is_charge_policy_enabled:
          anyOf:
            - type: boolean
            - type: 'null'
          default: false
          title: Charge Policy enabled
        charge_policy_last_updated_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          title: Last time charge policy was updated
        minimum_charge_limit:
          anyOf:
            - type: integer
            - type: 'null'
          default: 100
          title: Charge level that must be reached
        charge_deadline_at:
          anyOf:
            - format: time
              type: string
            - type: 'null'
          default: '06:00:00'
          title: Time when charge limit must be reached
        is_over_charge_allowed:
          anyOf:
            - type: boolean
            - type: 'null'
          default: false
          title: Charge beyond limit allowed
        expected_max_charge_power:
          default: 3600
          title: Expected charge power for charging schedule
          type: integer
        charge_time_remaining:
          anyOf:
            - type: integer
            - type: 'null'
          title: Remaining charge time in seconds
        charge_rate_w:
          anyOf:
            - type: integer
            - type: 'null'
          title: Current charge power in Watts
        is_fully_charged:
          anyOf:
            - type: boolean
            - type: 'null'
          default: false
          title: Fully charged
        is_plugged_in:
          anyOf:
            - type: boolean
            - type: 'null'
          default: false
          title: Plugged in
        is_charging:
          anyOf:
            - type: boolean
            - type: 'null'
          default: false
          title: Charging active
        battery_level:
          anyOf:
            - type: integer
            - type: 'null'
          title: Current battery level in percent
        driving_range:
          anyOf:
            - type: integer
            - type: 'null'
          title: Current driving range in km
        battery_capacity_kwh:
          anyOf:
            - type: number
            - type: string
            - type: 'null'
          default: '0'
          title: Total battery capacity KWh
        charge_state_last_updated_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          title: 'DEPRECATED: Timestamp when last update was received'
        boost_for_next_session:
          default: false
          title: Boost For Next Session
          type: boolean
        latitude:
          anyOf:
            - type: number
            - type: 'null'
          title: latest Latitude
        longitude:
          anyOf:
            - type: number
            - type: 'null'
          title: latest Longitude
        coordinates_last_updated_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          title: Coordinates Last Updated At
        geo_fence_distance_m:
          default: 100
          title: Geo Fence Distance M
          type: number
        consumption_last_day_kwh:
          anyOf:
            - type: number
            - type: string
            - type: 'null'
          title: Energy consumption of last day
        consumption_last_week_kwh:
          anyOf:
            - type: number
            - type: string
            - type: 'null'
          title: Energy consumption of last week
        consumption_last_month_kwh:
          anyOf:
            - type: number
            - type: string
            - type: 'null'
          title: Energy consumption of last month
        consumption_last_updated_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          title: Timestamp of last consumption update
        battery_at_plug_in:
          anyOf:
            - type: number
            - type: 'null'
          description: Battery level at latest plug-in event
          title: Battery At Plug In
        minimum_solar_coverage:
          default: 1
          title: Minimum Solar Coverage
          type: number
        hems_min_export_to_start_w:
          default: 2000
          title: Hems Min Export To Start W
          type: integer
        hems_max_import_before_stopping_w:
          default: 4000
          title: Hems Max Import Before Stopping W
          type: integer
        hems_min_production_to_start_w:
          default: 3000
          title: Hems Min Production To Start W
          type: integer
        hems_min_production_before_stopping_w:
          default: 2000
          title: Hems Min Production Before Stopping W
          type: integer
        embeddable_url:
          anyOf:
            - type: string
            - type: 'null'
          description: URL to embeddable onboarding form
          title: Embeddable Url
        authorization_url:
          anyOf:
            - type: string
            - type: 'null'
          description: Base URL for authorizing with the Podero server
          title: Authorization Url
        action_needed:
          default: false
          description: >-
            True when at least one action is pending against this device and the
            partner must take that action before the device can resume normal
            operation. The `actions` field on the detail response carries the
            specifics.
          title: Action Needed
          type: boolean
        has_notification:
          default: false
          description: >-
            True when the device has at least one unread information
            notification for the owner.
          title: Has Notification
          type: boolean
        boost_state:
          allOf:
            - $ref: '#/components/schemas/BoostState'
          default: unavailable
        boost_feature_enabled:
          default: true
          title: Boost Feature Enabled
          type: boolean
        last_boost_triggered_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          title: Last Boost Triggered At
        last_boost_ended_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          title: Last Boost Ended At
        last_boost_end_reason:
          anyOf:
            - type: string
            - type: 'null'
          title: Last Boost End Reason
        actions:
          description: >-
            Pending actions the partner can take on this device. Each item
            carries a `code` discriminator that determines its remaining fields
            — different action codes can use different resolution mechanisms
            (URL flow, webhook, in-band command, ...). Empty when nothing is
            pending.
          items:
            discriminator:
              mapping:
                information:
                  $ref: '#/components/schemas/InformationActionProjection'
                reauthenticate:
                  $ref: '#/components/schemas/ReauthenticateProjection'
              propertyName: code
            oneOf:
              - $ref: '#/components/schemas/ReauthenticateProjection'
              - $ref: '#/components/schemas/InformationActionProjection'
          title: Actions
          type: array
      required:
        - connection_status
        - monitoring_status
        - steering_status
        - device_model
        - owner
        - created_at
        - updated_at
      title: ElectricVehicleDetailOutput
      type: object
    DeviceModelOutput:
      properties:
        device_type:
          $ref: '#/components/schemas/DeviceTypeOutput'
        cloud_service_instructions:
          anyOf:
            - type: string
            - type: 'null'
          title: Cloud Service Instructions
        cloud_service_signup_link:
          anyOf:
            - type: string
            - type: 'null'
          title: Cloud Service Signup Link
        manufacturer:
          maxLength: 255
          title: Manufacturer or brand
          type: string
        model:
          maxLength: 255
          title: Model
          type: string
        year:
          anyOf:
            - type: integer
            - type: 'null'
          title: Model year (if available)
        cloud_service:
          anyOf:
            - format: uuid
              type: string
            - type: 'null'
          title: Cloud Service
      required:
        - device_type
        - manufacturer
        - model
      title: DeviceModelOutput
      type: object
    OwnerOutput:
      properties:
        id:
          format: uuid
          title: Id
          type: string
        email:
          anyOf:
            - type: string
            - type: 'null'
          title: Email
        first_name:
          anyOf:
            - type: string
            - type: 'null'
          title: First Name
        last_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Last Name
        external_id:
          anyOf:
            - type: string
            - type: 'null'
          title: External Id
      required:
        - id
      title: OwnerOutput
      type: object
    PriceZone:
      enum:
        - AT
        - AT_HOURLY
        - BE
        - CH
        - EE
        - DE_LU
        - HU
        - IT_CNOR
        - IT_CSUD
        - IT_NORD
        - IT_PUN
        - IT_SARD
        - IT_SICI
        - IT_SUD
        - PT
        - RO
        - SE_1
        - SE_2
        - SE_3
        - SE_4
        - UK
      title: PriceZone
      type: string
    BoostState:
      enum:
        - available
        - requested
        - unavailable
        - ongoing
      title: BoostState
      type: string
    InformationActionProjection:
      description: Action showing a message to the user.
      properties:
        code:
          const: information
          description: Discriminator identifying this as an information action.
          title: Code
          type: string
        resolution_link:
          $ref: '#/components/schemas/cue_handler__api_schemas__ResolutionLinkSchema'
          description: Link the caller follows to resolve the message showing.
        metadata:
          additionalProperties: true
          description: >-
            Action-specific metadata. Carries the user-visible message under
            `message`.
          title: Metadata
          type: object
        sent_at:
          description: >-
            Timestamp when the latest message in this action was sent to the
            user.
          format: date-time
          title: Sent At
          type: string
      required:
        - code
        - resolution_link
        - sent_at
      title: InformationActionProjection
      type: object
    ReauthenticateProjection:
      description: >-
        Action requiring the partner to reauthenticate the user against an
        upstream provider.


        Once more action codes are introduced, expose them as sibling classes
        (e.g.

        `FooAction` with `code: Literal["foo"]`) and combine them into a
        discriminated

        union (`Annotated[ReauthenticateAction | FooAction,
        Field(discriminator="code")]`)

        so OpenAPI consumers can branch on `code` to select the right shape.
      properties:
        code:
          const: reauthenticate
          description: Discriminator identifying this as a reauthentication action.
          title: Code
          type: string
        resolution_link:
          $ref: >-
            #/components/schemas/cue_handler__actions__reauth__ResolutionLinkSchema
          description: Link the caller follows to start the reauthentication.
      required:
        - code
        - resolution_link
      title: ReauthenticateProjection
      type: object
    DeviceTypeOutput:
      properties:
        short_name:
          maxLength: 255
          title: String identifier of device type
          type: string
        long_name:
          maxLength: 255
          title: Description of device type
          type: string
      required:
        - short_name
        - long_name
      title: DeviceTypeOutput
      type: object
    cue_handler__api_schemas__ResolutionLinkSchema:
      properties:
        url:
          description: >-
            Relative URL the caller hits to resolve the action. Already includes
            the action's ID and a signed `secret` query parameter; the secret is
            bound to the member and expires 1 hour after issuance.
          title: Url
          type: string
        required_parameters:
          description: >-
            Names of the body fields the caller must supply when resolving the
            action.
          items:
            type: string
          title: Required Parameters
          type: array
      required:
        - url
        - required_parameters
      title: ResolutionLinkSchema
      type: object
    cue_handler__actions__reauth__ResolutionLinkSchema:
      properties:
        url:
          description: >-
            Relative URL the caller hits to start the action. Already includes
            the action's ID and a signed `secret` query parameter; the secret is
            bound to the member and expires 1 hour after issuance.
          title: Url
          type: string
        required_parameters:
          description: >-
            Names of the body fields the caller must supply when starting the
            action.
          items:
            type: string
          title: Required Parameters
          type: array
      required:
        - url
        - required_parameters
      title: ResolutionLinkSchema
      type: object
  securitySchemes:
    OAuth2:
      type: oauth2
      flows:
        password:
          tokenUrl: /api/partners/v2.0/auth/token
          scopes: {}
        clientCredentials:
          tokenUrl: /api/partners/v2.0/auth/token
          scopes: {}

````