# POST /api/resellers

Create reseller

Creates a new reseller account with the specified permissions and configuration.

**Operation ID:** `POST_api_resellers`

## Authorization

Requires: Resellers.Resellers, Resellers.Resellers.Create, reseller scope.

Required permissions:
- `Resellers.Resellers`
- `Resellers.Resellers.Create`

## Parameters

| Name | In | Required | Type | Description |
| --- | --- | --- | --- | --- |
| suppressNulls | query | no | boolean | If true, omit properties with null values. |

## Request Body

**Content type:** `application/json`

Schema: `PhoeniXGateResellersResellerCreateDto`

_Example: Basic Reseller_

Creates a top-level reseller with contact info, business details, and default feature flags. Sub-resellers reference this id via ParentReseller.

```json
{
  "name": "Phoenix Payments Group",
  "parentReseller": null,
  "customIdentifier": "PPG-001",
  "dba": "Phoenix Payments",
  "isTest": false,
  "code": null,
  "contactDetail": {
    "primaryContactName": "Pat Reseller",
    "emailAddress": "support@phoenix-payments.example.com",
    "phone": "555-555-1000",
    "fax": "",
    "companyUrl": "https://phoenix-payments.example.com",
    "addresses": [
      {
        "id": "b380a445-ac5d-48b3-88b4-f841ab13ec3d",
        "address1": "1 Payments Way",
        "address2": "",
        "city": "Phoenix",
        "state": "AZ",
        "province": "",
        "zip": "85027",
        "postalCode": "",
        "country": "USA",
        "isMailing": true,
        "isDefault": true
      }
    ]
  },
  "businessInfo": {
    "federalTaxId": "00-0000000",
    "stateTaxId": null,
    "salesTaxId": null,
    "yearlySalesAmount": null,
    "businessStartDate": null,
    "currency": "USD"
  },
  "features": {
    "privateLabeling": true,
    "hostedPage": true,
    "emulator": false,
    "merchantCustomFieldConfig": true,
    "merchantBilling": true,
    "tokenSharing": false,
    "subResellers": true,
    "tenders": null,
    "paymentTokenization": false
  },
  "branding": {
    "brandedDomainName": "pay.phoenix-payments.example.com",
    "productName": "Phoenix Payments",
    "emailFromName": "Phoenix Payments",
    "emailFromAddress": "no-reply@phoenix-payments.example.com",
    "logo": null,
    "displayAddress": {
      "id": "338bf393-784e-4455-9846-b78f4e9b0427",
      "address1": "1 Payments Way",
      "address2": "",
      "city": "Phoenix",
      "state": "AZ",
      "province": "",
      "zip": "85027",
      "postalCode": "",
      "country": "USA",
      "isMailing": false,
      "isDefault": false
    },
    "sdkGlobalName": null,
    "supportPhone": "555-555-1000",
    "salesPhone": "555-555-1001",
    "supportEmail": "support@phoenix-payments.example.com",
    "favIcons": {
      "favicon16": null,
      "favicon32": null,
      "favicon48": null,
      "appleTouchIcon": null,
      "androidChrome192": null,
      "androidChrome512": null
    }
  },
  "billingPreferences": null,
  "notes": [ ]
}
```

**Content type:** `text/json`

Schema: `PhoeniXGateResellersResellerCreateDto`

_Example: Basic Reseller_

Creates a top-level reseller with contact info, business details, and default feature flags. Sub-resellers reference this id via ParentReseller.

```json
{
  "name": "Phoenix Payments Group",
  "parentReseller": null,
  "customIdentifier": "PPG-001",
  "dba": "Phoenix Payments",
  "isTest": false,
  "code": null,
  "contactDetail": {
    "primaryContactName": "Pat Reseller",
    "emailAddress": "support@phoenix-payments.example.com",
    "phone": "555-555-1000",
    "fax": "",
    "companyUrl": "https://phoenix-payments.example.com",
    "addresses": [
      {
        "id": "b380a445-ac5d-48b3-88b4-f841ab13ec3d",
        "address1": "1 Payments Way",
        "address2": "",
        "city": "Phoenix",
        "state": "AZ",
        "province": "",
        "zip": "85027",
        "postalCode": "",
        "country": "USA",
        "isMailing": true,
        "isDefault": true
      }
    ]
  },
  "businessInfo": {
    "federalTaxId": "00-0000000",
    "stateTaxId": null,
    "salesTaxId": null,
    "yearlySalesAmount": null,
    "businessStartDate": null,
    "currency": "USD"
  },
  "features": {
    "privateLabeling": true,
    "hostedPage": true,
    "emulator": false,
    "merchantCustomFieldConfig": true,
    "merchantBilling": true,
    "tokenSharing": false,
    "subResellers": true,
    "tenders": null,
    "paymentTokenization": false
  },
  "branding": {
    "brandedDomainName": "pay.phoenix-payments.example.com",
    "productName": "Phoenix Payments",
    "emailFromName": "Phoenix Payments",
    "emailFromAddress": "no-reply@phoenix-payments.example.com",
    "logo": null,
    "displayAddress": {
      "id": "338bf393-784e-4455-9846-b78f4e9b0427",
      "address1": "1 Payments Way",
      "address2": "",
      "city": "Phoenix",
      "state": "AZ",
      "province": "",
      "zip": "85027",
      "postalCode": "",
      "country": "USA",
      "isMailing": false,
      "isDefault": false
    },
    "sdkGlobalName": null,
    "supportPhone": "555-555-1000",
    "salesPhone": "555-555-1001",
    "supportEmail": "support@phoenix-payments.example.com",
    "favIcons": {
      "favicon16": null,
      "favicon32": null,
      "favicon48": null,
      "appleTouchIcon": null,
      "androidChrome192": null,
      "androidChrome512": null
    }
  },
  "billingPreferences": null,
  "notes": [ ]
}
```

