> For the complete documentation index, see [llms.txt](https://docs.tryterra.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tryterra.co/faq/help-topics/webhook/storage-destinations-s3-sqs-supabase-sql-gcs/supabase-destination-schema.md).

# Why do my Supabase destination columns not match the docs?

The [Supabase destination](https://docs.tryterra.co/health-and-fitness-api/integration-setup/setting-up-data-destinations/supabase) uses both SQL tables and a storage bucket. Three tables are created automatically (users, data payloads, other payloads).

The data-payloads table references the full JSON via a column named `payload_id`. (Older docs showing `payload_url` are a display issue being corrected, use `payload_id`.) The complete JSON is stored in the bucket via its URL. Keep the full JSON in storage and build your own slim tables with only the fields you need.

**A `400` with PostgREST error `PGRST204` is your Supabase endpoint rejecting the insert before it reaches the table, not a Terra problem.** Common causes:

* Incoming JSON fields that don't exist in your table.
* Missing `NOT NULL` columns.
* An Edge Function not using the service role key.
* Type mismatches.

Log the payload, check Supabase API logs, and align your schema to the current Terra payload.

Each dev ID has its own destination config. To route test data to a dev Supabase project:

{% stepper %}
{% step %}
Switch to your testing dev ID.
{% endstep %}

{% step %}
Go to [Connections](https://github.com/tryterra/api-faqs/blob/main/dashboard/connections/README.md).
{% endstep %}

{% step %}
Add Supabase, authorise, and pick the dev project (disconnect and redo if the wrong project is connected).
{% endstep %}
{% endstepper %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.tryterra.co/faq/help-topics/webhook/storage-destinations-s3-sqs-supabase-sql-gcs/supabase-destination-schema.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
