Official Ideonet Application Programming Interface documentation

Introduction

Ideonet provides a simple RESTful web API where each type of resource (e.g. a organization, a user, or a project) has a URI that you can interact with.

For example, if you’d like to use the API to get information about your organization, you’d use the following URI:

http://www.ideonet.pl/api/v1/organizations/1/project/1/tasks?application_token=(...)&user_token=(...)

Notes:

  • All API requests go to http://www.ideonet.pl/api/v1.
  • The /v1 part of the URI is the API version.
  • The /organizations part means that we’re addressing Ideonet’s organizations.
  • The /projects part means that we’re addressing Ideonet’s projects.
  • The /tasks part means that we’re addressing Ideonet’s tasks.
  • The simplest thing you can do with a Ideonet resource URI is GET it. (When using REST API via HTTP, you “read” something by using the HTTP GET method).

Getting an Application and User Token

After sucessful authorization, your Application will be displayed within an iframe with your application url and parameter, for example, this will be the iframe url:

http://www.example.com/ideonet-application?application_token=a415ab5cc17c8c093c015ccdb7e552aee7911aa4&user_token=2800f5b9287c1a1feccbf12076c2348398e7bc08

These keys will be generated on app and user specific basis. Afterwards you need to pass these variables to our api servers, for example:

http://www.ideonet.pl/api/v1/organizations/1/project/1/tasks?application_token=a415ab5cc17c8c093c015ccdb7e552aee7911aa4&user_token=2800f5b9287c1a1feccbf12076c2348398e7bc08

In response, you will get JSON with tasks data.

Resources

Authorizations

Resource Description
GET /api/v1/authorization Download your user details.

Milestones

Resource Description
GET /api/v1/organizations/:organization_id/projects/:project_id/milestones List milestones within project.
GET /api/v1/organizations/:organization_id/projects/:project_id/milestones/:id Show milestone details.
POST /api/v1/organizations/:organization_id/projects/:project_id/milestones Create milestone within project.
PUT /api/v1/organizations/:organization_id/projects/:project_id/milestones/:id Update milestone within project.
DELETE /api/v1/organizations/:organization_id/projects/:project_id/milestones/:id Delete milestone within project.

Notes

Resource Description
GET /api/v1/organizations/:organization_id/projects/:project_id/notes List notes within project.
GET /api/v1/organizations/:organization_id/projects/:project_id/notes/:id Show note details.
POST /api/v1/organizations/:organization_id/projects/:project_id/notes Create note within project.
PUT /api/v1/organizations/:organization_id/projects/:project_id/notes/:id Update note within project.
DELETE /api/v1/organizations/:organization_id/projects/:project_id/notes/:id Delete note within project.

Organizations

Resource Description
GET /api/v1/organizations/:id Download your organization details.

Projects

Resource Description
GET /api/v1/organizations/:organization_id/projects/:project_id List projects within organization.
GET /api/v1/organizations/:organization_id/projects/:id Show project details.
POST /api/v1/organizations/:organization_id/projects Create project within organization.
PUT /api/v1/organizations/:organization_id/projects/:id Update project within organization.
DELETE /api/v1/organizations/:organization_id/projects/:id Delete project within organization.

Tasks

Resource Description
GET /api/v1/organizations/:organization_id/projects/:project_id/tasks List tasks within project.
GET /api/v1/organizations/:organization_id/projects/:project_id/tasks/:id Show task details.
POST /api/v1/organizations/:organization_id/projects/:project_id/tasks Create task within project.
PUT /api/v1/organizations/:organization_id/projects/:project_id/tasks/:id Update task within project.
DELETE /api/v1/organizations/:organization_id/projects/:project_id/tasks/:id Delete task within project.

Time entries

Resource Description
GET /api/v1/organizations/:organization_id/projects/:project_id/time_entries List time entries within project.
GET /api/v1/organizations/:organization_id/projects/:project_id/time_entries/:id Show time entry details.
POST /api/v1/organizations/:organization_id/projects/:project_id/time_entries Create time entry within project.
PUT /api/v1/organizations/:organization_id/projects/:project_id/time_entries/:id Update time entry within project.
DELETE /api/v1/organizations/:organization_id/projects/:project_id/time_entries/:id Delete time entry within project.