vikunja openapi bindings for rust
Find a file
2025-12-01 23:58:15 +01:00
.openapi-generator chore(release): v0.24.6 2025-12-01 13:35:20 +01:00
docs fix: none option 2025-12-01 23:58:15 +01:00
src fix: none option 2025-12-01 23:58:15 +01:00
.gitignore chore(release): v0.24.6 2025-12-01 13:35:20 +01:00
.openapi-generator-ignore chore: init 2025-12-01 11:34:37 +01:00
.travis.yml chore(release): v0.24.6 2025-12-01 13:35:20 +01:00
Cargo.toml chore(release): v0.24.6 2025-12-01 13:35:20 +01:00
flake.lock chore: init 2025-12-01 11:34:37 +01:00
flake.nix chore: init 2025-12-01 11:34:37 +01:00
git_push.sh chore(release): v0.24.6 2025-12-01 13:35:20 +01:00
justfile chore: init 2025-12-01 11:34:37 +01:00
openapi_spec.json fix: none option 2025-12-01 23:58:15 +01:00
README.md chore(release): v0.24.6 2025-12-01 13:35:20 +01:00

Rust API client for vikunjars

Pagination

Every endpoint capable of pagination will return two headers:

  • x-pagination-total-pages: The total number of available pages for this request
  • x-pagination-result-count: The number of items returned for this request.

Rights

All endpoints which return a single item (project, task, etc.) - no array - will also return a x-max-right header with the max right the user has on this item as an int where 0 is Read Only, 1 is Read & Write and 2 is Admin.
This can be used to show or hide ui elements based on the rights the user has.

Errors

All errors have an error code and a human-readable error message in addition to the http status code. You should always check for the status code in the response, not only the http status code.
Due to limitations in the swagger library we're using for this document, only one error per http status code is documented here. Make sure to check the error docs in Vikunja's documentation for a full list of available error codes.

Authorization

JWT-Auth: Main authorization method, used for most of the requests. Needs Authorization: Bearer <jwt-token>-header to authenticate successfully.

API Token: You can create scoped API tokens for your user and use the token to make authenticated requests in the context of that user. The token must be provided via an Authorization: Bearer <token> header, similar to jwt auth. See the documentation for the api group to manage token creation and revocation.

BasicAuth: Only used when requesting tasks via CalDAV.

For more information, please visit https://vikunja.io/contact/

Overview

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

  • API version: v0.24.6
  • Package version: v0.24.6
  • Generator version: 7.17.0
  • Build package: org.openapitools.codegen.languages.RustClientCodegen

Installation

Put the package under your project folder in a directory named vikunjars and add the following to Cargo.toml under [dependencies]:

vikunjars = { path = "./vikunjars" }

Documentation for API Endpoints

All URIs are relative to /api/v1

