Codebase API Documentation

Projects

A project is a core part of your Codebase account. Each project can contain repositories, tickets, milestones, wikis and many other objects. Projects are referenced throughout the application by their permalink which can be found in the XML responses below.

API URLs

You an use any of the API urls below to retrieve information about projects.

Data Method URL
All projects GET /projects
Specific project GET /project
Create Project POST /create_project
Update Project PUT /project/project_id
Delete Project DELETE /project

Object Properties

The XML output below shows the properties which are returned by default when accessing project details.

GET /project

<project>
  <group-id type="integer" nil="true"></group-id>
  <icon type="integer">1</icon>
  <name>Codebase</name>
  <account-name>aTech Media</account-name>
  <overview></overview>
  <permalink>codebase</permalink>
  <start-page>overview</start-page>
  <status>active</status>
  <total-tickets>100</total-tickets>
  <open-tickets>36</open-tickets>
  <closed-tickets>64</closed-tickets>
</project>
  • name contains the project's name as entered
  • account-name is the project's account name
  • permalink is the permalink for the project
  • group-id contains the name of the project group. See project groups for more details.
  • overview contains the text entered as an overview for this project
  • start-page is the default page which is opened in the web interface, can be one of the following: overview, repositories, tickets, milestones, notebook or files
  • status will either be active, on_hold or archived depending on it's status. Active and on hold projects will count towards your project limits.
  • icon is a number between 1 and 84 which references which icon this project has been assigned. You can view icons at any of the URLs below:
    • http://codebasehq.com/assets/icons/projects/{number}.png - 16x16 icon (colour)

Creating a Project

Simply send a payload containing the name to /create_project:

POST /create_project

<project>
  <name>My new project</name>
</project>

PUT /project/project_id

Simply send a payload containing any of the above params

<project>
  <name>My updated project name</name>
  <permalink>codebase</permalink>
  <status>active</status>
</project>