Generated go sdk for the vikunja api
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

13 KiB

Go API client for vikunja

This is the documentation for the Vikunja API. Vikunja is a cross-plattform Todo-application with a lot of features, such as sharing lists with users or teams.


This API client was generated by the swagger-codegen project. By using the swagger-spec from a remote server, you can easily generate an API client.

  • API version: 0.8+21-854fde1e4c


  • JWT-Auth: Main authorization method, used for most of the requests. Needs Authorization: Bearer <jwt-token>-header to authenticate successfully.
  • BasicAuth: Only used when requesting tasks via caldav.

HTTP basic authentication

auth := context.WithValue(context.Background(), sw.ContextBasicAuth, sw.BasicAuth{
	UserName: "username",
	Password: "password",
r, err := client.Service.Operation(auth, args)

JWTKeyAuth - API key

auth := context.WithValue(context.Background(), sw.ContextAPIKey, sw.APIKey{
	Key: "APIKEY",
	Prefix: "Bearer", // Omit if not necessary.
r, err := client.Service.Operation(auth, args)


Put the package under your project folder and add the following in import:

go get -u

Documentation for API Endpoints

All URIs are relative to https://localhost/api/v1

Class Method HTTP request Description
AssigneesApi TasksTaskIDAssigneesBulkPost Post /tasks/{taskID}/assignees/bulk Add multiple new assignees to a task
AssigneesApi TasksTaskIDAssigneesGet Get /tasks/{taskID}/assignees Get all assignees for a task
AssigneesApi TasksTaskIDAssigneesPut Put /tasks/{taskID}/assignees Add a new assignee to a task
AssigneesApi TasksTaskIDAssigneesUserIDDelete Delete /tasks/{taskID}/assignees/{userID} Delete an assignee
LabelsApi LabelsGet Get /labels Get all labels a user has access to
LabelsApi LabelsIdDelete Delete /labels/{id} Delete a label
LabelsApi LabelsIdGet Get /labels/{id} Gets one label
LabelsApi LabelsIdPut Put /labels/{id} Update a label
LabelsApi LabelsPut Put /labels Create a label
LabelsApi TasksTaskIDLabelsBulkPost Post /tasks/{taskID}/labels/bulk Update all labels on a task.
LabelsApi TasksTaskLabelsGet Get /tasks/{task}/labels Get all labels on a task
LabelsApi TasksTaskLabelsLabelDelete Delete /tasks/{task}/labels/{label} Remove a label from a task
LabelsApi TasksTaskLabelsPut Put /tasks/{task}/labels Add a label to a task
ListApi ListsGet Get /lists Get all lists a user has access to
ListApi ListsIdDelete Delete /lists/{id} Deletes a list
ListApi ListsIdGet Get /lists/{id} Gets one list
ListApi ListsIdListusersGet Get /lists/{id}/listusers Get users
ListApi ListsIdPost Post /lists/{id} Updates a list
ListApi NamespacesNamespaceIDListsPut Put /namespaces/{namespaceID}/lists Creates a new list
NamespaceApi NamespaceIdPost Post /namespace/{id} Updates a namespace
NamespaceApi NamespacesGet Get /namespaces Get all namespaces a user has access to
NamespaceApi NamespacesIdDelete Delete /namespaces/{id} Deletes a namespace
NamespaceApi NamespacesIdGet Get /namespaces/{id} Gets one namespace
NamespaceApi NamespacesIdListsGet Get /namespaces/{id}/lists Get all lists in a namespace
NamespaceApi NamespacesPut Put /namespaces Creates a new namespace
ServiceApi InfoGet Get /info Info
SharingApi ListsIdTeamsGet Get /lists/{id}/teams Get teams on a list
SharingApi ListsIdTeamsPut Put /lists/{id}/teams Add a team to a list
SharingApi ListsIdUsersGet Get /lists/{id}/users Get users on a list
SharingApi ListsIdUsersPut Put /lists/{id}/users Add a user to a list
SharingApi ListsListIDTeamsTeamIDDelete Delete /lists/{listID}/teams/{teamID} Delete a team from a list
SharingApi ListsListIDTeamsTeamIDPost Post /lists/{listID}/teams/{teamID} Update a team <-> list relation
SharingApi ListsListIDUsersUserIDDelete Delete /lists/{listID}/users/{userID} Delete a user from a list
SharingApi ListsListIDUsersUserIDPost Post /lists/{listID}/users/{userID} Update a user <-> list relation
SharingApi ListsListSharesGet Get /lists/{list}/shares Get all link shares for a list
SharingApi ListsListSharesPut Put /lists/{list}/shares Share a list via link
SharingApi ListsListSharesShareDelete Delete /lists/{list}/shares/{share} Remove a link share
SharingApi ListsListSharesShareGet Get /lists/{list}/shares/{share} Get one link shares for a list
SharingApi NamespacesIdTeamsGet Get /namespaces/{id}/teams Get teams on a namespace
SharingApi NamespacesIdTeamsPut Put /namespaces/{id}/teams Add a team to a namespace
SharingApi NamespacesIdUsersGet Get /namespaces/{id}/users Get users on a namespace
SharingApi NamespacesIdUsersPut Put /namespaces/{id}/users Add a user to a namespace
SharingApi NamespacesNamespaceIDTeamsTeamIDDelete Delete /namespaces/{namespaceID}/teams/{teamID} Delete a team from a namespace
SharingApi NamespacesNamespaceIDTeamsTeamIDPost Post /namespaces/{namespaceID}/teams/{teamID} Update a team <-> namespace relation
SharingApi NamespacesNamespaceIDUsersUserIDDelete Delete /namespaces/{namespaceID}/users/{userID} Delete a user from a namespace
SharingApi NamespacesNamespaceIDUsersUserIDPost Post /namespaces/{namespaceID}/users/{userID} Update a user <-> namespace relation
SharingApi SharesShareAuthPost Post /shares/{share}/auth Get an auth token for a share
TaskApi ListsIdPut Put /lists/{id} Create a task
TaskApi TasksAllGet Get /tasks/all Get tasks
TaskApi TasksBulkPost Post /tasks/bulk Update a bunch of tasks at once
TaskApi TasksIdAttachmentsAttachmentIDDelete Delete /tasks/{id}/attachments/{attachmentID} Delete an attachment
TaskApi TasksIdAttachmentsAttachmentIDGet Get /tasks/{id}/attachments/{attachmentID} Get one attachment.
TaskApi TasksIdAttachmentsGet Get /tasks/{id}/attachments Get all attachments for one task.
TaskApi TasksIdAttachmentsPut Put /tasks/{id}/attachments Upload a task attachment
TaskApi TasksIdDelete Delete /tasks/{id} Delete a task
TaskApi TasksIdPost Post /tasks/{id} Update a task
TaskApi TasksTaskIDRelationsDelete Delete /tasks/{taskID}/relations Remove a task relation
TaskApi TasksTaskIDRelationsPut Put /tasks/{taskID}/relations Create a new relation between two tasks
TeamApi TeamsGet Get /teams Get teams
TeamApi TeamsIdDelete Delete /teams/{id} Deletes a team
TeamApi TeamsIdMembersPut Put /teams/{id}/members Add a user to a team
TeamApi TeamsIdMembersUserIDDelete Delete /teams/{id}/members/{userID} Remove a user from a team
TeamApi TeamsIdPost Post /teams/{id} Updates a team
TeamApi TeamsPut Put /teams Creates a new team
UserApi LoginPost Post /login Login
UserApi RegisterPost Post /register Register
UserApi UserConfirmPost Post /user/confirm Confirm the email of a new user
UserApi UserGet Get /user Get user information
UserApi UserPasswordPost Post /user/password Change password
UserApi UserPasswordResetPost Post /user/password/reset Resets a password
UserApi UserPasswordTokenPost Post /user/password/token Request password reset token
UserApi UsersGet Get /users Get users

Documentation For Models