Skip to main content
Every response is JSON, including errors. You will never receive an HTML error page, so you can parse the body without checking the content type first.

Status Codes

Feedspace does not return 201 for creates. A successful POST returns 200.

Successful Responses

The payload is always under data.
Write operations add a human-readable message:
Some list endpoints return extra top-level keys alongside data that the Feedspace dashboard uses for its own display logic. Ignore any key you do not recognise, and do not treat a new one as a breaking change.
The self-import endpoints return 200 even when the import fails. In that case the body is { "data": { "error": "Failed to store reviews." } } instead of the imported review, so check for data.error rather than relying on the status code alone.

Error Responses

Every error carries a message you can show or log.

Validation errors

A 422 adds an errors object keyed by field name, where each value is an array of messages for that field:
Bulk Import also returns a 422 when the file parses but contains no importable rows. That response uses a different shape, documented on its own page.

Permission errors

A 403 includes additional boolean flags that the Feedspace dashboard uses to decide which prompt to show the signed-in user. Integrations can ignore them and read message.

Not found

404 messages name the record type, for example Review not found., Form not found., Page not found. or Workspace not found.. A 404 does not always mean the record is gone. Because every request is scoped to one workspace, a record that exists in a different workspace is reported as not found. If you are certain the record exists, confirm you are using the credentials for the workspace that owns it.

Identifiers

Most 404 responses come from sending the wrong kind of identifier. Feedspace records carry both a numeric id and a separate string identifier, and only the string form is accepted: Reviews are the exception: they are addressed by their numeric id, together with the review type in the path, for example /feeds/text/{text_feed_id}.