
Base URL
Each integration has a unique Ingest API URL. Find yours in the admin app under integration settings./ingest/, so the full URL pattern for a feed call is https://ingest-{integration-id}.frontic.com/ingest/{feed-id}/{action}.
Authentication
All requests to the Ingest API require an API key.Create an Ingest API key
In the admin app, open Settings → Secrets, click Add API Key, and select Ingest API. The key shows once on creation — copy it into your secret store before navigating away. You can create multiple keys (one per integration / environment) and rotate them independently.Your Frontic Ingest API key. Include this header on every request to the Ingest API.
Example
Alternate: apiKey query parameter
Alternate: apiKey query parameter
When the Prefer the header — query-string secrets get logged by proxies, browsers, and analytics. Only use the query parameter when the header path isn’t available.
Authorization header isn’t an option (e.g. webhook callers that only support fixed URLs), you can pass the key as the apiKey query parameter instead:Available Endpoints
Two interaction modes exist:- Push intents — your system sends data into Frontic. Use these when you control the source and want to push changes as they happen. Available: Upsert, Patch, Delete.
- Trigger intents — your system signals Frontic to pull data, and Frontic uses the integration’s connector logic to fetch the actual records. Useful for webhook flows where the source can notify changes but expects Frontic to do the fetch. Available: Trigger Fetch, Trigger Fetch List. Requires the Data Feed to be configured with method trigger or polling rather than ingest.
Upsert
Create or replace a record (push)
Patch
Incrementally update a record (push)
Delete
Remove records from your feed (push)
Trigger Fetch
Signal Frontic to pull a single record (trigger)
Trigger Fetch List
Signal Frontic to pull a list of records (trigger)
Generic intent endpoint
The verb-specific routes above are convenience shortcuts. Frontic also exposes a generic endpoint that accepts any intent as part of the path:{intent} is one of upsert, patch, delete, fetch, or fetch-list. The behaviour matches the corresponding shortcut. Most callers should use the verb-specific routes — the generic endpoint is for tooling that builds the intent dynamically.
Response Format
All endpoints return a JSON response containing a correlation ID:Unique identifier to track this data change through Frontic’s processing pipeline. Save this ID if you need to debug or inquire about a specific operation.
Error Handling
401 Unauthorized
401 Unauthorized
400 Bad Request
400 Bad Request
The request body is malformed or missing required fields. Check that your JSON is valid and includes the
id field.404 Not Found
404 Not Found
The specified feed ID doesn’t exist. Verify the feed ID in your request URL.
429 Too Many Requests
429 Too Many Requests
You’ve exceeded the rate limit. Wait before retrying. See Limits for more information.