Teamwork

Links

    Teamwork API

    Getting access, Developing, Testing

    Back to Teamwork

    Get project summary dashboard

    Retrieves the summary from a specific project, returning counters about tasks, milestones, columns, events, risks, timers, projects healths.

    On this endpoint you can filter by project custom fields. The syntax for the query parameter is the following:

    projectCustomField[id][op]=value
    

    Where:

    • [id] is the custom field ID
    • [op] is the operator to apply when filtering, different operators are allowed according to the custom field type
    • [value] is the value to apply when filtering

    For example, if I want to filter a dropdown custom field with ID 10 to only return entries that have the value "Option1" we would do the following:

    projectCustomField[10][eq]=Option1
    

    The allowed operators are:

    • like
    • not-like
    • eq
    • not
    • lt
    • gt
    • any

    Input

    type: object properties: parameters: type: object properties: until: type: string enum: - now - timeRange description: used to limit the since counters to a specific period timeRangeStart: type: string format: date-time description: filter by start datetime timeRangeEnd: type: string format: date-time description: filter by end datetime timeRange: type: string enum: - yesterday - today - thisweek - lastweek - thismonth - lastmonth - last3months - last6months description: >- filter by time range. It will be ignored if timeRangeStart and timeRangeEnd were informed. status: type: string enum: - active - current - late - upcoming - completed - deleted description: project status (deprecated, use projectStatuses) projectStatus: type: string enum: - active - current - late - upcoming - completed - deleted description: project status projectId: type: integer eventsDaysAhead: type: integer default: '7' description: number of days remaining to event's start useStartDatesForTodaysTasks: type: boolean description: enforce today is considered as start date for today's tasks unreadMessagesMineOnly: type: boolean description: filter by my unread messages only unreadCommentsMineOnly: type: boolean description: filter by my unread comments only onlyStarredProjects: type: boolean description: filter by starred projects only onlyProjectEvents: type: boolean description: filter only project events matchAllTags: type: boolean description: >- enforce all tag ids must be matched (deprecated, use matchAllProjectTags) matchAllProjectTags: type: boolean description: enforce all tag ids must be matched includeAssigneeTeams: type: boolean description: include teams related to the taskAssigneeUserIds includeArchivedProjects: type: boolean description: include archived projects eventsAttendingOnly: type: boolean description: count only events that the users are attending applyTaskAssigneeUsersToSince: type: boolean description: >- the since section will only use taskAssigneeUserIds if this flag is true (keeps backward compatibility) applySinceOnUnread: type: boolean default: 'false' description: when enabled unread counters will respect the time range period. userIds: type: array items: type: integer description: filter by user ids timeLoggedByUserIds: type: array items: type: integer description: filter by user ids who time logged taskAssigneeUserIds: type: array items: type: integer description: filter by user ids with tasks assigned projectTagIds: type: array items: type: integer description: filter by project tag ids projectStatuses: type: array items: enum: - active - current - late - upcoming - completed - deleted type: string description: project statuses projectOwnerIds: type: array items: type: integer description: filter by project owner ids projectIds: type: array items: type: integer description: filter by project ids projectHealths: type: array items: enum: - '0' - '1' - '2' - '3' type: integer description: |- project healths 0: not set 1: bad 2: ok 3: good projectHealth: type: array items: enum: - '0' - '1' - '2' - '3' type: integer description: |- project health (deprecated, use projectHealths) 0: not set 1: bad 2: ok 3: good projectCompanyIds: type: array items: type: integer description: filter by company ids projectCategoryIds: type: array items: type: integer description: filter by project category ids milestoneAssigneeUserIds: type: array items: type: integer description: filter by user ids with milestones assigned health: type: array items: enum: - '0' - '1' - '2' - '3' type: integer description: |- project healths (deprecated, use projectHealths) 0: not set 1: bad 2: ok 3: good filterTagIds: type: array items: type: integer description: filter by project tag ids (deprecated, use projectTagIds) fields[unread]: type: array items: enum: - comments - messages type: string fields[time]: type: array items: enum: - mine - all type: string fields[tasks]: type: array items: enum: - everyone - mine type: string description: sparse fields fields[since]: type: array items: enum: - tasksComplete - tasksCreated - events - dateTime type: string fields[risks]: type: array items: enum: - total - open - pending - closed type: string fields[milestones]: type: array items: enum: - everyone - mine type: string fields[health]: type: array items: enum: - '0' - '1' - '2' - '3' type: string description: |- 0: not set 1: bad 2: ok 3: good fields[events]: type: array items: enum: - today - upcoming type: string fields[columns]: type: array items: enum: - count - data type: string companyIds: type: array items: type: integer description: filter by company ids (deprecated, use projectCompanyIds) assigneeUserIds: type: array items: type: integer description: filter by user ids with tasks or milestones assigned required: - projectId title: Parameters

    Output

    type: object title: ProjectResponse properties: columns: type: object title: ColumnResponse properties: count: type: integer data: type: array items: type: object title: ColumnDataResponse properties: cards: type: object title: ColumnCardResponse properties: active: type: integer archived: type: integer completed: type: integer count: type: integer color: type: string estimatedTime: type: object title: ColumnEstimatedResponse properties: active: type: integer archived: type: integer completed: type: integer total: type: integer id: type: integer name: type: string events: type: object title: EventResponse properties: today: type: integer upcoming: type: integer health: type: object title: HealthResponse properties: '0': type: integer '1': type: integer '2': type: integer '3': type: integer milestones: type: object title: MilestoneResponse properties: everyone: type: object title: MilestoneCountsResponse properties: active: type: integer complete: type: integer late: type: integer today: type: integer upcoming: type: integer mine: type: object title: MilestoneCountsResponse properties: active: type: integer complete: type: integer late: type: integer today: type: integer upcoming: type: integer risks: type: object title: RiskResponse properties: closed: type: integer open: type: integer pending: type: integer total: type: integer since: type: object title: SinceResponse properties: dateTime: type: string events: type: integer tasksComplete: type: integer tasksCreated: type: integer tasks: type: object title: ProjectTasksResponse properties: everyone: type: object title: TaskResponse properties: active: type: integer complete: type: integer late: type: integer nodate: type: integer started: type: integer today: type: integer upcoming: type: integer mine: type: object title: TaskResponse properties: active: type: integer complete: type: integer late: type: integer nodate: type: integer started: type: integer today: type: integer upcoming: type: integer user: type: object title: TaskResponse properties: active: type: integer complete: type: integer late: type: integer nodate: type: integer started: type: integer today: type: integer upcoming: type: integer time: type: object title: TimeResponse properties: all: type: object title: TimeCounterResponse properties: estimates: type: object title: TimeCounterEstimateResponse properties: activeMinsEstimated: type: integer completedMinsEstimated: type: integer totalMinsEstimated: type: integer totalWithTimeLoggedEstimatedMins: type: integer totals: type: object title: TimeCounterTotalResponse properties: billableMinsSum: type: integer billedMinsSum: type: integer nonBillableMinsSum: type: integer nonBilledMinsSum: type: integer totalMinsSum: type: integer mine: type: object title: TimeCounterResponse properties: estimates: type: object title: TimeCounterEstimateResponse properties: activeMinsEstimated: type: integer completedMinsEstimated: type: integer totalMinsEstimated: type: integer totalWithTimeLoggedEstimatedMins: type: integer totals: type: object title: TimeCounterTotalResponse properties: billableMinsSum: type: integer billedMinsSum: type: integer nonBillableMinsSum: type: integer nonBilledMinsSum: type: integer totalMinsSum: type: integer unread: type: object title: UnreadResponse properties: comments: type: integer messages: type: integer