api

package
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 16, 2026 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const DefaultBaseURL = "https://api.clickup.com/api"

Variables

This section is empty.

Functions

func BoolPtr

func BoolPtr(b bool) *bool

func Float64Ptr

func Float64Ptr(f float64) *float64

func Int64Ptr

func Int64Ptr(i int64) *int64

func IntPtr

func IntPtr(i int) *int

func StringPtr

func StringPtr(s string) *string

Helper pointer functions for building optional request fields.

Types

type APIError

type APIError struct {
	Err     string `json:"err"`
	ECODE   string `json:"ECODE"`
	Message string `json:"message,omitempty"`
}

type AddDependencyRequest

type AddDependencyRequest struct {
	DependsOn    string `json:"depends_on,omitempty"`
	DependencyOf string `json:"dependency_of,omitempty"`
	Type         string `json:"type,omitempty"`
}

type AddTagsToTimeEntriesRequest

type AddTagsToTimeEntriesRequest struct {
	TimeEntryIDs []string `json:"time_entry_ids"`
	Tags         []Tag    `json:"tags"`
}

type Attachment

type Attachment struct {
	ID             string `json:"id"`
	Version        string `json:"version"`
	Date           int64  `json:"date"`
	Title          string `json:"title"`
	Extension      string `json:"extension"`
	ThumbnailSmall string `json:"thumbnail_small"`
	ThumbnailLarge string `json:"thumbnail_large"`
	URL            string `json:"url"`
}

type BulkTimeInStatusResponse

type BulkTimeInStatusResponse map[string]interface{}

BulkTimeInStatusResponse is the response for bulk time in status.

type ChangeTagNameRequest

type ChangeTagNameRequest struct {
	Name    string `json:"name"`
	NewName string `json:"new_name"`
	TagBg   string `json:"tag_bg"`
	TagFg   string `json:"tag_fg"`
}

type Checklist

type Checklist struct {
	ID         string      `json:"id"`
	TaskID     string      `json:"task_id"`
	Name       string      `json:"name"`
	OrderIndex int         `json:"orderindex"`
	Resolved   int         `json:"resolved"`
	Unresolved int         `json:"unresolved"`
	Items      interface{} `json:"items,omitempty"`
}

type ChecklistDetailed

type ChecklistDetailed struct {
	ID          string          `json:"id"`
	TaskID      string          `json:"task_id"`
	Name        string          `json:"name"`
	DateCreated string          `json:"date_created,omitempty"`
	OrderIndex  interface{}     `json:"orderindex"`
	Resolved    int             `json:"resolved"`
	Unresolved  int             `json:"unresolved"`
	Items       []ChecklistItem `json:"items"`
}

type ChecklistItem

type ChecklistItem struct {
	ID          string        `json:"id"`
	Name        string        `json:"name"`
	OrderIndex  interface{}   `json:"orderindex"`
	Assignee    interface{}   `json:"assignee"`
	Resolved    bool          `json:"resolved"`
	Parent      interface{}   `json:"parent"`
	DateCreated string        `json:"date_created,omitempty"`
	Children    []interface{} `json:"children,omitempty"`
}

type ChecklistResponse

type ChecklistResponse struct {
	Checklist ChecklistDetailed `json:"checklist"`
}

type Client

type Client struct {
	BaseURL       string
	Token         string
	HTTPClient    *http.Client
	MaxRetries    int
	RetryBaseWait time.Duration
}

Client implements ClientInterface using HTTP requests to the ClickUp API.

func NewClient

func NewClient(token string) *Client

func (*Client) AddDependency

func (c *Client) AddDependency(ctx context.Context, taskID string, req *AddDependencyRequest, opts ...*TaskScopedOptions) (*DependencyResponse, error)

func (*Client) AddGuestToFolder

func (c *Client) AddGuestToFolder(ctx context.Context, folderID string, guestID int, req *GuestPermissionRequest, includeShared bool) (*GuestResponse, error)

func (*Client) AddGuestToList

func (c *Client) AddGuestToList(ctx context.Context, listID string, guestID int, req *GuestPermissionRequest, includeShared bool) (*GuestResponse, error)

func (*Client) AddGuestToTask

func (c *Client) AddGuestToTask(ctx context.Context, taskID string, guestID int, req *GuestPermissionRequest, includeShared bool, opts ...*TaskScopedOptions) (*GuestResponse, error)

func (*Client) AddTagToTask

func (c *Client) AddTagToTask(ctx context.Context, taskID, tagName string, opts ...*TaskScopedOptions) error

func (*Client) AddTagsToTimeEntries

func (c *Client) AddTagsToTimeEntries(ctx context.Context, teamID string, req *AddTagsToTimeEntriesRequest) error
func (c *Client) AddTaskLink(ctx context.Context, taskID, linksTo string, opts ...*TaskScopedOptions) (*TaskLinkResponse, error)

func (*Client) AddTaskToList

func (c *Client) AddTaskToList(ctx context.Context, listID, taskID string, opts ...*TaskScopedOptions) error

func (*Client) ChangeTagNames

func (c *Client) ChangeTagNames(ctx context.Context, teamID string, req *ChangeTagNameRequest) error

func (*Client) CreateChecklist

func (c *Client) CreateChecklist(ctx context.Context, taskID string, req *CreateChecklistRequest, opts ...*TaskScopedOptions) (*ChecklistResponse, error)

func (*Client) CreateChecklistItem

func (c *Client) CreateChecklistItem(ctx context.Context, checklistID string, req *CreateChecklistItemRequest) (*ChecklistResponse, error)

func (*Client) CreateComment

func (c *Client) CreateComment(ctx context.Context, taskID string, req *CreateCommentRequest, opts ...*TaskScopedOptions) (*CreateCommentResponse, error)

func (*Client) CreateDoc

func (c *Client) CreateDoc(ctx context.Context, workspaceID string, req *CreateDocRequest) (*Doc, error)

func (*Client) CreateFolder

func (c *Client) CreateFolder(ctx context.Context, spaceID string, req *CreateFolderRequest) (*Folder, error)

func (*Client) CreateFolderFromTemplate

func (c *Client) CreateFolderFromTemplate(ctx context.Context, spaceID, templateID string, req *CreateFromTemplateRequest) (*CreateFromTemplateResponse, error)

func (*Client) CreateFolderView

func (c *Client) CreateFolderView(ctx context.Context, folderID string, req *CreateViewRequest) (*ViewResponse, error)

func (*Client) CreateFolderlessList

func (c *Client) CreateFolderlessList(ctx context.Context, spaceID string, req *CreateListRequest) (*List, error)

func (*Client) CreateGoal

func (c *Client) CreateGoal(ctx context.Context, teamID string, req *CreateGoalRequest) (*GoalResponse, error)

func (*Client) CreateGroup

func (c *Client) CreateGroup(ctx context.Context, teamID string, req *CreateGroupRequest) (*Group, error)

func (*Client) CreateKeyResult

func (c *Client) CreateKeyResult(ctx context.Context, goalID string, req *CreateKeyResultRequest) (*KeyResultResponse, error)

func (*Client) CreateList

func (c *Client) CreateList(ctx context.Context, folderID string, req *CreateListRequest) (*List, error)

func (*Client) CreateListComment

func (c *Client) CreateListComment(ctx context.Context, listID string, req *CreateCommentRequest) (*CreateCommentResponse, error)

func (*Client) CreateListFromFolderTemplate

func (c *Client) CreateListFromFolderTemplate(ctx context.Context, folderID, templateID string, req *CreateFromTemplateRequest) (*CreateFromTemplateResponse, error)

func (*Client) CreateListFromSpaceTemplate

func (c *Client) CreateListFromSpaceTemplate(ctx context.Context, spaceID, templateID string, req *CreateFromTemplateRequest) (*CreateFromTemplateResponse, error)

func (*Client) CreateListView

func (c *Client) CreateListView(ctx context.Context, listID string, req *CreateViewRequest) (*ViewResponse, error)

func (*Client) CreatePage

func (c *Client) CreatePage(ctx context.Context, workspaceID, docID string, req *CreatePageRequest) (*DocPage, error)

func (*Client) CreateSpace

func (c *Client) CreateSpace(ctx context.Context, workspaceID string, req *CreateSpaceRequest) (*Space, error)

func (*Client) CreateSpaceTag

func (c *Client) CreateSpaceTag(ctx context.Context, spaceID string, req *CreateTagRequest) error

func (*Client) CreateSpaceView

func (c *Client) CreateSpaceView(ctx context.Context, spaceID string, req *CreateViewRequest) (*ViewResponse, error)

func (*Client) CreateTask

func (c *Client) CreateTask(ctx context.Context, listID string, req *CreateTaskRequest) (*Task, error)

func (*Client) CreateTaskAttachment

func (c *Client) CreateTaskAttachment(ctx context.Context, taskID, filePath string, opts ...*TaskScopedOptions) (*Attachment, error)

func (*Client) CreateTaskFromTemplate

func (c *Client) CreateTaskFromTemplate(ctx context.Context, listID, templateID string, req *CreateFromTemplateRequest) (*CreateFromTemplateResponse, error)

func (*Client) CreateTeamView

func (c *Client) CreateTeamView(ctx context.Context, teamID string, req *CreateViewRequest) (*ViewResponse, error)

func (*Client) CreateThreadedComment

func (c *Client) CreateThreadedComment(ctx context.Context, commentID string, req *CreateCommentRequest) (*CreateCommentResponse, error)

func (*Client) CreateTimeEntry

func (c *Client) CreateTimeEntry(ctx context.Context, teamID string, req *CreateTimeEntryRequest) (*TimeEntry, error)

func (*Client) CreateViewComment

