Update the caller's profile
Sets the signed-in user's full name, avatar URL or default organization and returns the profile. The default must be an org the user belongs to (403 otherwise). Requires a signed-in dashboard session token; API keys cannot call this endpoint.
Required permission
Requires the self.update permission. See Permissions for the roles and API key permissions that include it.
Command line
The orl CLI wraps this endpoint:
orl account profile updateapiKeyAuthorizationBearer <token>OpenRelay API key. Send it as Authorization: Bearer or_… (legacy vl_… keys still work).
application/json- body
fullName?stringavatarUrl?stringdefaultOrganizationId?stringUpdated
application/json- response
id*stringemail*stringfullName?stringavatarUrl?stringdefaultOrganizationId?stringcurl -X PATCH 'https://api.openrelay.inc/v1/me/profile' \ -H 'Content-Type: application/json' \ -d '{}'{ "id": "string", "email": "string", "fullName": "string", "avatarUrl": "string", "defaultOrganizationId": "string"}The current principal and the org it acts in GET
Returns the calling principal (API key or user session) and the organization the request acts in, with the org's name and, for a key, its id, name and budget. For an API key that org is fixed by the key; for a session it is the active org, and availableOrgs lists every org the user belongs to. Unlike /v1/me this works for API keys and does not onboard.
Start a CLI device login (no auth) POST
Starts the orl auth login device flow: returns a device code for the CLI to poll and a 6-digit user code for a signed-in person to confirm. No API key or session is required: this is how an unauthenticated CLI starts the flow that gets it one. The code expires in 10 minutes. deviceName is the requesting host's best-effort hostname, shown on the approval page so the signed-in user can recognize their own terminal before confirming the code.