View as Markdown

llms.txt

The API reference isn't available right now

This instance couldn't load its API specification. The reference returns as soon as the specification is readable again.

Back to the API reference

No such operation

This instance documents no operation under that identifier. It may have been renamed, or it may belong to a feature this installation hasn't enabled.

Back to the API reference

This reference may be out of date

This instance couldn't reach its API specification on the last attempt, so this page shows the copy fetched before that. Anything added or changed since then is missing here, and the reference updates itself as soon as the specification is readable again. Last fetched 2026-10-22 22:09 UTC.

API reference Resellers

Replaces the billing preferences of the calling operator's own reseller.

POST /api/resellers/update-own-billing-preferences-async deprecated

Requires: Resellers.Resellers.Update, reseller scope.

The reseller is resolved from the signed-in user, so this route takes no reseller id. Every rule that applies to an administrator's edit of the same preferences applies here too. The preferences are replaced wholesale, so a caller changing one field must first read the current preferences and post them back with that field changed.

Signed in, you can send this request to your own sandbox merchant from the console and read the answer. Sign in to try it.

Example request

Every block below sends the same request. Replace {{BASE_URL}} with the address of the API you are calling and {{API_KEY}} with your own key.

The request body is a ResellerBillingPreferences. See the Request body section below for its fields.

Code sample language

cURL

curl -X POST "{{BASE_URL}}/api/resellers/update-own-billing-preferences-async" \
  -H "api-key: {{API_KEY}}" \
  -H "Content-Type: application/json" \
  -d '{
  "defaultPaymentTerms": 0,
  "defaultCurrency": "",
  "hppPageId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "captureHppPageId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "allowOnlinePayment": false,
  "allowStoredPaymentMethods": false,
  "autoChargeStoredMethod": false,
  "autoBillingEnabled": false,
  "billingPeriod": 0,
  "billingDayOfMonth": 1,
  "invoiceTemplateId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "defaultTaxRateId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "sendInvoiceOnGeneration": false,
  "billingRunNotificationEmail": "",
  "defaultFulfillmentPath": {},
  "collectionMerchantId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "allowCardPayments": false,
  "allowAchPayments": false
}'

PowerShell

$headers = @{
    'api-key' = '{{API_KEY}}'
}

$body = @'
{
  "defaultPaymentTerms": 0,
  "defaultCurrency": "",
  "hppPageId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "captureHppPageId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "allowOnlinePayment": false,
  "allowStoredPaymentMethods": false,
  "autoChargeStoredMethod": false,
  "autoBillingEnabled": false,
  "billingPeriod": 0,
  "billingDayOfMonth": 1,
  "invoiceTemplateId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "defaultTaxRateId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "sendInvoiceOnGeneration": false,
  "billingRunNotificationEmail": "",
  "defaultFulfillmentPath": {},
  "collectionMerchantId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "allowCardPayments": false,
  "allowAchPayments": false
}
'@

