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

# Set Charging Profile

Sends a SetChargingProfile command to the charger. Supports the full OCPP 1.6 SetChargingProfile structure including `ChargePointMaxProfile`, `TxDefaultProfile`, and `TxProfile` purposes.

<ParamField path="charger" type="string" required>
  The UUID of the charger.
</ParamField>

<ParamField body="connector_id" type="integer" required>
  The connector ID. Use `0` for the charge point level, or a positive integer for a specific connector.
</ParamField>

<ParamField body="charging_profile" type="object" required>
  The charging profile to set.

  <Expandable title="charging_profile">
    <ParamField body="charging_profile_id" type="integer" required>
      Unique identifier for the charging profile.
    </ParamField>

    <ParamField body="transaction_id" type="integer">
      Transaction ID. Only applicable for `TxProfile` purpose.
    </ParamField>

    <ParamField body="stack_level" type="integer" required>
      Priority level of the profile in the stack. Must be 0 or greater.
    </ParamField>

    <ParamField body="charging_profile_purpose" type="string" required>
      Purpose of the profile. One of `ChargePointMaxProfile`, `TxDefaultProfile`, or `TxProfile`.
    </ParamField>

    <ParamField body="charging_profile_kind" type="string" required>
      Kind of schedule. One of `Absolute`, `Recurring`, or `Relative`.
    </ParamField>

    <ParamField body="recurrency_kind" type="string">
      Recurrency period. One of `Daily` or `Weekly`. Only applicable for `Recurring` kind.
    </ParamField>

    <ParamField body="valid_from" type="string">
      Start of profile validity as an ISO 8601 date-time.
    </ParamField>

    <ParamField body="valid_to" type="string">
      End of profile validity as an ISO 8601 date-time.
    </ParamField>

    <ParamField body="charging_schedule" type="object" required>
      The charging schedule.

      <Expandable title="charging_schedule">
        <ParamField body="duration" type="integer">
          Duration of the schedule in seconds.
        </ParamField>

        <ParamField body="start_schedule" type="string">
          Start of the schedule as an ISO 8601 date-time.
        </ParamField>

        <ParamField body="charging_rate_unit" type="string" required>
          Unit of rate. Either `A` (Amperes) or `W` (Watts).
        </ParamField>

        <ParamField body="charging_schedule_period" type="object[]" required>
          List of schedule periods. At least one period is required.

          <Expandable title="period">
            <ParamField body="start_period" type="integer" required>
              Start of the period in seconds from the schedule start. Must be 0 or greater.
            </ParamField>

            <ParamField body="limit" type="number" required>
              The charging rate limit for this period. Must be 0 or greater.
            </ParamField>

            <ParamField body="number_phases" type="integer">
              The number of phases to use. Between 1 and 3.
            </ParamField>
          </Expandable>
        </ParamField>

        <ParamField body="min_charging_rate" type="number">
          Minimum charging rate supported.
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

## Response

<ResponseField name="status" type="string">
  The response status from the charger (e.g., `Accepted`, `Rejected`).
</ResponseField>
