---
title: "Create Adder"
method: POST
path: "/tenants/{tenant_id}/designs/{design_id}/pricing/adders"
tags: ["Pricing"]
---

# Create Adder

`POST /tenants/{tenant_id}/designs/{design_id}/pricing/adders`

## Request

- Base URL: `https://api-sandbox.aurorasolar.com`
- URL: `https://api-sandbox.aurorasolar.com/tenants/{tenant_id}/designs/{design_id}/pricing/adders`
- Auth: HTTP bearer

Create a new adder or discount having a monetary value.

## Path parameters

- `tenant_id` string, uuid, required
- `design_id` string, uuid, required

## Request body

- object
  - `adder` object
    - `adder_name` string, required: The name of the adder.
    - `adder_value` number, required: The value of the adder. The unit depends on the type — flat adders are denominated in the tenant's configured currency (see `currency` on `GET /tenants/{id}`); system_size adders are denominated in the tenant's configured currency per unit of `adder_system_size_basis` (per watt for `stc`, `ptc`, `ac`, and `storage_ac`; per watt-hour for `capacity_nominal`, `capacity_usable`, and `capacity_usable_ac`); percent adders are a percentage.
    - `quantity` number: A multiplier for `adder_value`.
    - `is_discount` boolean: Is this a discount?
    - `is_editable` boolean: Is `adder_value` editable on the Pricing page?
    - `is_hidden` boolean: Is the adder hidden from homeowners?
    - `is_quantity_editable` boolean: Is `quantity` editable on the Pricing page?
    - `eligible_for_cbi` boolean: Is the adder eligible for price based incentives like the federal ITC? Assumed to be true if not specified.
    - `prevent_manual_deletion` boolean: Prevent deletion of the adder on the Pricing page?
    - `additional_charges` object[]: Array of additional charges to apply to the adder.
      - `name` string: Name of the additional charge.
      - `percentage` number: Percentage rate of the additional charge.

## Response `200`

Adder successfully created.

- object
  - `adder` object
    - `adder_name` string: The name of the adder.
    - `adder_value` number: The value of the adder. The unit depends on the type — flat adders are denominated in the tenant's configured currency (see `currency` on `GET /tenants/{id}`); system_size adders are denominated in the tenant's configured currency per unit of `adder_system_size_basis` (per watt for `stc`, `ptc`, `ac`, and `storage_ac`; per watt-hour for `capacity_nominal`, `capacity_usable`, and `capacity_usable_ac`); percent adders are a percentage.
    - `quantity` number: A multiplier for `adder_value`.
    - `is_discount` boolean: Is this a discount?
    - `is_editable` boolean: Is `adder_value` editable on the Pricing page?
    - `is_hidden` boolean: Is the adder hidden from homeowners?
    - `is_quantity_editable` boolean: Is `quantity` editable on the Pricing page?
    - `eligible_for_cbi` boolean: Is the adder eligible for price based incentives like the federal ITC? Assumed to be true if not specified.
    - `prevent_manual_deletion` boolean: Prevent deletion of the adder on the Pricing page?
    - `additional_charges` object[]: Array of additional charges applied to the adder. Each charge includes the name and percentage rate.
      - `name` string: Name of the additional charge.
      - `percentage` number: Percentage rate of the additional charge.
    - `id` string, uuid: Unique ID identifying the adder.
    - `adder_template_id` string, uuid, nullable: Unique ID identifying the adder that this one was instantiated from. Can be used to match the same adder across designs.
    - `adder_type` 'flat' | 'system_size' | 'percent': The type of the adder.
    - `percentage_basis` 'solar' | 'storage' | 'heat_pump' | 'net_system_cost', nullable: For a `percent` adder, the price the percent is applied to. `null` for other adder types.

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `422`: Unprocessable Entity

## Changes

- **2026-11-03** `97a7ad8a993a`: 2 info
  - added `subschema #1, subschema #2` to the `adder` response property `allOf` list for the response status `200`
  - removed `subschema #1, subschema #2` from the `adder` response property `allOf` list for the response status `200`

[Operation history](https://skmtc.dev/aurorasolar/apis/sync-api/changes/tenants/:tenant_id/designs/:design_id/pricing/adders/post.md)

---

[API](https://skmtc.dev/aurorasolar/apis/sync-api.md) - [All operations](https://skmtc.dev/aurorasolar/apis/sync-api/llms.txt) - [OpenAPI document](https://skmtc.dev/aurorasolar/apis/sync-api/revisions/97a7ad8a993a?raw)
