The Opal REST API gives scripts, integrations, and AI agents programmatic access to your workspaces, items, pages, files, saved views, sharing, copies, publishing, tasks, search, profile data, icon assets, exports, and your plan and usage. Every call goes to one base URL and uses an API key from your account. API access is included on the Workshop plan.

Base URL and Authentication

Every endpoint in this section lives under one base URL:

https://app.opalrecall.com/api/v1

API-key routes read your key from the Authorization header:

Authorization: Bearer opal_live_xxx

You create keys in the API Keys section of your account in the Opal app. A key acts as the user who created it, and it follows the same plan, item-limit, share-permission, and storage-limit rules as the app. Opal API Keys: Create, Use, and Revoke covers key types, creating a key, and revoking one.

Every key acts on live data. To explore without changing anything, create a read-only key.

Plan Requirement

API access is included on the Workshop plan. Accounts on an older plan that the app shows as Workshop also have it. On any other plan, every API-key request returns 403 with code: "FEATURE_NOT_IN_PLAN". Plan, Limits, and Usage in the Opal API: GET /account shows how to read your plan, its limits, and your current usage with GET /account.

What You Can Do

AreaWhat you can doGuide
AccountRead your plan, limits, usage, and account statusPlan, Limits, and Usage
API keysCreate, list, and revoke keys (from the signed-in app, not with a key)Opal API Keys: Create, Use, and Revoke
Items and pagesList, read, create, update, and delete documents, notes, links, binders, fences, iframes, and filesItems API: List, Get, Create, Update, and Delete
Page contentWrite document content as BlockNote JSONWriting Page Content: BlockNote JSON and editorContent
LayoutMove many items at once, bring items to the front, and move items in or out of the inboxPosition Items: Batch Move, Inbox, and Z-Order
Files and mediaUpload file items, get download URLs, and embed media in pagesUpload Files and Media with the API
WorkspacesList, create, update, reorder, and delete workspaces, and set their iconsWorkspaces API: List, Create, Update, Reorder, and Delete
Saved viewsSave named canvas positions and choose your Home viewSaved Views API: Save, List, and Set Your Home View
Binders and fencesAdd, remove, reorder, and duplicate binders; add items to fences, move items inside them, and move a fence with its itemsBinders API: Add, Remove, Reorder, and Duplicate and Fences API: Add Items, Read Children, and Move a Fence
Sharing and copiesShare items, binders, and fences with permission toggles, accept or decline shares, hand a shared item to a member, and send independent copiesSharing API: Shares, Permissions, and Recipient Placement, Reassign Owner API, and Copies API: Send, Accept, and Decline Independent Copies
PublishingPublish items to public URLs, refresh them, and unpublishPublishing API: Publish, Refresh, Status, and Unpublish
TasksCreate, list, update, and delete tasksTasks API: Create, List, Update, and Delete Tasks
SearchSearch the items you own and the items shared with youSearch API: Find Items by Title, Description, and Content
Profile, icons, and OpenGraphRead and update your profile, manage icon assets, and fetch URL previewsProfile, Icons, and OpenGraph API Endpoints
ExportDownload a zip of your items as Markdown plus your filesExport API: Download Your Workspaces as a Zip

The Endpoint Cheat Sheet lists every endpoint in one table.

Real-Time Behavior

Changes you make through the API show up in Opal tabs that are already open, without a refresh. External API consumers do not need to connect to anything to use the API. These live updates are for people who have Opal open in a browser.

OperationLive effect
Item create, delete, or updateThe workspace or open page updates without a refresh.
Batch move or bring to frontCanvas position or layer order updates.
Binder add, remove, or reorderBinder counts and open binder views update.
Share accept, decline, update, or deleteThe owner, the recipient, and binder or fence participants update where applicable.
Publish, unpublish, or refreshThe publish state in the app updates. Public pages read updated data on refresh.
Task create, update, or deleteConnected task panels update.

Next Steps

Get Help

Stuck on an API call or have a question? Ask in the Opal Discord or send us a message through the contact form.

FAQ

Does Opal have an API?

Yes. The Opal REST API is available at https://app.opalrecall.com/api/v1 and covers workspaces, items, pages, files, saved views, sharing, copies, publishing, tasks, search, profile data, icons, exports, and your plan and usage.

Which plan includes API access?

Workshop. On any other plan, API-key requests return 403. Locked (view-only) accounts keep read access with their existing keys.

Is the Opal API rate limited?

Yes. Each key can make 100 requests per 60-second window. See Errors, Rate Limits, and Plan Limits in the Opal API for every limit and what to do when you hit one.

Can I try the API without changing my data?

Yes. Create a read-only key. It can make only GET, HEAD, and OPTIONS requests, and any other method returns 403.

Do I need to connect to anything to see changes in the app?

No. API consumers do not connect to the live update service. Open Opal tabs update on their own after a change.