func (c *Client) CreateViewComment(ctx context.Context, viewID string, req *CreateCommentRequest) (*CreateCommentResponse, error)

func (*Client) CreateWebhook

func (c *Client) CreateWebhook(ctx context.Context, teamID string, req *CreateWebhookRequest) (*CreateWebhookResponse, error)

func (*Client) DeleteChecklist

func (c *Client) DeleteChecklist(ctx context.Context, checklistID string) error

func (*Client) DeleteChecklistItem

func (c *Client) DeleteChecklistItem(ctx context.Context, checklistID, checklistItemID string) error

func (*Client) DeleteComment

func (c *Client) DeleteComment(ctx context.Context, commentID string) error

func (*Client) DeleteDependency

func (c *Client) DeleteDependency(ctx context.Context, taskID, dependsOn, dependencyOf string, opts ...*TaskScopedOptions) error

func (*Client) DeleteFolder

func (c *Client) DeleteFolder(ctx context.Context, folderID string) error

func (*Client) DeleteGoal

func (c *Client) DeleteGoal(ctx context.Context, goalID string) error

func (*Client) DeleteGroup

func (c *Client) DeleteGroup(ctx context.Context, groupID string) error

func (*Client) DeleteKeyResult

func (c *Client) DeleteKeyResult(ctx context.Context, keyResultID string) error

func (*Client) DeleteLegacyTime

func (c *Client) DeleteLegacyTime(ctx context.Context, taskID, intervalID string, opts ...*TaskScopedOptions) error

func (*Client) DeleteList

func (c *Client) DeleteList(ctx context.Context, listID string) error

func (*Client) DeleteSpace

func (c *Client) DeleteSpace(ctx context.Context, spaceID string) error

func (*Client) DeleteSpaceTag

func (c *Client) DeleteSpaceTag(ctx context.Context, spaceID, tagName string) error

func (*Client) DeleteTask

func (c *Client) DeleteTask(ctx context.Context, taskID string, opts ...*TaskScopedOptions) error
func (c *Client) DeleteTaskLink(ctx context.Context, taskID, linksTo string, opts ...*TaskScopedOptions) error

func (*Client) DeleteTimeEntry

func (c *Client) DeleteTimeEntry(ctx context.Context, teamID, timerID string) error

func (*Client) DeleteView

func (c *Client) DeleteView(ctx context.Context, viewID string) error

func (*Client) DeleteWebhook

func (c *Client) DeleteWebhook(ctx context.Context, webhookID string) error

func (*Client) Do

func (c *Client) Do(ctx context.Context, method, path string, body, result interface{}) error

Do executes an HTTP request with automatic retry for 429 and 5xx responses.

func (*Client) EditChecklist

func (c *Client) EditChecklist(ctx context.Context, checklistID string, req *EditChecklistRequest) error

func (*Client) EditChecklistItem

func (c *Client) EditChecklistItem(ctx context.Context, checklistID, checklistItemID string, req *EditChecklistItemRequest) (*ChecklistResponse, error)

func (*Client) EditGuest

func (c *Client) EditGuest(ctx context.Context, teamID, guestID string, req *EditGuestRequest) (*GuestResponse, error)

func (*Client) EditLegacyTime

func (c *Client) EditLegacyTime(ctx context.Context, taskID, intervalID string, req *LegacyEditTimeRequest, opts ...*TaskScopedOptions) error

func (*Client) EditPage

func (c *Client) EditPage(ctx context.Context, workspaceID, docID, pageID string, req *EditPageRequest) (*DocPage, error)

func (*Client) EditUser

func (c *Client) EditUser(ctx context.Context, teamID, userID string, req *EditUserRequest) (*TeamUserResponse, error)

func (*Client) GetBulkTimeInStatus

func (c *Client) GetBulkTimeInStatus(ctx context.Context, taskIDs []string) (*BulkTimeInStatusResponse, error)

func (*Client) GetCustomRoles

func (c *Client) GetCustomRoles(ctx context.Context, teamID string, includeMembers bool) (*CustomRolesResponse, error)

func (*Client) GetCustomTaskTypes

func (c *Client) GetCustomTaskTypes(ctx context.Context, teamID string) (*CustomTaskTypesResponse, error)

func (*Client) GetDoc

func (c *Client) GetDoc(ctx context.Context, workspaceID, docID string) (*Doc, error)

func (*Client) GetDocPageListing

func (c *Client) GetDocPageListing(ctx context.Context, workspaceID, docID string) (*DocPagesResponse, error)

func (*Client) GetFolder

func (c *Client) GetFolder(ctx context.Context, folderID string) (*Folder, error)

func (*Client) GetFolderCustomFields

func (c *Client) GetFolderCustomFields(ctx context.Context, folderID string) (*CustomFieldsResponse, error)

func (*Client) GetFolderViews

func (c *Client) GetFolderViews(ctx context.Context, folderID string) (*ViewsResponse, error)

func (*Client) GetGoal

func (c *Client) GetGoal(ctx context.Context, goalID string) (*GoalResponse, error)

func (*Client) GetGoals

func (c *Client) GetGoals(ctx context.Context, teamID string, includeCompleted bool) (*GoalsResponse, error)

func (*Client) GetGroups

func (c *Client) GetGroups(ctx context.Context, teamID string, groupIDs []string) (*GroupsResponse, error)

func (*Client) GetGuest

func (c *Client) GetGuest(ctx context.Context, teamID, guestID string) (*GuestResponse, error)

func (*Client) GetLegacyTrackedTime

func (c *Client) GetLegacyTrackedTime(ctx context.Context, taskID, subcategoryID string, opts ...*TaskScopedOptions) (*LegacyTimeResponse, error)

func (*Client) GetList

func (c *Client) GetList(ctx context.Context, listID string) (*List, error)

func (*Client) GetListCustomFields

func (c *Client) GetListCustomFields(ctx context.Context, listID string) (*CustomFieldsResponse, error)

func (*Client) GetListMembers

func (c *Client) GetListMembers(ctx context.Context, listID string) (*MembersResponse, error)

func (*Client) GetListViews

func (c *Client) GetListViews(ctx context.Context, listID string) (*ViewsResponse, error)

func (*Client) GetPage

func (c *Client) GetPage(ctx context.Context, workspaceID, docID, pageID string) (*DocPage, error)

func (*Client) GetRunningTimer

func (c *Client) GetRunningTimer(ctx context.Context, teamID, assignee string) (*SingleTimeEntryResponse, error)

func (*Client) GetSharedHierarchy

func (c *Client) GetSharedHierarchy(ctx context.Context, teamID string) (*SharedHierarchyResponse, error)

func (*Client) GetSpace

func (c *Client) GetSpace(ctx context.Context, spaceID string) (*Space, error)

func (*Client) GetSpaceCustomFields

func (c *Client) GetSpaceCustomFields(ctx context.Context, spaceID string) (*CustomFieldsResponse, error)

func (*Client) GetSpaceTags

func (c *Client) GetSpaceTags(ctx context.Context, spaceID string) (*TagsResponse, error)

func (*Client) GetSpaceViews

func (c *Client) GetSpaceViews(ctx context.Context, spaceID string) (*ViewsResponse, error)

func (*Client) GetTask

func (c *Client) GetTask(ctx context.Context, taskID string, opts ...GetTaskOptions) (*Task, error)

func (*Client) GetTaskMembers

func (c *Client) GetTaskMembers(ctx context.Context, taskID string) (*MembersResponse, error)

func (*Client) GetTaskTemplates

func (c *Client) GetTaskTemplates(ctx context.Context, teamID string, page int) (*TaskTemplatesResponse, error)

func (*Client) GetTeamUser

func (c *Client) GetTeamUser(ctx context.Context, teamID, userID string, includeShared bool) (*TeamUserResponse, error)

func (*Client) GetTeamViews

func (c *Client) GetTeamViews(ctx context.Context, teamID string) (*ViewsResponse, error)

func (*Client) GetTimeEntries

func (c *Client) GetTimeEntries(ctx context.Context, teamID string, opts *ListTimeEntriesOptions) (*TimeEntriesResponse, error)

func (*Client) GetTimeEntry

func (c *Client) GetTimeEntry(ctx context.Context, teamID, timerID string, opts *GetTimeEntryOptions) (*SingleTimeEntryResponse, error)

func (*Client) GetTimeEntryHistory

func (c *Client) GetTimeEntryHistory(ctx context.Context, teamID, timerID string) (*TimeEntryHistoryResponse, error)

func (*Client) GetTimeEntryTags

func (c *Client) GetTimeEntryTags(ctx context.Context, teamID string) (*TimeEntryTagsResponse, error)

func (*Client) GetTimeInStatus

func (c *Client) GetTimeInStatus(ctx context.Context, taskID string, opts ...*TaskScopedOptions) (*TimeInStatusResponse, error)

func (*Client) GetUser

func (c *Client) GetUser(ctx context.Context) (*UserResponse, error)

func (*Client) GetView

func (c *Client) GetView(ctx context.Context, viewID string) (*ViewResponse, error)

func (*Client) GetViewTasks

func (c *Client) GetViewTasks(ctx context.Context, viewID string, page int) (*ViewTasksResponse, error)

func (*Client) GetWebhooks

func (c *Client) GetWebhooks(ctx context.Context, teamID string) (*WebhooksResponse, error)

func (*Client) GetWorkspaceCustomFields

func (c *Client) GetWorkspaceCustomFields(ctx context.Context, teamID string) (*CustomFieldsResponse, error)

func (*Client) GetWorkspacePlan

func (c *Client) GetWorkspacePlan(ctx context.Context, teamID string) (*PlanResponse, error)

func (*Client) GetWorkspaceSeats

func (c *Client) GetWorkspaceSeats(ctx context.Context, teamID string) (*SeatsResponse, error)

