Intervals API Resource:

project

The base URL for this resource is located at
https://api.myintervals.com/project/

Collection

Allowed HTTP Methods
MethodGroup Access
GETAdministrator, Manager, Resource, Executive
Allowed Filters
Filter NameRequired?ExpectsDefaultDescription
localid no integer1 Restricts the list based on a project's "localid," which is the number that appears associated with the project in the Intervals application.
clientid no integer1 Limits the list to projects belonging to the client whose ID was passed. Passing a value of -1 returns projects that do not belong to any client.
managerid no integer1 Limits the list to projects managed by the person whose ID was passed. Passing a value of -1 returns projects that do not have any manager.
labelid no integer1 Limits the list to projects having this label.
name no string Limits the list to projects with name matching the search string.
datestart no date Limits the list to projects beginning on this date.
datestartbegin no date Limits the list to projects starting on or after the date passed.
datestartend no date Limits the list to projects starting on or before the date passed.
dateend no date Limits the list to projects ending on this date.
dateendbegin no date Limits the list to projects ending on or after the date passed.
dateendend no date Limits the list to projects ending on or before the date passed.
search no string Limits the list to projects that match the search string. Searches name, description and client and localid.
active no boolean Limits the list to active or inactive projects only.
billable no boolean Limits the list to billable or unbillable projects only.
personid no integer Limits the list to only projects to which the person ID has access.
sortfield no string Sort the list by any of the following fields: id, localid, clientid, managerid, name, datestart, dateend, billable, labelid, label (sorted by labels alphabeticaly), and label_order (sorted by label order in Settings & Defaults).
sortdir no string Sets the sort direction of the returned list. Must be either "ASC" or "DESC".
offset no integer Return projects starting from the nth project.
limit no integer 10 Sets a limit to the amount of projects returned in the response.

1 Indicates that multiple values are allowed, in CSV format (e.g. "3,5,11,19").
2 This field accepts HTML, but certain HTML elements may be stripped out.

Examples

To retrieve the entire list of this resource:

GET /project/

To filter the list based on certain parameters:

GET /project/?managerid={value}

Note: You can string together multiple filters.

Member

Allowed HTTP Methods
MethodGroup Access
GETAdministrator, Manager, Resource, Executive
DELETEAdministrator
POSTAdministrator
PUTAdministrator
Settable Fields for PUT and POST Requests
Field NameRequired?ExpectsDefaultDescription
clientid no integer The ID of the client this project belongs to.
managerid no integer The ID of the person who is manager of this project. Only administrator and manager user levels can be project managers. You can submit multiple managers in the form of comma separated integers (e.g. '22,334,222').
labelid no integer The ID of the label for this project.
name yes string (255) The name of this project.
description no html A short description of the project.
datestart yes date The start date of the project.
dateend no date The end date of the project.
budget no double The project budget.
billable yes boolean t Whether this project is billable or unbillable. This value becomes the default value for time submitted for this project.
active yes boolean t Whether the project is active or not. Certain plans have a limited number of active accounts available.
alert_percent no double Setting this value will send an alert to the project manager when a certain percentage of the budget is reached.

string (xxx) indicates a string with a maximum length of xxx characters.

Response Fields

The fields below are returned in GET responses. Boolean values are "t" / "f" strings. Numeric IDs and floats are returned as strings. Nullable fields may be JSON null.

Response Fields
Field NameNullableDescription
id no Unique identifier for the project
name no Project name
description yes Project description (may contain HTML) (Admin/Manager only)
datestart no Project start date (YYYY-MM-DD)
dateend yes Project end date (YYYY-MM-DD)
alert_percent no Budget alert threshold as a percentage (0 when not set or disabled) (Admin/Manager only)
alert_date yes Date when a budget or schedule alert applies (empty when not set) (Admin/Manager only)
active no Whether the project is active ("t") or inactive ("f")
billable no Whether the project is billable ("t") or unbillable ("f")
budget yes Project budget (hours or currency depending on account settings) (Admin/Manager only)
clientid yes ID of the associated client (empty when the project has no client)
client yes Name of the associated client (empty when none)
clientlocalid yes Client local ID when a client is assigned (empty otherwise)
labelid yes ID of the project label (empty when unlabeled)
label yes Project label name (empty when unlabeled)
labelcolor yes Label color as stored for display (e.g. hex; empty when no label)
label_order yes Sort order for the label within the account (empty when no label)
localidunpadded no Numeric project local ID without leading-zero padding
localid no Human-readable local ID shown in the Project app UI (zero-padded)
manager yes Full name of the project manager (primary or first listed) (Visibility may vary by role)
managerid yes ID of the project manager (API may accept multiple managers on write; response reflects assigned manager) (Admin/Manager focused; write supports CSV of person IDs per OpenAPI)

When retrieving a collection (GET /project/), the response envelope includes: personid (authenticated user's ID), status ("OK"), code (200), listcount (total matching records before limit/offset), and project (array of result objects). Defaults, no cap on limit, and how to paginate using listcount are described in the API Introduction (Pagination).

Examples

To retrieve one member resource:

GET /project/{id}/

Assuming no errors, the server will respond with 200 OK and the object requested.

To delete a particular member resource:

DELETE /project/{id}/

Assuming no errors, the server will respond with 200 OK.

To create a new member resource:

POST /project/
{
    "name": value,
    "datestart": value,
    "billable": value,
    "active": value
}

Assuming no errors, the server will respond with 201 Created and the newly-created element. This will allow you to get the id of the item you just created and verify the field values. Note: Only required fields were listed here. The entire list of possible fields is above.

To update a member resource:

PUT /project/{id}/
{
    "datestart": value,
    "billable": value
}

Assuming no errors, the server will respond with 202 Accepted and the entire element. This will allow you to verify the field values.

Start tracking time today

Join 5,000+ companies spending their time wisely with Intervals.

Try Intervals free