When working with custom REST connectors, metadata plays a crucial role in defining the structure of your API connection. It helps the system understand how to interact with the endpoints, what data is expected, and how to communicate with the API. This information is essential for correct API calls, error handling, and ensuring that your connector functions as intended.
{
"ProviderConfiguration": { ... },
"Metadata": [ ... ]
}
Describes specific API endpoints, including:
URL
List of columns with data types
Supported methods (GET, POST, etc.)
{}
"ProviderConfiguration": {
"Headers": [
{ "Key": "X-API-Version", "Value": 2 }
]
}
{ "Key": "X-API-Version", "Value": 2 },
{ "Key": "Authorization", "Value": "Bearer 1254fhr545fr" }
]
The advanced example extends the basic configuration with additional settings.
LimitOffset."yyyy-MM-ddTHH:mm:ssZ"."yyyy-MM-dd".JoinColumnAndDirection. Used when the API requires one parameter containing “column name + sort direction”. Example: /deals?sort=person_id asc,updated_date descDefined in the Procedures block. Example: GetTransactions
Required parameter: view
Optional parameters: startdate, enddate
Usage:
PagingStrategy = WithoutPaging → single request.
SortOperation → requires two parameters: sort_field and sort_direction. Example: /deals?sort_field=id&sort_direction=asc
BodyPattern → Indicates the format of the body payload for Insert/Update operations. The default value is a JSON object (not specified in the settings).
Example override:
Columns
Id: "Primary": true → Primary Key
Name: "Required": true → mandatory on Insert
DMLAPIName: "account.name" → used when body field name differs from APIPath
CreatedDate: "TimeStampStoreMode": "SecondsSinceEpoch"
UpdatedDate: "TimeStampStoreMode": "MillisecondsSinceEpoch"
InsertOperation / UpdateOperation
Default: InputType = JSONBody as described for INSERT operation
Example override: We form and send the body as a JSON object. But sometimes an API requires the body for Insert/Update operations to be sent in a different format. In this metadata example, the InputType for UpdateOperation is set to “RestParameters,” which means that the body will be sent as a set of URL parameters.
PagingStrategy = PageNo → parameter names must match API documentation.
CreatedDate column
Includes FilterOperations supporting >, >=, <, <=.
Native filter parameters (e.g., filters[created_before], filters[created_after]) come from your API docs.
Delta allows shifting by ±1 second to extend operator coverage (for example, if the API has a parameter filters[created_before] that corresponds to our LessThan operator, then with Delta:1, the filter with the LessThanOrEquals operator will also work natively).
InsertOperation / UpdateOperation
InputType = UrlencodedBody → body sent as key–value pairs. This means that the body is sent as key–value pairs, where the 'Key' is the parameter name and the 'Value' is its corresponding value.
Always review the REST connector documentation first. It describes all standard configurations and provides examples.
The metadata examples attached here illustrate possible metadata configurations.
Each API is different, metadata must be created according to the documentation of the specific connector.