Skip to the content

DoRoutes API · version 1

Customer sign-in

POST/v1/login

Email a customer a sign-in link

The link works once and lasts 15 minutes. The answer is the same whether or not the email belongs to a customer. Opening the link confirms the customer's email.

Request body · object

  • emailstring (email), required
  • quote_idinteger (int64)

    A quote the link opens once signed in (`&quote=<id>` on the link).

  • recaptcha_tokenstring

    A reCAPTCHA token, when the tenant checks reCAPTCHA (GET /v1/config says whether).

Example request
{
  "email": "email",
  "quote_id": 0,
  "recaptcha_token": "string"
}

Response 200 · Message

Done.

  • messagestring, required
Example response 200
{
  "message": "string"
}

Response 400 · Error

The request is not valid.

  • errorobject, required
    • codestring, required

      A short machine-readable name, such as not_found.

    • messagestring, required

      What went wrong, for people.

  • request_idstring, required

    Matches the X-Request-ID response header.

Example response 400
{
  "error": {
    "code": "string",
    "message": "string"
  },
  "request_id": "string"
}

Response 401 · Error

No tenant key, or no valid session.

Fields as in Email a customer a sign-in link

Response 404 · Error

Not found, or not yours.

Fields as in Email a customer a sign-in link

Response 409 · Error

It clashes with what is stored.

Fields as in Email a customer a sign-in link

Response 429 · Error

Too many attempts; see Retry-After.

Fields as in Email a customer a sign-in link

Response 500 · Error

Something failed on our side.

Fields as in Email a customer a sign-in link

POST/v1/login/verify

Swap a sign-in link's token for a session

Request body · object

  • tokenstring, required
Example request
{
  "token": "string"
}

Response 200 · object

Done.

  • tokenstring, required

    The session; send as a bearer token. It lasts up to 30 days.

  • customerCustomer, required
    • customer_idinteger (int64)
    • titlestring
    • first_namestring
    • last_namestring
    • emailstring (email)
    • email_confirmed_atstring

      When the customer first signed in by a link sent to the email; cleared when the email changes. Ignored when sent.

    • phonestring

      The latest number given.

    • phonesarray of string

      Every number the customer has given, oldest first, each once however spaced. Ignored when sent.

Example response 200
{
  "token": "string",
  "customer": {
    "customer_id": 0,
    "title": "string",
    "first_name": "string",
    "last_name": "string",
    "email": "email",
    "email_confirmed_at": "string",
    "phone": "string",
    "phones": [
      "string"
    ]
  }
}

Response 400 · Error

The request is not valid.

Fields as in Email a customer a sign-in link

Response 401 · Error

No tenant key, or no valid session.

Fields as in Email a customer a sign-in link

Response 404 · Error

Not found, or not yours.

Fields as in Email a customer a sign-in link

Response 409 · Error

It clashes with what is stored.

Fields as in Email a customer a sign-in link

Response 429 · Error

Too many attempts; see Retry-After.

Fields as in Email a customer a sign-in link

Response 500 · Error

Something failed on our side.

Fields as in Email a customer a sign-in link

POST/v1/logout

Sign out

A signed-in customer.

Response 200 · Message

Done.

Fields as in Email a customer a sign-in link

Response 401 · Error

No tenant key, or no valid session.

Fields as in Email a customer a sign-in link

Response 403 · Error

The session may not do this.

Fields as in Email a customer a sign-in link

Response 429 · Error

Too many attempts; see Retry-After.

Fields as in Email a customer a sign-in link

Response 500 · Error

Something failed on our side.

Fields as in Email a customer a sign-in link

POST/v1/logout/everywhere

End all of the customer's sessions

A signed-in customer.

Response 200 · Message

Done.

Fields as in Email a customer a sign-in link

Response 401 · Error

No tenant key, or no valid session.

Fields as in Email a customer a sign-in link

Response 403 · Error

The session may not do this.

Fields as in Email a customer a sign-in link

Response 429 · Error

Too many attempts; see Retry-After.

Fields as in Email a customer a sign-in link

Response 500 · Error

Something failed on our side.

Fields as in Email a customer a sign-in link