Get Package
GET /packages/{package}
Environment and operation
Use this endpoint contract with the account and environment assigned to your integration. Values in angle brackets are placeholders. This reference does not execute requests. Documented server https://sandbox.signup.nmi.com/api/v1 https://secure.nmi.com/api/v5/signup Schema reference: field definitions do not include every behavioral rule. Follow the workflow guidance and account prerequisites for this operation before submitting requests.
Request route
The **Packages** endpoint provides package rules, a structured set of field details necessary for creating an application. It defines the required and optional fields, their formats, and any conditional rules that must be followed. **Required scope:** `packages:read` GET /packages/{package} Security scheme Type Credential location Scopes oauth oauth2 packages:read
Request language templates
Original transport templates derived from this endpoint’s documented method, server, authentication and media type. Replace path/query/credential placeholders with authorized sandbox values. These examples print the raw status and response; they do not infer business success or retry a request. Node requires a runtime with fetch; PHP requires cURL. Generated source-based examples have not been executed against provider accounts. curl --request GET \ --url 'https://sandbox.signup.nmi.com/api/v1/packages/{package}' \ --header 'Authorization: Bearer <access-token>' const response = await fetch("https://sandbox.signup.nmi.com/api/v1/packages/{package}", { method: 'GET', headers: { "Authorization": "Bearer <access-token>" } }); console.log(response.status, await response.text()); from urllib.request import Request, urlopen from urllib.error import HTTPError request = Request('https://sandbox.signup.nmi.com/api/v1/packages/{package}', method='GET', headers={'Authorization': 'Bearer <access-token>'}) try: with urlopen(request, timeout=30) as response: print(response.status, response.read().decode()) except HTTPError as error: print(error.code, error.read().decode()) require 'net/http' require 'uri' uri = URI("https://sandbox.signup.nmi.com/api/v1/packages/{package}") request = Net::HTTP::Get.new(uri) request["Authorization"] = "Bearer <access-token>" response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https', read_timeout: 30) { |http| http.request(request) } puts response.code puts response.body <?php $curl = curl_init('https://sandbox.signup.nmi.com/api/v1/packages/{package}'); curl_setopt_array($curl, [ CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, CURLOPT_HTTPHEADER => ['Authorization: Bearer <access-token>'] ]); $response = curl_exec($curl); if ($response === false) { throw new RuntimeException(curl_error($curl)); } echo curl_getinfo($curl, CURLINFO_HTTP_CODE), PHP_EOL, $response; curl_close($curl);
Path and query parameters
Required flags apply to the parameter itself. Additional limits and enum values appear in the contract below. Parameter Location Required Type Description package path true See schema Package ID [ { "name": "package", "in": "path", "description": "Package ID", "required": true, "schema": { "$ref": "#/components/schemas/package-id" } } ] true
Responses
Match the HTTP status to its response schema below. For financial operations, also inspect the payment outcome before updating your order or retrying. HTTP status Media type Meaning 200 application/json Successful response with the package information 404 application/json Error response for resource not found { "200": { "description": "Successful response with the package information", "content": { "application/json": { "schema": { "type": "object", "required": [ "id", "name", "description", "package_rules", "fields", "collections" ], "properties": { "id": { "$ref": "#/components/schemas/package-id" }, "name": { "$ref": "#/components/schemas/package-name" }, "description": { "$ref": "#/components/schemas/package-description" }, "package_rules": { "$ref": "#/components/schemas/package-rules" }, "fields": { "$ref": "#/components/schemas/package-fields" }, "collections": { "type": "array", "maxItems": 100, "items": { "$ref": "#/components/schemas/package-collection" } } } }, "examples": { "standard-package": { "$ref": "#/components/examples/standard-package" } } } } }, "404": { "description": "Error response for resource not found", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "description": "Error code", "maxLength": 100 }, "message": { "type": "string", "description": "Error message", "maxLength": 10000 } } }, "examples": { "not-found": { "summary": "Resource Not Found", "description": "The resource cannot be found", "value": { "code": "NOT_FOUND", "message": "Resource not found" } } } } } } } true
Response fields · 200 · application/json
Field Type Required Description Constraints id string yes The unique identifier of the package. minLength: 7; maxLength: 20; pattern: "^pkg_[a-z0-9_]{3,16}$" name string yes The name of the package minLength: 1; maxLength: 1000 description string yes The description of the package minLength: 1; maxLength: 1000 package_rules array yes The Package Rules fields array yes Array of package fields fields[].[oneOf 1].id string yes The unique identifier of the field. minLength: 7; maxLength: 50; pattern: "^fld_[a-z0-9_]{3,46}$" fields[].[oneOf 1].name string yes Name of the field. maxLength: 1000 fields[].[oneOf 1].required boolean yes Whether the field is required. fields[].[oneOf 1].type string yes The type of the field. enum: ["integer"] fields[].[oneOf 1].default ['integer', 'null'] yes The default value for the field if no value is provided. fields[].[oneOf 1].min integer yes The minimum value that can be entered. fields[].[oneOf 1].max integer yes The maximum value that can be entered. fields[].[oneOf 2].id string yes The unique identifier of the field. minLength: 7; maxLength: 50; pattern: "^fld_[a-z0-9_]{3,46}$" fields[].[oneOf 2].name string yes Name of the field. maxLength: 1000 fields[].[oneOf 2].required boolean yes Whether the field is required. fields[].[oneOf 2].type string yes The type of the field. enum: ["string"] fields[].[oneOf 2].default ['string', 'null'] yes The default value for the field. maxLength: 1000 fields[].[oneOf 2].min integer yes The minimum length of the field. fields[].[oneOf 2].max integer yes The maximum length of the field. fields[].[oneOf 2].regex ['string', 'null'] yes The regular expression that the field must match. fields[].[oneOf 3].id string yes The unique identifier of the field. minLength: 7; maxLength: 50; pattern: "^fld_[a-z0-9_]{3,46}$" fields[].[oneOf 3].name string yes Name of the field. maxLength: 1000 fields[].[oneOf 3].required boolean yes Whether the field is required. fields[].[oneOf 3].type string yes Type of the field. enum: ["choice"] fields[].[oneOf 3].default ['string', 'null'] yes Default value for the field. maxLength: 1000 fields[].[oneOf 3].choices array yes List of choices. fields[].[oneOf 4].id string yes The unique identifier of the field. minLength: 7; maxLength: 50; pattern: "^fld_[a-z0-9_]{3,46}$" fields[].[oneOf 4].name string yes Name of the field. maxLength: 1000 fields[].[oneOf 4].required boolean yes Whether the field is required. fields[].[oneOf 4].type string yes Type of the field. enum: ["multiselect"] fields[].[oneOf 4].default ['string', 'null'] yes Default value for the field. maxLength: 1000 fields[].[oneOf 4].min integer no Minimum number of choices. minimum: 0; maximum: 1000 fields[].[oneOf 4].max integer no Maximum number of choices. minimum: 0; maximum: 1000 fields[].[oneOf 4].choices array yes List of choices. fields[].[oneOf 5].id string yes The unique identifier of the field. minLength: 7; maxLength: 50; pattern: "^fld_[a-z0-9_]{3,46}$" fields[].[oneOf 5].name string yes Name of the field. maxLength: 1000 fields[].[oneOf 5].required boolean yes Whether the field is required. fields[].[oneOf 5].type string yes Type of the field. enum: ["boolean"] fields[].[oneOf 5].default ['boolean', 'null'] yes Default value for the field. fields[].[oneOf 6].id string yes The unique identifier of the field. minLength: 7; maxLength: 50; pattern: "^fld_[a-z0-9_]{3,46}$" fields[].[oneOf 6].name string yes Name of the field. maxLength: 1000 fields[].[oneOf 6].required boolean yes Whether the field is required. fields[].[oneOf 6].type string yes The type of the field. enum: ["decimal"] fields[].[oneOf 6].default ['number', 'null'] yes The default value for the field if no value is provided. format: "double" fields[].[oneOf 6].min ['number', 'null'] yes The minimum value allowed for the field. format: "double" fields[].[oneOf 6].max ['number', 'null'] yes The maximum value allowed for the field. format: "double" fields[].[oneOf 7].id string yes The unique identifier of the field. minLength: 7; maxLength: 50; pattern: "^fld_[a-z0-9_]{3,46}$" fields[].[oneOf 7].name string yes Name of the field. maxLength: 1000 fields[].[oneOf 7].required boolean yes Whether the field is required. fields[].[oneOf 7].type string yes The type of the field. enum: ["date"] fields[].[oneOf 7].default ['string', 'null'] yes The default value for the field. minLength: 10; maxLength: 10 fields[].[oneOf 7].min ['string', 'null'] no The minimum date that can be submitted. minLength: 10; maxLength: 10; format: "date" fields[].[oneOf 7].max ['string', 'null'] no The maximum date that can be submitted. minLength: 10; maxLength: 10; format: "date" fields[].[oneOf 8].id string yes The unique identifier of the field. minLength: 7; maxLength: 50; pattern: "^fld_[a-z0-9_]{3,46}$" fields[].[oneOf 8].name string yes Name of the field. maxLength: 1000 fields[].[oneOf 8].required boolean yes Whether the field is required. fields[].[oneOf 8].type string yes The type of the field. enum: ["percent"] fields[].[oneOf 8].default ['string', 'null'] yes The default value for the field. maxLength: 9 fields[].[oneOf 8].min integer yes The minimum length of the field. fields[].[oneOf 8].max integer yes The maximum length of the field. fields[].[oneOf 9].id string yes The unique identifier of the field. minLength: 7; maxLength: 50; pattern: "^fld_[a-z0-9_]{3,46}$" fields[].[oneOf 9].name string yes Name of the field. maxLength: 1000 fields[].[oneOf 9].required boolean yes Whether the field is required. fields[].[oneOf 9].type string yes The type of the field. enum: ["website"] fields[].[oneOf 9].default ['string', 'null'] yes The default value for the field. maxLength: 1000 fields[].[oneOf 9].min integer no The minimum length of the field. fields[].[oneOf 9].max integer no The maximum length of the field. fields[].[oneOf 9].regex ['string', 'null'] no The regular expression that the field must match. fields[].[oneOf 10].id string yes The unique identifier of the field. minLength: 7; maxLength: 50; pattern: "^fld_[a-z0-9_]{3,46}$" fields[].[oneOf 10].name string yes Name of the field. maxLength: 1000 fields[].[oneOf 10].required boolean yes Whether the field is required. fields[].[oneOf 10].type string yes The type of the field. enum: ["account_number"] fields[].[oneOf 10].default ['string', 'null'] yes The default value for the field. maxLength: 17 fields[].[oneOf 10].min integer no The minimum length of the field. fields[].[oneOf 10].max integer no The maximum length of the field. fields[].[oneOf 11].id string yes The unique identifier of the field. minLength: 7; maxLength: 50; pattern: "^fld_[a-z0-9_]{3,46}$" fields[].[oneOf 11].name string yes Name of the field. maxLength: 1000 fields[].[oneOf 11].required boolean yes Whether the field is required. fields[].[oneOf 11].type string yes The type of the field. enum: ["email"] fields[].[oneOf 11].default ['string', 'null'] yes The default value for the field. maxLength: 1000 fields[].[oneOf 11].min integer no The minimum length of the field. fields[].[oneOf 11].max integer no The maximum length of the field. fields[].[oneOf 11].regex ['string', 'null'] no The regular expression that the field must match. fields[].[oneOf 12].id string yes The unique identifier of the field. minLength: 7; maxLength: 50; pattern: "^fld_[a-z0-9_]{3,46}$" fields[].[oneOf 12].name string yes Name of the field. maxLength: 1000 fields[].[oneOf 12].required boolean yes Whether the field is required. fields[].[oneOf 12].type string yes The type of the field. enum: ["phone"] fields[].[oneOf 12].default ['string', 'null'] yes The default value for the field. maxLength: 15 fields[].[oneOf 13].id string yes The unique identifier of the field. minLength: 7; maxLength: 50; pattern: "^fld_[a-z0-9_]{3,46}$" fields[].[oneOf 13].name string yes Name of the field. maxLength: 1000 fields[].[oneOf 13].required boolean yes Whether the field is required. fields[].[oneOf 13].type string yes The type of the field. enum: ["routing_number"] fields[].[oneOf 13].default ['string', 'null'] yes The default value for the field. minLength: 9; maxLength: 9 fields[].[oneOf 13].min integer no The minimum length of the field. minLength: 9; maxLength: 9 fields[].[oneOf 13].max integer no The maximum length of the field. minLength: 9; maxLength: 9 fields[].[oneOf 14].id string yes The unique identifier of the field. minLength: 7; maxLength: 50; pattern: "^fld_[a-z0-9_]{3,46}$" fields[].[oneOf 14].name string yes Name of the field. maxLength: 1000 fields[].[oneOf 14].required boolean yes Whether the field is required. fields[].[oneOf 14].type string yes The type of the field. enum: ["ssn", "federal_tax_id"] fields[].[oneOf 14].default ['string', 'null'] yes The default value for the field. minLength: 9; maxLength: 9 fields[].[oneOf 14].min integer no The minimum length of the field. minLength: 9; maxLength: 9 fields[].[oneOf 14].max integer no The maximum length of the field. minLength: 9; maxLength: 9 fields[].[oneOf 15].id string yes The unique identifier of the field. minLength: 7; maxLength: 50; pattern: "^fld_[a-z0-9_]{3,46}$" fields[].[oneOf 15].name string yes Name of the field. maxLength: 1000 fields[].[oneOf 15].required boolean yes Whether the field is required. fields[].[oneOf 15].type string yes The type of the field. enum: ["postal_code"] fields[].[oneOf 15].default ['string', 'null'] yes The default value for the field. maxLength: 5 collections array yes collections[].id string yes The unique identifier of the collection. minLength: 7; maxLength: 50; pattern: "^col_[a-z0-9_]{3,46}$" collections[].name string yes The name of the package collection. maxLength: 1000 collections[].description string yes The description of the package collection. maxLength: 10000 collections[].min integer yes The minimum number of records that can be added to the collection. minimum: 0; maximum: 100 collections[].max integer yes The maximum number of records that can be added to the collection. minimum: 0; maximum: 100 collections[].fields array yes Array of package fields collections[].fields[].[oneOf 1].id string yes The unique identifier of the field. minLength: 7; maxLength: 50; pattern: "^fld_[a-z0-9_]{3,46}$" collections[].fields[].[oneOf 1].name string yes Name of the field. maxLength: 1000 collections[].fields[].[oneOf 1].required boolean yes Whether the field is required. collections[].fields[].[oneOf 1].type string yes The type of the field. enum: ["integer"] collections[].fields[].[oneOf 1].default ['integer', 'null'] yes The default value for the field if no value is provided. collections[].fields[].[oneOf 1].min integer yes The minimum value that can be entered. collections[].fields[].[oneOf 1].max integer yes The maximum value that can be entered. collections[].fields[].[oneOf 2].id string yes The unique identifier of the field. minLength: 7; maxLength: 50; pattern: "^fld_[a-z0-9_]{3,46}$" collections[].fields[].[oneOf 2].name string yes Name of the field. maxLength: 1000 collections[].fields[].[oneOf 2].required boolean yes Whether the field is required. collections[].fields[].[oneOf 2].type string yes The type of the field. enum: ["string"] collections[].fields[].[oneOf 2].default ['string', 'null'] yes The default value for the field. maxLength: 1000 collections[].fields[].[oneOf 2].min integer yes The minimum length of the field. collections[].fields[].[oneOf 2].max integer yes The maximum length of the field. collections[].fields[].[oneOf 2].regex ['string', 'null'] yes The regular expression that the field must match. collections[].fields[].[oneOf 3].id string yes The unique identifier of the field. minLength: 7; maxLength: 50; pattern: "^fld_[a-z0-9_]{3,46}$" collections[].fields[].[oneOf 3].name string yes Name of the field. maxLength: 1000 collections[].fields[].[oneOf 3].required boolean yes Whether the field is required. collections[].fields[].[oneOf 3].type string yes Type of the field. enum: ["choice"] collections[].fields[].[oneOf 3].default ['string', 'null'] yes Default value for the field. maxLength: 1000 collections[].fields[].[oneOf 3].choices array yes List of choices. collections[].fields[].[oneOf 4].id string yes The unique identifier of the field. minLength: 7; maxLength: 50; pattern: "^fld_[a-z0-9_]{3,46}$" collections[].fields[].[oneOf 4].name string yes Name of the field. maxLength: 1000 collections[].fields[].[oneOf 4].required boolean yes Whether the field is required. collections[].fields[].[oneOf 4].type string yes Type of the field. enum: ["multiselect"] collections[].fields[].[oneOf 4].default ['string', 'null'] yes Default value for the field. maxLength: 1000 collections[].fields[].[oneOf 4].min integer no Minimum number of choices. minimum: 0; maximum: 1000 collections[].fields[].[oneOf 4].max integer no Maximum number of choices. minimum: 0; maximum: 1000 collections[].fields[].[oneOf 4].choices array yes List of choices. collections[].fields[].[oneOf 5].id string yes The unique identifier of the field. minLength: 7; maxLength: 50; pattern: "^fld_[a-z0-9_]{3,46}$" collections[].fields[].[oneOf 5].name string yes Name of the field. maxLength: 1000 collections[].fields[].[oneOf 5].required boolean yes Whether the field is required. collections[].fields[].[oneOf 5].type string yes Type of the field. enum: ["boolean"] collections[].fields[].[oneOf 5].default ['boolean', 'null'] yes Default value for the field. collections[].fields[].[oneOf 6].id string yes The unique identifier of the field. minLength: 7; maxLength: 50; pattern: "^fld_[a-z0-9_]{3,46}$" collections[].fields[].[oneOf 6].name string yes Name of the field. maxLength: 1000 collections[].fields[].[oneOf 6].required boolean yes Whether the field is required. collections[].fields[].[oneOf 6].type string yes The type of the field. enum: ["decimal"] collections[].fields[].[oneOf 6].default ['number', 'null'] yes The default value for the field if no value is provided. format: "double" collections[].fields[].[oneOf 6].min ['number', 'null'] yes The minimum value allowed for the field. format: "double" collections[].fields[].[oneOf 6].max ['number', 'null'] yes The maximum value allowed for the field. format: "double" collections[].fields[].[oneOf 7].id string yes The unique identifier of the field. minLength: 7; maxLength: 50; pattern: "^fld_[a-z0-9_]{3,46}$" collections[].fields[].[oneOf 7].name string yes Name of the field. maxLength: 1000 collections[].fields[].[oneOf 7].required boolean yes Whether the field is required. collections[].fields[].[oneOf 7].type string yes The type of the field. enum: ["date"] collections[].fields[].[oneOf 7].default ['string', 'null'] yes The default value for the field. minLength: 10; maxLength: 10 collections[].fields[].[oneOf 7].min ['string', 'null'] no The minimum date that can be submitted. minLength: 10; maxLength: 10; format: "date" collections[].fields[].[oneOf 7].max ['string', 'null'] no The maximum date that can be submitted. minLength: 10; maxLength: 10; format: "date" collections[].fields[].[oneOf 8].id string yes The unique identifier of the field. minLength: 7; maxLength: 50; pattern: "^fld_[a-z0-9_]{3,46}$" collections[].fields[].[oneOf 8].name string yes Name of the field. maxLength: 1000 collections[].fields[].[oneOf 8].required boolean yes Whether the field is required. collections[].fields[].[oneOf 8].type string yes The type of the field. enum: ["percent"] collections[].fields[].[oneOf 8].default ['string', 'null'] yes The default value for the field. maxLength: 9 collections[].fields[].[oneOf 8].min integer yes The minimum length of the field. collections[].fields[].[oneOf 8].max integer yes The maximum length of the field. collections[].fields[].[oneOf 9].id string yes The unique identifier of the field. minLength: 7; maxLength: 50; pattern: "^fld_[a-z0-9_]{3,46}$" collections[].fields[].[oneOf 9].name string yes Name of the field. maxLength: 1000 collections[].fields[].[oneOf 9].required boolean yes Whether the field is required. collections[].fields[].[oneOf 9].type string yes The type of the field. enum: ["website"] collections[].fields[].[oneOf 9].default ['string', 'null'] yes The default value for the field. maxLength: 1000 collections[].fields[].[oneOf 9].min integer no The minimum length of the field. collections[].fields[].[oneOf 9].max integer no The maximum length of the field. collections[].fields[].[oneOf 9].regex ['string', 'null'] no The regular expression that the field must match. collections[].fields[].[oneOf 10].id string yes The unique identifier of the field. minLength: 7; maxLength: 50; pattern: "^fld_[a-z0-9_]{3,46}$" collections[].fields[].[oneOf 10].name string yes Name of the field. maxLength: 1000 collections[].fields[].[oneOf 10].required boolean yes Whether the field is required. collections[].fields[].[oneOf 10].type string yes The type of the field. enum: ["account_number"] collections[].fields[].[oneOf 10].default ['string', 'null'] yes The default value for the field. maxLength: 17 collections[].fields[].[oneOf 10].min integer no The minimum length of the field. collections[].fields[].[oneOf 10].max integer no The maximum length of the field. collections[].fields[].[oneOf 11].id string yes The unique identifier of the field. minLength: 7; maxLength: 50; pattern: "^fld_[a-z0-9_]{3,46}$" collections[].fields[].[oneOf 11].name string yes Name of the field. maxLength: 1000 collections[].fields[].[oneOf 11].required boolean yes Whether the field is required. collections[].fields[].[oneOf 11].type string yes The type of the field. enum: ["email"] collections[].fields[].[oneOf 11].default ['string', 'null'] yes The default value for the field. maxLength: 1000 collections[].fields[].[oneOf 11].min integer no The minimum length of the field. collections[].fields[].[oneOf 11].max integer no The maximum length of the field. collections[].fields[].[oneOf 11].regex ['string', 'null'] no The regular expression that the field must match. collections[].fields[].[oneOf 12].id string yes The unique identifier of the field. minLength: 7; maxLength: 50; pattern: "^fld_[a-z0-9_]{3,46}$" collections[].fields[].[oneOf 12].name string yes Name of the field. maxLength: 1000 collections[].fields[].[oneOf 12].required boolean yes Whether the field is required. collections[].fields[].[oneOf 12].type string yes The type of the field. enum: ["phone"] collections[].fields[].[oneOf 12].default ['string', 'null'] yes The default value for the field. maxLength: 15 collections[].fields[].[oneOf 13].id string yes The unique identifier of the field. minLength: 7; maxLength: 50; pattern: "^fld_[a-z0-9_]{3,46}$" collections[].fields[].[oneOf 13].name string yes Name of the field. maxLength: 1000 collections[].fields[].[oneOf 13].required boolean yes Whether the field is required. collections[].fields[].[oneOf 13].type string yes The type of the field. enum: ["routing_number"] collections[].fields[].[oneOf 13].default ['string', 'null'] yes The default value for the field. minLength: 9; maxLength: 9 collections[].fields[].[oneOf 13].min integer no The minimum length of the field. minLength: 9; maxLength: 9 collections[].fields[].[oneOf 13].max integer no The maximum length of the field. minLength: 9; maxLength: 9 collections[].fields[].[oneOf 14].id string yes The unique identifier of the field. minLength: 7; maxLength: 50; pattern: "^fld_[a-z0-9_]{3,46}$" collections[].fields[].[oneOf 14].name string yes Name of the field. maxLength: 1000 collections[].fields[].[oneOf 14].required boolean yes Whether the field is required. collections[].fields[].[oneOf 14].type string yes The type of the field. enum: ["ssn", "federal_tax_id"] collections[].fields[].[oneOf 14].default ['string', 'null'] yes The default value for the field. minLength: 9; maxLength: 9 collections[].fields[].[oneOf 14].min integer no The minimum length of the field. minLength: 9; maxLength: 9 collections[].fields[].[oneOf 14].max integer no The maximum length of the field. minLength: 9; maxLength: 9 collections[].fields[].[oneOf 15].id string yes The unique identifier of the field. minLength: 7; maxLength: 50; pattern: "^fld_[a-z0-9_]{3,46}$" collections[].fields[].[oneOf 15].name string yes Name of the field. maxLength: 1000 collections[].fields[].[oneOf 15].required boolean yes Whether the field is required. collections[].fields[].[oneOf 15].type string yes The type of the field. enum: ["postal_code"] collections[].fields[].[oneOf 15].default ['string', 'null'] yes The default value for the field. maxLength: 5
Response fields · 404 · application/json
Field Type Required Description Constraints code string no Error code maxLength: 100 message string no Error message maxLength: 10000
Referenced schema definitions
References beginning with #/components resolve to these definitions. These are field contracts, not example payment values. Use the applicable variant, required fields and constraints. { "securitySchemes": { "oauth": { "type": "oauth2", "flows": { "clientCredentials": { "tokenUrl": "/oauth/token", "scopes": { "*": "Full access", "packages:read": "Read packages information", "applications:read": "Read access to applications", "applications:write": "Write access to applications", "subscriptions:read": "Read access to subscriptions", "subscriptions:write": "Write access to subscriptions (subscribe/updated/delete)" } } } } }, "schemas": { "package-id": { "type": "string", "description": "The unique identifier of the package.", "pattern": "^pkg_[a-z0-9_]{3,16}$", "minLength": 7, "maxLength": 20, "example": "pkg_merrick_tsys" }, "package-name": { "type": "string", "description": "The name of the package", "minLength": 1, "maxLength": 1000, "example": "Merrick TSYS Application Package" }, "package-description": { "type": "string", "description": "The description of the package", "minLength": 1, "maxLength": 1000, "example": "This is a standard package" }, "package-rules": { "type": "array", "description": "The Package Rules", "uniqueItems": true, "minItems": 0, "maxItems": 50, "items": { "type": "string", "description": "The Package Rule", "maxLength": 1000 } }, "field-id": { "type": "string", "description": "The unique identifier of the field.", "pattern": "^fld_[a-z0-9_]{3,46}$", "minLength": 7, "maxLength": 50 }, "field-name": { "type": "string", "description": "Name of the field.", "maxLength": 1000 }, "field-required": { "type": "boolean", "description": "Whether the field is required." }, "integer-field": { "type": "object", "title": "Integer", "summary": "Integer field.", "description": "This field allows the user to enter an integer value.", "required": [ "id", "name", "type", "required", "default", "min", "max" ], "properties": { "id": { "$ref": "#/components/schemas/field-id" }, "name": { "$ref": "#/components/schemas/field-name" }, "required": { "$ref": "#/components/schemas/field-required" }, "type": { "type": "string", "description": "The type of the field.", "enum": [ "integer" ] }, "default": { "type": [ "integer", "null" ], "description": "The default value for the field if no value is provided." }, "min": { "type": "integer", "description": "The minimum value that can be entered." }, "max": { "type": "integer", "description": "The maximum value that can be entered." } } }, "string-field": { "type": "object", "title": "String", "summary": "String field.", "description": "This field allows the user to set a string.", "required": [ "id", "name", "type", "required", "default", "min", "max", "regex" ], "properties": { "id": { "$ref": "#/components/schemas/field-id" }, "name": { "$ref": "#/components/schemas/field-name" }, "required": { "$ref": "#/components/schemas/field-required" }, "type": { "type": "string", "description": "The type of the field.", "enum": [ "string" ] }, "default": { "type": [ "string", "null" ], "description": "The default value for the field.", "maxLength": 1000 }, "min": { "type": "integer", "description": "The minimum length of the field." }, "max": { "type": "integer", "description": "The maximum length of the field." }, "regex": { "type": [ "string", "null" ], "description": "The regular expression that the field must match." } } }, "choice-field": { "type": "object", "title": "Choice", "summary": "Single choice field.", "description": "This field allows the user to select a single value from a list of options.", "required": [ "id", "name", "type", "required", "default", "choices" ], "properties": { "id": { "$ref": "#/components/schemas/field-id" }, "name": { "$ref": "#/components/schemas/field-name" }, "required": { "$ref": "#/components/schemas/field-required" }, "type": { "type": "string", "description": "Type of the field.", "enum": [ "choice" ] }, "default": { "type": [ "string", "null" ], "description": "Default value for the field.", "maxLength": 1000 }, "choices": { "type": "array", "description": "List of choices.", "maxItems": 1000, "items": { "type": "string", "maxLength": 1000 } } } }, "multiselect-field": { "type": "object", "title": "Multi Select", "summary": "Multi select field.", "description": "This field allows the user to select several values from a list of options.", "required": [ "id", "name", "type", "required", "default", "choices" ], "properties": { "id": { "$ref": "#/components/schemas/field-id" }, "name": { "$ref": "#/components/schemas/field-name" }, "required": { "$ref": "#/components/schemas/field-required" }, "type": { "type": "string", "description": "Type of the field.", "enum": [ "multiselect" ] }, "default": { "type": [ "string", "null" ], "description": "Default value for the field.", "maxLength": 1000 }, "min": { "type": "integer", "description": "Minimum number of choices.", "minimum": 0, "maximum": 1000 }, "max": { "type": "integer", "description": "Maximum number of choices.", "minimum": 0, "maximum": 1000 }, "choices": { "type": "array", "description": "List of choices.", "maxItems": 1000, "items": { "type": "string", "maxLength": 1000 } } } }, "boolean-field": { "type": "object", "title": "Boolean", "summary": "Boolean field.", "description": "This field allows the user to provide a boolean value.", "required": [ "id", "name", "type", "required", "default" ], "properties": { "id": { "$ref": "#/components/schemas/field-id" }, "name": { "$ref": "#/components/schemas/field-name" }, "required": { "$ref": "#/components/schemas/field-required" }, "type": { "type": "string", "description": "Type of the field.", "enum": [ "boolean" ] }, "default": { "type": [ "boolean", "null" ], "description": "Default value for the field." } } }, "decimal-field": { "type": "object", "title": "Decimal", "summary": "Decimal field.", "description": "This field allows the user to enter a decimal value.", "required": [ "id", "name", "type", "required", "default", "min", "max" ], "properties": { "id": { "$ref": "#/components/schemas/field-id" }, "name": { "$ref": "#/components/schemas/field-name" }, "required": { "$ref": "#/components/schemas/field-required" }, "type": { "type": "string", "description": "The type of the field.", "enum": [ "decimal" ] }, "default": { "type": [ "number", "null" ], "format": "double", "description": "The default value for the field if no value is provided." }, "min": { "type": [ "number", "null" ], "format": "double", "description": "The minimum value allowed for the field." }, "max": { "type": [ "number", "null" ], "format": "double", "description": "The maximum value allowed for the field." } } }, "date-field": { "type": "object", "title": "Date", "summary": "Date field.", "description": "This field allows the user to set a date. Expected format: YYYY-MM-DD", "required": [ "id", "name", "type", "required", "default" ], "properties": { "id": { "$ref": "#/components/schemas/field-id" }, "name": { "$ref": "#/components/schemas/field-name" }, "required": { "$ref": "#/components/schemas/field-required" }, "type": { "type": "string", "description": "The type of the field.", "enum": [ "date" ] }, "default": { "type": [ "string", "null" ], "description": "The default value for the field.", "minLength": 10, "maxLength": 10 }, "min": { "type": [ "string", "null" ], "format": "date", "minLength": 10, "maxLength": 10, "description": "The minimum date that can be submitted." }, "max": { "type": [ "string", "null" ], "format": "date", "minLength": 10, "maxLength": 10, "description": "The maximum date that can be submitted." } } }, "percent-field": { "type": "object", "title": "Percent", "summary": "Percent field.", "description": "This field allows the user to set a percent amount", "required": [ "id", "name", "type", "required", "default", "min", "max" ], "properties": { "id": { "$ref": "#/components/schemas/field-id" }, "name": { "$ref": "#/components/schemas/field-name" }, "required": { "$ref": "#/components/schemas/field-required" }, "type": { "type": "string", "description": "The type of the field.", "enum": [ "percent" ] }, "default": { "type": [ "string", "null" ], "description": "The default value for the field.", "maxLength": 9 }, "min": { "type": "integer", "description": "The minimum length of the field." }, "max": { "type": "integer", "description": "The maximum length of the field." } } }, "website-field": { "type": "object", "title": "String", "summary": "Website field.", "description": "This field allows the user to set a website URL.", "required": [ "id", "name", "type", "required", "default" ], "properties": { "id": { "$ref": "#/components/schemas/field-id" }, "name": { "$ref": "#/components/schemas/field-name" }, "required": { "$ref": "#/components/schemas/field-required" }, "type": { "type": "string", "description": "The type of the field.", "enum": [ "website" ] }, "default": { "type": [ "string", "null" ], "description": "The default value for the field.", "maxLength": 1000 }, "min": { "type": "integer", "description": "The minimum length of the field." }, "max": { "type": "integer", "description": "The maximum length of the field." }, "regex": { "type": [ "string", "null" ], "description": "The regular expression that the field must match." } } }, "account-number-field": { "type": "object", "title": "String", "summary": "Bank Account Number field.", "description": "This field allows the user to set bank account number.", "required": [ "id", "name", "type", "required", "default" ], "properties": { "id": { "$ref": "#/components/schemas/field-id" }, "name": { "$ref": "#/components/schemas/field-name" }, "required": { "$ref": "#/components/schemas/field-required" }, "type": { "type": "string", "description": "The type of the field.", "enum": [ "account_number" ] }, "default": { "type": [ "string", "null" ], "description": "The default value for the field.", "maxLength": 17 }, "min": { "type": "integer", "description": "The minimum length of the field." }, "max": { "type": "integer", "description": "The maximum length of the field." } } }, "email-field": { "type": "object", "title": "String", "summary": "Email field.", "description": "This field allows the user to set an email.", "required": [ "id", "name", "type", "required", "default" ], "properties": { "id": { "$ref": "#/components/schemas/field-id" }, "name": { "$ref": "#/components/schemas/field-name" }, "required": { "$ref": "#/components/schemas/field-required" }, "type": { "type": "string", "description": "The type of the field.", "enum": [ "email" ] }, "default": { "type": [ "string", "null" ], "description": "The default value for the field.", "maxLength": 1000 }, "min": { "type": "integer", "description": "The minimum length of the field." }, "max": { "type": "integer", "description": "The maximum length of the field." }, "regex": { "type": [ "string", "null" ], "description": "The regular expression that the field must match." } } }, "phone-field": { "type": "object", "title": "String", "summary": "Phone field.", "description": "This field allows the user to set an phone.", "required": [ "id", "name", "type", "required", "default" ], "properties": { "id": { "$ref": "#/components/schemas/field-id" }, "name": { "$ref": "#/components/schemas/field-name" }, "required": { "$ref": "#/components/schemas/field-required" }, "type": { "type": "string", "description": "The type of the field.", "enum": [ "phone" ] }, "default": { "type": [ "string", "null" ], "description": "The default value for the field.", "maxLength": 15 } } }, "routing-number-field": { "type": "object", "title": "String", "summary": "Bank Routing Number field.", "description": "This field allows the user to enter USA bank routing number.", "required": [ "id", "name", "type", "required", "default" ], "properties": { "id": { "$ref": "#/components/schemas/field-id" }, "name": { "$ref": "#/components/schemas/field-name" }, "required": { "$ref": "#/components/schemas/field-required" }, "type": { "type": "string", "description": "The type of the field.", "enum": [ "routing_number" ] }, "default": { "type": [ "string", "null" ], "description": "The default value for the field.", "maxLength": 9, "minLength": 9 }, "min": { "type": "integer", "description": "The minimum length of the field.", "maxLength": 9, "minLength": 9 }, "max": { "type": "integer", "description": "The maximum length of the field.", "maxLength": 9, "minLength": 9 } } }, "tax-id-field": { "type": "object", "title": "String", "summary": "Tax ID field.", "description": "This field allows the user to set a Tax ID.", "required": [ "id", "name", "type", "required", "default" ], "properties": { "id": { "$ref": "#/components/schemas/field-id" }, "name": { "$ref": "#/components/schemas/field-name" }, "required": { "$ref": "#/components/schemas/field-required" }, "type": { "type": "string", "description": "The type of the field.", "enum": [ "ssn", "federal_tax_id" ] }, "default": { "type": [ "string", "null" ], "description": "The default value for the field.", "maxLength": 9, "minLength": 9 }, "min": { "type": "integer", "description": "The minimum length of the field.", "maxLength": 9, "minLength": 9 }, "max": { "type": "integer", "description": "The maximum length of the field.", "maxLength": 9, "minLength": 9 } } }, "postal-code-field": { "type": "object", "title": "String", "summary": "Postal Code field.", "description": "This field allows the user to set a postal code field.", "required": [ "id", "name", "type", "required", "default" ], "properties": { "id": { "$ref": "#/components/schemas/field-id" }, "name": { "$ref": "#/components/schemas/field-name" }, "required": { "$ref": "#/components/schemas/field-required" }, "type": { "type": "string", "description": "The type of the field.", "enum": [ "postal_code" ] }, "default": { "type": [ "string", "null" ], "description": "The default value for the field.", "maxLength": 5 } } }, "package-fields": { "type": "array", "description": "Array of package fields", "maxItems": 1000, "items": { "oneOf": [ { "$ref": "#/components/schemas/integer-field" }, { "$ref": "#/components/schemas/string-field" }, { "$ref": "#/components/schemas/choice-field" }, { "$ref": "#/components/schemas/multiselect-field" }, { "$ref": "#/components/schemas/boolean-field" }, { "$ref": "#/components/schemas/decimal-field" }, { "$ref": "#/components/schemas/date-field" }, { "$ref": "#/components/schemas/percent-field" }, { "$ref": "#/components/schemas/website-field" }, { "$ref": "#/components/schemas/account-number-field" }, { "$ref": "#/components/schemas/email-field" }, { "$ref": "#/components/schemas/phone-field" }, { "$ref": "#/components/schemas/routing-number-field" }, { "$ref": "#/components/schemas/tax-id-field" }, { "$ref": "#/components/schemas/postal-code-field" } ], "discriminator": { "propertyName": "type", "mapping": { "integer": "#/components/schemas/integer-field", "string": "#/components/schemas/string-field", "choice": "#/components/schemas/choice-field", "multiselect": "#/components/schemas/multiselect-field", "boolean": "#/components/schemas/boolean-field", "decimal": "#/components/schemas/decimal-field", "date": "#/components/schemas/date-field", "percent": "#/components/schemas/percent-field", "website": "#/components/schemas/website-field", "account_number": "#/components/schemas/account-number-field", "email": "#/components/schemas/email-field", "phone": "#/components/schemas/phone-field", "routing_number": "#/components/schemas/routing-number-field", "ssn": "#/components/schemas/tax-id-field", "federal_tax_id": "#/components/schemas/tax-id-field", "postal_code": "#/components/schemas/postal-code-field" } } } }, "collection-id": { "type": "string", "description": "The unique identifier of the collection.", "pattern": "^col_[a-z0-9_]{3,46}$", "minLength": 7, "maxLength": 50 }, "collection-name": { "type": "string", "description": "The name of the package collection.", "maxLength": 1000 }, "collection-description": { "type": "string", "description": "The description of the package collection.", "maxLength": 10000 }, "package-collection": { "type": "object", "title": "Collection of Fields", "summary": "Fields grouped into a Collection", "required": [ "id", "name", "description", "min", "max", "fields" ], "properties": { "id": { "$ref": "#/components/schemas/collection-id" }, "name": { "$ref": "#/components/schemas/collection-name" }, "description": { "$ref": "#/components/schemas/collection-description" }, "min": { "type": "integer", "description": "The minimum number of records that can be added to the collection.", "minimum": 0, "maximum": 100 }, "max": { "type": "integer", "description": "The maximum number of records that can be added to the collection.", "minimum": 0, "maximum": 100 }, "fields": { "$ref": "#/components/schemas/package-fields" } } }, "event-types": { "type": "string", "enum": [ "application.updated.data.requested", "application.approved", "application.declined", "application.cancelled", "application.merchant.closed", "application.merchant.boarded", "merchant.chargeback.added", "merchant.deposit.new", "merchant.first-batch", "merchant.processing.start", "merchant.processing.stop", "merchant.residuals.published", "merchant.retrieval.added", "merchant.statement.new" ], "example": "application.merchant.boarded" } }, "responses": { "error-not-found": { "description": "Error response for resource not found", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "description": "Error code", "maxLength": 100 }, "message": { "type": "string", "description": "Error message", "maxLength": 10000 } } }, "examples": { "not-found": { "summary": "Resource Not Found", "description": "The resource cannot be found", "value": { "code": "NOT_FOUND", "message": "Resource not found" } } } } } } }, "examples": { "standard-package": { "summary": "Success", "description": "The Merrick TSYS package configuration.", "value": { "id": "pkg_merrick_tsys", "name": "Merrick TSYS Application Package", "description": "Merrick TSYS Application Package", "package_rules": [ "Field 'fld_qual_rate' is required when 'Flat Rate' pricing type is selected", "Field 'fld_qual_rate_per_auth' is required when 'Flat Rate' pricing type is selected", "Field 'fld_cost_plus' is required when 'Cost Plus' pricing type is selected", "Field 'fld_cost_plus_per_auth' is required when 'Cost Plus' pricing type is selected", "Field 'fld_business_website' is required when 'fld_percent_of_ecommerce' > 0", "The total percentage of the 'fld_percent_of_retail', 'fld_percent_key_entered', 'fld_percent_of_ecommerce' and 'fld_percent_of_moto' fields must be 100%", "B2C Sales is required when 'fld_percent_of_moto' > 25 %", "B2B Sales is required when 'fld_percent_of_moto' > 25 %", "Bank or Processing Statements are required when 'fld_average_ticket' \u2265 1000 or 'fld_high_ticket' \u2265 2500" ], "fields": [ { "id": "fld_amex_annual_volume", "name": "Amex Annual Volume", "type": "integer", "required": false, "default": null, "min": 0, "max": 999999999 }, { "id": "fld_average_ticket", "name": "Average Ticket", "type": "integer", "required": true, "default": null, "min": 1, "max": 9999999999 }, { "id": "fld_individual_with_control_address", "name": "Address", "type": "string", "required": true, "default": null, "min": 3, "max": 32, "regex": null }, { "id": "fld_individual_with_control_city", "name": "City", "type": "string", "required": true, "default": null, "min": 3, "max": 13, "regex": null }, { "id": "fld_individual_with_control_country", "name": "Country", "type": "choice", "required": false, "default": "US", "choices": [ "US" ] }, { "id": "fld_individual_with_control_dob", "name": "Date of Birth", "type": "date", "required": true, "default": null, "min": null, "max": null }, { "id": "fld_individual_with_control_first_name", "name": "First Name", "type": "string", "required": true, "default": null, "min": 2, "max": 25, "regex": null }, { "id": "fld_individual_with_control_last_name", "name": "Last Name", "type": "string", "required": true, "default": null, "min": 2, "max": 25, "regex": null }, { "id": "fld_individual_with_control_ownership_percentage", "name": "Percent of Ownership", "type": "integer", "required": false, "default": null, "min": 0, "max": 100 }, { "id": "fld_individual_with_control_postal_code", "name": "Zip Code", "type": "postal_code", "required": true, "default": null }, { "id": "fld_individual_with_control_ssn", "name": "SSN", "type": "ssn", "required": true, "default": null }, { "id": "fld_individual_with_control_state", "name": "State", "type": "choice", "required": true, "default": null, "choices": [ "AL", "AK", "AZ", "AR", "CA", "CO", "CT", "DE", "FL", "GA", "HI", "ID", "IL", "IN", "IA", "KS", "KY", "LA", "ME", "MD", "MA", "MI", "MN", "MS", "MO", "MT", "NE", "NV", "NH", "NJ", "NM", "NY", "NC", "ND", "OH", "OK", "OR", "PA", "RI", "SC", "SD", "TN", "TX", "UT", "VT", "VA", "WA", "WV", "WI", "WY", "DC" ] }, { "id": "fld_individual_with_control_title", "name": "Title", "type": "choice", "required": false, "default": "Owner", "choices": [ "CEO", "CFO", "Chairman", "Co-Owner", "Comptroller", "Controller", "Director", "General Manager", "Office Manager", "Owner", "Partner", "President", "Treasurer", "Vice President" ] }, { "id": "fld_chargeback_email", "name": "Chargeback Email Address", "type": "email", "required": false, "default": null }, { "id": "fld_date_opened", "name": "Open Date", "type": "date", "required": false, "default": null, "min": null, "max": null }, { "id": "fld_dba_address", "name": "Address", "type": "string", "required": true, "default": null, "min": 3, "max": 32, "regex": null }, { "id": "fld_dba_city", "name": "City", "type": "string", "required": true, "default": null, "min": 3, "max": 13, "regex": null }, { "id": "fld_dba_email", "name": "Email Address", "type": "email", "required": true, "default": null }, { "id": "fld_dba_name", "name": "DBA Name", "type": "string", "required": true, "default": null, "min": 3, "max": 32, "regex": null }, { "id": "fld_dba_phone_number", "name": "Phone", "type": "phone", "required": true, "default": null }, { "id": "fld_dba_postal_code", "name": "Zip Code", "type": "postal_code", "required": true, "default": null }, { "id": "fld_dba_state", "name": "State", "type": "choice", "required": true, "default": null, "choices": [ "AL", "AK", "AZ", "AR", "CA", "CO", "CT", "DE", "FL", "GA", "HI", "ID", "IL", "IN", "IA", "KS", "KY", "LA", "ME", "MD", "MA", "MI", "MN", "MS", "MO", "MT", "NE", "NV", "NH", "NJ", "NM", "NY", "NC", "ND", "OH", "OK", "OR", "PA", "RI", "SC", "SD", "TN", "TX", "UT", "VT", "VA", "WA", "WV", "WI", "WY", "DC" ] }, { "id": "fld_federal_tax_id", "name": "Federal Tax ID", "type": "federal_tax_id", "required": true, "default": null }, { "id": "fld_high_ticket", "name": "High Ticket", "type": "integer", "required": true, "default": null, "min": 0, "max": 999999 }, { "id": "fld_legal_address", "name": "Address", "type": "string", "required": true, "default": null, "min": 3, "max": 32, "regex": null }, { "id": "fld_legal_city", "name": "City", "type": "string", "required": true, "default": null, "min": 3, "max": 24, "regex": null }, { "id": "fld_legal_country", "name": "Country", "type": "choice", "required": false, "default": "US", "choices": [ "US" ] }, { "id": "fld_legal_name", "name": "Legal Name", "type": "string", "required": true, "default": null, "min": 3, "max": 32, "regex": null }, { "id": "fld_state_incorporated", "name": "State Incorporated", "type": "choice", "required": true, "default": null, "choices": [ "AL", "AK", "AZ", "AR", "CA", "CO", "CT", "DE", "FL", "GA", "HI", "ID", "IL", "IN", "IA", "KS", "KY", "LA", "ME", "MD", "MA", "MI", "MN", "MS", "MO", "MT", "NE", "NV", "NH", "NJ", "NM", "NY", "NC", "ND", "OH", "OK", "OR", "PA", "RI", "SC", "SD", "TN", "TX", "UT", "VT", "VA", "WA", "WV", "WI", "WY", "DC" ] }, { "id": "fld_legal_postal_code", "name": "Zip Code", "type": "postal_code", "required": true, "default": null }, { "id": "fld_legal_state", "name": "State", "type": "choice", "required": true, "default": null, "choices": [ "AL", "AK", "AZ", "AR", "CA", "CO", "CT", "DE", "FL", "GA", "HI", "ID", "IL", "IN", "IA", "KS", "KY", "LA", "ME", "MD", "MA", "MI", "MN", "MS", "MO", "MT", "NE", "NV", "NH", "NJ", "NM", "NY", "NC", "ND", "OH", "OK", "OR", "PA", "RI", "SC", "SD", "TN", "TX", "UT", "VT", "VA", "WA", "WV", "WI", "WY", "DC" ] }, { "id": "fld_contact_name", "name": "Contact Name", "type": "string", "required": true, "default": null, "min": 0, "max": 25, "regex": "^[A-Za-z0-9\\-\\.\\,\\(\\)]+\\s+[A-Za-z0-9\\-\\.\\,\\(\\)]+(\\s+[A-Za-z0-9\\-\\.\\,\\(\\)]+)*$" }, { "id": "fld_mcc", "name": "SIC/MCC", "type": "string", "required": false, "default": null, "min": 4, "max": 4, "regex": null }, { "id": "fld_percent_key_entered", "name": "Percentage Key Entered", "type": "integer", "required": true, "default": null, "min": 0, "max": 100 }, { "id": "fld_percent_of_ecommerce", "name": "Percentage of E-Commerce", "type": "integer", "required": true, "default": null, "min": 0, "max": 100 }, { "id": "fld_percent_of_swiped", "name": "Percentage of Swiped", "type": "integer", "required": true, "default": null, "min": 0, "max": 100 }, { "id": "fld_type_of_goods_sold", "name": "Type of Goods Sold", "type": "string", "required": false, "default": null, "min": 5, "max": 50, "regex": null }, { "id": "fld_years_in_business", "name": "Years In Business (when opened)", "type": "integer", "required": true, "default": null, "min": 0, "max": 99 }, { "id": "fld_pricing_type", "name": "Pricing Type", "type": "choice", "required": true, "default": null, "choices": [ "Flat Rate", "Cost Plus" ] }, { "id": "fld_qual_rate", "name": "Qual Rate", "type": "percent", "required": false, "default": null, "min": 0, "max": 100 }, { "id": "fld_qual_rate_per_auth", "name": "Qual Rate Per Auth", "type": "decimal", "required": false, "default": null, "min": 0, "max": 100 }, { "id": "fld_cost_plus", "name": "Cost Plus", "type": "percent", "required": false, "default": null, "min": 0, "max": 100 }, { "id": "fld_cost_plus_per_auth", "name": "Cost Plus Per Auth", "type": "decimal", "required": false, "default": null, "min": 0, "max": 100 }, { "id": "fld_dba_country", "name": "Country", "type": "choice", "required": false, "default": "US", "choices": [ "US" ] }, { "id": "fld_percent_of_moto", "name": "MOTO %", "type": "integer", "required": true, "default": null, "min": 0, "max": 100 }, { "id": "fld_type_business", "name": "Business Type", "type": "choice", "required": true, "default": null, "choices": [ "Sole Proprietor", "Partnership", "Corporation", "LLC", "Non-Profit", "Publicly Traded", "Government" ] }, { "id": "fld_business_nature", "name": "Nature of Business", "type": "choice", "required": true, "default": null, "choices": [ "Retail", "Internet", "Mail Order/Telephone Order" ] }, { "id": "fld_b2c_sales_percentage", "name": "B2C Sales", "type": "integer", "required": false, "default": null, "min": 0, "max": 100 }, { "id": "fld_b2b_sales_percentage", "name": "B2B Sales", "type": "integer", "required": false, "default": null, "min": 0, "max": 100 }, { "id": "fld_monthly_volume", "name": "Monthly Volume", "type": "integer", "required": true, "default": null, "min": 1, "max": 9999999999 }, { "id": "fld_individual_with_control_email", "name": "Email", "type": "email", "required": false, "default": null }, { "id": "fld_owner_phone_num", "name": "Phone", "type": "phone", "required": true, "default": null }, { "id": "fld_legal_phone_number", "name": "Corporate/Legal Phone", "type": "phone", "required": true, "default": null }, { "id": "fld_individual_with_control_passport_num", "name": "Passport Number", "type": "string", "required": false, "default": null, "min": 9, "max": 9, "regex": "^[0-9]+$" }, { "id": "fld_business_website", "name": "Website", "type": "website", "required": false, "default": null }, { "id": "fld_amex_processor_fees", "name": "Amex Processor Fees", "type": "percent", "required": false, "default": null, "min": 0, "max": 100 }, { "id": "fld_amex_processor_per_auth", "name": "Amex Processor Per Auth", "type": "decimal", "required": false, "default": null, "min": 0, "max": 100 }, { "id": "fld_downgrade_surcharge", "name": "Downgrade Surcharge", "type": "percent", "required": false, "default": null, "min": 0, "max": 100 }, { "id": "fld_downgrade_per_auth", "name": "Downgrade Per Auth", "type": "decimal", "required": false, "default": null, "min": 0, "max": 100 }, { "id": "fld_international_rate", "name": "International Rate", "type": "percent", "required": false, "default": null, "min": 0, "max": 100 }, { "id": "fld_international_per_auth", "name": "International Per Auth", "type": "decimal", "required": false, "default": null, "min": 0, "max": 100 }, { "id": "fld_monthly_fee", "name": "Monthly Fee", "type": "decimal", "required": false, "default": null, "min": 0, "max": 100 }, { "id": "fld_chargeback_fee", "name": "Chargeback Fee", "type": "decimal", "required": false, "default": null, "min": 0, "max": 100 }, { "id": "fld_retrieval_request_fee", "name": "Retrieval Request Fee", "type": "decimal", "required": false, "default": null, "min": 0, "max": 100 }, { "id": "fld_voice_auth_fee", "name": "Voice Auth Fee", "type": "decimal", "required": false, "default": null, "min": 0, "max": 100 }, { "id": "fld_ach_return_fee", "name": "ACH Return Fee", "type": "decimal", "required": false, "default": null, "min": 0, "max": 100 }, { "id": "fld_batch_fee", "name": "Batch Fee", "type": "decimal", "required": false, "default": null, "min": 0, "max": 100 }, { "id": "fld_avs_fee", "name": "Address Verification Fee", "type": "decimal", "required": false, "default": null, "min": 0, "max": 100 }, { "id": "fld_1099_fee", "name": "Regulatory/1099 Fee", "type": "decimal", "required": false, "default": null, "min": 0, "max": 100 }, { "id": "fld_monthly_minimum", "name": "Monthly Minimum", "type": "decimal", "required": false, "default": null, "min": 0, "max": 100 }, { "id": "fld_annual_fee", "name": "Annual Fee", "type": "decimal", "required": false, "default": null, "min": 0, "max": 100 }, { "id": "fld_breach_monitoring_protection", "name": "Breach Monitoring Protection", "type": "decimal", "required": false, "default": null, "min": 0, "max": 100 } ], "collections": [ { "id": "col_owners", "name": "Beneficial Owners", "description": "Beneficial Owners", "min": 1, "max": 4, "fields": [ { "id": "fld_beneficial_owners_address", "name": "Address", "type": "string", "required": true, "default": null, "min": 2, "max": 32, "regex": null }, { "id": "fld_beneficial_owners_city", "name": "City", "type": "string", "required": true, "default": null, "min": 3, "max": 13, "regex": null }, { "id": "fld_beneficial_owners_country", "name": "Country", "type": "choice", "required": true, "default": "US", "choices": [ "US" ] }, { "id": "fld_beneficial_owners_dob", "name": "Date of Birth", "type": "date", "required": true, "default": null, "min": null, "max": null }, { "id": "fld_beneficial_owners_first_name", "name": "First Name", "type": "string", "required": true, "default": null, "min": 2, "max": 25, "regex": null }, { "id": "fld_beneficial_owners_last_name", "name": "Last Name", "type": "string", "required": true, "default": null, "min": 2, "max": 25, "regex": null }, { "id": "fld_beneficial_owners_postal_code", "name": "Zip Code", "type": "string", "required": true, "default": null, "min": 5, "max": 7, "regex": null }, { "id": "fld_beneficial_owners_state", "name": "State", "type": "string", "required": true, "default": null, "min": 2, "max": 3, "regex": null } ] }, { "id": "col_bank_info", "name": "Bank Info", "description": "Bank Info", "min": 1, "max": 2, "fields": [ { "id": "fld_dda_account_number", "name": "Account Number", "type": "account_number", "required": true, "default": null }, { "id": "fld_dda_account_routing_number", "name": "Routing Number", "type": "routing_number", "required": true, "default": null }, { "id": "fld_dda_name_on_account", "name": "Name on Account", "type": "string", "required": true, "default": null, "min": 3, "max": 100, "regex": null } ] } ] } } } } true
Integration checks
Validate the request against its selected schema before submission. Keep secrets outside browser code. Test permitted and denied account access, validation failures and interrupted responses in the sandbox. Account-management or messaging operations require the corresponding partner access and intended recipient context.