**Content type:** `application/*+json`

Schema: `PhoeniXGateResellersResellerCreateDto`

_Example: Basic Reseller_

Creates a top-level reseller with contact info, business details, and default feature flags. Sub-resellers reference this id via ParentReseller.

```json
{
  "name": "Phoenix Payments Group",
  "parentReseller": null,
  "customIdentifier": "PPG-001",
  "dba": "Phoenix Payments",
  "isTest": false,
  "code": null,
  "contactDetail": {
    "primaryContactName": "Pat Reseller",
    "emailAddress": "support@phoenix-payments.example.com",
    "phone": "555-555-1000",
    "fax": "",
    "companyUrl": "https://phoenix-payments.example.com",
    "addresses": [
      {
        "id": "b380a445-ac5d-48b3-88b4-f841ab13ec3d",
        "address1": "1 Payments Way",
        "address2": "",
        "city": "Phoenix",
        "state": "AZ",
        "province": "",
        "zip": "85027",
        "postalCode": "",
        "country": "USA",
        "isMailing": true,
        "isDefault": true
      }
    ]
  },
  "businessInfo": {
    "federalTaxId": "00-0000000",
    "stateTaxId": null,
    "salesTaxId": null,
    "yearlySalesAmount": null,
    "businessStartDate": null,
    "currency": "USD"
  },
  "features": {
    "privateLabeling": true,
    "hostedPage": true,
    "emulator": false,
    "merchantCustomFieldConfig": true,
    "merchantBilling": true,
    "tokenSharing": false,
    "subResellers": true,
    "tenders": null,
    "paymentTokenization": false
  },
  "branding": {
    "brandedDomainName": "pay.phoenix-payments.example.com",
    "productName": "Phoenix Payments",
    "emailFromName": "Phoenix Payments",
    "emailFromAddress": "no-reply@phoenix-payments.example.com",
    "logo": null,
    "displayAddress": {
      "id": "338bf393-784e-4455-9846-b78f4e9b0427",
      "address1": "1 Payments Way",
      "address2": "",
      "city": "Phoenix",
      "state": "AZ",
      "province": "",
      "zip": "85027",
      "postalCode": "",
      "country": "USA",
      "isMailing": false,
      "isDefault": false
    },
    "sdkGlobalName": null,
    "supportPhone": "555-555-1000",
    "salesPhone": "555-555-1001",
    "supportEmail": "support@phoenix-payments.example.com",
    "favIcons": {
      "favicon16": null,
      "favicon32": null,
      "favicon48": null,
      "appleTouchIcon": null,
      "androidChrome192": null,
      "androidChrome512": null
    }
  },
  "billingPreferences": null,
  "notes": [ ]
}
```

## Responses

### 200

OK

**Content type:** `text/plain`

Schema: `PhoeniXGateResellersResellerDto`

**Content type:** `application/json`

Schema: `PhoeniXGateResellersResellerDto`

**Content type:** `text/json`

Schema: `PhoeniXGateResellersResellerDto`

### 403

Forbidden

**Content type:** `text/plain`

Schema: `WinkPGHttpRemoteServiceErrorResponse`

**Content type:** `application/json`

Schema: `WinkPGHttpRemoteServiceErrorResponse`

**Content type:** `text/json`

Schema: `WinkPGHttpRemoteServiceErrorResponse`

### 401

Unauthorized

**Content type:** `text/plain`

Schema: `WinkPGHttpRemoteServiceErrorResponse`

**Content type:** `application/json`

Schema: `WinkPGHttpRemoteServiceErrorResponse`

**Content type:** `text/json`

Schema: `WinkPGHttpRemoteServiceErrorResponse`

### 400

Bad Request

**Content type:** `text/plain`

Schema: `WinkPGHttpRemoteServiceErrorResponse`

**Content type:** `application/json`

Schema: `WinkPGHttpRemoteServiceErrorResponse`

**Content type:** `text/json`

Schema: `WinkPGHttpRemoteServiceErrorResponse`

### 404

Not Found

**Content type:** `text/plain`

Schema: `WinkPGHttpRemoteServiceErrorResponse`

**Content type:** `application/json`

Schema: `WinkPGHttpRemoteServiceErrorResponse`

**Content type:** `text/json`

Schema: `WinkPGHttpRemoteServiceErrorResponse`

### 501

Not Implemented

**Content type:** `text/plain`

Schema: `WinkPGHttpRemoteServiceErrorResponse`

**Content type:** `application/json`

Schema: `WinkPGHttpRemoteServiceErrorResponse`

**Content type:** `text/json`

Schema: `WinkPGHttpRemoteServiceErrorResponse`

### 500

Internal Server Error

**Content type:** `text/plain`

Schema: `WinkPGHttpRemoteServiceErrorResponse`

**Content type:** `application/json`

Schema: `WinkPGHttpRemoteServiceErrorResponse`

**Content type:** `text/json`

Schema: `WinkPGHttpRemoteServiceErrorResponse`

### default

The request failed. The body carries the standard error envelope: a machine-readable `error.code`, a human-readable `error.message`, and `error.validationErrors` when the failure was a validation rejection. See the error-code reference in this document's description for the values `error.code` can take.

**Content type:** `application/json`

Schema: `WinkPGHttpRemoteServiceErrorResponse`

## See also

- [All documentation](https://docs.winkpg.io/llms.txt): the machine-readable index of every public page on this site.