func (*Client) InviteGuest

func (c *Client) InviteGuest(ctx context.Context, teamID string, req *InviteGuestRequest) error

func (*Client) InviteUser

func (c *Client) InviteUser(ctx context.Context, teamID string, req *InviteUserRequest) (*TeamUserResponse, error)

func (*Client) ListComments

func (c *Client) ListComments(ctx context.Context, taskID, startID string, opts ...*TaskScopedOptions) (*CommentsResponse, error)

func (*Client) ListFolderlessLists

func (c *Client) ListFolderlessLists(ctx context.Context, spaceID string) (*ListsResponse, error)

func (*Client) ListFolders

func (c *Client) ListFolders(ctx context.Context, spaceID string) (*FoldersResponse, error)

func (*Client) ListListComments

func (c *Client) ListListComments(ctx context.Context, listID, startID string) (*CommentsResponse, error)

func (*Client) ListLists

func (c *Client) ListLists(ctx context.Context, folderID string) (*ListsResponse, error)

func (*Client) ListSpaces

func (c *Client) ListSpaces(ctx context.Context, workspaceID string) (*SpacesResponse, error)

func (*Client) ListTasks

func (c *Client) ListTasks(ctx context.Context, listID string, opts *ListTasksOptions) (*TasksResponse, error)

func (*Client) ListThreadedComments

func (c *Client) ListThreadedComments(ctx context.Context, commentID string) (*CommentsResponse, error)

func (*Client) ListViewComments

func (c *Client) ListViewComments(ctx context.Context, viewID, startID string) (*CommentsResponse, error)

func (*Client) ListWorkspaces

func (c *Client) ListWorkspaces(ctx context.Context) (*WorkspacesResponse, error)

func (*Client) MergeTasks

func (c *Client) MergeTasks(ctx context.Context, taskID string, req *MergeTasksRequest, opts ...*TaskScopedOptions) error

func (*Client) RemoveCustomFieldValue

func (c *Client) RemoveCustomFieldValue(ctx context.Context, taskID, fieldID string, opts ...*TaskScopedOptions) error

func (*Client) RemoveGuest

func (c *Client) RemoveGuest(ctx context.Context, teamID, guestID string) error

func (*Client) RemoveGuestFromFolder

func (c *Client) RemoveGuestFromFolder(ctx context.Context, folderID string, guestID int, includeShared bool) error

func (*Client) RemoveGuestFromList

func (c *Client) RemoveGuestFromList(ctx context.Context, listID string, guestID int, includeShared bool) error

func (*Client) RemoveGuestFromTask

func (c *Client) RemoveGuestFromTask(ctx context.Context, taskID string, guestID int, includeShared bool, opts ...*TaskScopedOptions) error

func (*Client) RemoveTagFromTask

func (c *Client) RemoveTagFromTask(ctx context.Context, taskID, tagName string, opts ...*TaskScopedOptions) error

func (*Client) RemoveTagsFromTimeEntries

func (c *Client) RemoveTagsFromTimeEntries(ctx context.Context, teamID string, req *RemoveTagsFromTimeEntriesRequest) error

func (*Client) RemoveTaskFromList

func (c *Client) RemoveTaskFromList(ctx context.Context, listID, taskID string, opts ...*TaskScopedOptions) error

func (*Client) RemoveUser

func (c *Client) RemoveUser(ctx context.Context, teamID, userID string) error

func (*Client) SearchDocs

func (c *Client) SearchDocs(ctx context.Context, workspaceID string) (*DocsResponse, error)

func (*Client) SearchTasks

func (c *Client) SearchTasks(ctx context.Context, teamID string, opts *SearchTasksOptions) (*TasksResponse, error)

func (*Client) SetCustomFieldValue

func (c *Client) SetCustomFieldValue(ctx context.Context, taskID, fieldID string, req *SetCustomFieldRequest, opts ...*TaskScopedOptions) error

func (*Client) StartTimer

func (c *Client) StartTimer(ctx context.Context, teamID string, req *StartTimerRequest) (*SingleTimeEntryResponse, error)

func (*Client) StopTimer

func (c *Client) StopTimer(ctx context.Context, teamID string) (*SingleTimeEntryResponse, error)

func (*Client) TrackLegacyTime

func (c *Client) TrackLegacyTime(ctx context.Context, taskID string, req *LegacyTrackTimeRequest, opts ...*TaskScopedOptions) (*LegacyTimeResponse, error)

func (*Client) UpdateComment

func (c *Client) UpdateComment(ctx context.Context, commentID string, req *UpdateCommentRequest) error

func (*Client) UpdateFolder

func (c *Client) UpdateFolder(ctx context.Context, folderID string, req *UpdateFolderRequest) (*Folder, error)

func (*Client) UpdateGoal

func (c *Client) UpdateGoal(ctx context.Context, goalID string, req *UpdateGoalRequest) (*GoalResponse, error)

func (*Client) UpdateGroup

func (c *Client) UpdateGroup(ctx context.Context, groupID string, req *UpdateGroupRequest) (*Group, error)

func (*Client) UpdateKeyResult

func (c *Client) UpdateKeyResult(ctx context.Context, keyResultID string, req *UpdateKeyResultRequest) (*KeyResultResponse, error)

func (*Client) UpdateList

func (c *Client) UpdateList(ctx context.Context, listID string, req *UpdateListRequest) (*List, error)

func (*Client) UpdateSpace

func (c *Client) UpdateSpace(ctx context.Context, spaceID string, req *UpdateSpaceRequest) (*Space, error)

func (*Client) UpdateSpaceTag

func (c *Client) UpdateSpaceTag(ctx context.Context, spaceID, tagName string, req *UpdateTagRequest) error

func (*Client) UpdateTask

func (c *Client) UpdateTask(ctx context.Context, taskID string, req *UpdateTaskRequest, opts ...UpdateTaskOptions) (*Task, error)

func (*Client) UpdateTimeEntry

func (c *Client) UpdateTimeEntry(ctx context.Context, teamID, timerID string, req *UpdateTimeEntryRequest) error

func (*Client) UpdateView

func (c *Client) UpdateView(ctx context.Context, viewID string, req *UpdateViewRequest) (*ViewResponse, error)

func (*Client) UpdateWebhook

func (c *Client) UpdateWebhook(ctx context.Context, webhookID string, req *UpdateWebhookRequest) (*UpdateWebhookResponse, error)

type ClientError

type ClientError struct {
	StatusCode int
	Code       string
	Message    string
	Retryable  bool
}

ClientError is a typed error returned by all API methods. StatusCode is the HTTP status (0 for non-HTTP errors). Code is a machine-readable error code (e.g. UNAUTHORIZED, RATE_LIMITED). Retryable indicates whether the caller should retry.

func (*ClientError) Error

func (e *ClientError) Error() string

type ClientInterface

