API Authentication

To start using the ActiveCollab API, you need to authenticate and retrieve an API token. This process differs slightly depending on whether your account uses two-factor authentication (2FA) and whether you're on the Cloud or Self-Hosted version.

You can find self-hosted documentation here.

1. Login:

POST https://activecollab.com/api/v1/external/login
{
     "email": {{YOUR_EMAIL}},
     "password": {{YOUR_PASSWORD}}
}

cURL

curl -X POST https://activecollab.com/api/v1/external/login \
     -H "Content-Type: application/json" \
     -d '{
         "email": {{YOUR_EMAIL}},
         "password": {{YOUR_PASSWORD}}
     }'

Response if you are not using 2FA:

{
     "accounts": [...]
     "is_ok": 1,
     "user": {
         ...
         "intent": {{INTENT}}
     }
}


Response if you are using 2FA:

{
     "intent_id": {{INTENT_ID}}
}


If you are using 2FA, send another request with a different body to the same endpoint:

POST https://activecollab.com/api/v1/external/login

{
     "intent_id": {{INTENT_ID}},
     "code": {{AUTH_APP_CODE}}
}

cURL

curl -X POST https://activecollab.com/api/v1/external/login \
     -H "Content-Type: application/json" \
     -d '{
         "intent_id": {{INTENT_ID}},
         "code": {{AUTH_APP_CODE}}
     }'

Response:

{
     "accounts": [...]
     "is_ok": 1,
     "user": {
         ...
         "intent": {{INTENT}}
     }
}


Either if you are using 2FA or not next request will be the same:

POST https://app.activecollab.com/{{YOUR_INSTANCE_ID}}/api/v1/issue-token-intent

{
     "client_name": {{YOUR_APPLICATION_NAME}},
     "client_vendor": {{YOUR_COMPANY_NAME}},
     "intent": {{INTENT}}
}

cURL

curl -X POST https://app.activecollab.com/{{YOUR_INSTANCE_ID}}/api/v1/issue-token-intent \
     -H "Content-Type: application/json" \
     -d '{
         "client_name": {{YOUR_APPLICATION_NAME}},
         "client_vendor": {{<YOUR_COMPANY_NAME>}},
         "intent": {{INTENT}}
     }'

Response:

{
     "is_ok": true,
     "token": {{YOUR_TOKEN}}
}

Now you can try fetching some projects:

GET https://app.activecollab.com/{{YOUR_INSTANCE_ID}}/api/v1/projects

Headers:
X-Angie-AuthApiToken: {{TOKEN}}

cURL

curl -X GET https://app.activecollab.com/1/api/v1/projects \
    -H "X-Angie-AuthApiToken: {{TOKEN}}"

Response:

[
     {
         "id": 1,
         "class": "Project",
         "url_path": "/projects/1",
         "name": "Project",
         ...
     },
     ...
]


Can’t find your answer?

Start Your Free Trial

Enter your email to get 14 days of ActiveCollab absolutely free, without any limitations.


or

By signing up you agree to ActiveCollab's Terms of Service & Privacy Policy.

Great! Just a few seconds, and you're in.

All done! Redirecting you to your account.

Continue

You're only one confirmation away from your new workspace.
Check your email, and see you soon!

We detected you already have an ActiveCollab account.

You can log in to an excisting account or you may start a new one

Sorry, we couldn't create an account for you at this moment.
Please double check your email address. If the issue still persists, please let us know by sending an email to support@activecollab.com


Try Again