Api Basics

Our API is the key to seamlessly integrating Atlas CMS into your existing or new projects, creating custom solutions, and harnessing the full scope of our features to enhance your business operations. Whether you're a developer, a system administrator, or anyone else looking to interact with our platform programmatically, you're in the right place.

In this comprehensive API Reference, you'll find detailed information about all the endpoints, methods, and parameters at your disposal.

What You'll Find Here:

  1. Endpoints and Methods: A complete list of available API endpoints, along with the HTTP methods supported by each.

  2. Request and Response Formats: Detailed descriptions of request payloads and response structures, including example data.

  3. Authentication: Guidance on how to securely authenticate your requests for data and actions.

  4. Technical Limits: Information on technical limits to ensure fair and efficient API usage.

  5. Errors: Description of possible HTTP Status error codes you can receive.

We're committed to providing you with a seamless experience as you explore the capabilities of our API. Whether you're building a custom application, automating tasks, or extracting valuable insights, this documentation is your trusted resource.

So, without further words, dive into our API Reference, and let's start building something extraordinary together. If you have any questions, concerns, or feedback, our support team is just a message away.

Atlas CMS is an API first platform, and consequently the interaction with its API allows you to work with almost all of its features.

All APIs are based on the REST and Json standard, and there is also a GraphQL layer that allows you to use its query language to retrieve content.

The base url to access the APIs is provided in the General Settings page of the project.

Check it out here

Authentication & Authorization

Any client interacting with the APIs needs to provide an access token that has the right privileges to access to the resource you're requesting.

For example, if you create an access token that only has access to the Product contents only for read, you will not be able to use this token to create it.

To supply an access token you must use the Authorization Header of the request.

What the client can request with the Access Token, depends on the permissions assigned to it.

Bearer Token

GET https://{baseUrl}/{resource} HTTP/1.1
Authorization: Bearer YOUR-API-TOKEN
Accept: application/json

Get the Token

You can create access tokens in the Api Tokens tab under Settings menu.

Click here for more information about the Api Tokens

Permissions for the Api Tokens can be the same as the permissions assigned to a Member in the project.

The only exception is if you need to make requests to the the features available at the Tenant/Profile level (create projects, edit profile info etc...). In this case you can authenticate an Account and use the its access_token.

Authenticate an Account

If you wish to use the permissions of an Account you need to authenticate it with its credentials to get an access token you can use for the requests.

To autenticate a user you need to use the login endpoint.

Authenticate an Account

GET /admin/login

Request Body

Name
Type
Description

{}*

Object

{
    "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..........",
    "expires_at": 1662346164403,
    "type": "Bearer",
}
//Sample payload
{
   "username": "{username}",
   "password": "{password}"
}

HTTP Errors

The Atlas APIs can generate errors that return to client as HTTP Status. They are generated in the following cases:

Status
Error

400

A malformed request. e.g. Filtering for a Field not available or not filterable

401

Missing token or Authentication failed

403

Forbidden. e.g. Token is authenticated, but without the required privileges for the type of request

404

Resource not found

422

Validation errors. e.g. Post a content with missing required fields or plan limit reached

429

Too many requests

500

Server Error

Errors are returned in Json format as the following:

{
    "code": 400,
    "message": "Operator GT is not allowed for field Code"
}

The message field is the human readable error type.

There are special cases where the base error Json is extendend with other properties to better clarify the error.

This is the case of the HTTP 422. In this situation the Json will contain a failures field with an Array of the validation errors.

{
    "code": 422,
    "message": "Validation Error",
    "errors": [
        {
            "code": "error.field.input.missing_field",
            "message": "Field lastName is missing",
            "propertyName": "lastName"
        },
        {
            "code": "error.field.input.number_range",
            "message": "Value must be between 18 and 100",
            "propertyName": "age"
        }
    ]
}
        

Technical Limitation

Before you embark on your journey with our API for Atlas CMS, it's essential to be aware of the technical limitations that may influence your development process. While our API offers a wide array of functionalities to empower your projects, there are certain constraints and considerations that you should keep in mind to ensure a smooth and efficient integration.

This section of the documentation is dedicated to providing you with a clear understanding of these technical limitations. By familiarizing yourself with these factors upfront, you can plan your implementation effectively and make informed decisions about how to leverage our API to its fullest potential.

In the following pages, we will outline specific technical boundaries, rate limits, data constraints, and other essential information that will guide you in designing robust and reliable solutions while working within the confines of our API. We'll also provide best practices and tips to help you navigate and mitigate these limitations effectively.

Our goal is to empower you to make the most of our API while avoiding potential pitfalls. So, let's get started by exploring the technical limitations that will shape your integration experience with Atlas CMS's API.

The limits may change in order to constantly improve the use of the platform and allow you to do more and more things with Atlas CMS. For this reason, we invite you to return to this section from time to time

Free Plans

Metric
Limit
Detail

Projects

3

Max number of project under the free plan

Content Entries

500

The total number of contents, images, video and files

REST Requests

5

Request second, per project

GraphQL Requests

5

Request second, per project

Models

unlimited

Number of models per each project

Models Fields

100

Max Number of fields in each model

Storage Size

500Mb

Max storage size in GB per each project

Image Size

2Mb

Max size in MB per each image uploaded

File Size

5Mb

Max size in MB per each file uploaded

Video Size

50Mb

Max size in MB per each video file uploaded

To avoid waste of resources and allow best performance, Projects under the Free Plans that have not been accessed via the API or through the use of the Admin Dashbord for more than 60 consecutive days will be deleted

Metric
Limit
Detail

Projects

3

Max number of project under the free plan

Content Entries

based on plan

The total number of contents, images, video and files

REST Requests

10

Request second, per project

GraphQL Requests

10

Request second, per project

Models

unlimited

Number of models per each project

Models Fields

100

Max Number of fields in each model

Storage Size

based on plan

Max storage size in GB per each project

Image Size

based on plan

Max size in MB per each image uploaded

File Size

based on plan

Max size in MB per each file uploaded

Video Size

based on plan

Max size in MB per each video file uploaded

Good to know: If you require higher limits, contact us at support@atlascms.io to talk about the Enterprise Plan capabilities. The Enterprise Plans come with a dedicated infrastructure with the option to customize the limits for your organization.

Last updated