Synq Docs
Account APILink requests

Start adding a way to sign in

A link request for the person, through this app: send them to sign in from this app with its `authorization_params` added. They sign in again as themselves, then use the method being added (a wallet, an emailed code, a provider), and it joins their account; a way in another person has is never merged. Methods the brand doesn't offer, or that can't show a fresh sign-in (Apple, Facebook, X, Discord, GitHub), answer 409 `sign_in_method_unavailable`; so does an email address for an account that has one. One person has at most 20 ways to sign in (409 `identity_limit_reached`). Needs `me:write`. An account that signs in with an email address nobody proved yet takes no new way to sign in: 403 `email_unverified` until the person verifies it.

POST/v1/link-requests

A link request for the person, through this app: send them to sign in from this app with its authorization_params added. They sign in again as themselves, then use the method being added (a wallet, an emailed code, a provider), and it joins their account; a way in another person has is never merged. Methods the brand doesn't offer, or that can't show a fresh sign-in (Apple, Facebook, X, Discord, GitHub), answer 409 sign_in_method_unavailable; so does an email address for an account that has one. One person has at most 20 ways to sign in (409 identity_limit_reached). Needs me:write. An account that signs in with an email address nobody proved yet takes no new way to sign in: 403 email_unverified until the person verifies it.

Authorization

bearer
AuthorizationBearer <token>

An access token from this issuer for its account API (resource=<issuer>/me).

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

curl -X POST "https://example.com/v1/link-requests" \  -H "Content-Type: application/json" \  -d '{    "method": "wallet"  }'
{  "method": "string",  "expires_at": "2019-08-24T14:15:22Z",  "authorization_params": {    "prompt": "login",    "synq_intent": "link",    "synq_link": "string"  }}