REST API
01- Best for
- Interactive product and workflow requests
- Pattern
- Request data when an application needs it
- Key question
- What should happen when the upstream API is slow or unavailable?
The hard part is not making the first request. It is building a reliable path from raw signal data to a governed action. This guide covers delivery design, identity, schema control, retries, deduplication, scoring, observability, and rollout.
01 / Define the contract
A buying signal integration has three separate jobs: retrieve an event, attach it to the correct entity, and decide whether it should affect a workflow. Treating those as one step makes the system hard to debug and risky to automate.
Write the downstream decision first. For example: update an account score, add context to a product view, create a review task, or prepare input for an AI workflow. Then define the minimum signal fields and freshness window needed to support that decision.
When this signal is linked to this entity within this time window, the system may take this action after these checks.
02 / Select the rail
Autobound supports REST API, GCS Push, Generate Insights API, and flat file delivery. Select the rail that fits the workload. Do not force an interactive API pattern onto a warehouse job or a batch pattern onto an application request.
03 / Build the pipeline
Keep retrieval separate from business logic. Record request time, response status, source, and a payload checksum before transformation.
Validate the response envelope and required identifiers. Route unknown fields and malformed records to quarantine instead of dropping them.
Normalize company domains and contact emails. Preserve source identifiers and make ambiguous matches visible for review.
Map provider fields into a small internal envelope: entity key, signal type, event time, observed time, source, payload, and version.
Upsert on a stable signal ID or deterministic key. The same event may arrive through retry, replay, backfill, or multiple delivery rails.
Apply freshness, suppression, allowlist, and confidence rules before ranking. A valid signal is not automatically an appropriate action.
Send the approved result to the CRM, product, warehouse, or AI workflow. Keep the source signal attached to every downstream action.
Track technical health and business usefulness separately. A reliable pipeline can still deliver irrelevant recommendations.
04 / Connect
The current public developer example uses the company search endpoint with an API key header. Keep credentials server side and confirm the request schema against the API reference before deployment.
Source checked July 15, 2026. See the live API documentation for the authoritative schema and available filters.
curl -X POST "https://signals.autobound.ai/v1/companies/search" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"signal_types": ["hiring-trends"],
"limit": 5
}'05 / Harden
Put API calls behind a worker or server route. Bound request time, separate retryable failures from permanent failures, validate before writing, and make downstream writes idempotent.
type QueueItem = {
entityKey: string;
payload: unknown;
attempt: number;
};
async function processItem(item: QueueItem) {
const idempotencyKey = buildDeterministicKey(item);
try {
const response = await fetch(
"https://signals.autobound.ai/v1/companies/search",
{
method: "POST",
headers: {
"x-api-key": process.env.AUTOBOUND_API_KEY!,
"content-type": "application/json",
},
body: JSON.stringify(item.payload),
signal: AbortSignal.timeout(10_000),
},
);
if (response.status === 429 || response.status >= 500) {
throw new RetryableError(response.status);
}
if (!response.ok) {
throw new PermanentError(response.status, await response.text());
}
const data: unknown = await response.json();
await validateAndUpsert(data, idempotencyKey);
} catch (error) {
await routeFailure(item, error);
}
}Reference pattern. Adapt error types and validation to your stack.
06 / Control exposure
Prove data quality before changing customer or revenue workflows. Each stage should have an explicit rollback path and an owner.
Write normalized signals to a staging table without changing downstream behavior.
Exit condition
Identity match rate, duplicate rate, freshness, and schema exceptions are visible.
Show ranked signals to internal users while keeping actions manual.
Exit condition
Users can explain why a signal ranked and can flag irrelevant results.
Use approved signals to prepare tasks, research, or draft context.
Exit condition
Every generated action has a source signal, timestamp, and review path.
Automate only narrow, reversible actions with clear suppression rules.
Exit condition
Failures are contained, replay is safe, and a kill switch is tested.
07 / Go-live gate
Ten checks that should be explicit before a signal changes a production workflow.
08 / Reference
Practical answers for the decisions that tend to surface during implementation.
Use live API calls when a user or application needs current context during a request. Use GCS Push or flat files when the workload is analytical, scheduled, or high volume. Many production systems use both: batch data for broad scoring and API calls for just in time validation.
Prefer the stable signal identifier supplied by the provider. If one is not available in a specific feed, derive a deterministic key from the entity identifier, signal type, source identifier, and event timestamp. Store the original payload so a collision can be investigated.
Normalize company domains and use them as the primary company key. For contacts, normalize email addresses and retain the associated company domain. Keep ambiguous matches in a review queue instead of silently attaching a signal to the wrong record.
Retry transient failures with exponential backoff and jitter. Respect Retry After when it is present. Do not retry validation or authentication failures until the request or credentials change. Make writes idempotent so replaying a request cannot create duplicate records or actions.
Track request success, latency, throttling, schema exceptions, match rate, duplicate rate, signal freshness, queue depth, and downstream action volume. Add business quality metrics separately, such as accepted recommendations and outcomes by signal type.
Next step
Use the live API reference for the current request contract, then apply the production controls in this guide around it.
Related: OEM signal data and data enrichment API design