<aside> ⚠️ This documentation is to be interpreted as a courtesy towards customers who would like to integrate with the Echometer systems in some way. Direct API usage by customers is not officially supported, but tolerated as long as usage is kept within reasonable limits. Echometer reserves the right to revoke, rate-limit, restrict or in any other way change API access for anyone at will and without notice, so don’t rely on it for critical processes.
</aside>
<aside> ⚠️ The Echometer API described here primarily serves as the internal API between the Echometer Web Application and the Echometer Backend Servers. As such, it is provided as-is and comes with no guarantee regarding API stability and can change at any time. Please make sure that automated integrations take this into account and will handle failures of any kind gracefully.
</aside>
<aside> 📄 Contents
</aside>
Most of Echometer can be accessed via a GraphQL API available at my.echometerapp.com/api/graphql. This endpoint accepts HTTP requests following GraphQL best practices described here.
The GraphQL schema should be explorable with any GraphQL client that supports schema introspection. You can also visit https://my.echometerapp.com/api/ directly for a simple GraphiQL UI to explore the schema and test queries.
Most GraphQL fields can only be queried with valid authentication, and a lot of them have individual authorization rules. Refer to Authentication to learn about authenticating with Echometer.
<aside> 💡
If you’re using the GraphiQL UI and are logged into Echometer already, you’re automatically authenticated.
</aside>
API Keys are the preferred method for authenticating with the Echometer API.
API Keys are bound to a specific user account and grant access to any information and action that user account has access to, except for highly sensitive things like changing the user’s password. Treat them with the same care as your account password!
Authenticate your requests by setting the X-Api-Key header’s value to your API Key:
X-Api-Key: <api-key>
There is no graphical interface for managing API keys at the current time. Create and manage your account’s API key via GraphQL:
mutation CreateApiKey {
apiKeyCreate {
key
}
}
query ListApiKeys {
myAccount {
apiKeys {
id
created
}
}
}
mutation RevokeApiKey($keyPrefix: ID!) {
apiKeyRevoke(prefix: $keyPrefix) {
apiKeys {
id
}
}
}