Skip to main content
POST
Add Member

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

team_id
string
required
job_id
string
required

Body

application/json
username
string
required
Required string length: 2 - 32
Pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$
sshAuthorizedKeys
string[]
required
Minimum array length: 1
linkedUserId
string | null
Minimum string length: 1

Response

Successful Response

Customer-facing member roster row.

Includes uid and ssh_authorized_keys deliberately, unlike frontierCluster.ts's teamSlurmMemberSchema.omit(...) — neither is secret (an SSH public key is meant to be shared; the POSIX uid is an internal identifier, not a credential), and both are genuinely useful for troubleshooting ("which key is this teammate's login actually using", "does this uid match the file ownership I'm seeing"). The dashboard's redaction was about what its roster component happened to render, not a security boundary — this is a deliberate, considered divergence from strict TS parity, not an oversight.

There is no per-member group id anywhere in this system's data model to expose alongside uid — group assignment, if any, is an internal detail of lldap/the ldap-reconciler that never reaches ClusterMember/ClusterMemberOut.

username
string
required
uid
integer
required
sshAuthorizedKeys
string[]
required
sudo
boolean
required
status
string
required
linkedUserId
string | null
linkedUserName
string | null
linkedUserEmail
string | null