Skip to content

Select theme

Overview

Overview

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.

Obtaining Credentials

Generating new API credentials in Civillo is really easy:

  1. Log into Civillo and navigate to https://app.civillo.com/i/user/profile.
  2. Press the create button to generate new credentials.
  3. Your new credentials will appear in a pop-up. Make sure to record your secret somewhere safe, as this is the only time you will be able to view it. The Civillo team do not have access to our users secrets and therefore will not be able to recover them.

In the case that you lose your API credentials, you will have to delete your old key/secret pair and generate a new one.

Rate limiting

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.

Civillo API rate limits

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.

Information

  • OpenAPI version: 3.0.0

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