Skip to main content
Salfio Docs

Search documentation

Type to search this documentation.

Report an issue with a card

POST/cards/{cardValueId}/feedbackReport an issue with a card

$26

Parameters

cardValueIdstring · uuidpathrequired

Card value UUID.

Request body

required
application/json
objectCardFeedbackCreate

A report that a card is wrong. `category` is required; everything else is optional context.

categorystringrequired

What kind of problem this is. - `wrong_facts` — names, numbers or dates that don't match reality. - `speculative_deduction` — the facts are right, the conclusion isn't. - `wrong_language_or_format` — wrong language, currency, dates or layout. - `other` — anything else; pair it with `details`.

one of "wrong_facts", "speculative_deduction", "wrong_language_or_format", "other"

detailsstring

Optional free-text explanation of what is wrong. Anything longer than 5000 characters is rejected.

maxLength 5000

Example request
{
  "category": "wrong_facts",
  "details": "The renewal date is off by a month — the contract runs to March, not February."
}

Responses

201The report was stored.application/json

Headers

X-RateLimit-Limit

The request cap for the tighter of the per-organization / per-endpoint windows that applied to this request.

X-RateLimit-Remaining

Requests remaining in the current window.

X-RateLimit-Reset

Unix timestamp (seconds) when the current window resets.

value
allOf · 2 options
Option 1objectEnvelope
datavaluerequired

The response payload — shape depends on the endpoint.

metaobjectrequired

Pagination metadata — populated on list endpoints, empty on single-resource endpoints.

Show child attributes
cursornull | string

Opaque cursor to pass to the next request.

hasMoreboolean | null

True when further pages of results are available.

Option 2object
dataobject

Acknowledgement that a report was stored. There is no endpoint to read reports back; keep the `id` if you want to reference the report when following up.

Show child attributes
createdAtstring · date-timerequired

Time the report was recorded.

idstring · uuidrequired

ID of the stored report.

Example response
{
  "data": {
    "createdAt": "2026-06-09T00:00:00Z",
    "id": "00000000-0000-0000-0000-000000000000"
  },
  "meta": {
    "cursor": "string",
    "hasMore": true
  }
}
400Request body / query parameters failed validation.application/json
objectErrorEnvelope
errorobjectrequired
Show child attributes
codestringrequired

Machine-readable error category.

one of "unauthorized", "forbidden", "not_found", "invalid_argument", "conflict", "rate_limited", "internal_error", "not_implemented"

detailsobject

Optional per-code context (field names, retry windows, …).

messagestringrequired

Human-readable description — intended for operator logs, not end-user display.

Example response
{
  "error": {
    "code": "invalid_argument",
    "message": "limit must be an integer between 1 and 100"
  }
}
401Missing or invalid bearer token. The message is intentionally opaque — do not rely on it to distinguish "missing" from "invalid".application/json
objectErrorEnvelope
errorobjectrequired
Show child attributes
codestringrequired

Machine-readable error category.

one of "unauthorized", "forbidden", "not_found", "invalid_argument", "conflict", "rate_limited", "internal_error", "not_implemented"

detailsobject

Optional per-code context (field names, retry windows, …).

messagestringrequired

Human-readable description — intended for operator logs, not end-user display.

Example response
{
  "error": {
    "code": "unauthorized",
    "message": "Authentication required"
  }
}
404The referenced resource does not exist, or belongs to a different organization than the one owning the API key. The public API does not distinguish between these cases — both return 404 to avoid leaking cross-tenant existence. application/json
objectErrorEnvelope
errorobjectrequired
Show child attributes
codestringrequired

Machine-readable error category.

one of "unauthorized", "forbidden", "not_found", "invalid_argument", "conflict", "rate_limited", "internal_error", "not_implemented"

detailsobject

Optional per-code context (field names, retry windows, …).

messagestringrequired

Human-readable description — intended for operator logs, not end-user display.

Example response
{
  "error": {
    "code": "not_found",
    "message": "client not found"
  }
}
429Per-organization or per-endpoint rate limit exceeded.application/json

Headers

Retry-After

Seconds the client should wait before retrying.

objectErrorEnvelope
errorobjectrequired
Show child attributes
codestringrequired

Machine-readable error category.

one of "unauthorized", "forbidden", "not_found", "invalid_argument", "conflict", "rate_limited", "internal_error", "not_implemented"

detailsobject

Optional per-code context (field names, retry windows, …).

messagestringrequired

Human-readable description — intended for operator logs, not end-user display.

Example response
{
  "error": {
    "code": "rate_limited",
    "details": {
      "retry_after_seconds": 30
    },
    "message": "Rate limit exceeded"
  }
}

Documentation menu