UseDocumentation Index
Fetch the complete documentation index at: https://docs.signalark.app/llms.txt
Use this file to discover all available pages before exploring further.
POST /v1/signals/validate to test your signal payloads before sending them to the live ingestion endpoint. The validate endpoint accepts the exact same schema as /v1/signals/ingest and runs all the same validation rules — but it does not persist any data, does not trigger the AI pipeline, and does not consume any credits or rate limits.
Endpoint: POST https://www.signalark.app/_api/v1/signals/validate
Authentication: Authorization: Bearer sak_your_api_key_here
What validation checks
The validate endpoint runs the following checks on every signal in your batch:- Required fields — Verifies that
company_name,signal_name, andsourceare present and non-empty. - Enum values — Checks that
sourceis one of the accepted values (funding,job_posting,linkedin,news,review_site,tech_install,twitter,web_visit,other). - Field types — Validates that strings are strings, datetimes are valid ISO 8601 format, and no unexpected field types are present.
- Domain format — Simulates account matching to verify that
company_domainis formatted acceptably (nohttps://, no paths, no trailing slashes).
- Signals are not written to the database.
- The AI classification pipeline is not triggered.
- Account matching is simulated, not executed — no records are created or modified.
- Rate limits and ingestion credits are not consumed.
Request body
The request body is identical to/v1/signals/ingest. See Batch Ingest Market Signals for the full field reference.
Array of signal objects to validate. Each object uses the same schema as the live ingest endpoint.
Example request
Response
The response provides a per-signal breakdown showing which signals passed and which failed, along with specific error messages for each failure.true when the validation request itself was processed, regardless of whether individual signals passed or failed validation.An array of validation results, one per signal in your request, in the same order.
Example response
The following response corresponds to the example request above, where the first signal is valid and the second is missing the requiredsource field:
Common validation errors
| Error message | Cause | Fix |
|---|---|---|
Required field 'source' is missing. | The source field was omitted. | Add a source value from the accepted enum list. |
Invalid enum value for 'source'. | The source value is not in the accepted list. | Use one of: funding, job_posting, linkedin, news, review_site, tech_install, twitter, web_visit, other. |
'detected_at' must be a valid ISO 8601 datetime. | The date string is malformed. | Format as 2025-04-25T10:00:00Z. |
'company_domain' contains an invalid format. | The domain includes a protocol, path, or trailing slash. | Use acmecorp.com, not https://www.acmecorp.com/. |
Required field 'company_name' is missing. | The company_name field was omitted. | Add the company name as a non-empty string. |
If you receive a
valid: true result for a signal but it does not appear in Signal Ark after live ingestion, it may have been deduplicated. Validation does not simulate deduplication — it only checks schema correctness.