Skip to main content
POST
Submit Feedback

Overview

Submit structured feedback about the Signa API or its data. This is the programmatic reporting channel: use it to flag an inaccurate record, report a server error you hit, or request a capability. It is designed for both humans and AI agents acting on your behalf. Every submission is stored in your organization, posted to the Signa team for triage, and readable back so you can watch it move through its status lifecycle. Feedback is never billed (0 units) and runs on generous rate limits, so reporting a problem never costs you anything. Any valid API key may submit feedback for its organization; no special scope is required. An Idempotency-Key header is required (the standard mutating-request rule), so a retried submission never creates a duplicate.

Feedback types

The required type discriminator routes and categorizes the report:

Request Body

string
required
One of data_issue, bug, feature_request, other.
string
required
Free-form report body (1 to 5000 characters).
string
Public ID of any referenced entity (tm_..., own_..., att_..., firm_..., prc_...). At submit time the server snapshots the record’s current state into context.resource.
string
The request_id of the API request where you observed the problem (req_..., or a client-supplied x-request-id; up to 64 URL-safe characters). At submit time the server snapshots the matching request log into context.request.
string
For data issues: which field is wrong (for example owner.name). Up to 255 characters.
string
For data issues: what the value should be. Up to 5000 characters.
object
Optional string-to-string map for your own tags (max 50 keys).

Submit-time enrichment

When you reference a request_id or a resource_id, Signa captures an investigation snapshot into the read-only context object at submit time. This matters because request logs are dropped after roughly four months while feedback lives indefinitely, and because a record can be overwritten by a later sync. The snapshot preserves what you saw. Enrichment never rejects a submission. An unknown, foreign, or non-existent reference is recorded as null or found: false rather than returning an error. context.request is present when you sent request_id:
  • An object { route, method, status_code, error_type, error_detail, duration_ms, occurred_at } when the request is found within your organization.
  • null when the request id is unknown or belongs to another organization (no cross-org leakage).
context.resource is present when you sent resource_id:
  • { found: true, resource_type, office, jurisdiction, version, status_primary, source_updated_at, updated_at } when the record exists (with null where a given entity type lacks a field).
  • { found: false, resource_type } when the record does not exist.
A context key is simply absent when the corresponding reference was not provided or the snapshot could not be captured.

Response

Returns the created feedback object with HTTP 201.
string
The feedback identifier (fbk_...).
string
Always feedback.
string | null
Public ID (key_...) of the API key that filed this report, for per-key attribution within your org. null if unattributed.
string
The submitted type (data_issue, bug, feature_request, other).
string
Lifecycle status: open on creation, then acknowledged or resolved.
string
The report body you submitted.
string | null
The referenced entity’s public ID, echoed back, or null.
string | null
The request_id you referenced, echoed verbatim. Named request_ref because the envelope reserves the top-level request_id for this API call.
string | null
The field you flagged, or null.
string | null
The value you expected, or null.
object
Server-built investigation snapshots (context.request, context.resource). Read-only, never client-supplied. See Submit-time enrichment.
string | null
The Signa team’s note when the report is resolved, or null.
object
Your string-to-string metadata map.
string
ISO timestamp when the report was submitted.
string
ISO timestamp of the last status change.
string | null
ISO timestamp when the report was resolved, or null.

Code Examples

Errors