Create a store

Create a store

POST api/stores

Creates a store.

Request syntax

post api/stores '{"store_name":"<store-name>","store_number":"<store-number>","address1":"<store-address>","city":"<store-city>","state":"<store-state>","zip":"<store-zipcode>","country":"<store-country>"}'

Request parameters

The request accepts the following data in JSON format.

ParameterTypeDescriptionRequired
store_numberStringThe store number. It can include leading zeros, for example 0001. Together with store_name, it uniquely identifies the store.Yes
store_nameStringThe name of the store.Yes
address1StringThe first line of the physical address of the store.Yes
address2StringThe second line of the physical address of the store, such as a suite or unit number.No
cityStringThe city of the physical address of the store.Yes
stateStringThe state of the physical address of the store.Yes
zipStringThe zip code of the physical address of the store, as 5 digits or 9 digits, for example 78731 or 78731-1234.Yes
countryStringThe country of the physical address of the store.Yes
phone_numberStringThe phone number of the store, for example 512-555-0100.No
timezoneStringThe timezone of the store, for example Eastern Standard Time.No
groupStringThe store group that the store belongs to.No
level_of_hierarchyStringThe level of hierarchy that the store is assigned to, for example USA > NE > New York.No
card_acceptor_identifierStringRequired only if the ETL feature is enabled for the customer. The value must then be unique for the customer and is returned in the response. If the ETL feature is disabled, don't include this parameter in the request.No

Payment configuration fields

The following optional fields set the store's payment configuration. These fields aren't returned in store responses.

SC//Reliant™ Platform Manager uses these values to build the store's payment server configuration files from configuration templates. Each value is available in templates through the template tag listed in the table. A value can be used in templates only when the matching payment integration (AJB FIPay or eSocket) is enabled for the site, and the field is selected on the matching payment configuration tab of the global store settings.

AJB FIPay fields
ParameterTypeDescriptionTemplate tagRequired
host_processorStringThe host processor in the store's payment configuration.{{store.host_processor}}No
gift_card_merchant_numberStringThe gift card (stored value) merchant ID in the store's payment configuration.{{store.gift_merchant_id}}No
vxn_merchant_idStringThe store's VXN merchant ID (MID).{{store.vxn_merchant_id}}No
merchant_terminal_idStringThe merchant terminal ID (TID) in the store's payment configuration.{{store.merchant_tid}}No
payment_switch_1_ipStringThe IP address of the primary payment switch. If this value is blank, the store uses a direct-to-bank template.{{store.payment_switch_1_ip}}No
payment_switch_2_ipStringThe IP address of the secondary payment switch.{{store.payment_switch_2_ip}}No
payment_switch_1_certificate_nameStringThe name of the certificate used for the primary payment switch.—No
payment_switch_2_certificate_nameStringThe name of the certificate used for the secondary payment switch.—No
bank_processor_url_1StringThe primary bank processor URL (the primary VXN SDC URL).{{store.bank_processor_url_1}}No
bank_processor_url_2StringThe secondary bank processor URL (the secondary VXN SDC URL).{{store.bank_processor_url_2}}No
stored_value_processor_url_1StringThe primary stored value (gift card) processor URL.{{store.stored_value_processor_url_1}}No
stored_value_processor_url_2StringThe secondary stored value (gift card) processor URL.{{store.stored_value_processor_url_2}}No
dcc_functionality_enabledStringWhether Dynamic Currency Conversion (DCC) is enabled for the store, for example ENABLED.{{store.dcc_functionality}}No
dcc_functionality_valueStringThe DCC functionality value.—No
eSocket fields
ParameterTypeDescriptionTemplate tagRequired
config_server_ip_addressStringThe IP address of the eSocket configuration server.{{store.configserverip}}No
config_server_portStringThe port of the eSocket configuration server.{{store.configserverport}}No
itk_fixed_node_portStringThe eSocket ITK fixed node port.{{store.itkfixednodeport}}No
itk_variable_node_portStringThe eSocket ITK variable node port.{{store.itkvarnodeport}}No
pincomm_prompt_debitStringThe eSocket PINComm prompt debit setting.{{store.pincommpromptdebit}}No
ubl_lcr_thresholdStringThe eSocket UBL LCR threshold.{{store.ubllcrthreshold}}No

Response syntax

{
    "exporter_job": integer,
    "id": integer,
    "store_number": "string",
    "store_name": "string",
    "hostname": "string",
    "group": "string",
    "owner_name": "string",
    "level_of_hierarchy": "string",
    "card_acceptor_identifier": "string",
    "created_at": "timestamp",
    "updated_at": "timestamp"
}

Response parameters

If the action is successful, an HTTP 201 response is returned. The following data is returned in JSON format.

FieldTypeDescription
exporter_jobIntegerThe ID of the exporter job performing the action.
idIntegerThe store ID.
store_numberStringThe store number.
store_nameStringThe store name.
hostnameStringThe hostname of the node or server that manages the store, for example pfc2324pay0. Empty if no host is assigned.
groupStringThe store group, for example US_ENGAGE.
owner_nameStringA display name generated from the store number, city, and state, for example Store: 9901 (Austin/TX).
level_of_hierarchyStringThe level of hierarchy the store is assigned to, for example United States > NE > NJ. null if the store isn't assigned to a level of hierarchy.
card_acceptor_identifierStringThe card acceptor identifier for the store.
created_atTimestampThe timestamp for when the store was initially created.
updated_atTimestampThe timestamp indicating when the store was last updated.

Errors

The following are common errors returned by this API.

CodeMessageCause
422Card acceptor identifier already in use. Please use a different value.Another store already uses the card_acceptor_identifier.
422Validation Failed: city is missing, country is missing, state is missing, zip is missingOne or more required parameters are missing. The message lists each missing parameter.

Examples

Example: Create a store

This example creates a store named Docs Test Store with store number 9901, a physical address, and a card acceptor identifier.

ruby api.rb <customer_code> post api/stores '{"store_name":"Docs Test Store","store_number":"9901","address1":"123 Test Way","city":"Austin","state":"TX","zip":"78731","country":"US","card_acceptor_identifier":"DOCS9901"}'

Response

{
  "exporter_job": 1781612,
  "id": 25651,
  "store_number": "9901",
  "store_name": "Docs Test Store",
  "hostname": "",
  "group": null,
  "owner_name": "Store: 9901 (Austin/TX)",
  "level_of_hierarchy": null,
  "card_acceptor_identifier": "DOCS9901",
  "created_at": "2026-10-10T17:36:20.630Z",
  "updated_at": "2026-10-10T17:36:20.630Z"
}