type ClientInterface interface {
	// Auth
	GetUser(ctx context.Context) (*UserResponse, error)

	// Workspaces
	ListWorkspaces(ctx context.Context) (*WorkspacesResponse, error)

	// Spaces
	ListSpaces(ctx context.Context, workspaceID string) (*SpacesResponse, error)
	GetSpace(ctx context.Context, spaceID string) (*Space, error)
	CreateSpace(ctx context.Context, workspaceID string, req *CreateSpaceRequest) (*Space, error)
	UpdateSpace(ctx context.Context, spaceID string, req *UpdateSpaceRequest) (*Space, error)
	DeleteSpace(ctx context.Context, spaceID string) error

	// Folders
	ListFolders(ctx context.Context, spaceID string) (*FoldersResponse, error)
	GetFolder(ctx context.Context, folderID string) (*Folder, error)
	CreateFolder(ctx context.Context, spaceID string, req *CreateFolderRequest) (*Folder, error)
	UpdateFolder(ctx context.Context, folderID string, req *UpdateFolderRequest) (*Folder, error)
	DeleteFolder(ctx context.Context, folderID string) error

	// Lists
	ListLists(ctx context.Context, folderID string) (*ListsResponse, error)
	ListFolderlessLists(ctx context.Context, spaceID string) (*ListsResponse, error)
	GetList(ctx context.Context, listID string) (*List, error)
	CreateList(ctx context.Context, folderID string, req *CreateListRequest) (*List, error)
	CreateFolderlessList(ctx context.Context, spaceID string, req *CreateListRequest) (*List, error)
	UpdateList(ctx context.Context, listID string, req *UpdateListRequest) (*List, error)
	DeleteList(ctx context.Context, listID string) error

	// Tasks
	ListTasks(ctx context.Context, listID string, opts *ListTasksOptions) (*TasksResponse, error)
	GetTask(ctx context.Context, taskID string, opts ...GetTaskOptions) (*Task, error)
	CreateTask(ctx context.Context, listID string, req *CreateTaskRequest) (*Task, error)
	UpdateTask(ctx context.Context, taskID string, req *UpdateTaskRequest, opts ...UpdateTaskOptions) (*Task, error)
	DeleteTask(ctx context.Context, taskID string, opts ...*TaskScopedOptions) error
	SearchTasks(ctx context.Context, teamID string, opts *SearchTasksOptions) (*TasksResponse, error)

	// Comments
	ListComments(ctx context.Context, taskID, startID string, opts ...*TaskScopedOptions) (*CommentsResponse, error)
	ListListComments(ctx context.Context, listID, startID string) (*CommentsResponse, error)
	CreateComment(ctx context.Context, taskID string, req *CreateCommentRequest, opts ...*TaskScopedOptions) (*CreateCommentResponse, error)
	CreateListComment(ctx context.Context, listID string, req *CreateCommentRequest) (*CreateCommentResponse, error)
	UpdateComment(ctx context.Context, commentID string, req *UpdateCommentRequest) error
	DeleteComment(ctx context.Context, commentID string) error

	// Custom Fields
	GetListCustomFields(ctx context.Context, listID string) (*CustomFieldsResponse, error)
	GetFolderCustomFields(ctx context.Context, folderID string) (*CustomFieldsResponse, error)
	GetSpaceCustomFields(ctx context.Context, spaceID string) (*CustomFieldsResponse, error)
	GetWorkspaceCustomFields(ctx context.Context, teamID string) (*CustomFieldsResponse, error)
	SetCustomFieldValue(ctx context.Context, taskID, fieldID string, req *SetCustomFieldRequest, opts ...*TaskScopedOptions) error
	RemoveCustomFieldValue(ctx context.Context, taskID, fieldID string, opts ...*TaskScopedOptions) error

	// Tags
	GetSpaceTags(ctx context.Context, spaceID string) (*TagsResponse, error)
	CreateSpaceTag(ctx context.Context, spaceID string, req *CreateTagRequest) error
	UpdateSpaceTag(ctx context.Context, spaceID, tagName string, req *UpdateTagRequest) error
	DeleteSpaceTag(ctx context.Context, spaceID, tagName string) error
	AddTagToTask(ctx context.Context, taskID, tagName string, opts ...*TaskScopedOptions) error
	RemoveTagFromTask(ctx context.Context, taskID, tagName string, opts ...*TaskScopedOptions) error

	// Checklists
	CreateChecklist(ctx context.Context, taskID string, req *CreateChecklistRequest, opts ...*TaskScopedOptions) (*ChecklistResponse, error)
	EditChecklist(ctx context.Context, checklistID string, req *EditChecklistRequest) error
	DeleteChecklist(ctx context.Context, checklistID string) error
	CreateChecklistItem(ctx context.Context, checklistID string, req *CreateChecklistItemRequest) (*ChecklistResponse, error)
	EditChecklistItem(ctx context.Context, checklistID, checklistItemID string, req *EditChecklistItemRequest) (*ChecklistResponse, error)
	DeleteChecklistItem(ctx context.Context, checklistID, checklistItemID string) error

	// Docs (v3)
	CreateDoc(ctx context.Context, workspaceID string, req *CreateDocRequest) (*Doc, error)
	SearchDocs(ctx context.Context, workspaceID string) (*DocsResponse, error)
	GetDoc(ctx context.Context, workspaceID, docID string) (*Doc, error)
	CreatePage(ctx context.Context, workspaceID, docID string, req *CreatePageRequest) (*DocPage, error)
	GetPage(ctx context.Context, workspaceID, docID, pageID string) (*DocPage, error)
	EditPage(ctx context.Context, workspaceID, docID, pageID string, req *EditPageRequest) (*DocPage, error)
	GetDocPageListing(ctx context.Context, workspaceID, docID string) (*DocPagesResponse, error)

	// Time Tracking
	GetTimeEntries(ctx context.Context, teamID string, opts *ListTimeEntriesOptions) (*TimeEntriesResponse, error)
	CreateTimeEntry(ctx context.Context, teamID string, req *CreateTimeEntryRequest) (*TimeEntry, error)
	GetTimeEntry(ctx context.Context, teamID, timerID string, opts *GetTimeEntryOptions) (*SingleTimeEntryResponse, error)
	UpdateTimeEntry(ctx context.Context, teamID, timerID string, req *UpdateTimeEntryRequest) error
	DeleteTimeEntry(ctx context.Context, teamID, timerID string) error
	StartTimer(ctx context.Context, teamID string, req *StartTimerRequest) (*SingleTimeEntryResponse, error)
	StopTimer(ctx context.Context, teamID string) (*SingleTimeEntryResponse, error)
	GetRunningTimer(ctx context.Context, teamID string, assignee string) (*SingleTimeEntryResponse, error)
	GetTimeEntryTags(ctx context.Context, teamID string) (*TimeEntryTagsResponse, error)
	GetTimeEntryHistory(ctx context.Context, teamID, timerID string) (*TimeEntryHistoryResponse, error)
	AddTagsToTimeEntries(ctx context.Context, teamID string, req *AddTagsToTimeEntriesRequest) error
	RemoveTagsFromTimeEntries(ctx context.Context, teamID string, req *RemoveTagsFromTimeEntriesRequest) error
	ChangeTagNames(ctx context.Context, teamID string, req *ChangeTagNameRequest) error

	// Time Tracking Legacy (task-level)
	GetLegacyTrackedTime(ctx context.Context, taskID, subcategoryID string, opts ...*TaskScopedOptions) (*LegacyTimeResponse, error)
	TrackLegacyTime(ctx context.Context, taskID string, req *LegacyTrackTimeRequest, opts ...*TaskScopedOptions) (*LegacyTimeResponse, error)
	EditLegacyTime(ctx context.Context, taskID, intervalID string, req *LegacyEditTimeRequest, opts ...*TaskScopedOptions) error
	DeleteLegacyTime(ctx context.Context, taskID, intervalID string, opts ...*TaskScopedOptions) error

	// Webhooks
	GetWebhooks(ctx context.Context, teamID string) (*WebhooksResponse, error)
	CreateWebhook(ctx context.Context, teamID string, req *CreateWebhookRequest) (*CreateWebhookResponse, error)
	UpdateWebhook(ctx context.Context, webhookID string, req *UpdateWebhookRequest) (*UpdateWebhookResponse, error)
	DeleteWebhook(ctx context.Context, webhookID string) error

	// Views
	GetTeamViews(ctx context.Context, teamID string) (*ViewsResponse, error)
	GetSpaceViews(ctx context.Context, spaceID string) (*ViewsResponse, error)
	GetFolderViews(ctx context.Context, folderID string) (*ViewsResponse, error)
	GetListViews(ctx context.Context, listID string) (*ViewsResponse, error)
	GetView(ctx context.Context, viewID string) (*ViewResponse, error)
	CreateTeamView(ctx context.Context, teamID string, req *CreateViewRequest) (*ViewResponse, error)
	CreateSpaceView(ctx context.Context, spaceID string, req *CreateViewRequest) (*ViewResponse, error)
	CreateFolderView(ctx context.Context, folderID string, req *CreateViewRequest) (*ViewResponse, error)
	CreateListView(ctx context.Context, listID string, req *CreateViewRequest) (*ViewResponse, error)
	UpdateView(ctx context.Context, viewID string, req *UpdateViewRequest) (*ViewResponse, error)
	DeleteView(ctx context.Context, viewID string) error
	GetViewTasks(ctx context.Context, viewID string, page int) (*ViewTasksResponse, error)

	// Goals
	GetGoals(ctx context.Context, teamID string, includeCompleted bool) (*GoalsResponse, error)
	GetGoal(ctx context.Context, goalID string) (*GoalResponse, error)
	CreateGoal(ctx context.Context, teamID string, req *CreateGoalRequest) (*GoalResponse, error)
	UpdateGoal(ctx context.Context, goalID string, req *UpdateGoalRequest) (*GoalResponse, error)
	DeleteGoal(ctx context.Context, goalID string) error
	CreateKeyResult(ctx context.Context, goalID string, req *CreateKeyResultRequest) (*KeyResultResponse, error)
	UpdateKeyResult(ctx context.Context, keyResultID string, req *UpdateKeyResultRequest) (*KeyResultResponse, error)
	DeleteKeyResult(ctx context.Context, keyResultID string) error

	// Members
	GetListMembers(ctx context.Context, listID string) (*MembersResponse, error)
	GetTaskMembers(ctx context.Context, taskID string) (*MembersResponse, error)

	// Groups
	GetGroups(ctx context.Context, teamID string, groupIDs []string) (*GroupsResponse, error)
	CreateGroup(ctx context.Context, teamID string, req *CreateGroupRequest) (*Group, error)
	UpdateGroup(ctx context.Context, groupID string, req *UpdateGroupRequest) (*Group, error)
	DeleteGroup(ctx context.Context, groupID string) error

	// Relationships
	AddDependency(ctx context.Context, taskID string, req *AddDependencyRequest, opts ...*TaskScopedOptions) (*DependencyResponse, error)
	DeleteDependency(ctx context.Context, taskID, dependsOn, dependencyOf string, opts ...*TaskScopedOptions) error
	AddTaskLink(ctx context.Context, taskID, linksTo string, opts ...*TaskScopedOptions) (*TaskLinkResponse, error)
	DeleteTaskLink(ctx context.Context, taskID, linksTo string, opts ...*TaskScopedOptions) error

	// Task Extras
	MergeTasks(ctx context.Context, taskID string, req *MergeTasksRequest, opts ...*TaskScopedOptions) error
	GetTimeInStatus(ctx context.Context, taskID string, opts ...*TaskScopedOptions) (*TimeInStatusResponse, error)
	GetBulkTimeInStatus(ctx context.Context, taskIDs []string) (*BulkTimeInStatusResponse, error)
	AddTaskToList(ctx context.Context, listID, taskID string, opts ...*TaskScopedOptions) error
	RemoveTaskFromList(ctx context.Context, listID, taskID string, opts ...*TaskScopedOptions) error

	// Attachments
	CreateTaskAttachment(ctx context.Context, taskID, filePath string, opts ...*TaskScopedOptions) (*Attachment, error)

	// Guests
	InviteGuest(ctx context.Context, teamID string, req *InviteGuestRequest) error
	GetGuest(ctx context.Context, teamID, guestID string) (*GuestResponse, error)
	EditGuest(ctx context.Context, teamID, guestID string, req *EditGuestRequest) (*GuestResponse, error)
	RemoveGuest(ctx context.Context, teamID, guestID string) error

	// Users
	InviteUser(ctx context.Context, teamID string, req *InviteUserRequest) (*TeamUserResponse, error)
	GetTeamUser(ctx context.Context, teamID, userID string, includeShared bool) (*TeamUserResponse, error)
	EditUser(ctx context.Context, teamID, userID string, req *EditUserRequest) (*TeamUserResponse, error)
	RemoveUser(ctx context.Context, teamID, userID string) error

	// Roles
	GetCustomRoles(ctx context.Context, teamID string, includeMembers bool) (*CustomRolesResponse, error)

	// Custom Task Types
	GetCustomTaskTypes(ctx context.Context, teamID string) (*CustomTaskTypesResponse, error)

	// Shared Hierarchy
	GetSharedHierarchy(ctx context.Context, teamID string) (*SharedHierarchyResponse, error)

	// Workspace extras
	GetWorkspaceSeats(ctx context.Context, teamID string) (*SeatsResponse, error)
	GetWorkspacePlan(ctx context.Context, teamID string) (*PlanResponse, error)

	// Threaded Comments
	ListThreadedComments(ctx context.Context, commentID string) (*CommentsResponse, error)
	CreateThreadedComment(ctx context.Context, commentID string, req *CreateCommentRequest) (*CreateCommentResponse, error)

	// View Comments
	ListViewComments(ctx context.Context, viewID, startID string) (*CommentsResponse, error)
	CreateViewComment(ctx context.Context, viewID string, req *CreateCommentRequest) (*CreateCommentResponse, error)

	// Guest Assignments
	AddGuestToTask(ctx context.Context, taskID string, guestID int, req *GuestPermissionRequest, includeShared bool, opts ...*TaskScopedOptions) (*GuestResponse, error)
	RemoveGuestFromTask(ctx context.Context, taskID string, guestID int, includeShared bool, opts ...*TaskScopedOptions) error
	AddGuestToList(ctx context.Context, listID string, guestID int, req *GuestPermissionRequest, includeShared bool) (*GuestResponse, error)
	RemoveGuestFromList(ctx context.Context, listID string, guestID int, includeShared bool) error
	AddGuestToFolder(ctx context.Context, folderID string, guestID int, req *GuestPermissionRequest, includeShared bool) (*GuestResponse, error)
	RemoveGuestFromFolder(ctx context.Context, folderID string, guestID int, includeShared bool) error

	// Templates
	GetTaskTemplates(ctx context.Context, teamID string, page int) (*TaskTemplatesResponse, error)
	CreateTaskFromTemplate(ctx context.Context, listID, templateID string, req *CreateFromTemplateRequest) (*CreateFromTemplateResponse, error)
	CreateFolderFromTemplate(ctx context.Context, spaceID, templateID string, req *CreateFromTemplateRequest) (*CreateFromTemplateResponse, error)
	CreateListFromFolderTemplate(ctx context.Context, folderID, templateID string, req *CreateFromTemplateRequest) (*CreateFromTemplateResponse, error)
	CreateListFromSpaceTemplate(ctx context.Context, spaceID, templateID string, req *CreateFromTemplateRequest) (*CreateFromTemplateResponse, error)
}

