Make a sign-in link for a client login
Try itFor an "Edit your website" button in your own dashboard: a link that signs this client login in and opens their website's editor (or their home page) in your brand — no password screen. It works once and for 5 minutes, so make it when the button is pressed and send the browser straight to it; never email it. Only for client logins: someone who is also on a team, edits another company's site or uses two-step sign-in is refused (they sign in with their password). Takes NO Idempotency-Key — the link is never saved for a replay; calling again makes a new one.
/api/v1/sites/{site_id}/logins/{login_id}/sign-in-linkAuthentication
An API key as Authorization: Bearer or x-api-key. It needs the clients:sign-in scope — make one-time sign-in links that open a client login's editor with no password (for your own dashboard).
Parameters
Named placeholders go in the path; the rest in a JSON body.
site_idstringPath · required- The site's id.1 to 100 characters
login_idstringPath · required- The login's id.1 to 100 characters
opensstringBody · optional- editor = Easy mode on this website (default); client = their home page with every site they edit.One of: editor, clientDefault
"editor"
Response
201 with JSON on success (schema on the right). Errors use the standard envelope; the answer holds a one-time secret, so it is never saved for a replay and an Idempotency-Key is refused (400 idempotency_key_not_accepted) — call again to get a new one.
curl -X POST 'https://websites.workflowcorp.com/api/v1/sites/SITE_ID/logins/LOGIN_ID/sign-in-link' \
-H "Authorization: Bearer $WEBSITEBUDDY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"opens":"editor"}'{
"site_id": "SITE_ID",
"login_id": "LOGIN_ID",
"opens": "editor"
}{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Send the client's browser here. One use, a few minutes."
},
"expires_at": {
"type": "string"
},
"login_id": {
"type": "string"
},
"email": {
"type": "string"
},
"opens": {
"type": "string",
"enum": [
"editor",
"client"
]
},
"sentence": {
"type": "string"
}
},
"required": [
"url",
"expires_at",
"login_id",
"email",
"opens",
"sentence"
],
"additionalProperties": false
}