$response = Invoke-RestMethod -Method POST -Uri '{{BASE_URL}}/api/resellers/update-own-billing-preferences-async' `
    -Headers $headers -ContentType 'application/json' -Body $body

npm install @winkpg/winkpg-api

TypeScript (SDK)

import { Configuration, ResellersApi } from '@winkpg/winkpg-api';

const api = new ResellersApi(new Configuration({
  basePath: '{{BASE_URL}}',
  apiKey: '{{API_KEY}}',
}));

const { data } = await api.resellersUpdateOwnBillingPreferences({
  "defaultPaymentTerms": 0,
  "defaultCurrency": "",
  "hppPageId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "captureHppPageId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "allowOnlinePayment": false,
  "allowStoredPaymentMethods": false,
  "autoChargeStoredMethod": false,
  "autoBillingEnabled": false,
  "billingPeriod": 0,
  "billingDayOfMonth": 1,
  "invoiceTemplateId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "defaultTaxRateId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "sendInvoiceOnGeneration": false,
  "billingRunNotificationEmail": "",
  "defaultFulfillmentPath": {},
  "collectionMerchantId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "allowCardPayments": false,
  "allowAchPayments": false
});

TypeScript (raw HTTP)

const response = await fetch('{{BASE_URL}}/api/resellers/update-own-billing-preferences-async', {
  method: 'POST',
  headers: {
    "api-key": "{{API_KEY}}",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "defaultPaymentTerms": 0,
    "defaultCurrency": "",
    "hppPageId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "captureHppPageId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "allowOnlinePayment": false,
    "allowStoredPaymentMethods": false,
    "autoChargeStoredMethod": false,
    "autoBillingEnabled": false,
    "billingPeriod": 0,
    "billingDayOfMonth": 1,
    "invoiceTemplateId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "defaultTaxRateId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "sendInvoiceOnGeneration": false,
    "billingRunNotificationEmail": "",
    "defaultFulfillmentPath": {},
    "collectionMerchantId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "allowCardPayments": false,
    "allowAchPayments": false
  }),
});

const data = await response.json();

dotnet add package WinkPg.Api.Client

C# (SDK)

using WinkPg.Api.Client.Api;
using WinkPg.Api.Client.Client;
using System.Text.Json;

var config = new Configuration { BasePath = "{{BASE_URL}}" };
config.AddApiKey("api-key", "{{API_KEY}}");

var api = new ResellersApi(config);
var body = JsonSerializer.Deserialize<ResellerBillingPreferences>("""
    {
      "defaultPaymentTerms": 0,
      "defaultCurrency": "",
      "hppPageId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "captureHppPageId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "allowOnlinePayment": false,
      "allowStoredPaymentMethods": false,
      "autoChargeStoredMethod": false,
      "autoBillingEnabled": false,
      "billingPeriod": 0,
      "billingDayOfMonth": 1,
      "invoiceTemplateId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "defaultTaxRateId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "sendInvoiceOnGeneration": false,
      "billingRunNotificationEmail": "",
      "defaultFulfillmentPath": {},
      "collectionMerchantId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "allowCardPayments": false,
      "allowAchPayments": false
    }
    """);

var result = await api.ResellersUpdateOwnBillingPreferencesAsync(body);

C# (raw HTTP)

using System.Text;

using var http = new HttpClient { BaseAddress = new Uri("{{BASE_URL}}") };

var request = new HttpRequestMessage(new HttpMethod("POST"), "/api/resellers/update-own-billing-preferences-async");
request.Headers.Add("api-key", "{{API_KEY}}");

request.Content = new StringContent("""
    {
      "defaultPaymentTerms": 0,
      "defaultCurrency": "",
      "hppPageId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "captureHppPageId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "allowOnlinePayment": false,
      "allowStoredPaymentMethods": false,
      "autoChargeStoredMethod": false,
      "autoBillingEnabled": false,
      "billingPeriod": 0,
      "billingDayOfMonth": 1,
      "invoiceTemplateId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "defaultTaxRateId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "sendInvoiceOnGeneration": false,
      "billingRunNotificationEmail": "",
      "defaultFulfillmentPath": {},
      "collectionMerchantId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "allowCardPayments": false,
      "allowAchPayments": false
    }
    """, Encoding.UTF8, "application/json");

var response = await http.SendAsync(request);
response.EnsureSuccessStatusCode();
var json = await response.Content.ReadAsStringAsync();

pip install winkpg-api

Python (SDK)

import winkpg_api

configuration = winkpg_api.Configuration(host="{{BASE_URL}}")
configuration.api_key["ApiKey"] = "{{API_KEY}}"

with winkpg_api.ApiClient(configuration) as client:
    api = winkpg_api.ResellersApi(client)
    body = winkpg_api.ResellerBillingPreferences.from_dict({
      "defaultPaymentTerms": 0,
      "defaultCurrency": "",
      "hppPageId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "captureHppPageId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "allowOnlinePayment": False,
      "allowStoredPaymentMethods": False,
      "autoChargeStoredMethod": False,
      "autoBillingEnabled": False,
      "billingPeriod": 0,
      "billingDayOfMonth": 1,
      "invoiceTemplateId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "defaultTaxRateId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "sendInvoiceOnGeneration": False,
      "billingRunNotificationEmail": "",
      "defaultFulfillmentPath": {},
      "collectionMerchantId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "allowCardPayments": False,
      "allowAchPayments": False
    })
    result = api.resellers_update_own_billing_preferences(body)

pip install requests

Python (raw HTTP)

import requests

headers = {
    "api-key": "{{API_KEY}}",
    "Content-Type": "application/json",
}

body = {
  "defaultPaymentTerms": 0,
  "defaultCurrency": "",
  "hppPageId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "captureHppPageId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "allowOnlinePayment": False,
  "allowStoredPaymentMethods": False,
  "autoChargeStoredMethod": False,
  "autoBillingEnabled": False,
  "billingPeriod": 0,
  "billingDayOfMonth": 1,
  "invoiceTemplateId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "defaultTaxRateId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "sendInvoiceOnGeneration": False,
  "billingRunNotificationEmail": "",
  "defaultFulfillmentPath": {},
  "collectionMerchantId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "allowCardPayments": False,
  "allowAchPayments": False
}

response = requests.request(
    "POST",
    "{{BASE_URL}}/api/resellers/update-own-billing-preferences-async",
    headers=headers,
    json=body,
)
response.raise_for_status()
data = response.json()

Parameters

Name In Type Description
suppressNulls required query boolean If true, omit properties with null values.
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.

Request body

application/json , required

Field Type Description
defaultPaymentTerms required integer (int32) Days until invoice due date (e.g. 30). nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
defaultCurrency required string ISO 4217 default currency for billing. nullablemin length 0max length 3
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
hppPageId required string (uuid) HPP page ID used for invoice payment links. Required: When DefaultFulfillmentPath == Invoicing and AllowOnlinePayment is true. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
captureHppPageId required string (uuid) HPP page ID used to capture and store a card on file for the recurring-contract billing path (the operator-driven payment-method capture flow). This must reference a `SaveCard`-purpose page (zero-dollar verification, no charge) so capture does not prompt the operator for an amount. Distinct from `hppPageId`, which is the Invoicing payment-link page (a chargeable `Payment` page). Required: When DefaultFulfillmentPath == RecurringContract. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
allowOnlinePayment required boolean Whether merchants can pay invoices online via HPP. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
allowStoredPaymentMethods required boolean Whether merchants can store payment methods for billing. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
autoChargeStoredMethod required boolean Auto-charge stored payment method after invoice generation. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
autoBillingEnabled required boolean Whether automated billing runs are enabled. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
billingPeriod required integer (int32) Billing period: 1=Monthly, 3=Quarterly. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
billingDayOfMonth required integer (int32) Day of month for billing runs (1-28). nullablemin 1max 28
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
invoiceTemplateId required string (uuid) Invoice template ID (Phase 2: Invoicing module). nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
defaultTaxRateId required string (uuid) Default tax rate ID (Phase 2: Invoicing module). nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
sendInvoiceOnGeneration required boolean Auto-send invoice to merchant after generation. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
billingRunNotificationEmail required string Admin notification email for billing run completions. nullablemin length 0max length 256
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
defaultFulfillmentPath required BillingFulfillmentPath BillingFulfillmentPath Default fulfillment path for billing runs under this reseller. When null and a merchant has no per-assignment override, the merchant is skipped with result status `NoFulfillmentPath`. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
Invoicing Generate an invoice in PhoeniXGate.Invoicing addressed to the Merchant and route payment through the reseller's configured Hosted Payment Page.
RecurringContract Charge a stored payment method (card or ACH) against the Merchant on a schedule, via a recurring contract owned by the reseller's collection merchant.
collectionMerchantId required string (uuid) The reseller-owned billing entity that owns recurring contracts and vaults stored payment methods. Required when `defaultFulfillmentPath` is `RecurringContract`. This may be the reseller itself or a designated child merchant; modeled internally as a single "MLB collection party" reference so the legacy House Merchant flag is not reintroduced. Required: When DefaultFulfillmentPath == RecurringContract. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
allowCardPayments required boolean Whether card tokens are permitted as stored payment methods for billed merchants. Treated as `true` by callers when null on legacy documents. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
allowAchPayments required boolean Whether ACH tokens are permitted as stored payment methods for billed merchants. Treated as `true` by callers when null on legacy documents, matching `allowCardPayments`: both are read permissively, rejecting only an explicit `false`. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.

This request body has no documented fields.

Responses

200 OK

Body: ResellerDto ResellerDto Each item has these fields.

Field Type Description
extraProperties required object nullableread only
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
id required string (uuid)
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
creationTime required string (date-time) The date and time when this entity was created.
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
creatorId required string (uuid) The ID of the user who created this entity. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
lastModificationTime required string (date-time) The date and time when this entity was last modified. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
lastModifierId required string (uuid) The ID of the user who last modified this entity. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
isDeleted required boolean Indicates whether this entity has been deleted.
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
deleterId required string (uuid) The ID of the user who deleted this entity, if it is deleted. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
deletionTime required string (date-time) The date and time when this entity was deleted, if it is deleted. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
createdFromTemplateId required string (uuid) The template this record was created from, or `null` for one started blank. Set by the create-from-template path and by the add/edit page's Load Template action when the record is saved. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
name required string nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
concurrencyStamp required string nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
tenantId required string (uuid) nullableread only
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
entityVersion required integer (int32) read only
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
parentReseller required string (uuid) nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
customIdentifier required string nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
dba required string nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
code required string nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
features required ResellerFeatures ResellerFeatures
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.

Fields of ResellerFeatures:

Field Type Description
privateLabeling required boolean
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
hostedPage required boolean
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
emulator required boolean
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
merchantCustomFieldConfig required boolean
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
merchantBilling required boolean
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
tokenSharing required boolean
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
subResellers required boolean
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
tenders required TenderEnableFlags TenderEnableFlags Per-tender enable flags evaluated by the capability cascade. A reseller that has not explicitly opted in to a non-credit tender (EBT/eWIC) blocks every merchant beneath it from accepting that tender, regardless of merchant-level or processor-account opt-in.
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
paymentTokenization required boolean Reseller-level opt-in for payment tokenization. When `false` or unset, every merchant beneath this reseller is blocked from tokenizing payments regardless of the per-merchant `enablePaymentTokenization` override. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.

This body has no documented fields.

contactDetail required ResellerContactDetail ResellerContactDetail Represents contact details for a reseller.
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.

Fields of ResellerContactDetail:

Field Type Description
primaryContactName required string nullablemax length 100
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
emailAddress required string The contact's email address. Optional. A value that is not blank must be a valid email address. Conditional: When EmailAddress is not empty. Must be a valid email. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
phone required string The contact's phone number. Optional. A value that is not empty must be a phone number: digits, with an optional leading `+` and country code, optional parentheses around the area code, and a space, hyphen or period between groups. Letters, including an extension such as `x123`, are rejected. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
fax required string The contact's fax number. Optional. Follows the same rule as the phone number. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
companyUrl required string The company's website address. Optional. A value sent without a scheme, such as `www.example.com`, is stored with `https://` added. A value that starts with `http://` or `https://` is stored exactly as sent. Any other scheme, and text that is not a website address, is rejected. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
addresses required array of AddressInputModel array of AddressInputModel nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.

