API Quickstart
Check your Teak API key and save your first card right from the docs, with a live Try it form and copyable samples in curl, JavaScript, Python, and more
Make your first two Teak API calls without leaving this page. Each request below has a Try it panel that sends a real request to your library, plus copyable samples in several languages.
1. Create an API key
In Teak, open Settings โ Security โ API keys and create a key. Keys start with teakapi_. Paste it into the Authorization field of a Try it panel below, or export it for the code samples:
export TEAK_API_KEY=teakapi_...
2. Check your key
GET /v1/me returns the account the key belongs to. A 401 means the key is invalid or revoked.
/v1/meAuthorizationBearer token (OAuth access token or teakapi_ API key) ยท headerrequiredBearer token. Accepts either an OAuth 2.0 access token (obtained via browser sign-in; expires after 1 hour and is refreshable) or a teakapi_ API key.
Permanent Teak owner ID and current profile
dataobjectrequiredShow propertiesHide properties
idstringrequiredPermanent Teak owner ID
emailstring<email>requirednamestringMissing, invalid, expired, or revoked credential
Rate limit exceeded
Profile or authorization service unavailable
3. Save your first card
POST /v1/cards saves text or a URL. Teak detects links, quotes, and palettes automatically, then tags and summarizes the card in the background.
/v1/cardsAuthorizationBearer token (OAuth access token or teakapi_ API key) ยท headerrequiredBearer token. Accepts either an OAuth 2.0 access token (obtained via browser sign-in; expires after 1 hour and is refreshable) or a teakapi_ API key.
application/jsoncardTypestringOptional explicit card type. Text content is stored as raw Markdown without normalization. When omitted, Teak keeps automatic URL, quote, and palette classification. Uploaded file types are inferred from fileName and mimeType.
textlinkimagevideoaudiodocumentpalettequotecontentstringCard content. For text cards this is canonical raw Markdown, preserved exactly, with a maximum of 512 KiB measured in UTF-8 bytes.
fileEtagstringETag returned by the completed upload PUT. Include it when creating an uploaded-file card so Teak can verify the exact stored object.
fileKeystringfileNamestringfileSizenumbermimeTypestringnotesstring | nullsourcestringtagsstring[]urlstringCreated card
appUrlstring<uri>requiredcardCardShow propertiesHide properties
aiSummarystring | nullaiTagsstring[]requiredaiTranscriptstring | nullappUrlstring<uri>requiredcompactUrlstring | nullrequired256px rendition URL for small cards; present for image uploads.
contentstringrequiredisDeletedbooleanlinkPreviewDescriptionstring | nulllinkFactsobject[]Show propertiesHide properties
objectlabelstringrequiredvaluestringrequiredlinkPreviewTitlestring | nulllinkFaviconUrlstring | nullfileWidthnumber | nullfileHeightnumber | nullcolorsobject[]Show propertiesHide properties
objecthexstringrequirednamestringcreatedAtnumberrequireddetailUrlstring | nullfileExtensionstring | nullfileKindstring | nullfileLanguagestring | nullfileNamestring | nullfilePreviewobject | nullfileSizenumber | nullfileUrlstring | nullidstringrequiredisFavoritedbooleanrequiredlinkPreviewImageUrlstring | nulllinkPreviewMediaobject[]Show propertiesHide properties
objecttypestringrequiredimagevideourlstringrequiredcontentTypestringwidthnumberheightnumberposterUrlstringposterContentTypestringposterWidthnumberposterHeightnumberlinkSiteNamestring | nulllinkAuthorstring | nulllinkPublisherstring | nulllinkPublishedAtstring | nullmetadataDescriptionstring | nullmetadataTitlestring | nullmimeTypestring | nullnotesstring | nullplaceholderUrlstring | nullrequired48px loading-placeholder rendition URL; present for image uploads.
screenshotUrlstring | nulltagsstring[]requiredthumbnailUrlstring | nulltypestringrequiredupdatedAtnumberrequiredurlstring | nullcardIdstringrequiredstatusstringrequiredcreated