Duplicati API
Duplicati API as documented publicly: 220 operations. Contract generated from the documentation by API Evangelist (2026-10-28); not the provider's own document.
Operations 220
GET
/automation-and-integration/google-workspace-backup-and-restore.md
Google Workspace backup and restore
#
GET
/backup-destinations/provider-specific-destinations/sharepoint-destination.md
SharePoint (legacy API)
#
GET
/backup-destinations/provider-specific-destinations/sharepoint-v2-graph-api.md
Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters.
#
POST
/calendars
Creates a secondary calendar. The authenticated user for the request is made the data owner of the new calendar.
#
DELETE
/calendars/calendarId
Deletes a secondary calendar. Use calendars.clear for clearing all events on primary calendars.
#
PATCH
/calendars/calendarId
Updates metadata for a calendar. This method supports patch semantics.
#
PATCH
/calendars/calendarId/acl/ruleId
Updates an access control rule. This method supports patch semantics.
#
POST
/calendars/calendarId/clear
Clears a primary calendar. This operation deletes all events associated with the primary calendar of an account.
#
GET
/calendars/calendarId/events/eventId/instances
Returns instances of the specified recurring event.
#
POST
/calendars/calendarId/events/eventId/move
Moves an event to another calendar, i.e. changes an event's organizer.
#
POST
/calendars/calendarId/transferOwnership
Transfers a secondary calendar between users within a Google Workspace organization.
#
DELETE
/drive/v3/drives/{driveid}
Permanently deletes a shared drive for which the user is an organizer.
#
DELETE
/drive/v3/files/{fileid}
Permanently deletes a file owned by the user without moving it to the trash.
#
POST
/drive/v3/files/{fileid}/accessproposals/{proposalId}{resolve}
Approves or denies an access proposal.
#
PATCH
/drive/v3/files/{fileid}/comments/{commentid}/replies/{replyid}
Updates a reply with patch semantics.
#
POST
/drive/v3/files/{fileid}/copy
Creates a copy of a file and applies any requested updates with patch semantics.
#
GET
/drive/v3/files/{fileid}/export
Exports a Google Workspace document to the requested MIME type and returns exported byte content.
#
PATCH
/drive/v3/files/{fileid}/permissions/{permissionid}
Updates a permission with patch semantics.
#
GET
/duplicati-programs/command-line-interface-cli-1/databasetool.md
This page describes the DatabaseTool command line tool for changing the database versions.
#
GET
/duplicati-programs/command-line-interface-cli-1/secrettool.md
This page describes the Duplicati SecretTool
#
GET
/duplicati-programs/command-line-interface-cli-1/serverutil.md
Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters
#
GET
/duplicati-programs/command-line-interface-cli-1/synctool.md
SyncTool command line tool for mirroring a backup to another backend.
#
GET
/getting-started/restoring-files.md
This page describes how to restore files using the Duplicati user interface
#
GET
/getting-started/running-a-backup.md
Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters
#
POST
/gmail/v1/users/{userid}/drafts/send
Sends the specified, existing draft to the recipients in the To , Cc , and Bcc headers.
#
DELETE
/gmail/v1/users/{userid}/drafts/{id}
Immediately and permanently deletes the specified draft.
#
DELETE
/gmail/v1/users/{userid}/labels/{id}
Immediately and permanently deletes the specified label and removes it from any messages and threads that it's applied to.
#
POST
/gmail/v1/users/{userid}/messages
Directly inserts a message into only this user's mailbox similar to IMAP APPEND , bypassing most scanning and classification.
#
POST
/gmail/v1/users/{userid}/messages/import
Imports a message into only this user's mailbox, with standard email delivery scanning and classification similar to receiving via SMTP.
#
POST
/gmail/v1/users/{userid}/messages/send
Sends the specified message to the recipients in the To , Cc , and Bcc headers.
#
DELETE
/gmail/v1/users/{userid}/messages/{id}
Immediately and permanently deletes the specified message.
#
GET
/gmail/v1/users/{userid}/messages/{messageid}/attachments/{id}
Gets the specified message attachment.
#
GET
/gmail/v1/users/{userid}/settings/autoForwarding
Gets the auto-forwarding setting for the specified account.
#
PUT
/gmail/v1/users/{userid}/settings/autoForwarding
Updates the auto-forwarding setting for the specified account.
#
GET
/gmail/v1/users/{userid}/settings/cse/identities
Lists the client-side encrypted identities for an authenticated user.
#
POST
/gmail/v1/users/{userid}/settings/cse/identities
Creates and configures a client-side encryption identity that's authorized to send mail from the user account.
#
DELETE
/gmail/v1/users/{userid}/settings/cse/identities/{cseemailaddress}
Deletes a client-side encryption identity.
#
GET
/gmail/v1/users/{userid}/settings/cse/identities/{cseemailaddress}
Retrieves a client-side encryption identity configuration.
#
PATCH
/gmail/v1/users/{userid}/settings/cse/identities/{emailaddress}
Associates a different key pair with an existing client-side encryption identity.
#
GET
/gmail/v1/users/{userid}/settings/cse/keypairs
Lists client-side encryption key pairs for an authenticated user.
#
POST
/gmail/v1/users/{userid}/settings/cse/keypairs
Creates and uploads a client-side encryption S/MIME public key certificate chain and private key metadata for the authenticated user.
#
GET
/gmail/v1/users/{userid}/settings/cse/keypairs/{keypairid}
Retrieves an existing client-side encryption key pair.
#
POST
/gmail/v1/users/{userid}/settings/delegates
Adds a delegate with its verification status set directly to accepted, without sending any verification email.
#
DELETE
/gmail/v1/users/{userid}/settings/delegates/{delegateemail}
Removes the specified delegate (which can be of any verification status), and revokes any verification that may have been required for using it.
#
DELETE
/gmail/v1/users/{userid}/settings/filters/{id}
Immediately and permanently deletes the specified filter.
#
GET
/gmail/v1/users/{userid}/settings/forwardingAddresses
Lists the forwarding addresses for the specified account.
#
DELETE
/gmail/v1/users/{userid}/settings/forwardingAddresses/{forwardingemail}
Deletes the specified forwarding address and revokes any verification that may have been required.
#
GET
/gmail/v1/users/{userid}/settings/forwardingAddresses/{forwardingemail}
Gets the specified forwarding address.
#
DELETE
/gmail/v1/users/{userid}/settings/sendAs/{sendasemail}
Deletes the specified send-as alias.
#
GET
/gmail/v1/users/{userid}/settings/sendAs/{sendasemail}/smimeInfo
Lists S/MIME configs for the specified send-as alias.
#
POST
/gmail/v1/users/{userid}/settings/sendAs/{sendasemail}/smimeInfo
Insert (upload) the given S/MIME config for the specified send-as alias.
#
DELETE
/gmail/v1/users/{userid}/settings/sendAs/{sendasemail}/smimeInfo/{id}
Deletes the specified S/MIME config for the specified send-as alias.
#
GET
/gmail/v1/users/{userid}/settings/sendAs/{sendasemail}/smimeInfo/{id}
Gets the specified S/MIME config for the specified send-as alias.
#
POST
/gmail/v1/users/{userid}/settings/sendAs/{sendasemail}/smimeInfo/{id}/setDefault
Sets the default S/MIME config for the specified send-as alias.
#
POST
/gmail/v1/users/{userid}/settings/sendAs/{sendasemail}/verify
Sends a verification email to the specified send-as alias address.
#
POST
/gmail/v1/users/{userid}/stop
Turn off push notification delivery for the given user mailbox.
#
DELETE
/gmail/v1/users/{userid}/threads/{id}
Immediately and permanently deletes the specified thread.
#
POST
/gmail/v1/users/{userid}/watch
Set up or update a push notification watch on the given user mailbox.
#
POST
/upload/gmail/v1/users/{userid}/drafts/send
Sends the specified, existing draft to the recipients in the To , Cc , and Bcc headers.
#
POST
/upload/gmail/v1/users/{userid}/messages
Directly inserts a message into only this user's mailbox similar to IMAP APPEND , bypassing most scanning and classification.
#
POST
/upload/gmail/v1/users/{userid}/messages/import
Imports a message into only this user's mailbox, with standard email delivery scanning and classification similar to receiving via SMTP.
#
POST
/upload/gmail/v1/users/{userid}/messages/send
Sends the specified message to the recipients in the To , Cc , and Bcc headers.
#
PATCH
/users/me/calendarList/calendarId
Updates an existing calendar on the user's calendar list. This method supports patch semantics.
#
GET
/v1/contactGroups{batchGet}
Get a list of contact groups owned by the authenticated user by specifying a list of contact group resource names.
#
GET
/v1/otherContacts
List all "Other contacts", that is contacts that are not in a contact group.
#
GET
/v1/otherContacts{search}
Provides a list of contacts in the authenticated user's other contacts that matches the search query.
#
POST
/v1/people{batchCreateContacts}
Create a batch of new contacts and return the PersonResponses for the newly Mutate requests for the same user should be sent sequentially to avoid increased latency and failures.
#
GET
/v1/people{batchGet}
Provides information about a list of specific people by specifying a list of requested resource names.
#
POST
/v1/people{batchUpdateContacts}
Update a batch of contacts and return a map of resource names to PersonResponses for the updated contacts.
#
POST
/v1/people{createContact}
Create a new contact and return the person resource for that contact.
#
GET
/v1/people{listDirectoryPeople}
Provides a list of domain profiles and domain contacts in the authenticated user's domain directory.
#
GET
/v1/people{searchContacts}
Provides a list of contacts in the authenticated user's grouped contacts that matches the search query.
#
GET
/v1/people{searchDirectoryPeople}
Provides a list of domain profiles and domain contacts in the authenticated user's domain directory that match the search query.
#
PUT
/v1/{contactGroup.resourceName=contactGroups/*}
Update the name of an existing contact group owned by the authenticated user.
#
DELETE
/v1/{resourceName=contactGroups/*}
Delete a contact group owned by the authenticated user, optionally including its contacts.
#
GET
/v1/{resourceName=contactGroups/*}
Retrieve a specific contact group owned by the authenticated user using its resource name.
#
Specifications
Schemas & Data
📊
JSONSchema
https://artifacts.apis.io/duplicati/json-schema/duplicati-put-v1-contactgroup-resourcename-contactgroups-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/duplicati/json-schema/duplicati-post-gmail-v1-users-userid-messages-import-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/duplicati/json-schema/duplicati-post-gmail-v1-users-userid-messages-batchmodify-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/duplicati/json-schema/duplicati-get-gmail-v1-users-userid-messages-id-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/duplicati/json-schema/duplicati-get-gmail-v1-users-userid-labels-id-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/duplicati/json-schema/duplicati-patch-gmail-v1-users-userid-labels-id-response-schema.json