Skip to main content
POST
/
public
/
v1
/
projects
/
{projectId}
/
sources
curl --request POST \
  --url https://your-synthbrew-server.com/api/public/v1/projects/{projectId}/sources \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "name": "Accounts source",
  "schemaVersionId": "11111111-1111-1111-1111-111111111111",
  "kind": "postgres",
  "config": {},
  "populate": false
}
'
{
  "source": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "slug": "<string>",
    "name": "<string>",
    "description": "<string>",
    "schemaVersionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "config": {},
    "kind": "postgres",
    "seed": "<string>",
    "generatorConfig": {},
    "rateLimitRpm": 123,
    "requireAuth": true,
    "lastGenerationAt": "2023-11-07T05:31:56Z",
    "generationAudit": {},
    "createdAt": "2023-11-07T05:31:56Z",
    "updatedAt": "2023-11-07T05:31:56Z"
  },
  "generation": {},
  "generationJob": {
    "id": "<string>",
    "status": "<string>",
    "queueName": "<string>",
    "attemptsMade": 123,
    "finishedOn": "2023-11-07T05:31:56Z",
    "failedReason": "<string>",
    "result": {}
  },
  "autoProvisionedApiKey": {},
  "autoProvisionedReadOnlyDbAccess": {}
}

Authorizations

x-api-key
string
header
required

Team API key created under /api/api-keys. Prefix: sb_api_.

Path Parameters

projectId
string<uuid>
required

Project UUID in the team associated with the API key.

Body

application/json

Create a source from a schema version. Use config.runtimeTarget for provider-specific runtime settings.

name
string
required
schemaVersionId
string<uuid>
required
description
string
config
object

Source configuration payload.

kind
enum<string>
default:postgres
Available options:
postgres,
mysql
seed
string

Optional deterministic seed used by generators.

generatorConfig
object

Generation overrides (for example generationDefaults rowCount/locale/timezone and per-entity row counts).

basePath
string

Optional custom runtime base path for this source.

rateLimitRpm
integer
default:100

Runtime API per-source rate limit (requests per minute).

Required range: x >= 1
corsOrigins
string[]

Allowed CORS origins for runtime API requests.

requireAuth
boolean
default:true

Whether runtime endpoints require x-api-key authentication.

populate
boolean
default:true

If true, triggers an initial populate generation after source creation.

Response

Source created

Create-source response. Generation fields depend on inline vs queue execution mode.

source
object
required
generation
object

Inline generation audit when execution happens synchronously.

generationJob
object

Queue job details when execution is asynchronous.

autoProvisionedApiKey
object
autoProvisionedReadOnlyDbAccess
object