Users API

Your profile, organization members and invitations.

OperationMethod and path
Get my profileGET /api/v1/user/me
Update my profilePATCH /api/v1/user/me
Finish the first-login welcomePOST /api/v1/user/me/onboarding
Change my passwordPOST /api/v1/user/me/password
List organization membersGET /api/v1/user/members
Change a member rolePATCH /api/v1/user/members/{id}
Remove a memberDELETE /api/v1/user/members/{id}
List pending invitationsGET /api/v1/user/invitations
Invite someone to the organizationPOST /api/v1/user/invitations
Revoke an invitationDELETE /api/v1/user/invitations/{id}
Accept an invitationPOST /api/v1/user/invitations/accept
GET /api/v1/user/me

Get my profile

user.me · requires x-api-key

Example

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

Response 200

9 top-level 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
PATCH /api/v1/user/me

Update my profile

user.updateMe · requires x-api-key

Request body application/json

  • firstName string
  • lastName string nullable
  • timezone string
  • avatarUrl string nullable

Example

curl -X PATCH "https://api.siaran.my/api/v1/user/me" \
  -H "x-api-key: $SIAR_API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "firstName": "Example",
    "lastName": "Example",
    "timezone": "string"
  }'

Response 200

9 top-level 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
POST /api/v1/user/me/onboarding

Finish the first-login welcome

user.completeOnboarding · requires x-api-key

Example

curl -X POST "https://api.siaran.my/api/v1/user/me/onboarding" \
  -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/user/me/password

Change my password

user.changePassword · requires x-api-key

Request body application/json

  • currentPassword string required
  • newPassword string required min length 10

Example

curl -X POST "https://api.siaran.my/api/v1/user/me/password" \
  -H "x-api-key: $SIAR_API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "currentPassword": "string",
    "newPassword": "string"
  }'

Response 200

1 top-level fields
  • success boolean required
GET /api/v1/user/members

List organization members

user.members · requires x-api-key

Parameters

NameInTypeNotes
offset query integer
limit query integer

Example

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

Response 200

2 top-level fields
  • items object[] required
    7 fields
    • id string required
    • userId string required
    • email string required
    • firstName string nullable
    • lastName string nullable
    • role string required
      One of: OWNER ADMIN MEMBER
    • createdAt string date-time
  • total integer required
PATCH /api/v1/user/members/{id}

Change a member role

user.updateMember · requires x-api-key

Parameters

NameInTypeNotes
id required path string

Request body application/json

  • role string required
    One of: OWNER ADMIN MEMBER

Example

curl -X PATCH "https://api.siaran.my/api/v1/user/members/ID" \
  -H "x-api-key: $SIAR_API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "role": "OWNER"
  }'

Response 200

7 top-level fields
  • id string required
  • userId string required
  • email string required
  • firstName string nullable
  • lastName string nullable
  • role string required
    One of: OWNER ADMIN MEMBER
  • createdAt string date-time
DELETE /api/v1/user/members/{id}

Remove a member

user.removeMember · requires x-api-key

Parameters

NameInTypeNotes
id required path string

Example

curl -X DELETE "https://api.siaran.my/api/v1/user/members/ID" \
  -H "x-api-key: $SIAR_API_KEY"

Response 200

1 top-level fields
  • success boolean required
GET /api/v1/user/invitations

List pending invitations

user.invitations · requires x-api-key

Example

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

Response 200

2 top-level fields
  • items object[] required
    5 fields
    • id string required
    • email string required
    • role string required
      One of: OWNER ADMIN MEMBER
    • expiresAt string date-time
    • createdAt string date-time
  • total integer required
POST /api/v1/user/invitations

Invite someone to the organization

user.invite · requires x-api-key

Request body application/json

  • email string required email
  • role string required
    One of: OWNER ADMIN MEMBER

Example

curl -X POST "https://api.siaran.my/api/v1/user/invitations" \
  -H "x-api-key: $SIAR_API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "email": "[email protected]",
    "role": "OWNER"
  }'

Response 201

5 top-level fields
  • id string required
  • email string required
  • role string required
    One of: OWNER ADMIN MEMBER
  • expiresAt string date-time
  • createdAt string date-time
DELETE /api/v1/user/invitations/{id}

Revoke an invitation

user.revokeInvitation · requires x-api-key

Parameters

NameInTypeNotes
id required path string

Example

curl -X DELETE "https://api.siaran.my/api/v1/user/invitations/ID" \
  -H "x-api-key: $SIAR_API_KEY"

Response 200

1 top-level fields
  • success boolean required
POST /api/v1/user/invitations/accept

Accept an invitation

user.acceptInvitation · no API key needed

Request body application/json

  • token string required
  • password string nullable
  • firstName string nullable

Example

curl -X POST "https://api.siaran.my/api/v1/user/invitations/accept" \
  -H "content-type: application/json" \
  -d '{
    "token": "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