# Lora Developers > Developer documentation for the Lora API — build on top of your team's shortcuts. ## Docs - [Create folder](https://uselora.dev/api-reference/folders/create-folder.md): Creates a folder in the workspace. Folder names must be unique within the workspace. - [Delete folder](https://uselora.dev/api-reference/folders/delete-folder.md): Deletes a folder. Re-deleting an already-deleted folder returns `not_found`. The workspace's default folder cannot be deleted, and folders that still contain shortcuts return `folder_not_empty`. - [List folders](https://uselora.dev/api-reference/folders/list-folders.md): Returns folders in the workspace, ordered newest-first, paginated by an opaque cursor. Deleted folders are excluded. - [Retrieve folder](https://uselora.dev/api-reference/folders/retrieve-folder.md): Returns a folder by its short ID. - [Update folder](https://uselora.dev/api-reference/folders/update-folder.md): All fields are optional. Omitted fields stay as-is. Renaming a folder updates its slug and runs the same uniqueness check as create. The workspace's default folder cannot be edited. - [Retrieve QR code](https://uselora.dev/api-reference/qr-codes/retrieve-qr-code.md): Generates a PNG image of a QR code for the given URL. Accepts both anonymous and Bearer-authenticated callers; anonymous responses encode a `lora-links.com` redirect URL, authenticated responses encode the destination verbatim and may use `hideLogo` on Basic / Business / Enterprise plans. - [Create shortcut](https://uselora.dev/api-reference/shortcuts/create-shortcut.md): Creates a short link in the workspace. - [Delete shortcut](https://uselora.dev/api-reference/shortcuts/delete-shortcut.md): Deletes a shortcut by slug. The slug becomes immediately reusable for a new shortcut. Idempotent — re-deleting an already-deleted shortcut returns `not_found`. - [List shortcuts](https://uselora.dev/api-reference/shortcuts/list-shortcuts.md): Returns shortcuts visible to the caller, ordered newest-first, paginated by an opaque cursor. Deleted and archived shortcuts are excluded. - [Retrieve shortcut](https://uselora.dev/api-reference/shortcuts/retrieve-shortcut.md): Returns a shortcut by its slug. Archived shortcuts are returned. - [Update shortcut](https://uselora.dev/api-reference/shortcuts/update-shortcut.md): All fields are optional. Omitted fields stay as-is. Renaming the slug runs the same reserved-word and uniqueness checks as create. `archived` is not editable here and will get its own endpoint. - [Upsert shortcut](https://uselora.dev/api-reference/shortcuts/upsert-shortcut.md): Creates a shortcut at the given slug, or updates the existing one. Returns `201` when a new shortcut is created and `200` when an existing one is updated. - [Create tag](https://uselora.dev/api-reference/tags/create-tag.md): Creates a new tag in the specified workspace. - [Delete tag](https://uselora.dev/api-reference/tags/delete-tag.md): Soft-deletes the tag. Idempotent — re-deleting an already-deleted tag returns `not_found`. - [List tags](https://uselora.dev/api-reference/tags/list-tags.md): Returns tags in the workspace, ordered newest-first, paginated by an opaque cursor. Deleted tags are excluded. - [Retrieve tag](https://uselora.dev/api-reference/tags/retrieve-tag.md): Returns a tag by its short ID. - [Update tag](https://uselora.dev/api-reference/tags/update-tag.md): All fields are optional. Renaming a tag updates its slug and runs the same uniqueness check as create. - [Getting started](https://uselora.dev/essentials/getting-started.md): Learn how to use Lora's API to manage resources in your Lora workspace programmatically. - [Rate limits](https://uselora.dev/essentials/rate-limits.md): How Lora throttles requests and what to do when you hit the cap. ## OpenAPI Specs - [openapi](https://uselora.dev/openapi.json)