> For the complete documentation index, see [llms.txt](https://docs.sfox.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sfox.com/connect/rest-api/monetization/create-setting.md).

# Create Setting

<table data-header-hidden><thead><tr><th width="82.40625">HTTP Method</th><th>URL</th></tr></thead><tbody><tr><td><mark style="color:blue;"><strong>POST</strong></mark></td><td>https://api.sfox.com/v1/enterprise/monetization/settings</td></tr></tbody></table>

Create a monetization setting.

***

The first step to monetizing your user's activity is to create monetization settings. Using this endpoint, Partners can specify the `feature`,  `method`, `currency`, and `user` they would like the fee to be applied to.&#x20;

### Monetization Configuration Combinations

The following combinations of Feature and Method are supported

<table><thead><tr><th width="197.625">Monetization Feature</th><th>Monetization Method(s)</th></tr></thead><tbody><tr><td><code>RFQ</code></td><td><code>FEE_RATE</code> , <code>SPREAD_ADJUSTMENT</code></td></tr><tr><td><code>SPOT_TRADE</code></td><td><code>FEE_RATE</code></td></tr></tbody></table>

## Request

### Body Parameters

<table><thead><tr><th width="175.53515625">Parameter</th><th width="112">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>feature</code> <mark style="color:red;">required</mark></td><td>string</td><td><ul><li><code>RFQ</code></li><li><code>SPOT_TRADE</code></li><li><code>WITHDRAW</code></li></ul></td></tr><tr><td><code>method</code> <mark style="color:red;">required</mark></td><td>string</td><td><ul><li><code>FEE_RATE</code></li><li><code>FEE_FLAT</code></li><li><code>SPREAD_ADJUSTMENT</code></li></ul></td></tr><tr><td><code>user_id</code></td><td>string</td><td>The Connect user ID this fee is specified for. If no <code>user_id</code> is specified, the fee is applied to all users.</td></tr><tr><td><code>amount</code> <mark style="color:red;">required</mark></td><td>number</td><td>The monetization amount in decimal format i.e. <code>0.01</code> (1%)</td></tr><tr><td><code>security_pair</code></td><td>string</td><td>Used when applying a <code>FEE_RATE</code> or <code>SPREAD_ADJUSTMENT</code> to a specific instrument, such as <code>btcusd</code></td></tr></tbody></table>

### Example Requests

{% tabs %}
{% tab title="Shell" %}
{% code overflow="wrap" lineNumbers="true" expandable="true" %}

```sh
curl -X POST \
 -H 'Content-type: application/json' \
 -H "Authorization: Bearer ${ENTERPRISE_API_KEY}" \
 --data '{ "feature": "SPOT_TRADE",
          "method": "FEE_RATE",
          "amount": 0.01,
          "user_id": "client25" }'  \
 'https://api.sfox.com/v1/enterprise/monetization/settings'
```

{% endcode %}
{% endtab %}

{% tab title="NodeJS" %}
{% code overflow="wrap" lineNumbers="true" expandable="true" %}

```javascript
const axios = require('axios');

const config = {
  method: 'post',
  url: 'https://api.sfox.com/v1/enterprise/monetization/settings',
  headers: {
    "Content-Type": "application/json",
    'Authorization': `Bearer ${process.env.ENTERPRISE_API_KEY}`
  },
  data: {
    feature: 'SPOT_TRADE',
    method: 'FEE_RATE',
    amount: 0.01,
    user_id: 'client25'
  }
}

axios(config)
  .then((response) => {
    console.log(response.status);
    console.log(response.data);
  })
  .catch((error) => {
    console.error(error.response.status);
    console.error(error.response.data);
  });
```

{% endcode %}
{% endtab %}

{% tab title="Python" %}
{% code overflow="wrap" lineNumbers="true" expandable="true" %}

```python
import requests
import os

data = requests.post(
  "https://api.sfox.com/v1/enterprise/monetization/settings",
  headers={
    "Authorization": f"Bearer {os.environ['ENTERPRISE_API_KEY']}"
  },
  json={
    "feature": "SPOT_TRADE",
    "method": "FEE_RATE",
    "amount": 0.01,
    "user_id": "client25"
  }
)
print(data.status_code)
print(data.json())
```

{% endcode %}
{% endtab %}
{% endtabs %}

## Response

### Response Body&#x20;

<table><thead><tr><th width="262.71875">Field</th><th valign="top">Description</th></tr></thead><tbody><tr><td><code>monetization_id</code> <br>int</td><td valign="top">Unique ID for this monetization setting.</td></tr><tr><td><code>monetization_feature</code> <br>string</td><td valign="top">Feature this setting applies to.</td></tr><tr><td><code>monetization_feature_code</code> <br>string</td><td valign="top">API readable code for the feature.</td></tr><tr><td><code>monetization_method</code> <br>string</td><td valign="top">Monetization method of the setting.</td></tr><tr><td><code>monetization_method_code</code> <br>string</td><td valign="top">API readable code for the monetization method.</td></tr><tr><td><code>monetization_amount</code> <br>number</td><td valign="top">Monetization amount in decimal format.</td></tr><tr><td><code>user_id</code> <br>string</td><td valign="top">User ID of the end user that the setting is applied to, if applicable. <code>null</code> if the setting applies to all end users.</td></tr><tr><td><code>currency_code</code> <br>string</td><td valign="top">Currency that the setting is applied to, if applicable. <code>null</code> if the setting applies to all currencies or is not applicable to currencies.</td></tr><tr><td><code>currency_pair</code> <br>string</td><td valign="top">Currency pair that the setting is applied to, if applicable. <code>null</code> if the setting applies to all pairs or is not applicable to currency pairs.</td></tr><tr><td><code>date_updated</code> <br>datetime</td><td valign="top">Date and time the setting was most recently updated or created.</td></tr></tbody></table>

### Responses

<details>

<summary><mark style="color:green;"><strong>201 Created</strong></mark></summary>

{% code overflow="wrap" lineNumbers="true" expandable="true" %}

```json
{
    "data": {
        "monetization_id": 1310717,
        "monetization_feature": "Spot Trading",
        "monetization_feature_code": "SPOT_TRADE",
        "monetization_method": "Fee Rate",
        "monetization_method_code": "FEE_RATE",
        "monetization_amount": 0.01,
        "user_id": "client25",
        "currency_code": null,
        "currency_pair": null,
        "date_updated": "2023-06-07T21:49:22.000Z"
    }
}
```

{% endcode %}

</details>

<details>

<summary><mark style="color:red;"><strong>422 Unprocessable Content</strong></mark></summary>

{% code title="Duplicate Setting" overflow="wrap" lineNumbers="true" expandable="true" %}

```json
{
    "error": "Monetization setting already exists"
}
```

{% endcode %}

</details>

<details>

<summary><mark style="color:red;"><strong>403 Forbidden</strong></mark></summary>

{% code title="No Feature Permission" overflow="wrap" lineNumbers="true" expandable="true" %}

```json
{
    "error": "You do not have RFQ monetization permission"
}
```

{% endcode %}

{% code title="No Method Permission" overflow="wrap" lineNumbers="true" expandable="true" %}

```json
{
    "error": "You do not have FEE_RATE monetization permission for RFQ"
}
```

{% endcode %}

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.sfox.com/connect/rest-api/monetization/create-setting.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