This body has no documented fields.

businessInfo required ResellerBusinessInfo ResellerBusinessInfo Represents business-related information for a reseller.
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.

Fields of ResellerBusinessInfo:

Field Type Description
federalTaxId required string nullablemax length 50
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
stateTaxId required string nullablemax length 50
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
salesTaxId required string nullablemax length 50
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
yearlySalesAmount required number (double) Conditional: When YearlySalesAmount is not null. Must be > 0. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
businessStartDate required string (date-time) nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
currency required string nullablemax length 3
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.

This body has no documented fields.

branding required ResellerBranding ResellerBranding Represents branding information for a reseller, including domain, product, contact, and icon details.
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.

Fields of ResellerBranding:

Field Type Description
brandedDomainName required string Gets or sets the branded domain name for the reseller. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
productName required string Gets or sets the product name for the reseller's offering. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
emailFromName required string Gets or sets the display name used in emails sent from the reseller. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
emailFromAddress required string Gets or sets the email address used as the sender in emails from the reseller. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
logo required string Gets or sets the URL or path to the reseller's logo. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
displayAddress required Address Address Gets or sets the display address for the reseller. Conditional: Conditional (see validator source).
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
sdkGlobalName required string Gets or sets the window-global name the branded embed SDK shim assigns to the brand-neutral core artifact (for example "MyBrandPaySDK"). Falls back to the platform default global name when unset. Conditional: When SdkGlobalName is not empty. Max length: 60. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
supportPhone required string Gets or sets the support phone number for the reseller. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
salesPhone required string Gets or sets the sales phone number for the reseller. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
supportEmail required string Gets or sets the support email address for the reseller. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
favIcons required BrandingFavIcons BrandingFavIcons Gets or sets the favicon and icon URLs for the reseller's branding.
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.

