What is the difference between the bearer token and the client ID?

See below for when you should use your bearer token vs. your client ID.
When making calls from your backend and authenticating with bearer token, you should pass a header to your request like:

curl https://api.whop.com/api/v1/licenses/ABC-123  
    -H "Authorization: Bearer {Bearer Token}"
import requests
endpoint = "https://api.whop.com/api/v1/licenses/ABC-123"
headers = {"Authorization": "Bearer <Bearer Token>"}

print(requests.get(endpoint, headers=headers).json())
$.ajax({
   url: 'https://api.whop.com/api/v1/licenses/ABC-123',
   type: 'GET',
   contentType: 'application/json'
   headers: {
      'Authorization': 'Bearer <Bearer token>'
   },
   success: function (result) {
       // If successful, what to do with the response payload.
       console.log(result);
   },
   error: function (error) {
       // If error, what to do with the error payload.
       console.log(error);
   }
});

When making calls from the frontend and authenticating with your client ID, you should pass a header to your request like:

curl https://api.whop.com/api/v1/licenses/ABC-123  
    -H "Authorization: {clientID}"
$.ajax({
   url: 'https://api.whop.com/api/v1/licenses/ABC-123',
   type: 'GET',
   contentType: 'application/json'
   headers: {
      'Authorization': '<clientID>'
   },
   success: function (result) {
       // If successful, what to do with the response payload.
       console.log(result);
   },
   error: function (error) {
       // If error, what to do with the error payload.
       console.log(error);
   }
});

If you are using any of Whop's SDKs, both bearer and client ID auth are supported natively. See the docs for the Javascript SDK.

Differences between client ID and bearer token. When should I use each and what are the pros and cons