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

Budgets 2 endpoints

PATCH /projects/api/v3/budget/notifications/{notificationId}.json
operationId: Budgets_updateNotification

Parameters

Name In Required Type Description
notificationId path required integer

Request Body

required
application/json
schema notification.ProjectBudgetRequest
Property Type Required
notification object optional
id integer optional
teamIds array optional
userIds array optional
budgetId integer optional
projectId integer optional
companyIds array optional
capacityThreshold number optional
notificationMedium string optional

Responses

200

200 OK

400

400 Bad Request

403

403 Forbidden

404

404 Not Found (no data)

409

409 Conflict

PATCH /projects/api/v3/budget/notifications/{notificationId}.json
PATCH /projects/api/v3/projects/budgets/:budgetId/tasklists/budgets/:tasklistId.json
operationId: Budgets_updateTasklistBudget

Request Body

required
application/json
schema tasklistbudget.PatchBudgetRequest
Property Type Required
tasklistBudget object optional
id integer optional
capacity integer optional
tasklist object optional
id integer optional
type string optional
notifications array optional
id integer optional
teams array optional
id integer optional
type string optional
users array optional
id integer optional
type string optional
companies array optional
id integer optional
type string optional
capacityThreshold number optional
notificationMedium string optional
tasklistBudgetOptions object optional
fireWebhook boolean optional
logActivity boolean optional
useNotifyViaTWIM boolean optional

Responses

201

201 Created

400

400 Bad Request

403

403 Forbidden

409

409 Conflict

PATCH /projects/api/v3/projects/budgets/:budgetId/tasklists/budgets/:tasklistId.json

Companies 1 endpoints

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

Modify the properties of an existing company.

operationId: Companies_updateProperties

Parameters

Name In Required Type Description
companyId path required integer

Request Body

application/json
schema company.Request
Property Type Required
tags array optional
name string optional
color string optional
projectId integer optional
company object optional
cid string optional
fax string optional
zip string optional
city string optional
name string optional
phone string optional
state string optional
tagIds array optional
profile string optional
website string optional
emailOne string optional
emailTwo string optional
addressOne string optional
addressTwo string optional
emailThree string optional
countrycode string optional
customFields object optional
Values array optional
value object optional
countryCode string optional
customfieldId integer optional
currencySymbol string optional
urlTextToDisplay string optional
privateNotes string optional
industryCatId integer optional
clientManagedBy integer optional
…1 more object optional
companyOptions object optional
fireWebhook boolean optional
logActivity boolean optional
useNotifyViaTWIM boolean optional

Responses

200

200 OK

400

400 Bad Request

403

403 Forbidden

404

404 Not Found (no data)

409

409 Conflict

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

Customfields 4 endpoints

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

Edit a company custom field value.

operationId: CustomFields_updateCompanyCustomFieldValue

Parameters

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

Request Body

application/json
schema value.requestCompany
Property Type Required
customfieldCompany object optional
value object optional
countryCode string optional
customfieldId integer optional
currencySymbol string optional
urlTextToDisplay string optional

Responses

200

200 OK

400

400 Bad Request

403

403 Forbidden

404

404 Not Found (no data)

409

409 Conflict

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

Updates an existing custom field.

operationId: CustomFields_updateExistingField

Parameters

Name In Required Type Description
customFieldId path required integer

Request Body

application/json
schema customfield.Request
Property Type Required
customfield object optional
name string optional
type string optional
entity string optional
formula string optional
groupId integer optional
options object optional
privacy object optional
teamIds object optional
Set boolean optional
Null boolean optional
Value array optional
userIds object optional
Set boolean optional
Null boolean optional
Value array optional
companyIds object optional
Set boolean optional
Null boolean optional
Value array optional
required boolean optional
isPrivate boolean optional
projectId integer optional
description string optional
currencyCode string optional
visibilities array optional

Responses

200

200 OK

400

400 Bad Request

403

403 Forbidden

404

404 Not Found (no data)

409

409 Conflict

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

Edit a project custom field value.

operationId: CustomFields_updateValue

Parameters

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

Request Body

application/json
schema value.requestProject
Property Type Required
customfieldProject object optional
value object optional
countryCode string optional
customfieldId integer optional
currencySymbol string optional
urlTextToDisplay string optional

Responses

200

200 OK

400

400 Bad Request

403

403 Forbidden

404

404 Not Found (no data)

409

409 Conflict

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

Edit a task custom field value.

operationId: CustomFields_updateTaskCustomFieldValue

Parameters

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

Request Body

application/json
schema value.requestTask
Property Type Required
customfieldTask object optional
value object optional
countryCode string optional
customfieldId integer optional
currencySymbol string optional
urlTextToDisplay string optional

Responses

200

200 OK

400

400 Bad Request

403

403 Forbidden

404

404 Not Found (no data)

409

409 Conflict

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

Forms 1 endpoints

PATCH /projects/api/v3/forms/{formId}.json
operationId: Forms_updateExistingForm

Parameters

Name In Required Type Description
formId path required integer

Request Body

application/json
schema form.Request
Property Type Required
form object optional
content object optional
logo object optional
url string optional
name string optional
state string optional
banner object optional
x number optional
y number optional
url string optional
accentColor string optional
primaryColor string optional
definition string optional
description string optional
pendingLogoId string optional
pendingBannerId string optional
hostObject object optional
id integer optional
meta object optional
tasklistId integer optional
type string optional
redirectUrl string optional
primaryColor string optional
submitButtonText string optional
taskTitleFieldId string optional
destinationObject object optional
id integer optional
type string optional
confirmationMessage string optional
responseEmailFieldId string optional
allowTeamworkBranding boolean optional
promptAdditionalSubmissions boolean optional

Responses

200

200 OK

400

400 Bad Request

403