This body has no documented fields.

billingPreferences required ResellerBillingPreferences ResellerBillingPreferences Per-reseller billing configuration embedded on the Reseller aggregate root. Controls billing run scheduling, payment terms, and invoice generation preferences.
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.

Fields of ResellerBillingPreferences:

Field Type Description
defaultPaymentTerms required integer (int32) Days until invoice due date (e.g. 30). nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
defaultCurrency required string ISO 4217 default currency for billing. nullablemin length 0max length 3
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
hppPageId required string (uuid) HPP page ID used for invoice payment links. Required: When DefaultFulfillmentPath == Invoicing and AllowOnlinePayment is true. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
captureHppPageId required string (uuid) HPP page ID used to capture and store a card on file for the recurring-contract billing path (the operator-driven payment-method capture flow). This must reference a `SaveCard`-purpose page (zero-dollar verification, no charge) so capture does not prompt the operator for an amount. Distinct from `hppPageId`, which is the Invoicing payment-link page (a chargeable `Payment` page). Required: When DefaultFulfillmentPath == RecurringContract. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
allowOnlinePayment required boolean Whether merchants can pay invoices online via HPP. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
allowStoredPaymentMethods required boolean Whether merchants can store payment methods for billing. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
autoChargeStoredMethod required boolean Auto-charge stored payment method after invoice generation. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
autoBillingEnabled required boolean Whether automated billing runs are enabled. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
billingPeriod required integer (int32) Billing period: 1=Monthly, 3=Quarterly. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
billingDayOfMonth required integer (int32) Day of month for billing runs (1-28). nullablemin 1max 28
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
invoiceTemplateId required string (uuid) Invoice template ID (Phase 2: Invoicing module). nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
defaultTaxRateId required string (uuid) Default tax rate ID (Phase 2: Invoicing module). nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
sendInvoiceOnGeneration required boolean Auto-send invoice to merchant after generation. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
billingRunNotificationEmail required string Admin notification email for billing run completions. nullablemin length 0max length 256
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
defaultFulfillmentPath required BillingFulfillmentPath BillingFulfillmentPath Default fulfillment path for billing runs under this reseller. When null and a merchant has no per-assignment override, the merchant is skipped with result status `NoFulfillmentPath`. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
Invoicing Generate an invoice in PhoeniXGate.Invoicing addressed to the Merchant and route payment through the reseller's configured Hosted Payment Page.
RecurringContract Charge a stored payment method (card or ACH) against the Merchant on a schedule, via a recurring contract owned by the reseller's collection merchant.
collectionMerchantId required string (uuid) The reseller-owned billing entity that owns recurring contracts and vaults stored payment methods. Required when `defaultFulfillmentPath` is `RecurringContract`. This may be the reseller itself or a designated child merchant; modeled internally as a single "MLB collection party" reference so the legacy House Merchant flag is not reintroduced. Required: When DefaultFulfillmentPath == RecurringContract. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
allowCardPayments required boolean Whether card tokens are permitted as stored payment methods for billed merchants. Treated as `true` by callers when null on legacy documents. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
allowAchPayments required boolean Whether ACH tokens are permitted as stored payment methods for billed merchants. Treated as `true` by callers when null on legacy documents, matching `allowCardPayments`: both are read permissively, rejecting only an explicit `false`. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.

