Skip to content

Create a workspace connector

POST
/v1/workspaces/{workspaceId}/connections
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.

workspaceId
required
string

Workspace ID or slug.

Media typeapplication/json
object
name
required

Letters, digits, _ and -; max 64.

string
kind
string
default: generic
Allowed values: generic platform
type

Generic connectors only.

string
Allowed values: rest_api bigquery snowflake
provider

Platform connectors only (kind: platform).

string
credentialScope
string
default: shared
Allowed values: shared per_user
authType
string
config
object
credentials
object
type
string
Allowed values: api_key basic_auth service_account authorized_user key_pair oauth aws_access_key
data
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": "..."
}
}
}

Created

Access denied

Media typeapplication/json
object
success
required
boolean
error
required

Human-readable message.

string
code
required

Machine-readable error code.

string
request_id

Correlation id (also the X-Request-Id header). Quote it in support tickets.

string
reason

Finer cause under code. For UNAUTHORIZED: missing, invalid, revoked or expired.

string
hint

What to do next, in plain words.

string
suggestion
string
param

The request field at fault.

string
docs

Doc page for this error.

string
redirect_url
string
support

Present on 5xx — how to reach a human.

object
how
string
include
Array<string>
Example
{
"success": false,
"support": {
"how": "POST /v1/support/tickets",
"include": [
"request_id"
]
}
}