ClientInterface defines all ClickUp API operations.

type Comment

type Comment struct {
	ID          string        `json:"id"`
	CommentText string        `json:"comment_text"`
	User        User          `json:"user"`
	Date        string        `json:"date"`
	Comment     []CommentPart `json:"comment"`
}

type CommentPart

type CommentPart struct {
	Text string `json:"text"`
}

type CommentsResponse

type CommentsResponse struct {
	Comments []Comment `json:"comments"`
}

type CreateChecklistItemRequest

type CreateChecklistItemRequest struct {
	Name     string `json:"name,omitempty"`
	Assignee *int   `json:"assignee,omitempty"`
}

type CreateChecklistRequest

type CreateChecklistRequest struct {
	Name string `json:"name"`
}

type CreateCommentRequest

type CreateCommentRequest struct {
	CommentText   string `json:"comment_text"`
	Assignee      *int   `json:"assignee,omitempty"`
	GroupAssignee *int   `json:"group_assignee,omitempty"`
	NotifyAll     bool   `json:"notify_all,omitempty"`
}

type CreateCommentResponse

type CreateCommentResponse struct {
	ID     json.Number `json:"id"`
	HistID string      `json:"hist_id"`
	Date   json.Number `json:"date"`
}

type CreateDocRequest

type CreateDocRequest struct {
	Name       string     `json:"name"`
	Parent     *DocParent `json:"parent,omitempty"`
	Visibility string     `json:"visibility,omitempty"`
}

type CreateFolderRequest

type CreateFolderRequest struct {
	Name string `json:"name"`
}

type CreateFromTemplateRequest

type CreateFromTemplateRequest struct {
	Name    string      `json:"name"`
	Options interface{} `json:"options,omitempty"`
}

type CreateFromTemplateResponse

type CreateFromTemplateResponse struct {
	ID string `json:"id,omitempty"`
}

type CreateGoalRequest

type CreateGoalRequest struct {
	Name           string `json:"name"`
	DueDate        int64  `json:"due_date"`
	Description    string `json:"description"`
	MultipleOwners bool   `json:"multiple_owners"`
	Owners         []int  `json:"owners"`
	Color          string `json:"color"`
}

type CreateGroupRequest

type CreateGroupRequest struct {
	Name    string `json:"name"`
	Handle  string `json:"handle,omitempty"`
	Members []int  `json:"members"`
}

type CreateKeyResultRequest

type CreateKeyResultRequest struct {
	Name       string   `json:"name"`
	Owners     []int    `json:"owners"`
	Type       string   `json:"type"`
	StepsStart int      `json:"steps_start"`
	StepsEnd   int      `json:"steps_end"`
	Unit       string   `json:"unit"`
	TaskIDs    []string `json:"task_ids,omitempty"`
	ListIDs    []string `json:"list_ids,omitempty"`
}

type CreateListRequest

type CreateListRequest struct {
	Name            string `json:"name"`
	Content         string `json:"content,omitempty"`
	MarkdownContent string `json:"markdown_content,omitempty"`
	DueDate         *int64 `json:"due_date,omitempty"`
	DueDateTime     *bool  `json:"due_date_time,omitempty"`
	Priority        *int   `json:"priority,omitempty"`
	Assignee        *int   `json:"assignee,omitempty"`
	Status          string `json:"status,omitempty"`
}

type CreatePageRequest

type CreatePageRequest struct {
	Name         string `json:"name"`
	Content      string `json:"content,omitempty"`
	ContentHtml  string `json:"content_html,omitempty"`
	OrderIndex   *int   `json:"orderindex,omitempty"`
	ParentPageID string `json:"parent_page_id,omitempty"`
}

type CreateSpaceRequest

type CreateSpaceRequest struct {
	Name              string                 `json:"name"`
	MultipleAssignees bool                   `json:"multiple_assignees"`
	Features          map[string]interface{} `json:"features,omitempty"`
}

type CreateTagRequest

type CreateTagRequest struct {
	Tag Tag `json:"tag"`
}

type CreateTaskRequest

type CreateTaskRequest struct {
	Name                      string             `json:"name"`
	Description               string             `json:"description,omitempty"`
	MarkdownDescription       string             `json:"markdown_description,omitempty"`
	Assignees                 []int              `json:"assignees,omitempty"`
	GroupAssignees            []string           `json:"group_assignees,omitempty"`
	Tags                      []string           `json:"tags,omitempty"`
	Status                    string             `json:"status,omitempty"`
	Priority                  *int               `json:"priority,omitempty"`
	DueDate                   *int64             `json:"due_date,omitempty"`
	DueDateTime               *bool              `json:"due_date_time,omitempty"`
	StartDate                 *int64             `json:"start_date,omitempty"`
	StartDateTime             *bool              `json:"start_date_time,omitempty"`
	TimeEstimate              *int64             `json:"time_estimate,omitempty"`
	Points                    *float64           `json:"points,omitempty"`
	NotifyAll                 bool               `json:"notify_all,omitempty"`
	Parent                    string             `json:"parent,omitempty"`
	LinksTo                   string             `json:"links_to,omitempty"`
	CustomFields              []CustomFieldValue `json:"custom_fields,omitempty"`
	CustomItemID              *int               `json:"custom_item_id,omitempty"`
	CheckRequiredCustomFields *bool              `json:"check_required_custom_fields,omitempty"`
}

type CreateTimeEntryRequest

type CreateTimeEntryRequest struct {
	Description string `json:"description,omitempty"`
	Tags        []Tag  `json:"tags,omitempty"`
	Start       int64  `json:"start"`
	Stop        *int64 `json:"stop,omitempty"`
	Billable    bool   `json:"billable,omitempty"`
	Duration    int64  `json:"duration"`
	Assignee    *int   `json:"assignee,omitempty"`
	Tid         string `json:"tid,omitempty"`
}

type CreateViewRequest

type CreateViewRequest struct {
	Name        string      `json:"name"`
	Type        string      `json:"type"`
	Grouping    interface{} `json:"grouping,omitempty"`
	Divide      interface{} `json:"divide,omitempty"`
	Sorting     interface{} `json:"sorting,omitempty"`
	Filters     interface{} `json:"filters,omitempty"`
	Columns     interface{} `json:"columns,omitempty"`
	TeamSidebar interface{} `json:"team_sidebar,omitempty"`
	Settings    interface{} `json:"settings,omitempty"`
}

type CreateWebhookRequest

type CreateWebhookRequest struct {
	Endpoint string   `json:"endpoint"`
	Events   []string `json:"events"`
	SpaceID  *int     `json:"space_id,omitempty"`
	FolderID *int     `json:"folder_id,omitempty"`
	ListID   *int     `json:"list_id,omitempty"`
	TaskID   *string  `json:"task_id,omitempty"`
}

