The access token is passed with all API calls.
When implementing APIs using the new Elite ID authentication, the third party must also provide the 3E Tenant ID (Instance ID).
Following are the base URLs for 3E APIs to be used by third parties when authenticating with an Elite ID token:
API |
URL Suffix |
Environment |
Example |
3E REST API |
/{env}/3e/v1/ |
Preview |
|
Live |
|||
3E OData API |
/{env}/3e/odata/ |
Preview |
|
Live |
|||
3E DI OData API |
/{env}/3e/v1/ |
Preview |
|
Live |
Once the third party is provided with the base URL for the environment and the corresponding Instance ID, then the third-party application must invoke the 3E APIs using the new X-3E-InstanceId header parameter. Format for API calls is shown below:
curl --location --request <HTTP METHOD> 'https://api.elite.com/{env}/3e/v1/<endpoint>' `
--header 'Content-Type: application/json' `
--header 'Authorization: Bearer <access_token>' `
--header 'X-3E-InstanceId: <InstanceId>'
curl --location --request <HTTP METHOD> 'https://api.elite.com/{env}/3e/odata/<endpoint>' `
--header 'Content-Type: application/json' `
--header 'Authorization: Bearer <access_token>' `
--header 'X-3E-InstanceId: <InstanceId>'
Note: For the Live environment /{env} should be removed from the URL.
curl --location --request <HTTP METHOD> 'https://api.elite.com/{env}/3e/datainsights/odata/<endpoint>' `
--header 'Content-Type: application/json' `
--header 'Authorization: Bearer <access_token>' `
--header 'X-3E-InstanceId: <InstanceId>'
As an example, let’s assume the firm has the following Instance IDs:
Using the GET ./timekeeper call, the new X-3E-InstanceId parameter is shown in the following sample cURL calls:
curl --location --request GET 'https://api.elite.com/preview/3e/v1/timekeeper?TimekeeperIndex=3320' `
--header 'Content-Type: application/json' `
--header 'Authorization: Bearer <access_token>' `
--header 'X-3E-InstanceId: wzh8osomtuytmxrpulkgxa'
curl --location --request GET 'https://api.elite.com/preview/3e/odata/Timekeeper(3320)' `
--header 'Content-Type: application/json' `
--header 'Authorization: Bearer <access_token>' `
--header 'X-3E-InstanceId: wzh8osomtuytmxrpulkgxa'
curl --location --request GET 'https://api.elite.com/preview/3e/datainsights/odata/trs_Activity' `
--header 'Content-Type: application/json' `
--header 'Authorization: Bearer <access_token>' `
--header 'X-3E-InstanceId: wzh8osomtuytmxrpulkgxa'
curl --location --request GET 'https://api.elite.com/3e/v1/timekeeper?TimekeeperIndex=3320' `
--header 'Content-Type: application/json' `
--header 'Authorization: Bearer <access_token>' `
--header 'X-3E-InstanceId: ebm7ewi88k6qqse70zhqwg'
curl --location --request GET 'https://api.elite.com/3e/odata/Timekeeper(3320)' `
--header 'Content-Type: application/json' `
--header 'Authorization: Bearer <access_token>' `
--header 'X-3E-InstanceId: ebm7ewi88k6qqse70zhqwg'
curl --location --request GET 'https://api.elite.com/3e/datainsights/odata/trs_Activity' `
--header 'Content-Type: application/json' `
--header 'Authorization: Bearer <access_token>' `
--header 'X-3E-InstanceId: ebm7ewi88k6qqse70zhqwg'
Note: It Is recommended that these commands are executed from PowerShell 7.3.6 or above. Please use curl.exe to force PowerShell to use curl instead of Invoke-WebRequest to avoid errors.