Client requests are responsible for handling the Sign in, Sign up, and Session processes. More specifically, they operate on the Client object. A reference to a Client object needs to be sent with every Frontend API request, through a Clerk-issued JWT. Usually, a "device", such as a browser, or a mobile app, will store one Client object to send up with every request. By default, Clerk handles this process, and is explained in the Session management section.

Requests summary

  • GET/v1/client
  • PUT/v1/client
  • DEL/v1/client
  • GET /v1/client/sessions/:id
  • POST/v1/client/sessions/:id/end
  • POST/v1/client/sessions/:id/remove


  • PUT /v1/client/sign_in_attempt


  • POST/v1/client/sign_in_attempt/identify

Factor one

  • POST/v1/client/sign_in_attempt/prepare_factor_one
  • POST/v1/client/sign_in_attempt/attempt_factor_one

Factor two

  • POST/v1/client/sign_in_attempt/prepare_factor_two
  • POST/v1/client/sign_in_attempt/attempt_factor_two


  • PUT /v1/client/sessions/sign_up_attempt
  • PATCH/v1/client/sessions/sign_up_attempt

Email Address

  • PUT /v1/client/sign_up_attempt/email_address
  • POST/v1/client/sign_up_attempt/email_address/send_verification_email
  • POST/v1/client/sign_up_attempt/email_address/verify
Phone Number
  • PUT /v1/client/sign_up_attempt/phone_number
  • POST/v1/client/sign_up_attempt/phone_number/send_verification_sms
  • POST/v1/client/sign_up_attempt/verify
External Account
  • PUT/v1/client/sign_up_attempt/external_accounts