Onboarding
Create the first workspace for a new user. Each user completes onboarding once; a second attempt returns VALIDATION_ERROR with HTTP 409.
Get Onboarding Status
GET
/v1/onboarding/status
Return whether the user completed onboarding and the current organization.
Auth: Any authenticated user
Example Request
bash
curl https://api.elydora.com/v1/onboarding/status \
-H "Authorization: Bearer <token>"Response
json
{
"onboarding_completed": 0,
"org_id": null
}After onboarding the response carries the workspace:
json
{
"onboarding_completed": 1,
"org_id": "0195a0b1-c2d3-7e4f-a5b6-c7d8e9f0a1b2"
}Create Personal Workspace
POST
/v1/onboarding/personal
Create a workspace named Personal Workspace with no request body. Returns HTTP 201.
Auth: Any authenticated user
Example Request
bash
curl -X POST https://api.elydora.com/v1/onboarding/personal \
-H "Authorization: Bearer <token>"Response
json
{
"org_id": "0195a0b1-c2d3-7e4f-a5b6-c7d8e9f0a1b2"
}Create Organization Workspace
POST
/v1/onboarding/organization
Create a named organization and send optional invitations. Returns HTTP 201.
Auth: Any authenticated user
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| org_name | string | Yes | Organization name, up to 128 characters |
| description | string | No | Description, up to 512 characters |
| invitations | array | No | Invitations to send on creation, each with email and role |
Invitation Fields
| Field | Type | Required | Description |
|---|---|---|---|
| string | Yes | Email address, up to 256 characters | |
| role | string | Yes | RBAC role: org_owner, security_admin, compliance_auditor, integration_engineer, or readonly_investigator |
Example Request
bash
curl -X POST https://api.elydora.com/v1/onboarding/organization \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"org_name": "Acme Corp",
"description": "Acme Corporation AI audit workspace",
"invitations": [
{ "email": "[email protected]", "role": "security_admin" },
{ "email": "[email protected]", "role": "compliance_auditor" }
]
}'Response
json
{
"org_id": "0195a0b1-c2d3-7e4f-a5b6-c7d8e9f0a1b2"
}