type CreateWebhookResponse

type CreateWebhookResponse struct {
	ID      string  `json:"id"`
	Webhook Webhook `json:"webhook"`
}

type CustomField

type CustomField struct {
	ID             string      `json:"id"`
	Name           string      `json:"name"`
	Type           string      `json:"type"`
	TypeConfig     interface{} `json:"type_config,omitempty"`
	DateCreated    string      `json:"date_created,omitempty"`
	HideFromGuests bool        `json:"hide_from_guests,omitempty"`
	Value          interface{} `json:"value,omitempty"`
	Required       bool        `json:"required,omitempty"`
}

type CustomFieldValue

type CustomFieldValue struct {
	ID    string      `json:"id"`
	Value interface{} `json:"value"`
}

func ParseCustomFields

func ParseCustomFields(s string) ([]CustomFieldValue, error)

ParseCustomFields parses a JSON string into a slice of CustomFieldValue.

type CustomFieldsResponse

type CustomFieldsResponse struct {
	Fields []CustomField `json:"fields"`
}

type CustomRole

type CustomRole struct {
	ID          int    `json:"id"`
	Name        string `json:"name"`
	CustomType  int    `json:"custom_type"`
	DateCreated string `json:"date_created,omitempty"`
}

type CustomRolesResponse

type CustomRolesResponse struct {
	CustomRoles []CustomRole `json:"custom_roles"`
}

type CustomTaskType

type CustomTaskType struct {
	ID          int         `json:"id"`
	Name        string      `json:"name"`
	Description string      `json:"description,omitempty"`
	Avatar      interface{} `json:"avatar,omitempty"`
}

type CustomTaskTypesResponse

type CustomTaskTypesResponse struct {
	CustomItems []CustomTaskType `json:"custom_items"`
}

type Dependency

type Dependency struct {
	TaskID      string `json:"task_id"`
	DependsOn   string `json:"depends_on"`
	Type        int    `json:"type"`
	DateCreated string `json:"date_created"`
	Userid      string `json:"userid"`
}

type DependencyResponse

type DependencyResponse struct {
	Dependency interface{} `json:"dependency"`
}

type Doc

type Doc struct {
	ID          string      `json:"id"`
	Name        string      `json:"name,omitempty"`
	WorkspaceID json.Number `json:"workspace_id,omitempty"`
	Parent      interface{} `json:"parent,omitempty"`
	Creator     interface{} `json:"creator,omitempty"`
	DateCreated json.Number `json:"date_created,omitempty"`
	Deleted     bool        `json:"deleted,omitempty"`
	Visibility  string      `json:"visibility,omitempty"`
}

Doc represents a ClickUp Doc (v3 API).

type DocPage

type DocPage struct {
	ID          string      `json:"id"`
	Name        string      `json:"name,omitempty"`
	Content     string      `json:"content,omitempty"`
	ContentHtml string      `json:"content_html,omitempty"`
	OrderIndex  interface{} `json:"orderindex,omitempty"`
	DateCreated json.Number `json:"date_created,omitempty"`
	DateUpdated json.Number `json:"date_updated,omitempty"`
	Archived    bool        `json:"archived,omitempty"`
	Protected   bool        `json:"protected,omitempty"`
	CreatorID   interface{} `json:"creator_id,omitempty"`
}

type DocPagesResponse

type DocPagesResponse struct {
	Pages []DocPage `json:"pages"`
}

type DocParent

type DocParent struct {
	ID   string `json:"id"`
	Type int    `json:"type"`
}

type DocsResponse

type DocsResponse struct {
	Docs []Doc `json:"docs"`
}

type EditChecklistItemRequest

type EditChecklistItemRequest struct {
	Name     string  `json:"name,omitempty"`
	Assignee *string `json:"assignee,omitempty"`
	Resolved *bool   `json:"resolved,omitempty"`
	Parent   *string `json:"parent,omitempty"`
}

type EditChecklistRequest

type EditChecklistRequest struct {
	Name     string `json:"name,omitempty"`
	Position *int   `json:"position,omitempty"`
}

type EditGuestRequest

type EditGuestRequest struct {
	CanSeePointsEstimated *bool `json:"can_see_points_estimated,omitempty"`
	CanEditTags           *bool `json:"can_edit_tags,omitempty"`
	CanSeeTimeSpent       *bool `json:"can_see_time_spent,omitempty"`
	CanSeeTimeEstimated   *bool `json:"can_see_time_estimated,omitempty"`
	CanCreateViews        *bool `json:"can_create_views,omitempty"`
	CustomRoleID          *int  `json:"custom_role_id,omitempty"`
}

type EditPageRequest

type EditPageRequest struct {
	Name        string `json:"name,omitempty"`
	Content     string `json:"content,omitempty"`
	ContentHtml string `json:"content_html,omitempty"`
	Archived    *bool  `json:"archived,omitempty"`
	Protected   *bool  `json:"protected,omitempty"`
}

type EditUserRequest

type EditUserRequest struct {
	Username     string `json:"username,omitempty"`
	Admin        *bool  `json:"admin,omitempty"`
	CustomRoleID *int   `json:"custom_role_id,omitempty"`
}

type Folder

type Folder struct {
	ID               string `json:"id"`
	Name             string `json:"name"`
	OrderIndex       int    `json:"orderindex"`
	OverrideStatuses bool   `json:"override_statuses"`
	Hidden           bool   `json:"hidden"`
	Space            struct {
		ID   string `json:"id"`
		Name string `json:"name"`
	} `json:"space"`
	TaskCount string `json:"task_count"`
	Lists     []List `json:"lists"`
}

type FoldersResponse

type FoldersResponse struct {
	Folders []Folder `json:"folders"`
}

type GetTaskOptions

type GetTaskOptions struct {
	CustomTaskIDs   bool
	TeamID          string
	IncludeSubtasks bool
	IncludeMarkdown bool
}

type GetTimeEntryOptions

type GetTimeEntryOptions struct {
	IncludeApprovalHistory bool
	IncludeApprovalDetails bool
}

type Goal

type Goal struct {
	ID               string      `json:"id"`
	PrettyID         string      `json:"pretty_id,omitempty"`
	Name             string      `json:"name"`
	TeamID           string      `json:"team_id"`
	Creator          interface{} `json:"creator,omitempty"`
	Owner            interface{} `json:"owner,omitempty"`
	Color            string      `json:"color,omitempty"`
	DateCreated      string      `json:"date_created,omitempty"`
	StartDate        interface{} `json:"start_date,omitempty"`
	DueDate          string      `json:"due_date,omitempty"`
	Description      string      `json:"description,omitempty"`
	Private          bool        `json:"private,omitempty"`
	Archived         bool        `json:"archived,omitempty"`
	MultipleOwners   bool        `json:"multiple_owners,omitempty"`
	FolderID         interface{} `json:"folder_id,omitempty"`
	Members          interface{} `json:"members,omitempty"`
	Owners           interface{} `json:"owners,omitempty"`
	KeyResults       interface{} `json:"key_results,omitempty"`
	PercentCompleted float64     `json:"percent_completed,omitempty"`
}

type GoalResponse

type GoalResponse struct {
	Goal Goal `json:"goal"`
}

type GoalsResponse

type GoalsResponse struct {
	Goals   []Goal        `json:"goals"`
	Folders []interface{} `json:"folders,omitempty"`
}

type Group

type Group struct {
	ID          string      `json:"id"`
	TeamID      string      `json:"team_id"`
	UserID      int         `json:"userid"`
	Name        string      `json:"name"`
	Handle      string      `json:"handle"`
	DateCreated string      `json:"date_created"`
	Initials    string      `json:"initials"`
	Members     interface{} `json:"members"`
	Avatar      interface{} `json:"avatar"`
}

type GroupsResponse

type GroupsResponse struct {
	Groups []Group `json:"groups"`
}

type Guest

type Guest struct {
	User interface{} `json:"user,omitempty"`
}

type GuestPermissionRequest

type GuestPermissionRequest struct {
	PermissionLevel string `json:"permission_level"`
}

type GuestResponse

type GuestResponse struct {
	Guest Guest `json:"guest"`
}

type InviteGuestRequest

type InviteGuestRequest struct {
	Email                 string `json:"email"`
	CanEditTags           *bool  `json:"can_edit_tags,omitempty"`
	CanSeeTimeSpent       *bool  `json:"can_see_time_spent,omitempty"`
	CanSeeTimeEstimated   *bool  `json:"can_see_time_estimated,omitempty"`
	CanCreateViews        *bool  `json:"can_create_views,omitempty"`
	CanSeePointsEstimated *bool  `json:"can_see_points_estimated,omitempty"`
	CustomRoleID          *int   `json:"custom_role_id,omitempty"`
}

type InviteUserRequest

type InviteUserRequest struct {
	Email        string `json:"email"`
	Admin        *bool  `json:"admin,omitempty"`
	CustomRoleID *int   `json:"custom_role_id,omitempty"`
	MemberGroups []int  `json:"member_groups,omitempty"`
}

type KeyResult

type KeyResult struct {
	ID               string      `json:"id"`
	GoalID           string      `json:"goal_id"`
	Name             string      `json:"name"`
	Type             string      `json:"type"`
	Unit             string      `json:"unit,omitempty"`
	Creator          interface{} `json:"creator,omitempty"`
	DateCreated      string      `json:"date_created,omitempty"`
	GoalPrettyID     string      `json:"goal_pretty_id,omitempty"`
	PercentCompleted float64     `json:"percent_completed,omitempty"`
	Completed        bool        `json:"completed,omitempty"`
	Owners           interface{} `json:"owners,omitempty"`
}

type KeyResultResponse

