List of Commands - ajsb85/penpot-api-client GitHub Wiki

User & Authentication Commands

Command Name Description & Purpose
get-profile Retrieves the full profile of the currently authenticated user.
update-profile Updates the current user's full name and language preference.
update-profile-photo Uploads and sets a new profile photo for the user. Uses multipart upload.
update-profile-password Changes the current user's password.
get-user Retrieves the public profile of any user by their ID.
get-access-tokens Lists metadata for the current user's Personal Access Tokens.
create-access-token Creates a new Personal Access Token for the user.
delete-access-token Revokes/deletes a Personal Access Token.
logout Invalidates the current user's session token.
login-with-password Authenticates a user with email and password to get a session token.
login-with-ldap Authenticates a user via an external provider (LDAP, SAML, etc.).
register-profile Completes the user registration process.
prepare-register-profile Prepares the server for a new user registration.
request-profile-recovery Initiates the password recovery process for a user account.
recover-profile Completes the password recovery process using a token.
request-email-change Initiates a request to change the user's email address.
update-profile-props Updates generic properties on a user's profile.
update-profile-notifications Updates the user's notification settings.
verify-token Verifies a generic token (e.g., for email verification).
get-notifications Fetches user notifications.

Team Commands

Command Name Description & Purpose
get-team Retrieves the details of a specific team by its ID.
get-teams Retrieves all teams the current user is a member of.
create-team Creates a new team.
update-team Updates the name of an existing team.
delete-team Deletes a team.
get-team-members Lists all members of a given team.
delete-team-member Removes a user from a team.
update-team-member-role Changes the role of an existing team member.
leave-team Allows the current user to leave a team.
create-team-invitations Creates and sends invitations to join a team.
get-team-invitations Retrieves pending invitations for a team.
delete-team-invitation Deletes or revokes a pending team invitation.
create-team-with-invitations Creates a new team and sends invitations simultaneously.
update-team-photo Updates the profile photo for a team.
update-team-invitation-role Updates the role for a pending invitation.
get-team-invitation-token Retrieves a team invitation by its token.
create-team-access-request Allows a user to request access to a private team.
get-team-stats Retrieves statistics for a team.

Project & Folder Commands

Command Name Description & Purpose
get-project Retrieves a specific project (folder).
get-projects Retrieves all projects for a given team.
create-project Creates a new project (folder).
delete-project Deletes a project and all its files.
rename-project Renames a project.
duplicate-project Creates a copy of an entire project.
get-project-files Lists all files within a specific project.
get-all-projects Retrieves all projects a user has access to.
move-project Moves a project to a different team.
update-project-pin Pins or unpins a project for a user.

File Commands

Command Name Description & Purpose
get-file Retrieves the metadata for a specific file.
create-file Creates a new file in a given team/project.
update-file Updates a file's metadata, such as its name.
delete-file Deletes a file.
duplicate-file Creates a copy of an existing file.
move-files Moves one or more files to a different project/folder.
search-files Searches for files across projects.
get-team-recent-files Gets a list of recently accessed files in a team.
create-share-link Creates a public shareable link for a file.
delete-share-link Deletes a public shareable link.
rename-file Renames a file.
get-team-shared-files Gets a list of files shared within a team.
set-file-shared Sets the sharing properties of a file.
clone-template Creates a new file from a template.

File Content & Revisions

Command Name Description & Purpose
get-page Retrieves the full data for a specific page within a file.
create-file-snapshot Creates a named version (snapshot) of a file.
get-file-snapshots Lists all named versions (snapshots) of a file.
update-file-snapshot Updates the name or description of a snapshot.
restore-file-snapshot Restores a file to a previous snapshot.
delete-file-snapshot Deletes a file snapshot.
import-binfile Imports a .penpot binary file.
export-binfile Exports a file to .penpot binary format.
get-file-fragment Retrieves a partial data fragment from a file.
get-view-only-bundle Gets a read-only bundle of file data for rendering.
create-temp-file Creates a temporary file that can be persisted later.
update-temp-file Updates a temporary file.
persist-temp-file Converts a temporary file into a permanent file.

File Libraries & Assets

Command Name Description & Purpose
get-file-libraries Retrieves the libraries associated with a file.
link-file-to-library Links a file to a shared library.
unlink-file-from-library Unlinks a file from a library.
upload-file-media-object Uploads a media asset (e.g., image) to a file.
create-file-media-object-from-url Imports a media asset from a URL.
clone-file-media-object Duplicates a media asset within a file.
create-file-thumbnail Generates a thumbnail for an entire file.
create-file-object-thumbnail Generates a thumbnail for a specific object in a file.
get-file-object-thumbnails Retrieves existing thumbnails for multiple objects in a file.
delete-file-object-thumbnail Deletes an object's thumbnail.
has-file-libraries Checks if a file has any associated libraries.
get-library-file-references Gets references to components from a library.
update-file-library-sync-status Updates the sync status of a library within a file.
ignore-file-library-sync-status Ignores the sync status for a library.

Comment Commands

Command Name Description & Purpose
get-comments Fetches all comments within a given file.
create-comment Adds a new comment or creates a new thread.
update-comment Edits the text content of an existing comment.
delete-comment Deletes a comment.
get-comment-threads Retrieves all comment threads in a file.
create-comment-thread Creates a new comment thread.
update-comment-thread-status Updates a thread's status (e.g., resolved, reopened).
get-comment-thread Retrieves a single comment thread.
delete-comment-thread Deletes an entire comment thread.
mark-all-threads-as-read Marks all comment threads in a file as read for the user.
update-comment-thread Updates a property of a comment thread (e.g., its frame).
update-comment-thread-position Moves the position of a comment pin.
get-unread-comment-threads Retrieves all unread comment threads for the user.
get-profiles-for-file-comments Gets user profiles for all commenters in a file.

Font Commands

Command Name Description & Purpose
get-font-variants Retrieves all variants for a given font family.
create-font-variant Adds a new font variant (e.g., from an uploaded file).
delete-font Deletes a font family from a team's library.
update-font Updates properties of a font family.
delete-font-variant Deletes a specific font variant.

Webhook Commands

Command Name Description & Purpose
get-webhooks Retrieves all webhooks for a team.
create-webhook Creates a new webhook.
update-webhook Updates an existing webhook.
delete-webhook Deletes a webhook.

System & Generic Commands

Command Name Description & Purpose
get-settings Retrieves public settings and capabilities of the Penpot instance.
get-auth-providers Lists configured external authentication providers (SAML, OIDC, etc.).
get-ws-ticket Obtains a one-time ticket for authenticating a WebSocket connection.
get-flags Retrieves feature flags for the current user. (Found in backend, not OpenAPI).
get-exporter-config Retrieves configuration details for the file exporting service.
send-user-feedback Submits user feedback to the configured endpoint.
push-audit-events Pushes events to the system's audit log.