> ## 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 solar inverter

> Get the solar inverter 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}/inverters/{inverter_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}/inverters/{inverter_id}:
    get:
      tags:
        - User Solar Inverters
      summary: Get details about a user's solar inverter
      description: >-
        Get the solar inverter related to a specific user under a specific
        organization.
      operationId: >-
        integrations_api_api_v2_organizations_users_inverters_router_retrieve_inverter
      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 solar inverter belongs to
            format: uuid
            title: User Id
            type: string
          required: true
          description: The user ID of the user whom the solar inverter belongs to
        - in: path
          name: inverter_id
          schema:
            description: The ID of the specified solar inverter
            format: uuid
            title: Inverter Id
            type: string
          required: true
          description: The ID of the specified solar inverter
        - 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/InverterDetailOutput'
      security:
        - OAuth2: []
components:
  schemas:
    InverterDetailOutput:
      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
        solar_power_rating_kw:
          anyOf:
            - type: number
            - type: string
            - type: 'null'
          title: Rating of solar installation in kW
        battery_capacity_kwh:
          anyOf:
            - type: number
            - type: string
            - type: 'null'
          title: Battery capacity in kWh
        is_battery_connected:
          anyOf:
            - type: boolean
            - type: 'null'
          default: false
          title: Battery connected to inverter
        is_curtailment_active:
          anyOf:
            - type: boolean
            - type: 'null'
          default: false
          title: Curtailment active
        max_battery_charge:
          anyOf:
            - type: number
            - type: string
            - type: 'null'
          title: Maximum battery percentage value for optimization
        min_battery_charge:
          anyOf:
            - type: number
            - type: string
            - type: 'null'
          title: Minimum battery percentage value for optimization
        user_limits_enabled:
          anyOf:
            - type: boolean
            - type: 'null'
          default: false
          title: User Limits Enabled
        information_last_updated_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          title: Information Last Updated At
        battery_policy:
          anyOf:
            - maxLength: 100
              type: string
            - type: 'null'
          default: Optimize self consumption
          title: Battery Policy
        battery_policy_last_updated_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          title: Battery Policy Last Updated At
        current_solar_production_w:
          anyOf:
            - type: number
            - type: string
            - type: 'null'
          title: Current Solar Production W
        current_power_to_grid_w:
          anyOf:
            - type: number
            - type: string
            - type: 'null'
          title: Current Power To Grid W
        household_consumption_w:
          anyOf:
            - type: number
            - type: string
            - type: 'null'
          title: Household Consumption W
        solar_surplus_w:
          anyOf:
            - type: number
            - type: string
            - type: 'null'
          title: Solar Surplus W
        battery_charge_discharge_power_w:
          anyOf:
            - type: number
            - type: string
            - type: 'null'
          title: Battery Charge Discharge Power W
        battery_charge_level_percent:
          anyOf:
            - type: number
            - type: string
            - type: 'null'
          title: Battery Charge Level Percent
        production_last_day_kwh:
          anyOf:
            - type: number
            - type: string
            - type: 'null'
          title: Production Last Day Kwh
        production_last_week_kwh:
          anyOf:
            - type: number
            - type: string
            - type: 'null'
          title: Production Last Week Kwh
        production_last_month_kwh:
          anyOf:
            - type: number
            - type: string
            - type: 'null'
          title: Production Last Month Kwh
        production_last_updated_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          title: Timestamp of last production update
        needs_gateway:
          anyOf:
            - type: boolean
            - type: 'null'
          default: false
          title: Needs Gateway
        inferred_max_charge_power_w:
          anyOf:
            - type: number
            - type: 'null'
          title: Inferred Max Charge Power W
        inferred_max_discharge_power_w:
          anyOf:
            - type: number
            - type: 'null'
          title: Inferred Max Discharge Power W
        inferred_min_battery_soc_percent:
          anyOf:
            - type: number
            - type: 'null'
          title: Inferred Min Battery Soc Percent
        inferred_battery_capacity_kwh:
          anyOf:
            - type: number
            - type: 'null'
          title: Inferred Battery Capacity Kwh
        inferred_params_updated_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          title: Inferred Params Updated At
        has_ev_in_household:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Has Ev In Household
        ev_inferred_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          title: Ev Inferred At
        ev_inference_confidence:
          anyOf:
            - type: number
            - type: 'null'
          description: 0.0–1.0; saturates at 16 EV-charging bouts in 30 days
          title: Ev Inference Confidence
        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
        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: InverterDetailOutput
      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
    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: {}

````