Appearance
Endpoint Configuration
This section covers how to edit endpoint configurations, the inputs required for each event type, and how to parameterize URLs, bodies, and file names.
Edit Endpoint Configurations

Select Build > Data Hubs from the main menu.
Select the appropriate Data Hub (A); then, select an Endpoint (B) to edit.

Ensure the Data Source tab (C) is selected.
Select the appropriate Events tab (D) from the left column.
Select the menu icon > Edit (E).
Re-configure the Endpoint Action (F) as needed.

NOTE
The data required to configure an Endpoint Action is dependent on the action assigned (i.e. API Read, SQL Save, File Read, etc.). See the Endpoint Event Inputs section below for detailed descriptions on each protocol.
- For Read Actions, you can use the Test Request button in the modal footer to test the action directly without saving. This opens the Test Connector modal with the request pre-populated from your current configuration.

- When finished, select Save (G).
NOTES
- You will need to configure each Endpoint Action created (e.g. if Both was selected as the Endpoint Type, then you'll need to configure the Endpoint Action for both the On Save and Get Changes events).
- When a save action is created, the Common Model will automatically create an interaction to the Key. Users can create as many interactions as needed associated with the save action.
- The Read URL field is critical for successful Endpoint Mapping, which you will construct next. When Mapping Endpoints, it is critical to ensure the data from a particular location within the payload gets into the Common Model. For additional information on common protocols (e.g. JSONPath, XMLPath, etc.) see the Connectors Catalog.
Endpoint Event Inputs
Each event type is represented by an icon in the action tree indicating the protocol and operation:
| Icon | Event Type |
|---|---|
| API Read (Get Changes) | |
| API Save (On Save) | |
| API Delete | |
| SQL Read (Get Changes) | |
| SQL Save (On Save) | |
| File Read | |
| File Save |
Each event type requires different configuration inputs. The tables below describe the fields for each protocol.
API Get Changes
| Input | Description |
|---|---|
| Title | A freeform label you give to the Action. |
| Response Selector | JSON Path or XPath query that points to where the data is on the response. |
| Paging Selector | JSON Path or XPath query indicating where in the response to pull the URL of the next page. |
| Max Pages | Limits the total number of pages that the action can return. |
| Read Method | The HTTP verb required by the API. |
| Read URL | The HTTP address required by the API. This value is concatenated to the Base URL on the Connector. See Parameterizing below for additional information. |
| Read Body | Not required, but useful for advanced searching APIs. A POST is used in order to query, and in those cases an HTTP body is used in the request. See Parameterizing below. Examples include SuiteQL, SOQL, OData, and calling Select Stored Procedures (Date Last Polled and Parent-Child). |
API On Save
| Input | Description |
|---|---|
| Title | A freeform label you give to the Action. |
| Is Batch | Can be toggled ON to save entities as a group (batch) instead of individually. |
| Create Method | The HTTP verb required by the API to insert a new record. The default verb for a Create is a POST. |
| Create URL | The HTTP address required by the API to insert a new record. |
| Update Method | The HTTP verb required by the API to update an existing record. The default method for an Update is a PATCH, but in some cases a PUT or POST can be used as well. |
| Update URL | The HTTP address required by the API to update existing data. The URL for an Update is usually parameterized with the ID of the record being updated. |
| Update Requires Full Copy | On update, this will pull a copy of the data from the API as a starting point, which the mapping then uses as the starting document (instead of a blank JSON document). This should be used when a Subscriber needs the full payload to update instead of just the changes. |
API Delete
| Input | Description |
|---|---|
| Title | A freeform label you give to the Action. |
| Delete Method | The HTTP verb required by the API to delete a record. The default method for a Delete is DELETE. |
| Delete URL | The HTTP address required by the API to delete a record. The URL for a Delete is usually parameterized with the ID of the record being deleted. |
| Delete Body | Optional. A collapsible Body editor allows you to specify a request body for the DELETE operation. Uses the code editor with syntax highlighting for the connector's protocol (JSON/XML). |
SQL Get Changes
| Input | Description |
|---|---|
| Title | A freeform label you give to the Action. |
| Read Command Type | The SQL Command can be a Stored Procedure or Text (Dynamic SQL). |
| Read Command | For Stored Procedure, set this to the procedure name. On a Stored Procedure that can pull child items (e.g. Lines on an Order), it MUST have an input parameter called @ParentId. If it needs a date filter, the parameter should be called @DateLastPolled. For Text, an inline SQL code editor appears where you can write dynamic SQL queries with syntax highlighting. |
TIP
When using Text command type, a Copy Params to Maps button is available that automatically detects @parameter names in your SQL and creates corresponding property maps.
SQL On Save
| Input | Description |
|---|---|
| Title | A freeform label you give to the Action. |
| Create Command Type | The SQL Command can be a Stored Procedure or Text (Dynamic SQL). |
| Create Command | For Stored Procedure, the command is the procedure name. For Text, an inline SQL code editor appears for writing dynamic SQL with syntax highlighting. |
| Update Command Type | The SQL Command can be a Stored Procedure or Text (Dynamic SQL). |
| Update Command | For Stored Procedure, the command is the procedure name. For Text, the command is the parameterized query — use the inline SQL code editor with the Copy Params to Maps button to auto-generate property maps from @parameter names. |
SQL Delete
| Input | Description |
|---|---|
| Title | A freeform label you give to the Action. |
| Delete Command Type | The SQL Command can be a Stored Procedure or Text (Dynamic SQL). |
| Delete Command | If the SQL Command is Stored Procedure, then the command is the name of the Stored Procedure. |
File Read / Save
| Input | Description |
|---|---|
| Title | A freeform label you give to the Action. |
| Location | The folder or container name. |
| File Name | The name of the file. |
| Delimiter | The character that is used to parse the file; the default value is a comma. |
Additional Events Inputs
Receipt Replication Save
Receipt Replication allows the save status (success, failure, or both) to be written back to the publishing system, e.g. writing errors back to the source system instead of relying on the Error Logs.
| Input | Description |
|---|---|
| Title | A freeform label you give to the Action. |
| Create Method | The HTTP verb required by the API to insert a new record. The default verb for a Create is a POST. |
| Create URL | The HTTP address required by the API to insert a new record. |
| Receipt Level | Dictates which receipts get processed and written back to the publishing system (error, success, or both). |
| Update Requires Full Copy | On update, this will pull a copy of the data from the API as a starting point, which the mapping then uses as the starting document (instead of a blank JSON document). This should be used when a Subscriber needs the full payload to update instead of just the changes. |
Key Replication
| Input | Description |
|---|---|
| Title | A freeform label you give to the Action. |
| Update Method | The HTTP verb required by the API to update an existing record. The default method for an Update is a PATCH, but in some cases a PUT or POST can be used as well. |
| Update URL | The HTTP address required by the API to update existing data. The URL for an Update is usually parameterized with the ID of the record being updated. |
| Update Requires Full Copy | On update, this will pull a copy of the data from the API as a starting point, which the mapping then uses as the starting document (instead of a blank JSON document). This should be used when a Subscriber needs the full payload to update instead of just the changes. |
Parameterizing
Parameterizing enables data to be dynamically passed into an action as a way of telling the mapping engine that some data needs to be injected, and potentially formatted, into the URL or Body of the API Request or a File Name. Parameterizing enables users to take the ID off the inbound message and append it to the Update message.
Instances where parameterizing can be used include:
- Update and Delete a record
- Query date last polled from URL
- Query date last polled from Body
- Add Variables to a Body
System Parameters
Data that comes internally to the system.
| Syntax | Description | Example |
|---|---|---|
SYS:CurrentDateTime | Injects the current date/time | {SYS:CurrentDateTime} |
Schema Parameters
Data that comes off another piece of data or message that is flowing through the system.
| Prefix | Description | Example |
|---|---|---|
CD:{Name} | Finds custom data with matching name and injects that value | {CD:CustomFieldA} |
PROP:{Name} | Finds a property on the model with a matching name and injects that value | {PROP:FirstName} |
PK:{Name} | Finds a Primary Key with the given Name for the processing system and injects that value | {PK:Id} |
FK:{Name} | Finds a Foreign Key with the given Name for the processing System and injects that value | {FK:CustomerId} |
Variable Parameters
Enables users to set any static value and inject it into an action, such as a specific value within a file name or parameter within a URL.
| Syntax | Description | Example |
|---|---|---|
VAR:{Name} | Finds a Variable with the given Name and injects that value | {VAR:SomeVariable} |
TIP
Optionally, formatting can be applied to the injected value by adding an additional :{format} to the placeholder, e.g. {VAR:CurrentDate:yyyy-MM-dd}.
See Also
- Action Mapping — Map endpoint actions to Common Model properties
- Data Adaptation — Transform data during reads and writes
- Session Values — Extract and reuse values across multi-step API workflows
- Key Scraping — Configure primary key indexing after saves