Class Method HTTP request Description
ApiApi routes_get GET /routes Get a list of all token api routes
ApiApi tokens_get GET /tokens Get all api tokens of the current user
ApiApi tokens_put PUT /tokens Create a new api token
ApiApi tokens_token_id_delete DELETE /tokens/{tokenID} Deletes an existing api token
AssigneesApi tasks_task_id_assignees_bulk_post POST /tasks/{taskID}/assignees/bulk Add multiple new assignees to a task
AssigneesApi tasks_task_id_assignees_get GET /tasks/{taskID}/assignees Get all assignees for a task
AssigneesApi tasks_task_id_assignees_put PUT /tasks/{taskID}/assignees Add a new assignee to a task
AssigneesApi tasks_task_id_assignees_user_id_delete DELETE /tasks/{taskID}/assignees/{userID} Delete an assignee
AuthApi get_token_openid POST /auth/openid/{provider}/callback Authenticate a user with OpenID Connect
AuthApi login_post POST /login Login
AuthApi register_post POST /register Register
FilterApi filters_id_delete DELETE /filters/{id} Removes a saved filter
FilterApi filters_id_get GET /filters/{id} Gets one saved filter
FilterApi filters_id_post POST /filters/{id} Updates a saved filter
FilterApi filters_put PUT /filters Creates a new saved filter
LabelsApi labels_get GET /labels Get all labels a user has access to
LabelsApi labels_id_delete DELETE /labels/{id} Delete a label
LabelsApi labels_id_get GET /labels/{id} Gets one label
LabelsApi labels_id_put PUT /labels/{id} Update a label
LabelsApi labels_put PUT /labels Create a label
LabelsApi tasks_task_id_labels_bulk_post POST /tasks/{taskID}/labels/bulk Update all labels on a task.
LabelsApi tasks_task_labels_get GET /tasks/{task}/labels Get all labels on a task
LabelsApi tasks_task_labels_label_delete DELETE /tasks/{task}/labels/{label} Remove a label from a task
LabelsApi tasks_task_labels_put PUT /tasks/{task}/labels Add a label to a task
MigrationApi migration_microsoft_todo_auth_get GET /migration/microsoft-todo/auth Get the auth url from Microsoft Todo
MigrationApi migration_microsoft_todo_migrate_post POST /migration/microsoft-todo/migrate Migrate all projects, tasks etc. from Microsoft Todo
MigrationApi migration_microsoft_todo_status_get GET /migration/microsoft-todo/status Get migration status
MigrationApi migration_ticktick_migrate_post POST /migration/ticktick/migrate Import all projects, tasks etc. from a TickTick backup export
MigrationApi migration_ticktick_status_get GET /migration/ticktick/status Get migration status
MigrationApi migration_todoist_auth_get GET /migration/todoist/auth Get the auth url from todoist
MigrationApi migration_todoist_migrate_post POST /migration/todoist/migrate Migrate all lists, tasks etc. from todoist
MigrationApi migration_todoist_status_get GET /migration/todoist/status Get migration status
MigrationApi migration_trello_auth_get GET /migration/trello/auth Get the auth url from trello
MigrationApi migration_trello_migrate_post POST /migration/trello/migrate Migrate all projects, tasks etc. from trello
MigrationApi migration_trello_status_get GET /migration/trello/status Get migration status
MigrationApi migration_vikunja_file_migrate_post POST /migration/vikunja-file/migrate Import all projects, tasks etc. from a Vikunja data export
MigrationApi migration_vikunja_file_status_get GET /migration/vikunja-file/status Get migration status
ProjectApi backgrounds_unsplash_image_image_get GET /backgrounds/unsplash/image/{image} Get an unsplash image
ProjectApi backgrounds_unsplash_image_image_thumb_get GET /backgrounds/unsplash/image/{image}/thumb Get an unsplash thumbnail image
ProjectApi backgrounds_unsplash_search_get GET /backgrounds/unsplash/search Search for a background from unsplash
ProjectApi projects_get GET /projects Get all projects a user has access to
ProjectApi projects_id_background_delete DELETE /projects/{id}/background Remove a project background
ProjectApi projects_id_background_get GET /projects/{id}/background Get the project background
ProjectApi projects_id_backgrounds_unsplash_post POST /projects/{id}/backgrounds/unsplash Set an unsplash photo as project background
ProjectApi projects_id_backgrounds_upload_put PUT /projects/{id}/backgrounds/upload Upload a project background
ProjectApi projects_id_delete DELETE /projects/{id} Deletes a project
ProjectApi projects_id_get GET /projects/{id} Gets one project
ProjectApi projects_id_post POST /projects/{id} Updates a project
ProjectApi projects_id_projectusers_get GET /projects/{id}/projectusers Get users
ProjectApi projects_id_views_view_buckets_get GET /projects/{id}/views/{view}/buckets Get all kanban buckets of a project
ProjectApi projects_id_views_view_buckets_put PUT /projects/{id}/views/{view}/buckets Create a new bucket
ProjectApi projects_project_id_duplicate_put PUT /projects/{projectID}/duplicate Duplicate an existing project
ProjectApi projects_project_id_views_view_buckets_bucket_id_delete DELETE /projects/{projectID}/views/{view}/buckets/{bucketID} Deletes an existing bucket
ProjectApi projects_project_id_views_view_buckets_bucket_id_post POST /projects/{projectID}/views/{view}/buckets/{bucketID} Update an existing bucket
ProjectApi projects_project_views_get GET /projects/{project}/views Get all project views for a project
ProjectApi projects_project_views_id_delete DELETE /projects/{project}/views/{id} Delete a project view
ProjectApi projects_project_views_id_get GET /projects/{project}/views/{id} Get one project view
ProjectApi projects_project_views_id_post POST /projects/{project}/views/{id} Updates a project view
ProjectApi projects_project_views_put PUT /projects/{project}/views Create a project view
ProjectApi projects_put PUT /projects Creates a new project
ServiceApi info_get GET /info Info
SharingApi notifications_post POST /notifications Mark all notifications of a user as read
SharingApi projects_id_teams_get GET /projects/{id}/teams Get teams on a project
SharingApi projects_id_teams_put PUT /projects/{id}/teams Add a team to a project
SharingApi projects_id_users_get GET /projects/{id}/users Get users on a project
SharingApi projects_id_users_put PUT /projects/{id}/users Add a user to a project
SharingApi projects_project_id_teams_team_id_delete DELETE /projects/{projectID}/teams/{teamID} Delete a team from a project
SharingApi projects_project_id_teams_team_id_post POST /projects/{projectID}/teams/{teamID} Update a team <-> project relation
SharingApi projects_project_id_users_user_id_delete DELETE /projects/{projectID}/users/{userID} Delete a user from a project
SharingApi projects_project_id_users_user_id_post POST /projects/{projectID}/users/{userID} Update a user <-> project relation
SharingApi projects_project_shares_get GET /projects/{project}/shares Get all link shares for a project
SharingApi projects_project_shares_put PUT /projects/{project}/shares Share a project via link
SharingApi projects_project_shares_share_delete DELETE /projects/{project}/shares/{share} Remove a link share
SharingApi projects_project_shares_share_get GET /projects/{project}/shares/{share} Get one link shares for a project
SharingApi shares_share_auth_post POST /shares/{share}/auth Get an auth token for a share
SubscriptionsApi notifications_get GET /notifications Get all notifications for the current user
SubscriptionsApi notifications_id_post POST /notifications/{id} Mark a notification as (un-)read
SubscriptionsApi subscriptions_entity_entity_id_delete DELETE /subscriptions/{entity}/{entityID} Unsubscribe the current user from an entity.
SubscriptionsApi subscriptions_entity_entity_id_put PUT /subscriptions/{entity}/{entityID} Subscribes the current user to an entity.
TaskApi kind_id_reactions_delete_post POST /{kind}/{id}/reactions/delete Removes the user's reaction
TaskApi kind_id_reactions_get GET /{kind}/{id}/reactions Get all reactions for an entity
TaskApi kind_id_reactions_put PUT /{kind}/{id}/reactions Add a reaction to an entity
TaskApi projects_id_tasks_put PUT /projects/{id}/tasks Create a task
TaskApi projects_id_views_view_tasks_get GET /projects/{id}/views/{view}/tasks Get tasks in a project
TaskApi projects_project_views_view_buckets_bucket_tasks_post POST /projects/{project}/views/{view}/buckets/{bucket}/tasks Update a task bucket
TaskApi tasks_all_get GET /tasks/all Get tasks
TaskApi tasks_bulk_post POST /tasks/bulk Update a bunch of tasks at once
TaskApi tasks_id_attachments_attachment_id_delete DELETE /tasks/{id}/attachments/{attachmentID} Delete an attachment
TaskApi tasks_id_attachments_attachment_id_get GET /tasks/{id}/attachments/{attachmentID} Get one attachment.
TaskApi tasks_id_attachments_get GET /tasks/{id}/attachments Get all attachments for one task.
TaskApi tasks_id_attachments_put PUT /tasks/{id}/attachments Upload a task attachment
TaskApi tasks_id_delete DELETE /tasks/{id} Delete a task
TaskApi tasks_id_get GET /tasks/{id} Get one task
TaskApi tasks_id_position_post POST /tasks/{id}/position Updates a task position
TaskApi tasks_id_post POST /tasks/{id} Update a task
TaskApi tasks_task_id_comments_comment_id_delete DELETE /tasks/{taskID}/comments/{commentID} Remove a task comment
TaskApi tasks_task_id_comments_comment_id_get GET /tasks/{taskID}/comments/{commentID} Remove a task comment
TaskApi tasks_task_id_comments_comment_id_post POST /tasks/{taskID}/comments/{commentID} Update an existing task comment
TaskApi tasks_task_id_comments_get GET /tasks/{taskID}/comments Get all task comments
TaskApi tasks_task_id_comments_put PUT /tasks/{taskID}/comments Create a new task comment
TaskApi tasks_task_id_relations_put PUT /tasks/{taskID}/relations Create a new relation between two tasks
TaskApi tasks_task_id_relations_relation_kind_other_task_id_delete DELETE /tasks/{taskID}/relations/{relationKind}/{otherTaskID} Remove a task relation
TeamApi teams_get GET /teams Get teams
TeamApi teams_id_delete DELETE /teams/{id} Deletes a team
TeamApi teams_id_get GET /teams/{id} Gets one team
TeamApi teams_id_members_put PUT /teams/{id}/members Add a user to a team
TeamApi teams_id_members_user_id_admin_post POST /teams/{id}/members/{userID}/admin Toggle a team member's admin status
TeamApi teams_id_members_user_id_delete DELETE /teams/{id}/members/{userID} Remove a user from a team
TeamApi teams_id_post POST /teams/{id} Updates a team
TeamApi teams_put PUT /teams Creates a new team
TestingApi test_table_patch PATCH /test/{table} Reset the db to a defined state
UserApi user_confirm_post POST /user/confirm Confirm the email of a new user
UserApi user_deletion_cancel_post POST /user/deletion/cancel Abort a user deletion request
UserApi user_deletion_confirm_post POST /user/deletion/confirm Confirm a user deletion request
UserApi user_deletion_request_post POST /user/deletion/request Request the deletion of the user
UserApi user_export_download_post POST /user/export/download Download a user data export.
UserApi user_export_request_post POST /user/export/request Request a user data export.
UserApi user_get GET /user Get user information
UserApi user_password_post POST /user/password Change password
UserApi user_password_reset_post POST /user/password/reset Resets a password
UserApi user_password_token_post POST /user/password/token Request password reset token
UserApi user_settings_avatar_get GET /user/settings/avatar Return user avatar setting
UserApi user_settings_avatar_post POST /user/settings/avatar Set the user's avatar
UserApi user_settings_avatar_upload_put PUT /user/settings/avatar/upload Upload a user avatar
UserApi user_settings_email_post POST /user/settings/email Update email address
UserApi user_settings_general_post POST /user/settings/general Change general user settings of the current user.
UserApi user_settings_token_caldav_get GET /user/settings/token/caldav Returns the caldav tokens for the current user
UserApi user_settings_token_caldav_id_get GET /user/settings/token/caldav/{id} Delete a caldav token by id
UserApi user_settings_token_caldav_put PUT /user/settings/token/caldav Generate a caldav token
UserApi user_settings_totp_disable_post POST /user/settings/totp/disable Disable totp settings
UserApi user_settings_totp_enable_post POST /user/settings/totp/enable Enable a previously enrolled totp setting.
UserApi user_settings_totp_enroll_post POST /user/settings/totp/enroll Enroll a user into totp
UserApi user_settings_totp_get GET /user/settings/totp Totp setting for the current user
UserApi user_settings_totp_qrcode_get GET /user/settings/totp/qrcode Totp QR Code
UserApi user_timezones_get GET /user/timezones Get all available time zones on this vikunja instance
UserApi user_token_post POST /user/token Renew user token
UserApi username_avatar_get GET /{username}/avatar User Avatar
UserApi users_get GET /users Get users
WebhooksApi projects_id_webhooks_get GET /projects/{id}/webhooks Get all api webhook targets for the specified project
WebhooksApi projects_id_webhooks_put PUT /projects/{id}/webhooks Create a webhook target
WebhooksApi projects_id_webhooks_webhook_id_delete DELETE /projects/{id}/webhooks/{webhookID} Deletes an existing webhook target
WebhooksApi projects_id_webhooks_webhook_id_post POST /projects/{id}/webhooks/{webhookID} Change a webhook target's events.
WebhooksApi webhooks_events_get GET /webhooks/events Get all possible webhook events

Documentation For Models

To get access to the crate's generated documentation, use:

cargo doc --open

Author

hello@vikunja.io