403 Forbidden

404

404 Not Found (no data)

409

409 Conflict

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

Messages 1 endpoints

PATCH /projects/api/v3/messages/{messageId}.json

Update specific fields on a message. If the property read is sent with the
value true all replies from this message will be marked as read.

operationId: Messages_updateFields

Parameters

Name In Required Type Description
messageId path required integer

Request Body

required
application/json
schema message.Request
Property Type Required
read boolean optional

Responses

204

204 No Content (no data)

400

400 Bad Request

PATCH /projects/api/v3/messages/{messageId}.json

Notebooks 1 endpoints

PATCH /projects/api/v3/notebooks/{notebookId}.json

Edits the fields of an existing notebook.

operationId: Notebooks_editFields

Parameters

Name In Required Type Description
notebookId path required integer
getEmoji query optional boolean

parse emojis to unicode

include query optional array

include

fields[users] query optional array
fields[teams] query optional array
fields[tags] query optional array
fields[projects] query optional array
fields[notebooks] query optional array
fields[notebookCategories] query optional array
fields[companies] query optional array

Request Body

application/json
schema notebook.Request
Property Type Required
notebook object optional
name string optional
type string optional
locked boolean optional
notify object optional
ids object optional
teamIds object optional
userIds object optional
companyIds object optional
type object optional
Set boolean optional
Null boolean optional
Value string optional
tagIds array optional
privacy object optional
teamIds object optional
Set boolean optional
Null boolean optional
Value array optional
userIds object optional
Set boolean optional
Null boolean optional
Value array optional
companyIds object optional
Set boolean optional
Null boolean optional
Value array optional
contents string optional
sendDiff boolean optional
isPrivate boolean optional
categoryId integer optional
newVersion boolean optional
description string optional
isFullWidth boolean optional
secureContent boolean optional
notifyCurrentUser boolean optional

Responses

200

200 OK

400

400 Bad Request

403

403 Forbidden

404

404 Not Found (no data)

PATCH /projects/api/v3/notebooks/{notebookId}.json

Tags 1 endpoints

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

Updates a existing tag. If there’s already a tag with the same changed name
in the installation, it will be returned the status code 409 (CONFLICT).

operationId: Tags_updateTag

Parameters

Name In Required Type Description
tagId path required integer

Request Body

application/json
schema tag.Request
Property Type Required
tag object optional
name string optional
color string optional
projectId integer optional

Responses

200

200 OK

400

400 Bad Request

403

403 Forbidden

404

404 Not Found (no data)

409

409 Conflict

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

Tasks 1 endpoints

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

Modify the properties of an existing task.

operationId: Tasks_updateExistingTask

Parameters

Name In Required Type Description
taskId path required integer

Request Body

application/json
schema task.Request
Property Type Required
card object optional
columnId integer optional
tags array optional
name string optional
color string optional
projectId integer optional
task object optional
name string optional
dueAt object optional
Set boolean optional
Null boolean optional
Value object optional
status string optional
tagIds array optional
private boolean optional
startAt object optional
Set boolean optional
Null boolean optional
Value object optional
priority object optional
Set boolean optional
Null boolean optional
Value string optional
progress integer optional
ticketId integer optional
assignees object optional
teamIds object optional
Set boolean optional
Null boolean optional
Value array optional
userIds object optional
Set boolean optional
Null boolean optional
Value array optional
companyIds object optional
Set boolean optional
Null boolean optional
Value array optional
createdAt string optional
createdBy integer optional
reminders array optional
note string optional
type string optional
userId integer optional
remindAt string optional
isRelative boolean optional
relativeNumberDays integer optional
crmDealIds array optional
tasklistId integer optional
completedAt string optional
completedBy integer optional
description string optional
taskgroupId integer optional
customFields object optional
Values array optional
value object optional
countryCode string optional
customfieldId integer optional
currencySymbol string optional
urlTextToDisplay string optional
…11 more object optional
workflows object optional
stageId integer optional
workflowId integer optional
positionAfterTask integer optional
attachments object optional
files array optional
id integer optional
categoryId integer optional
pendingFiles array optional
reference string optional
categoryId integer optional
taskOptions object optional
notify boolean optional
isTemplate boolean optional
fireWebhook boolean optional
logActivity boolean optional
useDefaults boolean optional
pushSubtasks boolean optional
everyoneMustDo boolean optional
pushDependents boolean optional
appendAssignees boolean optional
parseInlineTags boolean optional
useNotifyViaTWIM boolean optional
checkInvalidusers boolean optional
shiftProjectDates boolean optional
positionAfterTaskId integer optional
predecessors array optional
id integer optional
type string optional
attachmentOptions object optional
removeOtherFiles boolean optional

Responses

200

200 OK

400

400 Bad Request

403

403 Forbidden

404

404 Not Found (no data)

409

409 Conflict

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

Timetracking 1 endpoints

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

Modify the properties of an existing time entry.

operationId: TimeTracking_updateExistingTimeEntry

Parameters

Name In Required Type Description
timelogId path required integer

Request Body

application/json
schema timelog.Request
Property Type Required
tags array optional
name string optional
color string optional
projectId integer optional
timelog object optional
date object optional
time object optional
hours integer optional
isUtc boolean optional
tagIds array optional
taskId integer optional
userId integer optional
minutes integer optional
ticketId integer optional
invoiceId integer optional
projectId integer optional
isBillable boolean optional
description string optional
hasStartTime boolean optional
timelogOptions object optional
fireWebhook boolean optional
logActivity boolean optional
parseInlineTags boolean optional
markTaskComplete boolean optional
useNotifyViaTWIM boolean optional

Responses

200

200 OK

400

400 Bad Request

403

403 Forbidden

404

404 Not Found (no data)

409

409 Conflict

PATCH /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