Create a workspace connector
const url = 'https://shareout.site/v1/workspaces/example/connections';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"name":"exports","kind":"platform","provider":"s3","config":{"bucket":"acme-exports","region":"us-east-1","prefix":"exports/"},"credentials":{"type":"aws_access_key","data":{"access_key_id":"AKIA...","secret_access_key":"..."}}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://shareout.site/v1/workspaces/example/connections \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "name": "exports", "kind": "platform", "provider": "s3", "config": { "bucket": "acme-exports", "region": "us-east-1", "prefix": "exports/" }, "credentials": { "type": "aws_access_key", "data": { "access_key_id": "AKIA...", "secret_access_key": "..." } } }'Admin+. Two kinds. Generic (type: rest_api, bigquery, snowflake; credentials.type: api_key, basic_auth, service_account). Platform (kind: platform + provider): the Connectors catalog — s3, supabase, redshift, aurora, snowflake, bigquery, google-analytics, google-ads, facebook-ads, shopify, tiendanube. Platform credential types: aws_access_key (access_key_id, secret_access_key, optional session_token — s3, redshift, aurora), oauth (access_token — supabase, shopify, tiendanube, facebook-ads), key_pair (snowflake), service_account, authorized_user. Per-provider config: s3 bucket, region, optional prefix, endpoint; supabase project_ref (ref or project URL); redshift region, database and one of workgroup_name / cluster_identifier (+ db_user or secret_arn); aurora resource_arn, secret_arn, database. credentialScope: shared (default) or per_user. Secrets are encrypted and never returned.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Workspace ID or slug.
Request Bodyrequired
Section titled “Request Bodyrequired”object
Letters, digits, _ and -; max 64.
Generic connectors only.
Platform connectors only (kind: platform).
object
object
object
Examples
{ "name": "exports", "kind": "platform", "provider": "s3", "config": { "bucket": "acme-exports", "region": "us-east-1", "prefix": "exports/" }, "credentials": { "type": "aws_access_key", "data": { "access_key_id": "AKIA...", "secret_access_key": "..." } }}{ "name": "app-db", "kind": "platform", "provider": "supabase", "config": { "project_ref": "https://abcdefghijklmnopqrst.supabase.co" }, "credentials": { "type": "oauth", "data": { "access_token": "sbp_..." } }}{ "name": "warehouse", "kind": "platform", "provider": "redshift", "config": { "region": "us-east-1", "database": "dev", "workgroup_name": "analytics" }, "credentials": { "type": "aws_access_key", "data": { "access_key_id": "AKIA...", "secret_access_key": "..." } }}Responses
Section titled “Responses”Created
Access denied
object
Human-readable message.
Machine-readable error code.
Correlation id (also the X-Request-Id header). Quote it in support tickets.
Finer cause under code. For UNAUTHORIZED: missing, invalid, revoked or expired.
What to do next, in plain words.
The request field at fault.
Doc page for this error.
Present on 5xx — how to reach a human.
object
Example
{ "success": false, "support": { "how": "POST /v1/support/tickets", "include": [ "request_id" ] }}