Authentication to the Proposa API is performed using HTTP Basic Authorization.

❗️

All requests must be sent over HTTPS

You can view your api access key and secret key on the API Settings page on Proposa. You will have to enable the API to obtain your API keys.

To authenticate the request, the api access key and the secret key needs to be encoded with base64:

echo "1213c83f-b0aa-4d4b-98be-efb978df3643:sk_otFy5GxV0np0aZB9UuldknAEQsKCm" | base64
<?php

base64_encode('1213c83f-b0aa-4d4b-98be-efb978df3643:sk_otFy5GxV0np0aZB9UuldknAEQsKCm');

// Returns: MTIxM2M4M2YtYjBhYS00ZDRiLTk4YmUtZWZiOTc4ZGYzNjQzOnNrX290Rnk1R3hWMG5wMGFaQjlVdWxka25BRVFzS0NtCg==

Add an authorization header to your HTTP request:

Authorization: Basic MTIxM2M4M2YtYjBhYS00ZDRiLTk4YmUtZWZiOTc4ZGYzNjQzOnNrX290Rnk1R3hWMG5wMGFaQjlVdWxka25BRVFzS0NtCg==

If you are using cURL on the command line, you do not need to base64 encode your credentials. cURL will do this for you:

-u '1213c83f-b0aa-4d4b-98be-efb978df3643:sk_otFy5GxV0np0aZB9UuldknAEQsKCm'

Authentication Failure

{
  "code": 401,
  "message": "Unauthorized"
}

Test Authentication

You can call the following endpoint to confirm you are authenticated:

curl "https://api.proposa.io/v1/company" \
     -u '1213c83f-b0aa-4d4b-98be-efb978df3643:sk_otFy5GxV0np0aZB9UuldknAEQsKCm'