FAQ
Frequently Asked Questions
Getting started
- How can I get my authentication token and start making calls to the API?
- Can I run tests or send test calls to the API before starting to code?
- How do I create a task?
- Can I get a test access token?
Working with Redbooth’s API
- Can I create new projects using the API? How should I do it?
- How do I create a new task list in an existing project?
- How do I delete elements from an account?
Integrations
- How do I start to build an integration?
- How do I setup the Zendesk integration?
- Can I create my own integrations?
Advanced Questions
- How can I calculate the time spent in a task, a task list or a project?
- Do you have a sample Ruby application built on top of Redbooth’s API?
- Do you provide a ruby authentication strategy?
How can I get my authentication token and start making calls to the API?
In order to get your authentication token you will have to get authenticated via OAuth. This is the schema that you app will need to follow:
If you want to know more about the authentication process check our Authentication page.
Can I run tests or send test calls to the API before starting to code?
With the console you will be able to explore how the API works, which are the parameters to be used in each endpoint and how easy is to interact with your data!
How do I create a task?
Here’s a an example of how do you create a task using curl:
curl -X POST -H 'Content-type: application/json' -H 'Authorization: Bearer Authorisation_Token' -d '{"name":"Example title","project_id":"1279593","task_list_id":"2561486"}' -v https://redbooth.com/api/3/tasks
Notice that the parameters: project_id, task_list_id and name are required. If everything went fine you should get a message like this one:
< HTTP/1.1 201 Created
< Cache-Control: max-age=0, private, must-revalidate
< Content-Type: application/json; charset=utf-8
< Date: Mon, 06 Oct 2014 10:01:08 GMT
< ETag: "c9cef44e8ea47b2993a0a4f1c234d7a7"
* Server nginx is not blacklisted
< Server: nginx
< Status: 201 Created
< X-Rack-Cache: invalidate, pass
< X-Request-Id: e209be24c6cfa7c2e94edae1270ee04f
< X-Runtime: 0.142658
< X-UA-Compatible: IE=Edge,chrome=1
< Content-Length: 558
< Connection: keep-alive
<
* Connection #0 to host redbooth.com left intact
{
"type":"Task",
"created_at":1412589668,
"updated_at":1412589668,
"id":14914563,
"name":"Example title",
"task_list_id":2561486,
"comments_count":0,
"assigned_id":null,
"is_private":false,
"project_id":1279593,
"urgent":false,
"user_id":688561,
"position":13,
"last_activity_id":null,
"record_conversion_type":null,
"record_conversion_id":null,
"metadata":{},
"subtasks_count":0,
"resolved_subtasks_count":0,
"watcher_ids":[688561],
"description":null,
"description_html":"",
"description_updated_by_user_id":null,
"updated_by_id":null,
"deleted":false,
"status":"new",
"due_on":null
}
Can I get a test access token?
You can use the console to get a temporary access token and make your curl tests from the terminal of your computer or run your app before implementing the authentication. You only need to get authenticated, run a test query and copy the token from the console:
Can I create new projects using the API? How should I do it?
Of course, in order to create a new project you will only have to make a POST call to the API with an organization id and a name. If you do it with curl it should look like this:
curl -X POST -H 'Content-type: application/json' -H 'Authorization: Bearer Authorisation_Token' -d '{"name":"Example title","organization_id":"1279593"}' -v https://redbooth.com/api/3/projects
And this is the answer you can expect:
< HTTP/1.1 201 Created
< Cache-Control: max-age=0, private, must-revalidate
< Content-Type: application/json; charset=utf-8
< Date: Mon, 06 Oct 2014 15:27:30 GMT
< ETag: "fa158864e26414728a6559b290d0cf71"
* Server nginx is not blacklisted
< Server: nginx
< Status: 201 Created
< X-Rack-Cache: invalidate, pass
< X-Request-Id: 922a18192bcb6ce8245f050cddfa9b85
< X-Runtime: 0.778743
< X-UA-Compatible: IE=Edge,chrome=1
< Content-Length: 367
< Connection: keep-alive
<
* Connection #0 to host redbooth.com left intact
{
"type":"Project",
"created_at":1412609249,
"updated_at":1412609249,
"id":1297838,
"permalink":"test-organization-for-the-platform-portal",
"organization_id":404980,
"archived":false,
"name":"Test Project for The Platform Portal",
"description":null,
"start_date":null,
"end_date":null,
"tracks_time":false,
"public":null,
"publish_pages":false,
"settings":{},
"deleted":false
}
How do I create a new task list in an existing project?
In order to create a new task list in an existing project you will have to make a POST call to the task_lists endpoint. Here’s an example:
curl -X POST -H 'Content-type: application/json' -H 'Authorization: Bearer Authorisation_Token' -d '{"name":"Test Task List for The Platform Portal","project_id":"1279593"}' -v https://redbooth.com/api/3/task_lists
*Remember to name your task_list and to write the id of the project in which you want to post it!
If everything went fine, you will get a message like this one:
< HTTP/1.1 201 Created
< Cache-Control: max-age=0, private, must-revalidate
< Content-Type: application/json; charset=utf-8
< Date: Mon, 06 Oct 2014 15:52:27 GMT
< ETag: "3d6827859ebd50847c279139cc6771f6"
* Server nginx is not blacklisted
< Server: nginx
< Status: 201 Created
< X-Rack-Cache: invalidate, pass
< X-Request-Id: 44ea61da33889f5368b13bb9587a66ad
< X-Runtime: 0.116755
< X-UA-Compatible: IE=Edge,chrome=1
< Content-Length: 364
< Connection: keep-alive
<
* Connection #0 to host redbooth.com left intact
{
"type":"TaskList",
"created_at":1412610747,
"updated_at":1412610747,
"id":2581579,
"name":"Test Task List for The Platform Portal",
"project_id":1279593,
"user_id":688561,
"start_on":null,
"finish_on":null,
"position":2,
"archived":false,
"archived_tasks_count":0,
"tasks_count":0,
"last_comment_id":null,
"updated_by_id":null,
"metadata":{},
"deleted":false,
"completed_at":null
}
How do I delete elements from an account?
If you want to delete elements from an account you will have to use the DELETE verb of the endpoint in which you want to do it. Be careful! With the API you won’t have the security messages that you normally see in the web app or other devices. If you delete a project you won’t be asked if you’re sure about it.
Check this example:
curl -X DELETE -H 'Authorization: Bearer ec97fb5d370a85973058b423bd5c43f444565d7f12cb55944d2e212221ed8ad4' -v https://redbooth.com/api/3/projects/1297895
Notice that you only need to write the element’s id in the url.
How do I start to build an integration?
When you start to build your own integration, the first thing to do is to isolate the actions that your integration will be able to do. Let’s see an example:
We want to create an app that enables us to create tasks in Redbooth from another platform and keep track of their status on both platforms. This app should be able to do four actions: create, get, update and delete tasks.
The second step would be checking which endpoints of both platforms are concerned. If we focus on the Redbooth side, in this case we should use the tasks endpoint and its four verbs: post, get, put, delete. The console is the best place to do some tests.
On the other hand, we would probably benefit form another feature of the API: Web Hooks.
How do I setup the Zendesk integration?
In this article from our Help Center you will learn to setup the Zendesk integration step by step.
Can I create my own integrations?
One of the purposes of the Platform Portal is to enable Redbooth’s users to adapt their collaboration platform to the needs they meet on their day to day. You can create your own integrations via an integration provider or coding them! Check the code snippets.
How can I calculate the time spent in a task, a task list or a project?
Time tracking is always related to comments.
In order to know the time that we have spent in a task, task list or project, we will have to get all the comments of the task, tasks of the task list or tasks of the project. The same thing will happen if we want to get the time that a specific user invested in a specific project or task list, or during a determined period of time.
We will always have to get the tasks filtered customly and then the comments of those tasks.
This is how the tracked time looks in a JSON:
Does Redbooth’s Platform Portal have a FAQ section?
Yes, you’re welcomed. If you didn’t find what you were looking for you can check our Help Center.
Do you have a sample Ruby application built on top of Redbooth’s API?
Yes, we invite you to take a look at the Redbooth punch card.
Do you provide a ruby authentication strategy?
Yes! Here’s the redbooth-ominauth: https://github.com/teambox/omniauth-redbooth/tree/master/lib.
If you are working on a ruby application, we recommend you add the redbooth-omniauth gem to your gemfile. Working with OAuth2 had never been easier?.
Does Redbooth’s Platform Portal have a FAQ section?
Yes, you’re welcomed. If you didn’t find what you were looking for you can check our Help Center.