> ## 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.

# Enter the connected car's state of charge and schedule for the current charging session

> Provide what is known about the car plugged into the wallbox right now.

Wallbox-only spot optimization has no BMS visibility: with `soc_pct` and a battery
capacity the optimizer sizes the charging window from the real energy need instead
of a fallback estimate. `soc_pct` is always required — it describes the car *now*
and re-anchors the session's charge progress on every accepted request.

`battery_capacity_kwh` is the connected car's usable capacity. It is stored as the
wallbox's durable default, so later sessions need only the state of charge.
**It is saved even when the rest of the request is rejected** — losing a
first-session capture to an unplug race would send the user through the same dead
end again.

`charge_deadline` and `charge_target_pct` override the wallbox's configured
schedule for this session only ("this once, 90% by 05:00"). They expire with the
session — the persistent configuration is never written — and bind from the next
recalculation onwards.

Returns 204 on success (persisted; a running spot session recalculates
immediately). Returns 409 with `reason` when the inputs can't be used:
`no_open_session` (no charging session is currently open), `no_battery_capacity`
(none supplied here and none configured on the wallbox), or
`invalid_charge_deadline` (in the past, or past the point this session stops being
steered — spot steering ends 48 hours after the session opened, so a later deadline
is unenforceable). Out-of-range values, and a `charge_deadline` without a UTC
offset, are rejected as 422 rather than silently clamped or guessed.



## OpenAPI

````yaml https://app.podero.com/api/partners/v2.0/openapi.json post /api/partners/v2.0/org/{org_id}/users/{user_id}/wallboxes/{wallbox_id}/session-soc
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}/wallboxes/{wallbox_id}/session-soc:
    post:
      tags:
        - User Wallboxes
      summary: >-
        Enter the connected car's state of charge and schedule for the current
        charging session
      description: >-
        Provide what is known about the car plugged into the wallbox right now.


        Wallbox-only spot optimization has no BMS visibility: with `soc_pct` and
        a battery

        capacity the optimizer sizes the charging window from the real energy
        need instead

        of a fallback estimate. `soc_pct` is always required — it describes the
        car *now*

        and re-anchors the session's charge progress on every accepted request.


        `battery_capacity_kwh` is the connected car's usable capacity. It is
        stored as the

        wallbox's durable default, so later sessions need only the state of
        charge.

        **It is saved even when the rest of the request is rejected** — losing a

        first-session capture to an unplug race would send the user through the
        same dead

        end again.


        `charge_deadline` and `charge_target_pct` override the wallbox's
        configured

        schedule for this session only ("this once, 90% by 05:00"). They expire
        with the

        session — the persistent configuration is never written — and bind from
        the next

        recalculation onwards.


        Returns 204 on success (persisted; a running spot session recalculates

        immediately). Returns 409 with `reason` when the inputs can't be used:

        `no_open_session` (no charging session is currently open),
        `no_battery_capacity`

        (none supplied here and none configured on the wallbox), or

        `invalid_charge_deadline` (in the past, or past the point this session
        stops being

        steered — spot steering ends 48 hours after the session opened, so a
        later deadline

        is unenforceable). Out-of-range values, and a `charge_deadline` without
        a UTC

        offset, are rejected as 422 rather than silently clamped or guessed.
      operationId: >-
        integrations_api_api_v2_organizations_users_wallboxes_router_submit_wb_session_soc_endpoint
      parameters:
        - in: path
          name: org_id
          schema:
            description: The organization ID
            format: uuid
            title: Org Id
            type: string
          required: true
          description: The organization ID
        - in: path
          name: user_id
          schema:
            description: The user ID whom the wallbox belongs to
            format: uuid
            title: User Id
            type: string
          required: true
          description: The user ID whom the wallbox belongs to
        - in: path
          name: wallbox_id
          schema:
            description: The EV charger (wallbox) UUID
            format: uuid
            title: Wallbox Id
            type: string
          required: true
          description: The EV charger (wallbox) UUID
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WBSessionSocInput'
        required: true
      responses:
        '204':
          description: No Content
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                additionalProperties: true
                title: Response
                type: object
      security:
        - OAuth2: []
components:
  schemas:
    WBSessionSocInput:
      description: >-
        What the user knows about the car plugged in right now.


        The state of charge is always required — every submit asserts "the car
        is at

        X% *now*", which is what anchors the session's synthetic charge
        progress. The

        rest is optional: the battery capacity is durable car configuration (it

        becomes the wallbox's default), while the deadline and target are

        override-and-forget for this session alone.
      properties:
        soc_pct:
          description: The car's state of charge right now, in percent.
          maximum: 100
          minimum: 0
          title: Soc Pct
          type: number
        battery_capacity_kwh:
          anyOf:
            - exclusiveMinimum: 0
              maximum: 300
              type: number
            - type: 'null'
          description: >-
            Usable battery capacity of the connected car (kWh). Stored as the
            wallbox's default for subsequent sessions. Required while the
            wallbox has none configured.
          title: Battery Capacity Kwh
        charge_deadline:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          description: >-
            Charge by this instant, for this session only — an ISO-8601 datetime
            carrying a UTC offset. Must be in the future and within the
            session's remaining life; the wallbox's configured schedule is
            untouched.
          title: Charge Deadline
        charge_target_pct:
          anyOf:
            - maximum: 100
              minimum: 1
              type: integer
            - type: 'null'
          description: >-
            Charge to this state of charge, for this session only. The wallbox's
            configured charge limit is untouched.
          title: Charge Target Pct
      required:
        - soc_pct
      title: WBSessionSocInput
      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: {}

````