Information
- OpenAPI version:
3.0.0
Civillo exposes a RESTful API for developers to build their own integrations. Our APIs are designed to enable teams build robust integrations that help them customize and get the most value out of Civillo.
All users are able to generate a APIKey/Secret pair within their organization, and use this to query the Civillo database.
Generating new API credentials in Civillo is really easy:
In the case that you lose your API credentials, you will have to delete your old key/secret pair and generate a new one.
A rate limit is simply a limit on the number of times a client can make a request to the API in a given period of time. This helps maintain a balanced load on our servers, and prevents people misusing the API.
In the event you exceed the rate limit you will simply receive a 429 Too Many Requests response from our servers, along with a message
detailing which specific limit was surpassed. You will have to wait for that period of time to elapse before you can start making requests again.
| Time frame | Max number of requests |
|---|---|
| Per second | 1 |
| Per minute | 30 |
| Per hour | 1800 |
| Per day | 12000 |
Civillo exposes a RESTful API for developers to build their own integrations. Our APIs are designed to enable teams build robust integrations that help them customize and get the most value out of Civillo.
Explore some common Civillo API workflows here.
This API uses Bearer Token for authentication. To authenticate, you must provide an Authorization header with a bearer token.
The bearer token is created by base64 encoding your API key and secret in the following format:
Authorization: Bearer base64_encode("${YOUR_API_KEY}:${YOUR_API_SECRET}")
This bearer token can be used like this to make API calls to Civillo:
// Fetch all the civillo organizations you have access to
const result = await fetch("https://app.civillo.com/api/v1/organizations",
{
method: "GET",
headers: { 'Authorization': 'Bearer ' + base64EncodedToken }
}
);
The above API call should return a response that looks something like this:
[
{
"name": "My organization",
"nickname": "my-org"
}
]
Using this nickname value, you can start building requests that query data specific to that organization. For example:
const result = await fetch("https://app.civillo.com/api/v1/my-org/projects",
{
method: "GET",
headers: { 'Authorization': 'Bearer ' + base64EncodedToken }
}
);
Result:
[
{
"id": 1,
"name": "Default Project"
},
{
"id": 2,
"name": "Second Project"
},
{
"id": 3,
"name": "Another Project"
}
]
Security scheme type: http