# Customer authentication

Use these operations to validate the identity of users and manage authentication credentials.

 - [GET /authentication-options](https://www.rebilly.com/docs/dev-docs/api/customer-authentication/getauthenticationoption.md): Retrieves customer authentication options.
 - [PUT /authentication-options](https://www.rebilly.com/docs/dev-docs/api/customer-authentication/putauthenticationoption.md): Changes customer authentication options.
 - [GET /authentication-tokens](https://www.rebilly.com/docs/dev-docs/api/customer-authentication/getauthenticationtokencollection.md): Retrieves a list of customer authentication tokens.
 - [POST /authentication-tokens](https://www.rebilly.com/docs/dev-docs/api/customer-authentication/postauthenticationtoken.md): Logs in a customer.
 - [GET /authentication-tokens/{token}](https://www.rebilly.com/docs/dev-docs/api/customer-authentication/getauthenticationtokenverification.md): Verifies a customer's authentication token.
 - [DELETE /authentication-tokens/{token}](https://www.rebilly.com/docs/dev-docs/api/customer-authentication/deleteauthenticationtoken.md): Logs out a customer.
 - [POST /authentication-tokens/{token}/exchange](https://www.rebilly.com/docs/dev-docs/api/customer-authentication/postauthenticationtokenexchange.md): Exchanges an authentication token for a JWT. By default, this operation invalidates the exchanged authentication token.
 - [GET /credentials](https://www.rebilly.com/docs/dev-docs/api/customer-authentication/getcredentialcollection.md): Retrieves a list of authentication credentials.
 - [POST /credentials](https://www.rebilly.com/docs/dev-docs/api/customer-authentication/postcredential.md): Creates an authentication credential.
 - [GET /credentials/{id}](https://www.rebilly.com/docs/dev-docs/api/customer-authentication/getcredential.md): Retrieves a credential with a specified ID.
 - [PUT /credentials/{id}](https://www.rebilly.com/docs/dev-docs/api/customer-authentication/putcredential.md): Creates or updates (upserts) an authentication credential with a specified ID.
 - [DELETE /credentials/{id}](https://www.rebilly.com/docs/dev-docs/api/customer-authentication/deletecredential.md): Deletes an authentication credential with a specified ID.
 - [GET /password-tokens](https://www.rebilly.com/docs/dev-docs/api/customer-authentication/getpasswordtokencollection.md): Retrieves a list of reset password tokens.
 - [POST /password-tokens](https://www.rebilly.com/docs/dev-docs/api/customer-authentication/postpasswordtoken.md): Creates a reset password token.
 - [GET /password-tokens/{id}](https://www.rebilly.com/docs/dev-docs/api/customer-authentication/getpasswordtoken.md): Retrieves a reset password token with a specified ID.
 - [DELETE /password-tokens/{id}](https://www.rebilly.com/docs/dev-docs/api/customer-authentication/deletepasswordtoken.md): Deletes a reset password token with a specified ID.
