Create Password Account

POST
/v1/admin/workspaces/{workspace_id}/password-accounts

Not available yet. This operation is part of the published contract and answers 501 not_implemented until it is built. The request and response shapes below are final for this contract version.

Invites the person to sign in with this email and a password, and returns a temporary password once (changed at their first sign-in, then TOTP is set up). Password sign-in must be on for the workspace.

Authorization

HTTPBearer
headerAuthorizationBearer <token>

Bearer credential. API keys look like sqk_<geo>_<key_id>_<secret>: treat them as opaque and never put one in a browser. Older keys without the geo part stay valid until rotated. Find a geo's endpoints through GET /.well-known/sparq-discovery before sending a key.

Path Parameters

workspace_id*Workspace Id
Formatuuid

Header Parameters

Sparq-Workspace?string

For a person signed in to a console with several workspaces: the workspace this call is for, one of their memberships (listMyMemberships). Without it such a person gets workspace_required (400); a workspace they are not a member of is forbidden. It never grants anything, and other callers' credentials ignore it.

Formatuuid
Idempotency-Key?string

Makes a retry safe: the same key, route and body within 24 hours returns the stored response and the same result id. The same key with a different body or route is idempotency_conflict; while the first request runs, idempotency_in_progress.

Length8 <= length <= 128

Request Body

application/json
  1. body
email*Email

Email address (stored lower-case).

Match^[^@\s]{1,64}@[^@\s]{1,255}\.[^@\s]{2,63}$
Lengthlength <= 320
name*Name
Length1 <= length <= 500

Response Body

Successful Response

application/json
  1. response

The account, its member and the temporary password: shown once, never stored (a replay of the Idempotency-Key returns it empty). The account is this workspace's alone.

account*

A person who signs in with an email and a password; managed by its workspace.

member_id*Member Id
Formatuuid
temporary_password*string|null
Example Request
curl -X POST 'https://dev-api.silverlyte.io/v1/admin/workspaces/497f6eca-6276-4993-bfeb-53cbbbba6f08/password-accounts' \  -H 'Content-Type: application/json' \  -d '{  "email": "ana@example.com",  "name": "string"}'
Example Response
{  "account": {    "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",    "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",    "email": "ana@example.com",    "status": "active",    "must_change_password": true,    "totp_enabled": true,    "created_at": "2019-08-24T14:15:22Z",    "password_changed_at": "2019-08-24T14:15:22Z"  },  "member_id": "435a4844-006a-4cfc-a644-e8eb2dd2ca43",  "temporary_password": "string"}