Getting started
Source Pocket signs in to Bitbucket Cloud with an Atlassian API token. Create the token with the scopes below, add the account in the app, then pick the repositories you want on the Home tab.
Install
Not in the stores yet. Source Pocket is not in the App Store or Google Play. We plan to open a beta through TestFlight before launch, and this section will say how to join when it does.
The iPhone and iPad app needs iOS 17 or iPadOS 17 or later.
Create a Bitbucket API token
- Sign in at id.atlassian.com and open Security, then API tokens.
- Choose Create API token with scopes.
- Give it a name you will recognize, such as "Source Pocket on my iPhone", and an expiry date. Atlassian requires an expiry, and the longest allowed is one year.
- When asked which app the token is for, choose Bitbucket.
- Select every scope in the table below, then create the token and copy it.
Scopes to select
| Scope | What Source Pocket uses it for |
|---|---|
read:user:bitbucket | Read your profile. Required to sign in. |
read:workspace:bitbucket | List your workspaces. |
read:repository:bitbucket | List repositories, branches, and tags. |
read:pullrequest:bitbucket | Read pull requests. |
write:pullrequest:bitbucket | Approve, comment on, and merge pull requests. |
read:pipeline:bitbucket | Read pipelines and step logs. |
write:pipeline:bitbucket | Trigger and stop pipelines. |
Write scopes do not include read. A token with write:pipeline:bitbucket but no read:pipeline:bitbucket can start a pipeline and then cannot show it to you. Select the read and the write scope for pipelines and for pull requests.
Scopes are fixed when the token is created. If you left one out, create a new token and add the account again with it. You can also limit a token to a single workspace when you create it.
Bitbucket app passwords were removed on 28 July 2026 and do not work. Jira and Confluence API tokens do not work either; the token has to be created for Bitbucket. Atlassian's own instructions are on their API tokens page.
Add your account
- Tap Add Account on the Home tab, or open More, then Accounts.
- Choose Bitbucket Cloud, and API Token as the sign-in method.
- In Atlassian account email, enter the email address you use to sign in to Atlassian. Your Bitbucket username will not work here.
- Paste the token. The app lists the minimum scopes under the field so you can check them against your token.
- Optionally give the account a label, such as "Work", and a color. Then tap Add Account.
The token is stored in the iOS Keychain on your device and sent only to Bitbucket. Removing an account deletes its saved token, presets, watched repositories, and queued changes from the device.
Other sign-in methods
Access Token takes a Bitbucket repository, project, or workspace access token. These use Bitbucket's older scope names; the app lists them when you pick this method, and the token needs the account scope to sign in.
Sign in with Browser is not available in current builds. Bitbucket's sign-in flow needs a client secret that a phone app cannot keep private, so it needs a server that Source Pocket does not run yet. The limits page explains why.
Watch repositories
The Home tab is built from the repositories you watch, not from every repository you can see. Open More, then Watched Repositories, and add up to 20. Home then shows Running Now, Recently Failed, Awaiting My Review, and Your Open PRs for those repositories. The trigger form and the Pipelines tab start from the same list.
Watching more repositories costs more requests against Bitbucket's hourly limit, so Home refreshes more slowly than a single run does. The limits page lists the refresh intervals.
Bitbucket has no notifications API. Until the push relay is connected, the Inbox shows review requests and failed runs from watched repositories only, and marking an item done or snoozed stays on your device.
What the error messages mean
| Message | What happened | What to do |
|---|---|---|
| Bitbucket did not accept that email and token. | Bitbucket rejected the credentials (HTTP 401). The email is not your Atlassian account email, the token was not copied in full, it was made for Jira or Confluence, or it has expired or been revoked. | Check the email, then paste the token again. If it still fails, create a new Bitbucket token. |
| Bitbucket accepted the token but it cannot read your profile. | The credentials are valid, but the token lacks read:user:bitbucket (HTTP 403). The app reads your profile to sign in. |
Create a new token that includes read:user:bitbucket and the other scopes above. |
| This account does not have permission for that action. | Signed in, but the token lacks the scope for this action, or your Bitbucket role does not allow it. | Check the token's scopes, or ask a workspace admin about your repository permissions. |
| Your sign-in has expired. Sign in again to continue. | An account that was working is now rejected. API tokens expire on the date you chose, and can be revoked at id.atlassian.com. | Create a new token and add the account again. |
| The provider is limiting requests. | Your Atlassian account has used Bitbucket's allowance of 1,000 requests per hour for repository data. Other tools using the same account count toward it too. | Wait. Screens that refresh on their own keep what they already show and try again after the wait Bitbucket asks for, or after a minute. |