# API Overview

The Aerion API offers a JSON REST API with access to all objects, in addition to numerous analytics feeds that. You can use the API to access, create, and modify Aerion data.

## Alternatives

- Our [Zapier integration](/developer/zapier) abstracts away some of the more complicated permissions and settings and allows for the integration into various workflows with other 3rd party apps.

- Our hosted [MCP Server](/developer/mcp) allows for interaction with the full Aerion API through natural language via the LLM of your choice.

## Permissions

Access to the API is based on the permissions of the individual user accounts. This means that an API developer using their personal Aerion will only have access to the resources that their account has. For maximum flexibility, we recommend creating an additional utility user within Aerion with the appropriate permissions for API access. Note that some models, like Time Entries, have properties that can only be modified by the owner/creator of the object.

**We strongly recommend using a Development/Sandbox account to test any API integrations that modify data.**

## Authorization

Aerion uses OAuth 2.0 with the `password` grant type. As part of the token request, users must identify which Aerion tenant they are via the `origin` or `companyurl` headers. After successful authentication, API feeds can be accessed with Bearer authentication.

Full documentation for API authentication can be found on the [Authentication page](/developer/authentication).

## Changes and Changelogs
Our API updates are always backwards compatible. Fields may be added to models at any time. Consumers of our API should ignore properties that are not explicitly listed in the API reference, as they may have future, internal, or completely deprecated uses.

The [API Changelog](/changelogs/api) lists adjustments to the API and API documentation.

## Support

For additional help, guidance, and suggestions, please reach out to our support team via Intercom in the Aerion web browser client. If possible, please provide some background for your API use case so we can provide a tailored answer.
