Get Signals
POST https://api.onfire.ai/data-access-api/v1/signals/get-signalsRetrieve all signals for the authenticated tenant within a date range,
optionally filtered by signal type. Results are grouped by account_website.
Request
Section titled “Request”Headers
Section titled “Headers”| Header | Required | Description |
|---|---|---|
Content-Type | Yes | Must be application/json. |
X-Api-Key | Yes | Your tenant API key. |
| Field | Type | Required | Description |
|---|---|---|---|
start_time | string (ISO YYYY-MM-DD) | Yes | Include signals from this calendar date onward. |
end_time | string (ISO YYYY-MM-DD) | Yes | Include signals through this calendar date inclusive. |
type | SignalType | No | Filter by signal type. When omitted or set to ALL, all signal types are returned. |
Example request
Section titled “Example request”curl -X POST "https://api.onfire.ai/data-access-api/v1/signals/get-signals" \ -H "Content-Type: application/json" \ -H "X-Api-Key: your-api-key" \ -d '{ "start_time": "2024-09-01", "end_time": "2024-12-31", "type": "High Intent" }'Responses
Section titled “Responses”200 — Success
Section titled “200 — Success”Returns an object with a signals property — a mapping of
account_website to a list of SignalRecord
entries.
{ "signals": { "bankofamerica.com": [ { "date": "2024-11-18", "signal_type": "High Intent", "message_text": "Engaged with a technical deep-dive article.", "intent_holder_linkedin_url": "linkedin.com/in/scott-goldman-1736a0", "source_type": "article_engagement" } ], "crowdstrike.com": [ { "date": "2024-11-20", "signal_type": "High Intent", "message_text": "Attended a partner event on cloud security.", "intent_holder_linkedin_url": "linkedin.com/in/example", "source_type": "event_attendance" } ] }}Account websites with no matching signals are omitted from the response.
401 — Invalid or missing API key
Section titled “401 — Invalid or missing API key”{ "detail": "Invalid API key" }422 — Schema validation error
Section titled “422 — Schema validation error”Returned when the JSON body fails Pydantic validation — for example a
missing start_time / end_time field, or a type value outside the
SignalType enum.
The response body conforms to
HTTPValidationError.
{ "detail": [ { "loc": ["body", "end_time"], "msg": "Field required", "type": "missing" } ]}429 — Rate limit exceeded
Section titled “429 — Rate limit exceeded”{ "detail": "Rate limit exceeded" }500 — Internal failure
Section titled “500 — Internal failure”{ "detail": { "status": "GET_SIGNALS_FAILED", "message": "An error occurred while fetching signals" }}