This body has no documented fields.

processingDefaults required ResellerProcessingDefaults ResellerProcessingDefaults Gets or sets the portfolio-wide processing defaults applied to merchants under this reseller that have left the matching merchant-level setting unset. `null` when the reseller sets no defaults.
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.

Fields of ResellerProcessingDefaults:

Field Type Description
enableCreateIdempotency required boolean Default for `Merchant.Processing.EnableCreateIdempotency`, applied to every merchant under this reseller that has left its own value unset. `null` means the reseller sets no default and an unset merchant runs with create idempotency off, as before. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
cardAcceptancePolicy required CardAcceptancePolicy CardAcceptancePolicy Default for `Merchant.Processing.CardAcceptancePolicy`, applied to every merchant under this reseller that has no policy of its own. `null` means the reseller sets no default and a merchant without a policy accepts every card, as before. Conditional: When CardAcceptancePolicy is not null.
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.

This body has no documented fields.

isTest required boolean
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
legacyNumber required integer (int64) Gets the reseller's legacy numeric key, the integer identifier the v1 API addresses resellers by (its `ResellerKey`). Server-owned and stamped once at create; null on resellers written before the field existed until the v1 data migration back-fills them. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
notes required array of EntityNote array of EntityNote Gets or sets operational notes attached to the reseller. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.

