| command | Operation to perform. Database: query, insert, upsert, update, delete, count, rpc. Auth: auth-sign-up, auth-sign-in-password, auth-sign-in-otp, auth-sign-out, auth-get-user, auth-update-user, auth-verify-jwt, auth-reset-password. Storage: storage-upload, storage-download, storage-list, storage-delete, storage-get-signed-url, storage-get-public-url, storage-move, storage-copy. Functions: invoke-function.
| yes | — |
| url | Supabase project URL (e.g. https://abcdefghij.supabase.co) | yes | — |
| key | Supabase API key. Use the service-role key for server-side workflows (bypasses Row Level Security; recommended default). Use the anon key for client-style auth flows (sign-up, sign-in, etc.).
| yes | — |
| key-type | Type of key being used: service-role (default) or anon. | no | service-role |
| table | Table name (for query, insert, upsert, update, delete, count) | no | "" |
| schema | Postgres schema (default: public) | no | public |
| filter | PostgREST filter as JSON. Example: {"id":{"eq":5}} or {"status":{"in":["pending","active"]},"created_at":{"gte":"2026-01-01"}}. Supported operators: eq, neq, gt, gte, lt, lte, like, ilike, is, in, contains, containedBy, rangeGt, rangeGte, rangeLt, rangeLte, rangeAdjacent, overlaps, textSearch. Shorthand: {"col": null} matches rows where col IS NULL.
| no | {} |
| select | Columns to return (PostgREST select, default "*"). Example: "id,name,profile(name)" | no | * |
| order | Order spec as JSON. Example: [{"column":"created_at","ascending":false}] | no | "" |
| limit | Maximum rows to return | no | "" |
| offset | Rows to skip | no | "" |
| single-row | For query: return at most one row as { row, count }. Uses .maybeSingle() — zero matches return row=null (no error). Use when you expect 0 or 1 rows (e.g. lookup by primary key).
| no | false |
| data | Row(s) to insert/upsert/update as JSON (single object or array of objects) | no | "" |
| on-conflict | Column(s) for upsert conflict resolution. Example: id or email | no | "" |
| return-rows | Return the affected rows after insert/upsert/update/delete (default: true) | no | true |
| rpc-name | Stored procedure / function name (for rpc command) | no | "" |
| rpc-params | Stored procedure parameters as JSON object | no | {} |
| email | User email (for auth-sign-up, auth-sign-in-password, auth-sign-in-otp, auth-reset-password) | no | "" |
| password | User password (for auth-sign-up, auth-sign-in-password) | no | "" |
| user-metadata | User metadata as JSON object. For auth-sign-up, sets the initial metadata. For auth-update-user, replaces the top-level keys provided (shallow merge: omitted keys are preserved, present keys overwrite). To delete a key, omit it from updates — there is no way to clear a key via the admin API.
| no | {} |
| jwt | JWT token (for auth-verify-jwt, auth-get-user, auth-sign-out, auth-update-user) | no | "" |
| redirect-to | Redirect URL for OTP / password reset emails | no | "" |
| bucket | Storage bucket name | no | "" |
| path | File path within bucket (e.g. user-123/avatar.png) | no | "" |
| paths | For storage-delete: JSON array of file paths to remove in one call. Example: ["a/x.png","b/y.png"]. If both path and paths are set, paths wins. Use this when removing many objects at once.
| no | "" |
| file-content | File content as base64-encoded string (for storage-upload) | no | "" |
| content-type | MIME type of uploaded file (default: "application/octet-stream") | no | application/octet-stream |
| storage-upsert | For storage-upload: overwrite an existing file at the same path. Default false — uploading to an existing path returns STORAGE_UPLOAD_FAILED (RESOURCE_ALREADY_EXISTS). Set to true to treat upload as upsert.
| no | false |
| destination-path | Destination path (for storage-move, storage-copy) | no | "" |
| expires-in | Signed URL TTL in seconds (default: 3600) | no | 3600 |
| function-name | Edge Function name (for invoke-function) | no | "" |
| function-body | JSON body to POST to the Edge Function | no | "" |
| function-headers | Custom headers as JSON object (for invoke-function) | no | {} |