Create many stores
POST api/stores/load
Creates one or more stores in a single request.
Request syntax
post api/stores/load '{"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.
| Parameter | Type | Description | Required | Default value |
|---|---|---|---|---|
stores | Array of Objects | The stores to create. Each object accepts the fields in the following table. | Yes | N/A |
Each object in the stores array accepts the following fields.
| Parameter | Type | Description | Required |
|---|---|---|---|
store_number | String | The store number. It can include leading zeros, for example 0001. Together with store_name, it uniquely identifies the store. | Yes |
store_name | String | The name of the store. | Yes |
address1 | String | The first line of the physical address of the store. | Yes |
address2 | String | The second line of the physical address of the store, such as a suite or unit number. | No |
city | String | The city of the physical address of the store. | Yes |
state | String | The state of the physical address of the store. | Yes |
zip | String | The zip code of the physical address of the store, as 5 digits or 9 digits, for example 78731 or 78731-1234. | Yes |
country | String | The country of the physical address of the store. | Yes |
phone_number | String | The phone number of the store, for example 512-555-0100. | No |
timezone | String | The timezone of the store, for example Eastern Standard Time. | No |
hostname | String | The store hostname. | No |
group | String | The group identifier associated with the store. | No |
level_of_hierarchy | String | The level of hierarchy for the store. For more information, see List levels of hierarchy. | No |
card_acceptor_identifier | String | The card acceptor identifier for the store. | 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
| Parameter | Type | Description | Template tag | Required |
|---|---|---|---|---|
host_processor | String | The host processor in the store's payment configuration. | {{store.host_processor}} | No |
gift_card_merchant_number | String | The gift card (stored value) merchant ID in the store's payment configuration. | {{store.gift_merchant_id}} | No |
vxn_merchant_id | String | The store's VXN merchant ID (MID). | {{store.vxn_merchant_id}} | No |
merchant_terminal_id | String | The merchant terminal ID (TID) in the store's payment configuration. | {{store.merchant_tid}} | No |
payment_switch_1_ip | String | The 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_ip | String | The IP address of the secondary payment switch. | {{store.payment_switch_2_ip}} | No |
payment_switch_1_certificate_name | String | The name of the certificate used for the primary payment switch. | — | No |
payment_switch_2_certificate_name | String | The name of the certificate used for the secondary payment switch. | — | No |
pinpad_certificate_name | String | The name of the certificate used for the PIN pad. | — | No |
bank_processor_url_1 | String | The primary bank processor URL (the primary VXN SDC URL). | {{store.bank_processor_url_1}} | No |
bank_processor_url_2 | String | The secondary bank processor URL (the secondary VXN SDC URL). | {{store.bank_processor_url_2}} | No |
stored_value_processor_url_1 | String | The primary stored value (gift card) processor URL. | {{store.stored_value_processor_url_1}} | No |
stored_value_processor_url_2 | String | The secondary stored value (gift card) processor URL. | {{store.stored_value_processor_url_2}} | No |
dcc_functionality_enabled | String | Whether Dynamic Currency Conversion (DCC) is enabled for the store, for example ENABLED. | {{store.dcc_functionality}} | No |
dcc_functionality_value | String | The DCC functionality value. | — | No |
eSocket fields
| Parameter | Type | Description | Template tag | Required |
|---|---|---|---|---|
config_server_ip_address | String | The IP address of the eSocket configuration server. | {{store.configserverip}} | No |
config_server_port | String | The port of the eSocket configuration server. | {{store.configserverport}} | No |
itk_fixed_node_port | String | The eSocket ITK fixed node port. | {{store.itkfixednodeport}} | No |
itk_variable_node_port | String | The eSocket ITK variable node port. | {{store.itkvarnodeport}} | No |
pincomm_prompt_debit | String | The eSocket PINComm prompt debit setting. | {{store.pincommpromptdebit}} | No |
ubl_lcr_threshold | String | The eSocket UBL LCR threshold. | {{store.ubllcrthreshold}} | No |
Response syntax
{
"success": boolean,
"records": [
{
"record": {
"id": integer,
"created_at": "timestamp",
"updated_at": "timestamp",
"node_id": integer,
"group": "string",
"owner_name": "string",
"customer_id": integer,
"hierarchy_field_id": integer,
"store_name": "string",
"store_number": integer,
"line1": "string",
"line2": "string",
"city": "string",
"zip": "string",
"time_zone": "string",
"phone_number": "string",
"state": "string",
"country": "string",
"card_acceptor_identifier": "string"
}
}
],
"exporter_job": integer
}
Response parameters
If the action is successful, an HTTP 201 response is returned. The following data is returned in JSON format.
| Field | Type | Description |
|---|---|---|
success | Boolean | Whether the request succeeded. |
records | Array of objects | One object for each store. Each object contains a record object with the store details described in the following table. |
exporter_job | Integer | The ID of the exporter job created for the change. |
Each record object contains the following fields.
| Field | Type | Description |
|---|---|---|
id | Integer | The store ID. |
created_at | Timestamp | The timestamp for when the store was created. |
updated_at | Timestamp | The timestamp for when the store was last updated. |
node_id | Integer | The ID of the node associated with the store, if any. |
group | String | The store group, for example US_ENGAGE. |
owner_name | String | A display name generated from the store number, city, and state, for example Store: 9901 (Austin/TX). |
customer_id | Integer | The ID of your organization. |
hierarchy_field_id | Integer | The ID of the level of hierarchy the store is assigned to, if any. |
store_name | String | The store name. |
store_number | Integer | The store number. In this response, the store number is returned as an integer. |
line1 | String | The first line of the physical address of the store. |
line2 | String | The second line of the physical address of the store. |
city | String | The city of the physical address of the store. |
zip | String | The zip code of the physical address of the store. |
time_zone | String | The timezone of the store. |
phone_number | String | The phone number of the store. |
state | String | The state of the physical address of the store. |
country | String | The country of the physical address of the store. |
card_acceptor_identifier | String | The card acceptor identifier for the store. |
Errors
The following are errors returned by this API. For a complete list of common errors, see Common errors.
| Code | Message | Cause |
|---|---|---|
| - | - | - |
Examples
Example: Create two stores
This example creates two stores, 9902 and 9903, in Austin, TX.
ruby api.rb <customer_code> post api/stores/load '{"stores":[{"store_name":"Docs Test Store 2","store_number":"9902","address1":"123 Test Way","city":"Austin","state":"TX","zip":"78731","country":"US","card_acceptor_identifier":"DOCS9902"},{"store_name":"Docs Test Store 3","store_number":"9903","address1":"123 Test Way","city":"Austin","state":"TX","zip":"78731","country":"US","card_acceptor_identifier":"DOCS9903"}]}'
Response
{
"success": true,
"records": [
{
"record": {
"id": 25652,
"created_at": "2026-10-10T17:36:37.956Z",
"updated_at": "2026-10-10T17:36:37.956Z",
"node_id": null,
"group": null,
"owner_name": "Store: 9902 (Austin/TX)",
"customer_id": 14,
"hierarchy_field_id": null,
"store_name": "Docs Test Store 2",
"store_number": 9902,
"line1": "123 Test Way",
"line2": null,
"city": "Austin",
"zip": "78731",
"time_zone": null,
"phone_number": null,
"state": "TX",
"country": "US",
"card_acceptor_identifier": "DOCS9902"
}
},
{
"record": {
"id": 25653,
"created_at": "2026-10-10T17:36:37.964Z",
"updated_at": "2026-10-10T17:36:37.964Z",
"node_id": null,
"group": null,
"owner_name": "Store: 9903 (Austin/TX)",
"customer_id": 14,
"hierarchy_field_id": null,
"store_name": "Docs Test Store 3",
"store_number": 9903,
"line1": "123 Test Way",
"line2": null,
"city": "Austin",
"zip": "78731",
"time_zone": null,
"phone_number": null,
"state": "TX",
"country": "US",
"card_acceptor_identifier": "DOCS9903"
}
}
],
"exporter_job": 1781613
}