Fields of each EntityNote:

Field Type Description
id required string (uuid)
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
enteredBy required string (uuid)
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
timestamp required string (date-time)
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
enteredByName required string Denormalized display name of the user who created the note. Populated at creation time from `ICurrentUser` to avoid N+1 lookups when rendering. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
content required string nullablemin length 0max length 1000
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.

This body has no documented fields.

This response has no documented body fields.

403 Forbidden

Body: RemoteServiceErrorResponse RemoteServiceErrorResponse Each item has these fields.

Field Type Description
error required RemoteServiceErrorInfo RemoteServiceErrorInfo
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.

This response has no documented body fields.

401 Unauthorized

Body: RemoteServiceErrorResponse RemoteServiceErrorResponse Each item has these fields.

Field Type Description
error required RemoteServiceErrorInfo RemoteServiceErrorInfo
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.

This response has no documented body fields.

400 Bad Request

Body: RemoteServiceErrorResponse RemoteServiceErrorResponse Each item has these fields.

Field Type Description
error required RemoteServiceErrorInfo RemoteServiceErrorInfo
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.

This response has no documented body fields.

404 Not Found

Body: RemoteServiceErrorResponse RemoteServiceErrorResponse Each item has these fields.

Field Type Description
error required RemoteServiceErrorInfo RemoteServiceErrorInfo
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.

This response has no documented body fields.

501 Not Implemented

Body: RemoteServiceErrorResponse RemoteServiceErrorResponse Each item has these fields.

Field Type Description
error required RemoteServiceErrorInfo RemoteServiceErrorInfo
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.

This response has no documented body fields.

500 Internal Server Error

Body: RemoteServiceErrorResponse RemoteServiceErrorResponse Each item has these fields.

Field Type Description
error required RemoteServiceErrorInfo RemoteServiceErrorInfo
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.

This response has no documented body fields.

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. The error reference lists the values `error.code` can take. 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. The error reference lists the values `error.code` can take.

Body: RemoteServiceErrorResponse RemoteServiceErrorResponse Each item has these fields.

Field Type Description
error required RemoteServiceErrorInfo RemoteServiceErrorInfo
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.

This response has no documented body fields.

429 The request was refused because a rate limit was exceeded, or because something a later retry can clear stopped it. A rate limit refusal carries an `application/problem+json` body: wait at least the interval `Retry-After` names before retrying, then back off. Limits are tuned per deployment, so read the allowance from the response headers rather than assuming a fixed ceiling. Any other refusal carries the standard error envelope as `application/json`, and its `error.code` names the cause.

Body: RemoteServiceErrorResponse RemoteServiceErrorResponse Each item has these fields.

Field Type Description
error required RemoteServiceErrorInfo RemoteServiceErrorInfo
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.

This response has no documented body fields.

Errors

A failed request returns the platform error envelope. The error reference lists every value error.code can carry and shows the four response shapes.

Codes declared by Resellers

Authentication

    Reconnecting to the server

    Could not reconnect

    This session has ended

    Attempt 1

    Your work on this page is still here. Retrying keeps it; reloading starts the page again.

    The server no longer holds this page's state, so it has to be loaded again.