type KeyResultResponse struct {
	KeyResult KeyResult `json:"key_result"`
}

type LegacyEditTimeRequest

type LegacyEditTimeRequest struct {
	Time      int64  `json:"time,omitempty"`
	Start     int64  `json:"start,omitempty"`
	End       int64  `json:"end,omitempty"`
	TagAction string `json:"tag_action,omitempty"`
	Tags      []Tag  `json:"tags,omitempty"`
}

type LegacyTimeInterval

type LegacyTimeInterval struct {
	ID        string      `json:"id"`
	Start     string      `json:"start"`
	End       string      `json:"end"`
	Time      string      `json:"time"`
	Source    string      `json:"source,omitempty"`
	DateAdded string      `json:"date_added,omitempty"`
	Tags      []Tag       `json:"tags,omitempty"`
	Taskid    string      `json:"taskid,omitempty"`
	User      interface{} `json:"user,omitempty"`
}

type LegacyTimeResponse

type LegacyTimeResponse struct {
	Data []LegacyTimeInterval `json:"data"`
}

type LegacyTrackTimeRequest

type LegacyTrackTimeRequest struct {
	Time  int64 `json:"time"`
	Start int64 `json:"start,omitempty"`
	End   int64 `json:"end,omitempty"`
	Tags  []Tag `json:"tags,omitempty"`
}

type LinkedTask

type LinkedTask struct {
	TaskID      string `json:"task_id"`
	LinkID      string `json:"link_id"`
	DateCreated string `json:"date_created"`
	Userid      string `json:"userid"`
}

type List

type List struct {
	ID         string `json:"id"`
	Name       string `json:"name"`
	OrderIndex int    `json:"orderindex"`
	Content    string `json:"content,omitempty"`
	Status     struct {
		Status string `json:"status"`
		Color  string `json:"color"`
	} `json:"status,omitempty"`
	Priority struct {
		Priority string `json:"priority"`
		Color    string `json:"color"`
	} `json:"priority,omitempty"`
	Assignee  interface{} `json:"assignee"`
	DueDate   string      `json:"due_date,omitempty"`
	TaskCount int         `json:"task_count"`
	Folder    struct {
		ID     string `json:"id"`
		Name   string `json:"name"`
		Hidden bool   `json:"hidden"`
	} `json:"folder"`
	Space struct {
		ID   string `json:"id"`
		Name string `json:"name"`
	} `json:"space"`
}

type ListTasksOptions

type ListTasksOptions struct {
	Statuses        []string
	Assignees       []string
	Tags            []string
	Watchers        []string
	Page            int
	OrderBy         string
	Reverse         bool
	Subtasks        bool
	IncludeClosed   bool
	Archived        bool
	IncludeMarkdown bool
	IncludeTiml     bool
	DueDateGt       int64
	DueDateLt       int64
	DateCreatedGt   int64
	DateCreatedLt   int64
	DateUpdatedGt   int64
	DateUpdatedLt   int64
	DateDoneGt      int64
	DateDoneLt      int64
	CustomFields    string
	CustomItems     []int
}

type ListTimeEntriesOptions

type ListTimeEntriesOptions struct {
	StartDate              string
	EndDate                string
	Assignee               string
	IncludeTaskTags        bool
	IncludeLocationNames   bool
	IncludeApprovalHistory bool
	IncludeApprovalDetails bool
	SpaceID                string
	FolderID               string
	ListID                 string
	TaskID                 string
	CustomTaskIDs          bool
	TeamID                 string
	IsBillable             *bool
}

type ListsResponse

type ListsResponse struct {
	Lists []List `json:"lists"`
}

type Member

type Member struct {
	ID             int         `json:"id"`
	Username       string      `json:"username"`
	Email          string      `json:"email"`
	Color          string      `json:"color,omitempty"`
	Initials       string      `json:"initials,omitempty"`
	ProfilePicture interface{} `json:"profilePicture,omitempty"`
	ProfileInfo    interface{} `json:"profileInfo,omitempty"`
}

type MembersResponse

type MembersResponse struct {
	Members []Member `json:"members"`
}

type MergeTasksRequest

type MergeTasksRequest struct {
	SourceTaskIDs []string `json:"source_task_ids"`
}

MergeTasksRequest is the request body for merging tasks.

type PlanResponse

type PlanResponse struct {
	Plan interface{} `json:"plan,omitempty"`
}

type RemoveTagsFromTimeEntriesRequest

type RemoveTagsFromTimeEntriesRequest struct {
	TimeEntryIDs []string `json:"time_entry_ids"`
	Tags         []Tag    `json:"tags"`
}

type SearchDocsOptions

type SearchDocsOptions struct {
	WorkspaceID string
}

type SearchTasksOptions

type SearchTasksOptions struct {
	Page            int
	OrderBy         string
	Reverse         bool
	Subtasks        bool
	Statuses        []string
	Assignees       []string
	Tags            []string
	DueDateGt       int64
	DueDateLt       int64
	DateCreatedGt   int64
	DateCreatedLt   int64
	DateUpdatedGt   int64
	DateUpdatedLt   int64
	DateDoneGt      int64
	DateDoneLt      int64
	IncludeClosed   bool
	CustomFields    string
	CustomItems     []int
	ListIDs         []string
	ProjectIDs      []string
	SpaceIDs        []string
	FolderIDs       []string
	IncludeMarkdown bool
}

SearchTasks searches tasks across a workspace (GET /v2/team/{team_id}/task).

type SeatsResponse

type SeatsResponse struct {
	Members interface{} `json:"members,omitempty"`
	Seats   interface{} `json:"seats,omitempty"`
}

type SetCustomFieldRequest

type SetCustomFieldRequest struct {
	Value interface{} `json:"value"`
}

type SharedHierarchyResponse

type SharedHierarchyResponse struct {
	Shared interface{} `json:"shared"`
}

type SingleTimeEntryResponse

type SingleTimeEntryResponse struct {
	Data TimeEntry `json:"data"`
}

type Space

type Space struct {
	ID      string `json:"id"`
	Name    string `json:"name"`
	Private bool   `json:"private"`
	Status  struct {
		Status string `json:"status"`
		Color  string `json:"color"`
	} `json:"status"`
	Multiple bool                   `json:"multiple_assignees"`
	Features map[string]interface{} `json:"features"`
}

type SpacesResponse

type SpacesResponse struct {
	Spaces []Space `json:"spaces"`
}

type StartTimerRequest

type StartTimerRequest struct {
	Tid         string `json:"tid,omitempty"`
	Description string `json:"description,omitempty"`
	Tags        []Tag  `json:"tags,omitempty"`
	Billable    bool   `json:"billable,omitempty"`
}

type Tag

type Tag struct {
	Name  string `json:"name"`
	TagFg string `json:"tag_fg"`
	TagBg string `json:"tag_bg"`
}

type TagsResponse

type TagsResponse struct {
	Tags []Tag `json:"tags"`
}

type Task

type Task struct {
	ID                  string        `json:"id"`
	CustomID            string        `json:"custom_id,omitempty"`
	Name                string        `json:"name"`
	Description         string        `json:"description,omitempty"`
	MarkdownDescription string        `json:"markdown_description,omitempty"`
	Status              TaskStatus    `json:"status"`
	OrderIndex          string        `json:"orderindex"`
	DateCreated         string        `json:"date_created"`
	DateUpdated         string        `json:"date_updated,omitempty"`
	DateClosed          string        `json:"date_closed,omitempty"`
	Creator             User          `json:"creator"`
	Assignees           []User        `json:"assignees"`
	Watchers            []User        `json:"watchers,omitempty"`
	Tags                []TaskTag     `json:"tags"`
	Parent              interface{}   `json:"parent"`
	Priority            *TaskPriority `json:"priority"`
	DueDate             string        `json:"due_date,omitempty"`
	StartDate           string        `json:"start_date,omitempty"`
	Points              interface{}   `json:"points"`
	TimeEstimate        interface{}   `json:"time_estimate"`
	TimeSpent           interface{}   `json:"time_spent,omitempty"`
	CustomFields        []CustomField `json:"custom_fields,omitempty"`
	Checklists          []Checklist   `json:"checklists,omitempty"`
	LinkedTasks         []LinkedTask  `json:"linked_tasks,omitempty"`
	Dependencies        []Dependency  `json:"dependencies,omitempty"`
	Attachments         []Attachment  `json:"attachments,omitempty"`
	URL                 string        `json:"url"`
	List                struct {
		ID   string `json:"id"`
		Name string `json:"name"`
	} `json:"list"`
	Folder struct {
		ID   string `json:"id"`
		Name string `json:"name"`
	} `json:"folder"`
	Space struct {
		ID string `json:"id"`
	} `json:"space"`
}

type TaskLinkResponse

type TaskLinkResponse struct {
	Link interface{} `json:"link"`
}

type TaskPriority

type TaskPriority struct {
	ID       string `json:"id"`
	Priority string `json:"priority"`
	Color    string `json:"color"`
}

type TaskScopedOptions

type TaskScopedOptions struct {
	CustomTaskIDs bool
	TeamID        string
}

TaskScopedOptions holds custom_task_ids and team_id query params for task-scoped endpoints.

type TaskStatus

type TaskStatus struct {
	Status string `json:"status"`
	Color  string `json:"color"`
	Type   string `json:"type"`
}

type TaskTag

type TaskTag struct {
	Name    string `json:"name"`
	TagFg   string `json:"tag_fg"`
	TagBg   string `json:"tag_bg"`
	Creator int    `json:"creator"`
}

type TaskTemplate

type TaskTemplate struct {
	Name string `json:"name"`
	ID   string `json:"id"`
}

type TaskTemplatesResponse

