Welcome to Belltastic API documentation. Here you will learn how to send and interact with the notifications, users & projects on your account via our JSON API.

We also have a PHP package available for you to use which greatly improves the developer experience integrating Belltastic in your app. You can check it out hereopen in new window.

API versioning

At Belltastic we use a versioned API, so you can be confident future changes in our API won't break your integration. At the same time, this allows us to continuously improve our API without the fear of introducing breaking changes.

Currently, we only have API version 1, thus the base path for all API endpoints will be

Base URI

All the endpoint paths in this documentation should be appended to the API's base URI, which will be referred to as {base_uri} in the documentation:

Error codes

We rely heavily on returning the correct HTTP status code to specify what's wrong with the request. Here are some common HTTP response codes we return and what do they mean exactly.

HTTP Status CodeNameDescription
200OKRequest received and processed correctly.
201CreatedA new entity has been created. This is usually the response code when creating a new project, user, or notification within the API
401UnauthorizedThe API key is most likely invalid or expired/revoked. Please make sure you are correctly setting the API key in the Authorization: Bearer {token} header
403ForbiddenThis API key does not have access to the resource. This can happen if you're using a Project token (proj_...) to access account-level data outside of that project, or if your API token does not have permissions to perform a specific action.
422Validation errorsThere are validation issues with the data you've submitted. Please check the response body for a list of errors for more information.
429Too Many RequestsIn case your API access is rate-limited, this means you have been sending too many requests and you need to wait before sending another request. The response will also contain a header with the timestamp of the next-available time for a request.
500Server errorThis response means something went wrong in our system. Either a bug, or a temporary unavailability with an external service - it's on us. If this keeps happening, please contact us at [email protected]


If you encounter mistakes in the documentation, or any issues with utilizing the API, please do not hesitate to contact us at [email protected].