-
-
Notifications
You must be signed in to change notification settings - Fork 516
API Usage
Our API utilizes Swagger and Swashbuckle to automatically generate, update, and display documentation (which means it works automatically on self-hosted environments), is a great resource for our users that want to get their hands dirty and use Exceptionless data to roll their own tools, dashboards, etc.
-
Setup
-
Accessing the API
-
Get Your User Scoped Token
-
Get a New Token
-
Usage
-
Posting an Event
-
Get Event by Reference ID
-
Get Event via Search Filter
-
Get Organizations and Projects
-
How to Authenticate to the API
- Bearer Authentication
- Authenticate via Query String
To access the Exceptionless API, visit https://api.exceptionless.io and click on the “API Documentation” link to be taken to the API documentation.
Go to Auth controller action and enter your login credentials.
Enter JSON into the model field, or click the yellow box on the right to pre-populate the field with acceptable JSON fields. Just replace the values you want to specify and remove the fields you don’t need, like invite token.
Click “Try it out!” and generate your token. Take note of the response messages section above the button, as it details the possible codes that would be returned in the event of an error (e.g. 401 if the user name or email address was incorrect).
Take your generated token and put it in the “api_key” field at the top of the page and click “Explore.” This authorizes you via bearer authentication, authenticates you to the rest api, and allows you to call controller actions.
Now you have to get a new token for the project you want to work on and assign it a user role (scope) of “user.” We do this because we want to do more than just post events (client scoped tokens only allow you to post events), we want to retrieve them. Creating a new token also allows us to revoke the token later.
1 - Get your project ID from the Exceptionless Dashboard. It can be found in the URL of that project’s dashboard.
2 - Navigate to Tokens > POST /api/v2/projects/{projectId}/tokens, enter our Project ID, and set up our token to include the user scope and a quick note.
3 - Click “Try it out!” and generate our new token id.
4 - Copy this new token and place it in the “api_key” field at the top of the page and click “Explore.” Now everything you do will be authenticated to this new user token you’ve just created.
As an example, lets post an event with a reference ID that we’ll use for a few other examples.
1 - First, navigate to Event > POST /api/v{version}/events
You’ll see a few basic examples of events and some explanation of the resource in this panel. Make sure to give it a read. For this example, we’ll use a simple log event, with a brief message, and add a reference ID to it. Note that you must also enter the current API version in the “version” field.
2 - Click “Try it out!” If you get a 202 response code, you’ve created an event.
If we want to get the event we just created by it’s reference_id, we can navigate to Event > GET /api/v2/events/by-ref/{referenceId}, enter that reference ID, and get back the details of the event.
Another example of getting an event may include using the reference ID or another search filter we just created and getting all by a reference filter. You can use any search filter in the filter parameter.
To do so, navigate to Event > GET /api/v2/events and use the reference term to filter events by the reference ID.
Results
Naturally, we can get all the organizations or projects associated with the current authorized token, as well.
Navigate to Organization > GET /api/v2/organizations and click “Try it out!”
Navigate to Project > GET /api/v2/projects and click “Try it out!”
The api documentation uses bearer authentication to authenticate to the API. You can do this in your apps too by specifying a bearer authorization header with your token as shown below.
Everything we’ve shown you today can be easily and cleanly accessed via a URL query string and your access token.
For example, if we want to view our organizations, we simply navigate to https://api.exceptionless.io/api/v2/organizations, add the query string ?access_token={token}
and press enter to get the data.