Search results

    Edit on GitHub


    The API Supports two authentication methods: the first one is to authenticate using your user credentials (used by the UI, not recommended for programmatic use of the API) and the second one uses Authentication Tokens that can be created and revoked for any reason.

    Authenticating using user credentials

    To Authenticate using your credentials, simply send two headers:

    • x-api-email: YOUR_EMAIL_HERE
    • x-api-password: YOUR_PASSWORD_HERE

    Note that authenticating using this method is not recommended due to security reasons. Use this method only to create Authentication Tokens.

    Creating an Authentication Token

    To create an Authentication Token, login and click on settings in the top right of the screen, then choose "Api Tokens" from the menu. Click on Generate to create a new Authentication Token. After generating a new token, you'll receive the token, which you'll need to save as a secret somewhere and use it for API calls to Upsolver. You will not be able to receive the token again.

    Alternatively, send a POST request to /api-tokens with the name and description of the Api Token, for example:

    curl --request POST \
     --url \
     --header 'content-type: application/json' \
     --header 'x-api-email: YOUR_EMAIL_HERE' \
     --header 'x-api-password: YOUR_PASSWORD_HERE' \
     --data '{
        "displayData": {
            "name": "Data Sources Bot API Token",
            "description": "API Token used by the bot to create Data Sources"

    Fill your email and password in the headers.

    The response should look like this:

      "id": "12345678-1234-1234-1234-1234567890ab",
      "organizationId": "12345678-1234-1234-1234-1234567890ab",
      "displayData": {
        "name": "Data Sources Bot API Token",
        "description": "API Token used by the bot to create Data Sources",
        "statusMessage": "ok",
        "statusType": "ok",
        "creationTime": "2018-11-01T12:09:27.971Z",
        "createdBy": "Documentation Bot ("
      "apiToken": "abc12345678901234567890123456789",
      "createdBy": ""

    Copy the apiToken field and save it in a secret place. Authentication Tokens can't be restored, so if you lost it you will need to create a new one.

    Then every request should have a header "Authorization" with your token, for example, in my case :

    curl --request GET 
     --header 'authorization: abc12345678901234567890123456789'