Skip to main content
POST
/
api
/
workspace
/
{workspaceId}
/
catalogs
/
{catalogId}
/
fork
Fork catalog
curl --request POST \
  --url https://app.alana.shopping/api/workspace/{workspaceId}/catalogs/{catalogId}/fork \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>"
}
'
{
  "jobId": "<string>",
  "backgroundJobId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "queue": "ingest",
  "jobName": "<string>",
  "status": "queued",
  "notify_email": true
}

Authorizations

Authorization
string
header
required

Bearer token authentication via Auth0. Users authenticate through Auth0 Universal Login. Include the access token in the Authorization header: Authorization: Bearer <token>

Path Parameters

workspaceId
string
required

The workspace ID

Pattern: ^ws_[a-z0-9]+$
catalogId
string
required

Body

application/json
name
string
required
Required string length: 1 - 255

Response

Catalog fork job enqueued. Poll /api/workspace/{workspaceId}/jobs/{backgroundJobId} for status.

Returned when a background job is successfully enqueued for async processing (202 Accepted). Poll GET /api/workspace/{workspaceId}/jobs/{backgroundJobId} for status updates. An in-app toast notification is shown when the job reaches a terminal state. Pass notify_email: true in the request to also receive an email on completion or failure.

jobId
string
required

BullMQ job ID (matches backgroundJobId for correlation)

backgroundJobId
string<uuid>
required

Internal background_jobs record ID. Use this to poll the jobs status endpoint.

queue
enum<string>
required

Worker queue the job was added to

Available options:
ingest,
catalog,
media
jobName
string
required

Job type identifier (e.g. pipeline_run, platform_sync, workflow_batch)

status
enum<string>
required

Initial status. Transitions to active → completed | failed as the worker processes it.

Available options:
queued
notify_email
boolean

Whether the user opted in to receive an email notification when the job completes or fails. Defaults to false if not provided in the request.

Last modified on March 24, 2026