Project#
pyticktick.models.v1.responses.project
#
Response models for project related endpoints in TickTick API v1.
Classes:
Name | Description |
---|---|
ColumnV1 |
Model for a response with column information in the V1 API. |
ProjectDataRespV1 |
Model for a response with more detailed project information in the V1 API. |
ProjectRespV1 |
Model for a response from the |
ProjectV1 |
Model for a response with high-level project information in the V1 API. |
ProjectsRespV1 |
Model for a response from the |
ColumnV1
pydantic-model
#
Bases: BaseModel
Model for a response with column information in the V1 API.
This model is used to represent a column in the V1 API. It is used in the
ProjectDataRespV1
model to represent columns under a project. It maps directly to
the column definition in
the V1 API docs.
It is useful for Kanban views of tasks.
Show JSON schema:
{
"description": "Model for a response with column information in the V1 API.\n\nThis model is used to represent a column in the V1 API. It is used in the\n`ProjectDataRespV1` model to represent columns under a project. It maps directly to\nthe [column](https://developer.ticktick.com/docs#/openapi?id=column) definition in\nthe V1 API docs.\n\nIt is useful for Kanban views of tasks.",
"properties": {
"id": {
"description": "Column identifier",
"title": "Id",
"type": "string"
},
"projectId": {
"description": "Project identifier",
"title": "Projectid",
"type": "string"
},
"name": {
"description": "Column name",
"title": "Name",
"type": "string"
},
"sortOrder": {
"description": "Order value",
"title": "Sortorder",
"type": "integer"
}
},
"required": [
"id",
"projectId",
"name",
"sortOrder"
],
"title": "ColumnV1",
"type": "object"
}
Config:
extra
:ignore
Fields:
-
id
(str
) -
project_id
(str
) -
name
(str
) -
sort_order
(int
)
ProjectDataRespV1
pydantic-model
#
Bases: BaseModel
Model for a response with more detailed project information in the V1 API.
This model is used to represent a project in the V1 API with more detailed
information. It includes the project itself, the tasks under the project, and the
columns, if any. It is used in the GET /project/{project_id}/data
endpoint. It
maps directly to the project data
definition in the V1 API docs.
Show JSON schema:
{
"$defs": {
"ColumnV1": {
"description": "Model for a response with column information in the V1 API.\n\nThis model is used to represent a column in the V1 API. It is used in the\n`ProjectDataRespV1` model to represent columns under a project. It maps directly to\nthe [column](https://developer.ticktick.com/docs#/openapi?id=column) definition in\nthe V1 API docs.\n\nIt is useful for Kanban views of tasks.",
"properties": {
"id": {
"description": "Column identifier",
"title": "Id",
"type": "string"
},
"projectId": {
"description": "Project identifier",
"title": "Projectid",
"type": "string"
},
"name": {
"description": "Column name",
"title": "Name",
"type": "string"
},
"sortOrder": {
"description": "Order value",
"title": "Sortorder",
"type": "integer"
}
},
"required": [
"id",
"projectId",
"name",
"sortOrder"
],
"title": "ColumnV1",
"type": "object"
},
"ItemV1": {
"description": "Model for a response with checklist item information in the V1 API.\n\nThis model is used to represent a checklist item in the V1 API. It is used in the\n`TaskRespV1` model to represent checklist items of a task. It maps directly to the [checklistitem](https://developer.ticktick.com/docs#/openapi?id=checklistitem)\ndefinition in the V1 API docs.",
"properties": {
"id": {
"description": "Subtask identifier",
"title": "Id",
"type": "string"
},
"title": {
"description": "Subtask title",
"title": "Title",
"type": "string"
},
"status": {
"description": "The completion status of checklist item. Normal: 0, Completed: 1",
"title": "Status",
"type": "boolean"
},
"completedTime": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Subtask completed time in `yyyy-MM-dd'T'HH:mm:ssZ`",
"title": "Completedtime"
},
"isAllDay": {
"description": "All day",
"title": "Isallday",
"type": "boolean"
},
"sortOrder": {
"description": "Subtask sort order",
"title": "Sortorder",
"type": "integer"
},
"startDate": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Subtask start date time in `yyyy-MM-dd'T'HH:mm:ssZ`",
"title": "Startdate"
},
"timeZone": {
"description": "Subtask timezone. Example: 'America/Los_Angeles'",
"title": "Timezone",
"type": "string"
}
},
"required": [
"id",
"title",
"status",
"isAllDay",
"sortOrder",
"timeZone"
],
"title": "ItemV1",
"type": "object"
},
"ProjectV1": {
"description": "Model for a response with high-level project information in the V1 API.\n\nThis model is used to represent a project in the V1 API. It is used in a few\ndifferent endpoints, including `GET /project`, `GET /project/{project_id}`,\n`POST /project`, and `POST /project/{project_id}`. It maps directly to the [project](https://developer.ticktick.com/docs#/openapi?id=project-1)\ndefinition in the V1 API docs.",
"properties": {
"id": {
"description": "Project identifier",
"title": "Id",
"type": "string"
},
"name": {
"description": "Project name",
"title": "Name",
"type": "string"
},
"color": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Project color, eg. #F18181",
"title": "Color"
},
"sortOrder": {
"description": "Order value",
"title": "Sortorder",
"type": "integer"
},
"closed": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "Project closed",
"title": "Closed"
},
"groupId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Project group identifier",
"title": "Groupid"
},
"viewMode": {
"anyOf": [
{
"enum": [
"list",
"kanban",
"timeline"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "view mode, \"list\", \"kanban\", \"timeline\"",
"title": "Viewmode"
},
"permission": {
"anyOf": [
{
"enum": [
"read",
"write",
"comment"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "\"read\", \"write\" or \"comment\"",
"title": "Permission"
},
"kind": {
"anyOf": [
{
"enum": [
"TASK",
"NOTE"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "\"TASK\" or \"NOTE\"",
"title": "Kind"
}
},
"required": [
"id",
"name",
"sortOrder"
],
"title": "ProjectV1",
"type": "object"
},
"TaskRespV1": {
"description": "Model for a response with task information in the V1 API.\n\nThis model is used to represent a task in the V1 API. It is used in a few different\nendpoints, including `GET /project/{project_id}/task/{task_id}`, `POST /task`, and\n`POST /task/{task_id}`. It maps directly to the [task](https://developer.ticktick.com/docs#/openapi?id=task-1)\ndefinition in the V1 API docs.",
"properties": {
"id": {
"description": "Project identifier",
"title": "Id",
"type": "string"
},
"projectId": {
"description": "Task project id",
"title": "Projectid",
"type": "string"
},
"title": {
"description": "Task title",
"title": "Title",
"type": "string"
},
"isAllDay": {
"description": "All day",
"title": "Isallday",
"type": "boolean"
},
"completedTime": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Task completed time in `yyyy-MM-dd'T'HH:mm:ssZ`",
"title": "Completedtime"
},
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Task content",
"title": "Content"
},
"desc": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Task description of checklist",
"title": "Desc"
},
"dueDate": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Task due date time in `yyyy-MM-dd'T'HH:mm:ssZ`",
"title": "Duedate"
},
"items": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/ItemV1"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Subtasks of Task",
"title": "Items"
},
"priority": {
"description": "Task priority. None:0, Low:1, Medium:3, High:5",
"enum": [
0,
1,
3,
5
],
"title": "Priority",
"type": "integer"
},
"reminders": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "List of reminder triggers. Example: ['TRIGGER:P0DT9H0M0S', 'TRIGGER:PT0S']",
"title": "Reminders"
},
"repeatFlag": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Recurring rules of task. Example: 'RRULE:FREQ=DAILY;INTERVAL=1'",
"title": "Repeatflag"
},
"sortOrder": {
"description": "Task sort order",
"title": "Sortorder",
"type": "integer"
},
"startDate": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start date time in `yyyy-MM-dd'T'HH:mm:ssZ`",
"title": "Startdate"
},
"status": {
"description": "Task completion status. Normal: 0, Completed: 2",
"title": "Status",
"type": "boolean"
},
"timeZone": {
"description": "Task timezone. Example: 'America/Los_Angeles'",
"title": "Timezone",
"type": "string"
}
},
"required": [
"id",
"projectId",
"title",
"isAllDay",
"priority",
"sortOrder",
"status",
"timeZone"
],
"title": "TaskRespV1",
"type": "object"
}
},
"description": "Model for a response with more detailed project information in the V1 API.\n\nThis model is used to represent a project in the V1 API with more detailed\ninformation. It includes the project itself, the tasks under the project, and the\ncolumns, if any. It is used in the `GET /project/{project_id}/data` endpoint. It\nmaps directly to the [project data](https://developer.ticktick.com/docs#/openapi?id=projectdata)\ndefinition in the V1 API docs.",
"properties": {
"project": {
"$ref": "#/$defs/ProjectV1",
"description": "Project info"
},
"tasks": {
"description": "Undone tasks under project",
"items": {
"$ref": "#/$defs/TaskRespV1"
},
"title": "Tasks",
"type": "array"
},
"columns": {
"description": "Columns under project",
"items": {
"$ref": "#/$defs/ColumnV1"
},
"title": "Columns",
"type": "array"
}
},
"required": [
"project",
"tasks",
"columns"
],
"title": "ProjectDataRespV1",
"type": "object"
}
Config:
extra
:ignore
Fields:
ProjectRespV1
#
Model for a response from the GET /project/{project_id}
endpoint in the V1 API.
This model is used to represent a single project in the V1 API. It corresponds to
the the GET /project/{project_id}
V1 endpoint.
ProjectV1
pydantic-model
#
Bases: BaseModel
Model for a response with high-level project information in the V1 API.
This model is used to represent a project in the V1 API. It is used in a few
different endpoints, including GET /project
, GET /project/{project_id}
,
POST /project
, and POST /project/{project_id}
. It maps directly to the project
definition in the V1 API docs.
Show JSON schema:
{
"description": "Model for a response with high-level project information in the V1 API.\n\nThis model is used to represent a project in the V1 API. It is used in a few\ndifferent endpoints, including `GET /project`, `GET /project/{project_id}`,\n`POST /project`, and `POST /project/{project_id}`. It maps directly to the [project](https://developer.ticktick.com/docs#/openapi?id=project-1)\ndefinition in the V1 API docs.",
"properties": {
"id": {
"description": "Project identifier",
"title": "Id",
"type": "string"
},
"name": {
"description": "Project name",
"title": "Name",
"type": "string"
},
"color": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Project color, eg. #F18181",
"title": "Color"
},
"sortOrder": {
"description": "Order value",
"title": "Sortorder",
"type": "integer"
},
"closed": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "Project closed",
"title": "Closed"
},
"groupId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Project group identifier",
"title": "Groupid"
},
"viewMode": {
"anyOf": [
{
"enum": [
"list",
"kanban",
"timeline"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "view mode, \"list\", \"kanban\", \"timeline\"",
"title": "Viewmode"
},
"permission": {
"anyOf": [
{
"enum": [
"read",
"write",
"comment"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "\"read\", \"write\" or \"comment\"",
"title": "Permission"
},
"kind": {
"anyOf": [
{
"enum": [
"TASK",
"NOTE"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "\"TASK\" or \"NOTE\"",
"title": "Kind"
}
},
"required": [
"id",
"name",
"sortOrder"
],
"title": "ProjectV1",
"type": "object"
}
Config:
extra
:ignore
Fields:
-
id
(str
) -
name
(str
) -
color
(str | None
) -
sort_order
(int
) -
closed
(bool | None
) -
group_id
(str | None
) -
view_mode
(Literal['list', 'kanban', 'timeline'] | None
) -
permission
(Literal['read', 'write', 'comment'] | None
) -
kind
(Literal['TASK', 'NOTE'] | None
)
ProjectsRespV1
#
Bases: RootModel[list[ProjectV1]]
Model for a response from the GET /project
endpoint in the V1 API.
This model is used to represent a list of projects in the V1 API. It corresponds to
the GET /project
V1 endpoint.