type TaskTemplatesResponse struct {
	Templates []TaskTemplate `json:"templates"`
}

type TasksResponse

type TasksResponse struct {
	Tasks []Task `json:"tasks"`
}

type TeamUser

type TeamUser struct {
	User   interface{} `json:"user,omitempty"`
	Invite *bool       `json:"invite,omitempty"`
}

type TeamUserResponse

type TeamUserResponse struct {
	Team interface{} `json:"team,omitempty"`
	User interface{} `json:"user,omitempty"`
}

type TimeEntriesResponse

type TimeEntriesResponse struct {
	Data []TimeEntry `json:"data"`
}

type TimeEntry

type TimeEntry struct {
	ID           string      `json:"id"`
	Task         interface{} `json:"task,omitempty"`
	Wid          string      `json:"wid,omitempty"`
	User         interface{} `json:"user,omitempty"`
	Billable     bool        `json:"billable"`
	Start        string      `json:"start"`
	End          string      `json:"end,omitempty"`
	Duration     string      `json:"duration"`
	Description  string      `json:"description"`
	Tags         []Tag       `json:"tags,omitempty"`
	Source       string      `json:"source,omitempty"`
	At           string      `json:"at,omitempty"`
	TaskLocation interface{} `json:"task_location,omitempty"`
	TaskTags     interface{} `json:"task_tags,omitempty"`
	TaskURL      string      `json:"task_url,omitempty"`
}

type TimeEntryHistoryResponse

type TimeEntryHistoryResponse struct {
	Data []interface{} `json:"data"`
}

type TimeEntryTagsResponse

type TimeEntryTagsResponse struct {
	Data []Tag `json:"data"`
}

type TimeInStatusResponse

type TimeInStatusResponse struct {
	CurrentStatus interface{}   `json:"current_status"`
	StatusHistory []interface{} `json:"status_history"`
}

TimeInStatusResponse is the response for time in status.

type UpdateCommentRequest

type UpdateCommentRequest struct {
	CommentText   string `json:"comment_text"`
	Assignee      *int   `json:"assignee,omitempty"`
	GroupAssignee *int   `json:"group_assignee,omitempty"`
	Resolved      *bool  `json:"resolved,omitempty"`
}

type UpdateFolderRequest

type UpdateFolderRequest struct {
	Name string `json:"name"`
}

type UpdateGoalRequest

type UpdateGoalRequest struct {
	Name        string `json:"name,omitempty"`
	DueDate     *int64 `json:"due_date,omitempty"`
	Description string `json:"description,omitempty"`
	RemOwners   []int  `json:"rem_owners,omitempty"`
	AddOwners   []int  `json:"add_owners,omitempty"`
	Color       string `json:"color,omitempty"`
}

type UpdateGroupRequest

type UpdateGroupRequest struct {
	Name    string `json:"name,omitempty"`
	Handle  string `json:"handle,omitempty"`
	Members *struct {
		Add []int `json:"add,omitempty"`
		Rem []int `json:"rem,omitempty"`
	} `json:"members,omitempty"`
}

type UpdateKeyResultRequest

type UpdateKeyResultRequest struct {
	StepsCurrent *int   `json:"steps_current,omitempty"`
	Note         string `json:"note,omitempty"`
}

type UpdateListRequest

type UpdateListRequest struct {
	Name            string `json:"name,omitempty"`
	Content         string `json:"content,omitempty"`
	MarkdownContent string `json:"markdown_content,omitempty"`
	DueDate         *int64 `json:"due_date,omitempty"`
	DueDateTime     *bool  `json:"due_date_time,omitempty"`
	Priority        *int   `json:"priority,omitempty"`
	Assignee        *int   `json:"assignee,omitempty"`
	Status          string `json:"status,omitempty"`
	UnsetStatus     bool   `json:"unset_status,omitempty"`
}

type UpdateSpaceRequest

type UpdateSpaceRequest struct {
	Name              string                 `json:"name,omitempty"`
	MultipleAssignees *bool                  `json:"multiple_assignees,omitempty"`
	Private           *bool                  `json:"private,omitempty"`
	AdminCanManage    *bool                  `json:"admin_can_manage,omitempty"`
	Features          map[string]interface{} `json:"features,omitempty"`
}

type UpdateTagRequest

type UpdateTagRequest struct {
	Tag Tag `json:"tag"`
}

type UpdateTaskAssignees

type UpdateTaskAssignees struct {
	Add []int `json:"add,omitempty"`
	Rem []int `json:"rem,omitempty"`
}

type UpdateTaskGroupAssignees

type UpdateTaskGroupAssignees struct {
	Add []string `json:"add,omitempty"`
	Rem []string `json:"rem,omitempty"`
}

type UpdateTaskOptions

type UpdateTaskOptions struct {
	CustomTaskIDs bool
	TeamID        string
}

type UpdateTaskRequest

type UpdateTaskRequest struct {
	Name                *string                   `json:"name,omitempty"`
	Description         *string                   `json:"description,omitempty"`
	MarkdownDescription *string                   `json:"markdown_description,omitempty"`
	Status              *string                   `json:"status,omitempty"`
	Priority            *int                      `json:"priority,omitempty"`
	Assignees           *UpdateTaskAssignees      `json:"assignees,omitempty"`
	GroupAssignees      *UpdateTaskGroupAssignees `json:"group_assignees,omitempty"`
	DueDate             *int64                    `json:"due_date,omitempty"`
	DueDateTime         *bool                     `json:"due_date_time,omitempty"`
	StartDate           *int64                    `json:"start_date,omitempty"`
	StartDateTime       *bool                     `json:"start_date_time,omitempty"`
	TimeEstimate        *int64                    `json:"time_estimate,omitempty"`
	Points              *float64                  `json:"points,omitempty"`
	Archived            *bool                     `json:"archived,omitempty"`
	Parent              *string                   `json:"parent,omitempty"`
	CustomItemID        *int                      `json:"custom_item_id,omitempty"`
}

type UpdateTimeEntryRequest

type UpdateTimeEntryRequest struct {
	Description string `json:"description,omitempty"`
	Tags        []Tag  `json:"tags,omitempty"`
	TagAction   string `json:"tag_action,omitempty"`
	Start       *int64 `json:"start,omitempty"`
	End         *int64 `json:"end,omitempty"`
	Tid         string `json:"tid,omitempty"`
	Billable    *bool  `json:"billable,omitempty"`
	Duration    *int64 `json:"duration,omitempty"`
}

type UpdateViewRequest

type UpdateViewRequest struct {
	Name        string      `json:"name,omitempty"`
	Type        string      `json:"type,omitempty"`
	Parent      interface{} `json:"parent,omitempty"`
	Grouping    interface{} `json:"grouping,omitempty"`
	Divide      interface{} `json:"divide,omitempty"`
	Sorting     interface{} `json:"sorting,omitempty"`
	Filters     interface{} `json:"filters,omitempty"`
	Columns     interface{} `json:"columns,omitempty"`
	TeamSidebar interface{} `json:"team_sidebar,omitempty"`
	Settings    interface{} `json:"settings,omitempty"`
}

type UpdateWebhookRequest

type UpdateWebhookRequest struct {
	Endpoint string `json:"endpoint"`
	Events   string `json:"events"`
	Status   string `json:"status"`
}

type UpdateWebhookResponse

type UpdateWebhookResponse struct {
	ID      string  `json:"id"`
	Webhook Webhook `json:"webhook"`
}

type User

type User struct {
	ID             int    `json:"id"`
	Username       string `json:"username"`
	Email          string `json:"email"`
	Color          string `json:"color"`
	ProfilePicture string `json:"profilePicture"`
	Initials       string `json:"initials"`
}

type UserResponse

type UserResponse struct {
	User User `json:"user"`
}

type View

type View struct {
	ID       string      `json:"id"`
	Name     string      `json:"name"`
	Type     string      `json:"type"`
	Parent   interface{} `json:"parent,omitempty"`
	Grouping interface{} `json:"grouping,omitempty"`
	Divide   interface{} `json:"divide,omitempty"`
	Sorting  interface{} `json:"sorting,omitempty"`
	Filters  interface{} `json:"filters,omitempty"`
	Columns  interface{} `json:"columns,omitempty"`
	Settings interface{} `json:"settings,omitempty"`
}

type ViewResponse

type ViewResponse struct {
	View View `json:"view"`
}

type ViewTasksResponse

type ViewTasksResponse struct {
	Tasks    []interface{} `json:"tasks"`
	LastPage bool          `json:"last_page"`
}

type ViewsResponse

type ViewsResponse struct {
	Views []View `json:"views"`
}

type Webhook

type Webhook struct {
	ID       string      `json:"id"`
	UserID   int         `json:"userid"`
	TeamID   int         `json:"team_id"`
	Endpoint string      `json:"endpoint"`
	ClientID string      `json:"client_id"`
	Events   interface{} `json:"events"`
	TaskID   interface{} `json:"task_id"`
	ListID   interface{} `json:"list_id"`
	FolderID interface{} `json:"folder_id"`
	SpaceID  interface{} `json:"space_id"`
	Health   interface{} `json:"health"`
	Secret   string      `json:"secret"`
}

type WebhooksResponse

type WebhooksResponse struct {
	Webhooks []Webhook `json:"webhooks"`
}

type Workspace

type Workspace struct {
	ID      string `json:"id"`
	Name    string `json:"name"`
	Color   string `json:"color"`
	Avatar  string `json:"avatar"`
	Members []struct {
		User struct {
			ID       int    `json:"id"`
			Username string `json:"username"`
			Email    string `json:"email"`
		} `json:"user"`
	} `json:"members"`
}

type WorkspacesResponse

type WorkspacesResponse struct {
	Teams []Workspace `json:"teams"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL