Teamwork API V3

Project management and collaboration platform

developer.teamwork.com ↗
Version
3.0
OpenAPI
3.0.0
Endpoints
188
Schemas
296
88
Quality
Updated
3 days ago
Project management project-management collaboration
Use this API in your AI agent

Query structured spec data via REST or MCP. Get exactly what your agent needs.

Get API Key

Server URLs

https://{site_name}.teamwork.com

Endpoints

Clear filters

Activity 2 endpoints

DELETE /projects/api/v3/activity/{activityLogId}
operationId: Activity_deleteActivityItem

Parameters

Name In Required Type Description
activityLogId path required integer

Responses

204

204 No Content (no data)

400

400 Bad Request

403

403 Forbidden

404

404 Not Found (no data)

DELETE /projects/api/v3/activity/{activityLogId}
DELETE /projects/api/v3/projects/{projectId}/activity
operationId: Activity_deleteProjectActivityLog

Parameters

Name In Required Type Description
projectId path required integer

Responses

204

204 No Content (no data)

400

400 Bad Request

403

403 Forbidden

404

404 Not Found (no data)

DELETE /projects/api/v3/projects/{projectId}/activity

Budgets 1 endpoints

DELETE /projects/api/v3/budget/notifications/{notificationId}.json
operationId: Budgets_deleteNotification

Parameters

Name In Required Type Description
notificationId path required integer

Responses

204

204 No Content (no data)

400

400 Bad Request

403

403 Forbidden

404

404 Not Found (no data)

DELETE /projects/api/v3/budget/notifications/{notificationId}.json

Companies 1 endpoints

DELETE /projects/api/v3/companies/{companyId}.json

Delete a company.

operationId: Companies_deleteExistingCompany

Parameters

Name In Required Type Description
companyId path required integer

Responses

204

204 No Content (no data)

400

400 Bad Request

403

403 Forbidden

404

404 Not Found (no data)

DELETE /projects/api/v3/companies/{companyId}.json

Customfields 4 endpoints

DELETE /projects/api/v3/companies/{companyId}/customfields/{customFieldId}.json

Removes a company custom field value.

operationId: CustomFields_deleteCompanyCustomFieldValue

Parameters

Name In Required Type Description
customFieldId path required integer
companyId path required integer

Responses

204

204 No Content (no data)

400

400 Bad Request

403

403 Forbidden

404

404 Not Found (no data)

DELETE /projects/api/v3/companies/{companyId}/customfields/{customFieldId}.json
DELETE /projects/api/v3/customfields/{customFieldId}.json

Removes a custom field.

operationId: CustomFields_deleteField

Parameters

Name In Required Type Description
customFieldId path required integer

Responses

204

204 No Content (no data)

400

400 Bad Request

403

403 Forbidden

404

404 Not Found (no data)

DELETE /projects/api/v3/customfields/{customFieldId}.json
DELETE /projects/api/v3/projects/{projectId}/customfields/{customFieldId}.json

Removes a project custom field value.

operationId: CustomFields_deleteExistingValue

Parameters

Name In Required Type Description
projectId path required integer
customFieldId path required integer

Responses

204

204 No Content (no data)

400

400 Bad Request

403

403 Forbidden

404

404 Not Found (no data)

DELETE /projects/api/v3/projects/{projectId}/customfields/{customFieldId}.json
DELETE /projects/api/v3/tasks/{taskId}/customfields/{customFieldId}.json

Removes a task custom field value.

operationId: CustomFields_deleteTaskCustomFieldValue

Parameters

Name In Required Type Description
taskId path required integer
customFieldId path required integer

Responses

204

204 No Content (no data)

400

400 Bad Request

403

403 Forbidden

404

404 Not Found (no data)

DELETE /projects/api/v3/tasks/{taskId}/customfields/{customFieldId}.json

Forms 1 endpoints

DELETE /projects/api/v3/forms/{formId}.json
operationId: Forms_deleteExistingForm

Parameters

Name In Required Type Description
formId path required integer

Responses

204

204 No Content (no data)

403

403 Forbidden

404

404 Not Found (no data)

DELETE /projects/api/v3/forms/{formId}.json

Notebooks 2 endpoints

DELETE /projects/api/v3/notebooks/{notebookId}.json
operationId: Notebooks_deleteExistingNotebook

Parameters

Name In Required Type Description
notebookId path required integer

Responses

204

204 No Content (no data)

400

400 Bad Request

403

403 Forbidden

404

404 Not Found (no data)

DELETE /projects/api/v3/notebooks/{notebookId}.json
DELETE /projects/api/v3/notebooks/{notebookId}/versions.json

Deletes some existing versions of a notebook by version ID.

operationId: Notebooks_deleteVersions

Parameters

Name In Required Type Description
notebookId path required integer

Responses

204

204 No Content (no data)

400

400 Bad Request

403

403 Forbidden

404

404 Not Found (no data)

DELETE /projects/api/v3/notebooks/{notebookId}/versions.json

People 1 endpoints

DELETE /projects/api/v3/people/{personId}.json

Delete a person.

operationId: People_deletePerson

Parameters

Name In Required Type Description
personId path required integer

Responses

204

204 No Content (no data)

400

400 Bad Request

403

403 Forbidden

404

404 Not Found (no data)

DELETE /projects/api/v3/people/{personId}.json

Tags 1 endpoints

DELETE /projects/api/v3/tags/{tagId}.json

Removes a tag. If there’s no tag with the given ID the status code 409
(CONFLICT) will be returned.

operationId: Tags_removeTag

Parameters

Name In Required Type Description
tagId path required integer

Responses

204

204 No Content (no data)

400

400 Bad Request

403

403 Forbidden

404

404 Not Found (no data)

DELETE /projects/api/v3/tags/{tagId}.json

Tasklists 1 endpoints

DELETE /projects/api/v3/tasklists/{tasklistId}.json
operationId: Tasklists_deleteTasklist

Parameters

Name In Required Type Description
tasklistId path required integer

Responses

204

204 No Content (no data)

400

400 Bad Request

403

403 Forbidden

404

404 Not Found (no data)

DELETE /projects/api/v3/tasklists/{tasklistId}.json

Tasks 1 endpoints

DELETE /projects/api/v3/tasks/{taskId}.json

Delete a task and its subtasks.

operationId: Tasks_deleteTask

Parameters

Name In Required Type Description
taskId path required integer

Responses

204

204 No Content (no data)

400

400 Bad Request

403

403 Forbidden

404

404 Not Found (no data)

DELETE /projects/api/v3/tasks/{taskId}.json

Timetracking 2 endpoints

DELETE /projects/api/v3/me/timers/{timerId}.json

Delete an existing timer.

operationId: TimeTracking_deleteTimerById

Parameters

Name In Required Type Description
timerId path required integer

Request Body

required
application/json
schema timer.DeleteRequest
Property Type Required
hardDelete boolean optional

Responses

204

204 No Content (no data)

400

400 Bad Request

403

403 Forbidden

404

404 Not Found (no data)

DELETE /projects/api/v3/me/timers/{timerId}.json
DELETE /projects/api/v3/time/{timelogId}.json

Delete a timelog.

operationId: TimeTracking_deleteTimelog

Parameters

Name In Required Type Description
timelogId path required integer

Responses

204

204 No Content (no data)

400

400 Bad Request

403

403 Forbidden

404

404 Not Found (no data)

DELETE /projects/api/v3/time/{timelogId}.json

Schemas

object active.ProjectMetricActive
{
  "type": "object",
  "title": "ProjectMetricActive",
  "properties": {
    "value": {
      "type": "integer"
    }
  },
  "description": "ProjectMetricActive contains all the information returned from a active."
}
object active.Response
{
  "type": "object",
  "title": "Response",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/active.ProjectMetricActive"
    }
  },
  "description": "Response contains information about a specific active."
}
object activity.ActivitiesResponse
{
  "type": "object",
  "title": "ActivitiesResponse",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "included": {
      "type": "object",
      "properties": {
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        },
        "projects": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.ProjectV205"
          }
        },
        "companies": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Company"
          }
        }
      }
    },
    "activities": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/activity.Activity"
      }
    }
  },
  "description": "ActivitiesResponse contains all the information returned when sending a GET\nrequest to the activity endpoint."
}
object activity.Activity
{
  "type": "object",
  "title": "Activity",
  "properties": {
    "id": {
      "type": "integer"
    },
    "item": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "link": {
      "type": "string"
    },
    "type": {
      "type": "string"
    },
    "user": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "itemId": {
      "type": "integer"
    },
    "userId": {
      "type": "integer"
    },
    "company": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "dueDate": {
      "type": "string"
    },
    "forUser": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "project": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "dateTime": {
      "type": "string"
    },
    "itemLink": {
      "type": "string"
    },
    "lockdown": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "companyId": {
      "type": "integer"
    },
    "forUserId": {
      "type": "integer"
    },
    "isPrivate": {
      "type": "integer"
    },
    "projectId": {
      "type": "integer"
    },
    "lockdownId": {
      "type": "integer"
    },
    "publicInfo": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "forUserName": {
      "type": "string"
    },
    "activityType": {
      "type": "string"
    },
    "extraDescription": {
      "type": "string"
    },
    "latestActivityType": {
      "type": "string"
    }
  },
  "description": "Activity represents a view of activity."
}
object billable.ProjectMetricBillable
{
  "type": "object",
  "title": "ProjectMetricBillable",
  "properties": {
    "name": {
      "type": "string"
    },
    "value": {
      "type": "integer"
    }
  },
  "description": "ProjectMetricBillable contains all the information returned from a billable."
}
object billable.ProjectMetricBillablesResponse
{
  "type": "object",
  "title": "ProjectMetricBillablesResponse",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/billable.ProjectMetricBillable"
      }
    }
  },
  "description": "ProjectMetricBillablesResponse contains information about a group of billables."
}
object category.CategoriesResponse
{
  "type": "object",
  "title": "CategoriesResponse",
  "properties": {
    "projectCategories": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.ProjectCategory"
      }
    },
    "projectCategoryTotals": {
      "$ref": "#/components/schemas/view.CategoryTotals"
    }
  },
  "description": "CategoriesResponse contains information about a group of categories."
}
object comment.CommentsResponse
{
  "type": "object",
  "title": "CommentsResponse",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "comments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/comment.FullComment"
      }
    },
    "included": {
      "type": "object",
      "properties": {
        "files": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.ProjectFileV205"
          }
        },
        "links": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.LinkItem"
          }
        },
        "tasks": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.TaskV205"
          }
        },
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        },
        "projects": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.ProjectV205"
          }
        },
        "companies": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Company"
          }
        },
        "notebooks": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Notebook"
          }
        },
        "milestones": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Milestone"
          }
        },
        "fileversions": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.FileversionV205"
          }
        }
      }
    }
  },
  "description": "CommentsResponse contains information about a group of comments."
}
object comment.FullComment
{
  "type": "object",
  "title": "FullComment",
  "properties": {
    "id": {
      "type": "integer"
    },
    "body": {
      "type": "string"
    },
    "meta": {
      "$ref": "#/components/schemas/comment.Meta"
    },
    "files": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "object": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "deleted": {
      "type": "boolean"
    },
    "fileIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "project": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "htmlBody": {
      "type": "string"
    },
    "objectId": {
      "type": "integer"
    },
    "postedBy": {
      "type": "integer"
    },
    "deletedBy": {
      "type": "integer"
    },
    "fileCount": {
      "type": "integer"
    },
    "isPrivate": {
      "type": "integer"
    },
    "projectId": {
      "type": "integer"
    },
    "reactions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Reaction"
      }
    },
    "lockdownID": {
      "type": "integer"
    },
    "objectType": {
      "type": "string"
    },
    "commentLink": {
      "type": "string"
    },
    "contentType": {
      "type": "string"
    },
    "dateDeleted": {
      "type": "string"
    },
    "installation": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "lastEditedBy": {
      "type": "integer"
    },
    "dateLastEdited": {
      "type": "string"
    },
    "installationId": {
      "type": "integer"
    },
    "postedByUserId": {
      "type": "integer"
    },
    "postedDateTime": {
      "type": "string"
    },
    "reactionsCount": {
      "type": "integer"
    },
    "deletedByUserId": {
      "type": "integer"
    },
    "lastEditedByUserId": {
      "type": "integer"
    },
    "peopleNotifiedCount": {
      "type": "integer"
    }
  },
  "description": "FullComment contains the full information for a comment"
}
object comment.Meta
{
  "type": "object",
  "title": "Meta",
  "properties": {
    "isRead": {
      "type": "boolean"
    },
    "permissions": {
      "$ref": "#/components/schemas/comment.Permissions"
    }
  },
  "description": "Meta contains metadata for a comment, such as permissions"
}
object comment.Permissions
{
  "type": "object",
  "title": "Permissions",
  "properties": {
    "canEdit": {
      "type": "boolean"
    },
    "canDelete": {
      "type": "boolean"
    }
  },
  "description": "Permissions are the permissions the user has for the comment"
}
object company.CompaniesResponse
{
  "type": "object",
  "title": "CompaniesResponse",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "letters": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "included": {
      "type": "object",
      "properties": {
        "tags": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Tag"
          }
        },
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        },
        "updates": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.CompanyUpdate"
          }
        },
        "countries": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Country"
          }
        },
        "industries": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Industry"
          }
        },
        "customfields": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.CustomField"
          }
        },
        "customfieldCompanies": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.CustomFieldValueCompany"
          }
        }
      }
    },
    "companies": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Company"
      }
    }
  },
  "description": "CompaniesResponse contains information about a group of companies."
}
object company.Company
{
  "type": "object",
  "title": "Company",
  "properties": {
    "cid": {
      "type": "string"
    },
    "fax": {
      "type": "string"
    },
    "zip": {
      "type": "string"
    },
    "city": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "phone": {
      "type": "string"
    },
    "state": {
      "type": "string"
    },
    "tagIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "profile": {
      "type": "string"
    },
    "website": {
      "type": "string"
    },
    "emailOne": {
      "type": "string"
    },
    "emailTwo": {
      "type": "string"
    },
    "addressOne": {
      "type": "string"
    },
    "addressTwo": {
      "type": "string"
    },
    "emailThree": {
      "type": "string"
    },
    "countrycode": {
      "type": "string"
    },
    "customFields": {
      "$ref": "#/components/schemas/company.CustomFields"
    },
    "privateNotes": {
      "type": "string"
    },
    "industryCatId": {
      "type": "integer"
    },
    "clientManagedBy": {
      "type": "integer"
    },
    "logoPendingFileRef": {
      "type": "string"
    }
  },
  "description": "Company contains all the information returned from a company."
}
object company.CustomFields
{
  "type": "object",
  "title": "CustomFields",
  "properties": {
    "Values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/value.CustomFieldValue"
      }
    }
  },
  "description": "CustomFields is the custom fields type."
}
object company.Request
{
  "type": "object",
  "title": "Request",
  "properties": {
    "tags": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/tag.Tag"
      }
    },
    "company": {
      "$ref": "#/components/schemas/company.Company"
    },
    "companyOptions": {
      "type": "object",
      "properties": {
        "fireWebhook": {
          "type": "boolean"
        },
        "logActivity": {
          "type": "boolean"
        },
        "useNotifyViaTWIM": {
          "type": "boolean"
        }
      }
    }
  },
  "description": "Request contains information of a company to be created or updated."
}
object company.Response
{
  "type": "object",
  "title": "Response",
  "properties": {
    "company": {
      "$ref": "#/components/schemas/view.Company"
    },
    "included": {
      "type": "object",
      "properties": {
        "tags": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Tag"
          }
        },
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        },
        "updates": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.CompanyUpdate"
          }
        },
        "countries": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Country"
          }
        },
        "industries": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Industry"
          }
        },
        "customfields": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.CustomField"
          }
        },
        "customfieldCompanies": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.CustomFieldValueCompany"
          }
        }
      }
    }
  },
  "description": "Response contains information about a specific company."
}
object complete.Response
{
  "type": "object",
  "title": "Response",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/complete.TaskMetricComplete"
    }
  },
  "description": "Response contains information about a specific complete."
}
object complete.TaskMetricComplete
{
  "type": "object",
  "title": "TaskMetricComplete",
  "properties": {
    "value": {
      "type": "integer"
    }
  },
  "description": "TaskMetricComplete contains all the information returned from a complete."
}
object customfield.BulkDeleteRequest
{
  "type": "object",
  "title": "BulkDeleteRequest",
  "properties": {
    "customfieldIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    }
  },
  "description": "BulkDeleteRequest contains the ids of the custom fields that should be\nremoved."
}
object customfield.CustomField
{
  "type": "object",
  "title": "CustomField",
  "properties": {
    "name": {
      "type": "string"
    },
    "type": {
      "type": "string"
    },
    "entity": {
      "type": "string",
      "description": "using a verbose name to avoid conflict"
    },
    "formula": {
      "type": "string"
    },
    "groupId": {
      "type": "integer"
    },
    "options": {},
    "privacy": {
      "$ref": "#/components/schemas/payload.UserGroups"
    },
    "required": {
      "type": "boolean"
    },
    "isPrivate": {
      "type": "boolean"
    },
    "projectId": {
      "type": "integer"
    },
    "description": {
      "type": "string"
    },
    "currencyCode": {
      "type": "string"
    },
    "visibilities": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "description": "CustomField contains all the information returned from a custom field."
}
object customfield.CustomFieldsResponse
{
  "type": "object",
  "title": "CustomFieldsResponse",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "included": {
      "type": "object",
      "properties": {
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        },
        "projects": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.ProjectV205"
          }
        }
      }
    },
    "customfields": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.CustomField"
      }
    }
  },
  "description": "CustomFieldsResponse contains information about a group of custom fields."
}
object customfield.Request
{
  "type": "object",
  "title": "Request",
  "properties": {
    "customfield": {
      "$ref": "#/components/schemas/customfield.CustomField"
    }
  },
  "description": "Request contains information of a custom field to be created or updated."
}
object customfield.Response
{
  "type": "object",
  "title": "Response",
  "properties": {
    "count": {
      "type": "integer"
    },
    "customfield": {
      "$ref": "#/components/schemas/view.CustomField"
    }
  },
  "description": "Response contains information about a specific customfield."
}
object dashboard.UserDashboardsResponse
{
  "type": "object",
  "title": "UserDashboardsResponse",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "included": {
      "type": "object",
      "properties": {
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        },
        "projects": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.ProjectV205"
          }
        },
        "dashboardPanels": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.UserDashboardPanel"
          }
        },
        "dashboardSettings": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.UserDashboardSetting"
          }
        },
        "dashboardPanelSettings": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.UserDashboardPanelSetting"
          }
        }
      }
    },
    "dashboards": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.UserDashboard"
      }
    }
  },
  "description": "UserDashboardsResponse contains information about a group of dashboards."
}
object deadline.MilestoneMetricDeadline
{
  "type": "object",
  "title": "MilestoneMetricDeadline",
  "properties": {
    "date": {
      "type": "string"
    },
    "value": {
      "type": "integer"
    }
  },
  "description": "MilestoneMetricDeadline contains all the information returned from a deadline."
}
object deadline.MilestoneMetricDeadlinesResponse
{
  "type": "object",
  "title": "MilestoneMetricDeadlinesResponse",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/deadline.MilestoneMetricDeadline"
      }
    }
  },
  "description": "MilestoneMetricDeadlinesResponse contains information about a group of deadlines."
}
object entity.ProjectBudgetRange
{
  "type": "object",
  "title": "ProjectBudgetRange",
  "properties": {
    "to": {
      "type": "integer"
    },
    "from": {
      "type": "integer"
    },
    "count": {
      "type": "integer"
    },
    "companyId": {
      "type": "integer"
    }
  },
  "description": "ProjectBudgetRange is a distribution item type."
}
object form.Banner
{
  "type": "object",
  "title": "Banner",
  "properties": {
    "x": {
      "type": "number"
    },
    "y": {
      "type": "number"
    },
    "url": {
      "type": "string"
    },
    "accentColor": {
      "type": "string"
    },
    "primaryColor": {
      "type": "string"
    }
  },
  "description": "Banner contains information of a form banner to be created or updated."
}
object form.Content
{
  "type": "object",
  "title": "Content",
  "properties": {
    "logo": {
      "$ref": "#/components/schemas/form.Logo"
    },
    "name": {
      "type": "string"
    },
    "state": {
      "type": "string"
    },
    "banner": {
      "$ref": "#/components/schemas/form.Banner"
    },
    "definition": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "pendingLogoId": {
      "type": "string"
    },
    "pendingBannerId": {
      "type": "string"
    }
  },
  "description": "Content contains information of a form content to be created or updated."
}
object form.CopyForm
{
  "type": "object",
  "title": "CopyForm",
  "properties": {
    "title": {
      "type": "string"
    },
    "hostObject": {
      "$ref": "#/components/schemas/form.HostObject"
    },
    "projectIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "copyAssignees": {
      "type": "boolean"
    },
    "generateToken": {
      "type": "boolean"
    }
  },
  "description": "CopyForm contains information on where and what to copy from a form"
}
object form.CopyRequest
{
  "type": "object",
  "title": "CopyRequest",
  "properties": {
    "form": {
      "$ref": "#/components/schemas/form.CopyForm"
    }
  },
  "description": "CopyRequest outter request for copying a form"
}
object form.DestinationObject
{
  "type": "object",
  "title": "DestinationObject",
  "properties": {
    "id": {
      "type": "integer"
    },
    "type": {
      "type": "string"
    }
  },
  "description": "DestinationObject contains information of a form destination object to be created or updated."
}
object form.Form
{
  "type": "object",
  "title": "Form",
  "properties": {
    "content": {
      "$ref": "#/components/schemas/form.Content"
    },
    "hostObject": {
      "$ref": "#/components/schemas/form.HostObject"
    },
    "redirectUrl": {
      "type": "string"
    },
    "primaryColor": {
      "type": "string"
    },
    "submitButtonText": {
      "type": "string"
    },
    "taskTitleFieldId": {
      "type": "string"
    },
    "destinationObject": {
      "$ref": "#/components/schemas/form.DestinationObject"
    },
    "confirmationMessage": {
      "type": "string"
    },
    "responseEmailFieldId": {
      "type": "string"
    },
    "allowTeamworkBranding": {
      "type": "boolean"
    },
    "promptAdditionalSubmissions": {
      "type": "boolean"
    }
  },
  "description": "Form contains information of a form to be created or updated."
}
object form.FormsResponse
{
  "type": "object",
  "title": "FormsResponse",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "forms": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Form"
      }
    },
    "included": {
      "type": "object",
      "properties": {
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        },
        "projects": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.ProjectV205"
          }
        },
        "companies": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Company"
          }
        },
        "tasklists": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Tasklist"
          }
        }
      }
    }
  },
  "description": "FormsResponse contains information about a group of forms."
}
object form.HostObject
{
  "type": "object",
  "title": "HostObject",
  "properties": {
    "id": {
      "type": "integer"
    },
    "meta": {
      "$ref": "#/components/schemas/form.HostObjectMeta"
    },
    "type": {
      "type": "string"
    }
  },
  "description": "HostObject contains information of a form host object to be created or updated."
}
object form.HostObjectMeta
{
  "type": "object",
  "title": "HostObjectMeta",
  "properties": {
    "tasklistId": {
      "type": "integer"
    }
  },
  "description": "HostObjectMeta contains information of a form host object meta to be created or updated."
}
object form.Logo
{
  "type": "object",
  "title": "Logo",
  "properties": {
    "url": {
      "type": "string"
    }
  },
  "description": "Logo contains information of a form custom logo to be created or updated."
}
object form.PublicResponse
{
  "type": "object",
  "title": "PublicResponse",
  "properties": {
    "form": {
      "$ref": "#/components/schemas/view.PublicForm"
    }
  },
  "description": "PublicResponse contains information about a specific public form."
}
object form.Request
{
  "type": "object",
  "title": "Request",
  "properties": {
    "form": {
      "$ref": "#/components/schemas/form.Form"
    }
  },
  "description": "Request contains information of a form to be created or updated."
}
object form.Response
{
  "type": "object",
  "title": "Response",
  "properties": {
    "form": {
      "$ref": "#/components/schemas/view.Form"
    },
    "included": {
      "type": "object",
      "properties": {
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        },
        "projects": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.ProjectV205"
          }
        },
        "companies": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Company"
          }
        },
        "tasklists": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Tasklist"
          }
        }
      }
    }
  },
  "description": "Response contains information about a specific form."
}
object health.ProjectMetricHealth
{
  "type": "object",
  "title": "ProjectMetricHealth",
  "properties": {
    "name": {
      "type": "string"
    },
    "value": {
      "type": "integer"
    }
  },
  "description": "ProjectMetricHealth stores a specific health counter."
}
object health.ProjectMetricHealthsResponse
{
  "type": "object",
  "title": "ProjectMetricHealthsResponse",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/health.ProjectMetricHealth"
      }
    }
  },
  "description": "ProjectMetricHealthsResponse contains information about a group of healths.\nFollowing this format to satisfy the Numerics integration."
}
object importer.Importer
{
  "type": "object",
  "title": "Importer",
  "properties": {
    "name": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "running": {
      "type": "boolean"
    }
  },
  "description": "Importer single importer for response."
}
object importer.ImportersResponse
{
  "type": "object",
  "title": "ImportersResponse",
  "properties": {
    "importers": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/importer.Importer"
      }
    },
    "isImporting": {
      "type": "boolean"
    }
  },
  "description": "ImportersResponse contains information about a group of importers."
}
object invoice.ProjectMetricInvoicesResponse
{
  "type": "object",
  "title": "ProjectMetricInvoicesResponse",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "value": {
          "type": "integer"
        }
      }
    }
  },
  "description": "ProjectMetricInvoicesResponse contains information about a group of invoices."
}
object late.Response
{
  "type": "object",
  "title": "Response",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/late.TaskMetricLate"
    }
  },
  "description": "Response contains the count of late tasks.\nFollowing this format to satisfy the Numerics integration."
}
object late.TaskMetricLate
{
  "type": "object",
  "title": "TaskMetricLate",
  "properties": {
    "value": {
      "type": "integer"
    }
  },
  "description": "TaskMetricLate contains count information about late tasks."
}
object message.MessagesResponse
{
  "type": "object",
  "title": "MessagesResponse",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "included": {
      "type": "object",
      "properties": {
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        },
        "Included": {
          "$ref": "#/components/schemas/messagereply.Included"
        },
        "projects": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.ProjectV205"
          }
        },
        "companies": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Company"
          }
        },
        "messageReplies": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.MessageReply"
          }
        }
      }
    },
    "messages": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Message"
      }
    }
  },
  "description": "MessagesResponse contains all the information returned when sending a GET\nrequest to the message endpoint."
}
object message.Request
{
  "type": "object",
  "title": "Request",
  "properties": {
    "read": {
      "type": "boolean"
    }
  },
  "description": "Request contains information of a message to be created or updated."
}
object message.Response
{
  "type": "object",
  "title": "Response",
  "properties": {
    "message": {
      "$ref": "#/components/schemas/view.Message"
    },
    "included": {
      "type": "object",
      "properties": {
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        },
        "Included": {
          "$ref": "#/components/schemas/messagereply.Included"
        },
        "projects": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.ProjectV205"
          }
        },
        "companies": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Company"
          }
        },
        "messageReplies": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.MessageReply"
          }
        }
      }
    }
  },
  "description": "Response contains information about a specific message."
}

Versions

Version Endpoints Schemas Ingested Status
3.0 188 296 2026-05-11 current
3.0 188 296 2026-04-16