Authentication

Authentication for all of our back-end REST APIs occurs via HTTP Basic Authentication (Basic Auth). To generate a valid authorization header, pass your base64-encoded Cleverbridge username and password in the authorization request header field, as shown in the following example:

curl --request POST \
  --url 'https://rest.cleverbridge.com/urlgenerator/generateusersessionurl' \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --header 'authorization: Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
  --data '{
    "TargetUrl": "https%3A%2F%2Fwww.cleverbridge.com%2F864%2F%3Fscope%3Dcheckout%26amp%3Bcart%3D97771%26amp%3Blanguage%3Den%26amp%3Bcurrency%3DUSD%26amp%3Bx-source%3Dwebsite-visit-05.2019"
  }'
import requests
import base64

url = "https://rest.cleverbridge.com/urlgenerator/generateusersessionurl"

headers = {
    "accept": "application/json",
    "content-type": "application/json",
    "authorization": "Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}

payload = {
    "TargetUrl": "https%3A%2F%2Fwww.cleverbridge.com%2F864%2F%3Fscope%3Dcheckout%26amp%3Bcart%3D97771%26amp%3Blanguage%3Den%26amp%3Bcurrency%3DUSD%26amp%3Bx-source%3Dwebsite-visit-05.2019"
}

response = requests.post(url, json=payload, headers=headers)

print(response.status_code)
print(response.json())
const axios = require("axios");

const url = "https://rest.cleverbridge.com/urlgenerator/generateusersessionurl";

const headers = {
  accept: "application/json",
  "content-type": "application/json",
  authorization: "Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
};

const data = {
  TargetUrl: "https%3A%2F%2Fwww.cleverbridge.com%2F864%2F%3Fscope%3Dcheckout%26amp%3Bcart%3D97771%26amp%3Blanguage%3Den%26amp%3Bcurrency%3DUSD%26amp%3Bx-source%3Dwebsite-visit-05.2019"
};

axios.post(url, data, { headers })
  .then(response => {
    console.log("Status:", response.status);
    console.log("Response:", response.data);
  })
  .catch(error => {
    console.error("Error:", error.response ? error.response.data : error.message);
  });
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;

public class CleverbridgeRequest {
    public static void main(String[] args) throws Exception {
        String url = "https://rest.cleverbridge.com/urlgenerator/generateusersessionurl";
        URL obj = new URL(url);
        HttpURLConnection con = (HttpURLConnection) obj.openConnection();

        con.setRequestMethod("POST");
        con.setRequestProperty("accept", "application/json");
        con.setRequestProperty("content-type", "application/json");
        con.setRequestProperty("authorization", "Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");

        String jsonInputString = "{\n" +
                "  \"TargetUrl\": \"https%3A%2F%2Fwww.cleverbridge.com%2F864%2F%3Fscope%3Dcheckout%26amp%3Bcart%3D97771%26amp%3Blanguage%3Den%26amp%3Bcurrency%3DUSD%26amp%3Bx-source%3Dwebsite-visit-05.2019\"\n" +
                "}";

        con.setDoOutput(true);
        try(OutputStream os = con.getOutputStream()) {
            byte[] input = jsonInputString.getBytes("utf-8");
            os.write(input, 0, input.length);
        }

        int status = con.getResponseCode();
        System.out.println("Response Code: " + status);

        BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream(), "utf-8"));
        StringBuilder response = new StringBuilder();
        String responseLine;
        while ((responseLine = br.readLine()) != null) {
            response.append(responseLine.trim());
        }

        System.out.println(response.toString());
    }
}
📘

Note

To use your username and password to authenticate, your Cleverbridge user must have the following privilege - API User. For more information about user account privileges, see User privileges.

OIDC Authentication

You can also use OpenID Connect framework for authentication. In this case, the authentication is defined in the same way as for GraphQL API. For more details see GraphQL API Authentication.