Projects

Projects allow employees to track time against specific tasks, clients, or cost centers. Each project has a unique code that can be used for quick assignment on devices or via the API. Projects can be organized into categories and assigned to specific employee groups.

The Project Object

  • Name
    id
    Type
    string (UUID)
    Description

    Unique identifier for the project.

  • Name
    archived_at
    Type
    string (ISO 8601) or null
    Description

    Timestamp when the project was archived, or null if active.

  • Name
    name
    Type
    string
    Description

    The project name. Required.

  • Name
    code
    Type
    string
    Description

    A short unique code for the project (used on devices and for quick assignment). Required.

  • Name
    color
    Type
    string
    Description

    Display color for the project.

  • Name
    category_id
    Type
    string (UUID) or null
    Description

    The project category ID.

  • Name
    category_name
    Type
    string
    Description

    The category name. Read-only.

  • Name
    group_assignments
    Type
    array
    Description

    Employee groups that have access to this project. Read-only.

  • Name
    device_assignments
    Type
    array
    Description

    Devices this project is assigned to. Read-only.

  • Name
    locations
    Type
    array
    Description

    GPS locations associated with the project, each with longitude, latitude, max_distance, and address.

  • Name
    value_type
    Type
    string
    Description

    The type of value tracking for this project.

  • Name
    value
    Type
    string
    Description

    The configured value.


GET/api/v2/projects/projects/

List all Projects

Retrieve a paginated list of projects.

Query Parameters

  • Name
    q
    Type
    string
    Description

    Search by project name or code.

  • Name
    codes
    Type
    string
    Description

    Filter by project codes, pipe-separated.

  • Name
    ids
    Type
    string
    Description

    Filter by project IDs, pipe-separated.

  • Name
    group_ids
    Type
    string
    Description

    Filter by assigned employee group IDs, pipe-separated.

  • Name
    category_ids
    Type
    string
    Description

    Filter by category IDs, pipe-separated.

  • Name
    archived
    Type
    string
    Description

    Filter by archive status: true, false (default), or all.

  • Name
    recent
    Type
    integer
    Description

    Return projects used within the last N days.

  • Name
    for-employee
    Type
    string (UUID)
    Description

    Filter projects accessible to a specific employee.

  • Name
    modified_at__gte
    Type
    string (ISO 8601)
    Description

    Return only projects modified after this timestamp.

Request

curl -X GET "https://api.zeitstrom.com/api/v2/projects/projects/?q=website&archived=false" \
  -H "Authorization: Token <YOUR_API_TOKEN>"

Response

{
  "count": 2,
  "results": [
    {
      "id": "1a2b3c4d-5e6f-7890-abcd-ef1234567890",
      "archived_at": null,
      "name": "Website Redesign",
      "code": "WEB-01",
      "color": "#2196F3",
      "category_id": "c1c1c1c1-c2c2-c3c3-c4c4-c5c5c5c5c5c5",
      "category_name": "Development",
      "group_assignments": [],
      "device_assignments": [],
      "locations": [],
      "value_type": "none",
      "value": null
    }
  ]
}

GET/api/v2/projects/projects/:id/

Retrieve a Project

Get details of a specific project.

Request

curl -X GET "https://api.zeitstrom.com/api/v2/projects/projects/1a2b3c4d-5e6f-7890-abcd-ef1234567890/" \
  -H "Authorization: Token <YOUR_API_TOKEN>"

POST/api/v2/projects/projects/

Create a Project

Create a new project.

  • Name
    name
    Type
    string
    Description

    The project name. Required.

  • Name
    code
    Type
    string
    Description

    A short unique code. Required.

  • Name
    color
    Type
    string
    Description

    Display color (hex code).

  • Name
    category_id
    Type
    string (UUID)
    Description

    Assign to a project category.

Request

curl -X POST "https://api.zeitstrom.com/api/v2/projects/projects/" \
  -H "Authorization: Token <YOUR_API_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Mobile App Development",
    "code": "MOB-01",
    "color": "#4CAF50",
    "category_id": "c1c1c1c1-c2c2-c3c3-c4c4-c5c5c5c5c5c5"
  }'

PUT/api/v2/projects/projects/:id/

Update a Project

Update an existing project.

Request

curl -X PUT "https://api.zeitstrom.com/api/v2/projects/projects/1a2b3c4d-5e6f-7890-abcd-ef1234567890/" \
  -H "Authorization: Token <YOUR_API_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Website Redesign v2",
    "code": "WEB-02",
    "color": "#1565C0"
  }'

POST/api/v2/projects/projects/:id/archive/

Archive a Project

Archive a project. Archived projects cannot be assigned to new timespans but historical data is preserved.

Request

curl -X POST "https://api.zeitstrom.com/api/v2/projects/projects/1a2b3c4d-5e6f-7890-abcd-ef1234567890/archive/" \
  -H "Authorization: Token <YOUR_API_TOKEN>"

POST/api/v2/projects/projects/:id/unarchive/

Unarchive a Project

Restore a previously archived project.

Request

curl -X POST "https://api.zeitstrom.com/api/v2/projects/projects/1a2b3c4d-5e6f-7890-abcd-ef1234567890/unarchive/" \
  -H "Authorization: Token <YOUR_API_TOKEN>"

Was this page helpful?