Dashboard sessions API

Sign-up and session endpoints used by the dashboard. Integrations use API keys instead.

OperationMethod and path
Create an accountPOST /api/v1/auth/signup
Sign inPOST /api/v1/auth/login
Sign outPOST /api/v1/auth/logout
Current sessionGET /api/v1/auth/me
Confirm an email addressPOST /api/v1/auth/verify-email
Send the verification email againPOST /api/v1/auth/resend-verification
Email a password reset linkPOST /api/v1/auth/forgot-password
Set a new password from a reset linkPOST /api/v1/auth/reset-password
Switch the active organizationPOST /api/v1/auth/switch-organization
POST /api/v1/auth/signup

Create an account

auth.signup · no API key needed

Request body application/json

  • email string required email
  • password string required min length 10
  • firstName string required
  • lastName string nullable
  • organizationName string nullable

Example

curl -X POST "https://api.siaran.my/api/v1/auth/signup" \
  -H "content-type: application/json" \
  -d '{
    "email": "[email protected]",
    "password": "string",
    "firstName": "Example"
  }'

Response 201

3 top-level fields
  • user object required
    9 fields
    • id string required
    • email string required
    • firstName string nullable
    • lastName string nullable
    • avatarUrl string nullable
    • timezone string nullable
    • emailVerifiedAt string nullable date-time
    • onboardedAt string nullable date-time
    • createdAt string date-time
  • memberships object[] required
    4 fields
    • id string required
    • organizationId string required
    • organizationName string
    • role string required
      One of: OWNER ADMIN MEMBER
  • currentOrganizationId string nullable
POST /api/v1/auth/login

Sign in

auth.login · no API key needed

Request body application/json

  • email string required
  • password string required

Example

curl -X POST "https://api.siaran.my/api/v1/auth/login" \
  -H "content-type: application/json" \
  -d '{
    "email": "[email protected]",
    "password": "string"
  }'

Response 200

3 top-level fields
  • user object required
    9 fields
    • id string required
    • email string required
    • firstName string nullable
    • lastName string nullable
    • avatarUrl string nullable
    • timezone string nullable
    • emailVerifiedAt string nullable date-time
    • onboardedAt string nullable date-time
    • createdAt string date-time
  • memberships object[] required
    4 fields
    • id string required
    • organizationId string required
    • organizationName string
    • role string required
      One of: OWNER ADMIN MEMBER
  • currentOrganizationId string nullable
POST /api/v1/auth/logout

Sign out

auth.logout · no API key needed

Example

curl -X POST "https://api.siaran.my/api/v1/auth/logout"

Response 200

1 top-level fields
  • success boolean required
GET /api/v1/auth/me

Current session

auth.me · requires x-api-key

Example

curl -X GET "https://api.siaran.my/api/v1/auth/me" \
  -H "x-api-key: $SIAR_API_KEY"

Response 200

3 top-level fields
  • user object required
    9 fields
    • id string required
    • email string required
    • firstName string nullable
    • lastName string nullable
    • avatarUrl string nullable
    • timezone string nullable
    • emailVerifiedAt string nullable date-time
    • onboardedAt string nullable date-time
    • createdAt string date-time
  • memberships object[] required
    4 fields
    • id string required
    • organizationId string required
    • organizationName string
    • role string required
      One of: OWNER ADMIN MEMBER
  • currentOrganizationId string nullable
POST /api/v1/auth/verify-email

Confirm an email address

auth.verifyEmail · no API key needed

Request body application/json

  • token string required

Example

curl -X POST "https://api.siaran.my/api/v1/auth/verify-email" \
  -H "content-type: application/json" \
  -d '{
    "token": "string"
  }'

Response 200

1 top-level fields
  • success boolean required
POST /api/v1/auth/resend-verification

Send the verification email again

auth.resendVerification · requires x-api-key

Example

curl -X POST "https://api.siaran.my/api/v1/auth/resend-verification" \
  -H "x-api-key: $SIAR_API_KEY"

Response 200

1 top-level fields
  • success boolean required
POST /api/v1/auth/forgot-password

Email a password reset link

auth.forgotPassword · no API key needed

Request body application/json

  • email string required

Example

curl -X POST "https://api.siaran.my/api/v1/auth/forgot-password" \
  -H "content-type: application/json" \
  -d '{
    "email": "[email protected]"
  }'

Response 200

1 top-level fields
  • success boolean required
POST /api/v1/auth/reset-password

Set a new password from a reset link

auth.resetPassword · no API key needed

Request body application/json

  • token string required
  • password string required min length 10

Example

curl -X POST "https://api.siaran.my/api/v1/auth/reset-password" \
  -H "content-type: application/json" \
  -d '{
    "token": "string",
    "password": "string"
  }'

Response 200

1 top-level fields
  • success boolean required
POST /api/v1/auth/switch-organization

Switch the active organization

auth.switchOrganization · requires x-api-key

Request body application/json

  • organizationId string required

Example

curl -X POST "https://api.siaran.my/api/v1/auth/switch-organization" \
  -H "x-api-key: $SIAR_API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "organizationId": "ORGANIZATION_ID"
  }'

Response 200

3 top-level fields
  • user object required
    9 fields
    • id string required
    • email string required
    • firstName string nullable
    • lastName string nullable
    • avatarUrl string nullable
    • timezone string nullable
    • emailVerifiedAt string nullable date-time
    • onboardedAt string nullable date-time
    • createdAt string date-time
  • memberships object[] required
    4 fields
    • id string required
    • organizationId string required
    • organizationName string
    • role string required
      One of: OWNER ADMIN MEMBER
  • currentOrganizationId string nullable