Skip to content
Pile
Esc
↑↓navigate↵open⌘Jpreview

Create workspace onboard

POST/workspaces/onboard
Authorization
AuthorizationBearer token · headerrequired

Workspace API key (Authorization: Bearer <key>). Issue keys under Settings → Developer or POST /workspaces/{organizationId}/tokens.

Request body
application/json
namestringrequired
min length 1
slugstringrequired
min length 1
keystring
seedStarterIssuesboolean
Responses
201

Workspace onboarded with default team and admin token

workspaceobjectrequired
Show properties
idstringrequired
namestringrequired
slugstringrequired
keystring | nullrequired
ownerIdstringrequired
defaultTeamIdstring | nullrequired
createdAtstringrequired
updatedAtstringrequired
teamobjectrequired
Show properties
idstringrequired
organizationIdstringrequired
keystringrequired
namestringrequired
ownerIdstringrequired
isDefaultbooleanrequired
isPublicbooleanrequired
parentAutoClosebooleanrequired
triageAssigneeIdstring | nullrequired
defaultTemplateIdstring | nullrequired
subIssueAutoClosebooleanrequired
createdAtstringrequired
updatedAtstringrequired
tokenstringrequired
quickstartobject
Show properties
mcpUrlstringrequired
cliSetupCommandstringrequired
seededIssueIdsstring[]required
Try it
Server
Authorization
Bodyapplication/json
Request
curl -X POST 'https://pile.nyc/workspaces/onboard' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "name": "string",
  "slug": "string",
  "key": "string",
  "seedStarterIssues": true
}'
Response
{
  "workspace": {
    "id": "string",
    "name": "string",
    "slug": "string",
    "key": "string",
    "ownerId": "string",
    "defaultTeamId": "string",
    "createdAt": "string",
    "updatedAt": "string"
  },
  "team": {
    "id": "string",
    "organizationId": "string",
    "key": "string",
    "name": "string",
    "ownerId": "string",
    "isDefault": true,
    "isPublic": true,
    "parentAutoClose": true,
    "triageAssigneeId": "string",
    "defaultTemplateId": "string",
    "subIssueAutoClose": true,
    "createdAt": "string",
    "updatedAt": "string"
  },
  "token": "string",
  "quickstart": {
    "mcpUrl": "string",
    "cliSetupCommand": "string",
    "seededIssueIds": [
      "string"
    ]
  }
}

Was this page helpful?