Skip to main content
PUT
Update user

Authorizations

Authorization
string
header
required

Authentication Method: HTTP Bearer token.

The runtime requires the literal Bearer prefix — a bare token in the Authorization header is rejected with 401 unauthorized.

Header Format: Authorization: Bearer YOUR_API_KEY

Your API key is a JWT. Live keys operate on live data (livemode: true); test keys operate on isolated test data (livemode: false).

Get your key at: app.gigstack.pro/settings?tab=api

Errors: credential failures are answered by the authentication layer with a raw { "message": … } body, not the standardized envelope — 401 for a missing, malformed or expired token, 403 for a revoked key or a plan without API access. See the Unauthorized and AuthForbidden responses.

Path Parameters

id
string
required

Query Parameters

team
string

gigstack Connect: Target team ID for multi-team access.

Requires gigstack Connect enabled on your team and shared billing account.

Also requires the multipleIssuerAccounts feature on your plan. Requests targeting a team other than the one your API key belongs to return 403 without it.

Only API keys can use it: an OAuth access token sent with another team's id is rejected with 403 Team mismatch with OAuth token.

Optional — omit it entirely unless you are acting on another team. It deliberately carries no example value so generated snippets do not emit ?team=undefined; when the parameter is absent, the team is derived from your API key.

Example: ?team=team_xyz789

Body

application/json

Unknown top-level keys are rejected (400 validation_failed / unexpected_key) — body validation runs in strict allowlist mode. team, livemode and owner are reserved and injected by the auth middleware.

email
string | null

Required by account creation. On user updates this reserved field is ignored; this endpoint does not change the authentication email.

first_name
string | null
Example:

"John"

last_name
string | null
Example:

"Doe"

phone
string | null
Example:

"+52 55 1234 5678"

company_role
string | null
Example:

"Manager"

address
object | null

User address information. Note: municipality field is accepted in requests but not returned in responses.

auto_join
boolean

If true, automatically adds the user to the team associated with the API key. Defaults to false if not specified. When true and role is specified, the user will be added with that role.

Example:

true

role
string

Role to assign to the user when auto_join is true. Can be "editor", "admin", or "viewer". Defaults to "viewer" if not specified. This parameter works in conjunction with auto_join - when auto_join is true, the user will be added to the team with the specified role.

Example:

"viewer"

Response

Updated. Raw body (no success/timestamp).

message
string
required
data
object
required