<!-- Markdown copy of https://docs.creatorain.com/partner-api/reference/operations/putpartnersettings/ -->
# Set your surcharge per video, once for all stores

PUT

/settings

Select code sampleFetchcURL

```js
const url = 'https://data.creatorain.com/partner/v1/settings';
const options = {
  method: 'PUT',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: '{"surcharge_per_video":10}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```sh
curl --request PUT \
  --url https://data.creatorain.com/partner/v1/settings \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{ "surcharge_per_video": 10 }'
```

-   Production (live stores; a live key is issued per partner)
-   Sandbox, for integration testing (test keys, test stores)

A JSON number from 0 to 10000, in whole cents (`10` or `10.5`, not `"10"`). It replaces the default surcharge. It applies to new quotes and to stores confirmed after it. Stores already confirmed keep the price they were confirmed with until their plan changes. PARTNER KEY ONLY.

## Authorizations

-   **[partnerApiKey](/partner-api/reference/#partnerapikey)**

## Request Bodyrequired

Media typeapplication/json

object

**surcharge\_per\_video**

required

number

<= 10000

### Example

```json
10
```

## Responses

### 200

The stored settings.

Media typeapplication/json

object

**surcharge\_per\_video**

required

number

**currency**

required

string

**updated\_at**

required

string

nullable

#### Example

```json
{
  "surcharge_per_video": 10,
  "currency": "USD",
  "updated_at": "2026-10-01T09:00:00Z"
}
```

### 400

`validation_error`. `field` names the offending parameter.

Media typeapplication/json

object

**error**

required

object

**code**

required

The stable value to branch on.

string

Allowed values: unauthorized forbidden\_ip rate\_limited validation\_error location\_already\_exists location\_not\_found location\_terminated reservation\_not\_found conflict internal\_error

**message**

required

A human sentence. Copy, not contract; it may be reworded.

string

**field**

The request field at fault, dotted for a nested one (`plan.term_months`).

string

#### Example

```json
{
  "error": {
    "code": "unauthorized"
  }
}
```

### 401

`unauthorized`. A missing, malformed, unknown or revoked key; or an invalid, expired or wrong-store dashboard token. One answer for every case on purpose: the holder of a bad credential learns nothing from the difference.

Media typeapplication/json

object

**error**

required

object

**code**

required

The stable value to branch on.

string

Allowed values: unauthorized forbidden\_ip rate\_limited validation\_error location\_already\_exists location\_not\_found location\_terminated reservation\_not\_found conflict internal\_error

**message**

required

A human sentence. Copy, not contract; it may be reworded.

string

**field**

The request field at fault, dotted for a nested one (`plan.term_months`).

string

#### Example

```json
{
  "error": {
    "code": "unauthorized"
  }
}
```

### 429

`rate_limited`. Over this key’s requests-per-minute ceiling.

Media typeapplication/json

object

**error**

required

object

**code**

required

The stable value to branch on.

string

Allowed values: unauthorized forbidden\_ip rate\_limited validation\_error location\_already\_exists location\_not\_found location\_terminated reservation\_not\_found conflict internal\_error

**message**

required

A human sentence. Copy, not contract; it may be reworded.

string

**field**

The request field at fault, dotted for a nested one (`plan.term_months`).

string

#### Example

```json
{
  "error": {
    "code": "unauthorized"
  }
}
```
