API: make your first request
Base URL
https://withseed.app/api/v1SEED Publisher for Obsidian uses this same API. Obsidian is an API client, not a separate service.
Create a key
Open Settings → API keys. Give the key a name, select only the permissions you need, and choose 30, 90, or 365 days. Start with Read drafts. Your account can have up to ten active keys.
Open API key settingsSave the key once
The full key is shown only after creation. Save it in your secret store. Do not place it in source code, a shared note, a URL, or browser JavaScript. If you lose it, revoke that key and create a new one.
Check the connection
Run this in Bash, paste the key at the hidden input, and press Enter. The key is supplied to curl through standard input rather than a command argument. The request does not follow redirects.
read -r -s SEED_API_KEY
printf '\n'
printf 'Authorization: Bearer %s\n' "$SEED_API_KEY" |
curl --silent --show-error --fail-with-body \
--header @- \
https://withseed.app/api/v1/me
unset SEED_API_KEYA successful response contains user.scopes and auth.kind set to api-key, plus auth.expiresAt. This verifies the key without creating or publishing content.
For draft listing, use GET /drafts with drafts:read. Send Authorization: Bearer with every request. API keys cannot create or manage other API keys.
Call this API from a server, native app, or command line. Browser fetch requests are not supported: the API rejects Cookie and Origin headers.
To stop an automation, revoke its key in Settings. The next authenticated request is rejected. Finishing a script does not revoke the key.
Need a hand?
Send the endpoint, HTTP status, error code, and approximate request time. Never send an API key, authorization code, token, or private note content.
Get help