Authentication
Every request to Push To Display requires authentication. The recommended way to authenticate is by logging in with your account.
Log in with your account
The CLI and MCP server use your Push To Display account — the same account you use in the mobile app. No API key needed.
Browser login (default)
pushtodisplay auth loginThis opens your browser, you sign in, and the CLI receives your credentials automatically.
Device code login (headless)
If you're on a machine without a browser (SSH, containers, remote servers):
pushtodisplay auth login --device-codeThe CLI prints a URL and a code. Open the URL on any device, enter the code, and approve the login.
MCP server
The MCP server inherits your CLI session. If you've already run pushtodisplay auth login, the MCP server authenticates automatically — no extra configuration needed. See MCP Setup for tool-specific configuration.
API keys
API keys are for programmatic access — HTTP API calls and CI/CD pipelines where no interactive login is available.
An API key is a string that starts with pt_. You get one from the Quick Start screen in the mobile app, or you can create more in the web portal under API Keys.
Using an API key with the HTTP API
Include it in the X-Api-Key header:
curl -X POST https://api.pushtodisplay.com/v1/updates \
-H "Content-Type: application/json" \
-H "X-Api-Key: pt_your_api_key_here" \
-d '{ "boardId": "<board-id>", "blocks": [{ "text": "Hello" }] }'Using an API key with GitHub Actions
Store it as a GitHub secret and reference it in your workflow:
- uses: pushtodisplay/action@v1
with:
api-key: ${{ secrets.PTD_API_KEY }}
text: "Deploy completed"Managing your API keys
API keys can be managed from the web portal or the mobile app:
| Action | Web portal | Mobile app |
|---|---|---|
| List keys | ✓ | ✓ |
| Create key | ✓ | ✓ |
| Revoke key | ✓ | ✓ |
Revoking a key takes effect immediately — any request using that key will get a 401 Unauthorized response.
API key values are only shown once when created. If you lose a key, revoke it and create a new one. Never commit keys to version control.
Check your auth status
To see how the CLI is currently authenticated:
pushtodisplay auth statusTo log out and remove stored credentials:
pushtodisplay auth logout