Create a card
/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. image, video, audio, and document need an uploaded file (fileKey); palette needs at least one readable color in content, notes, or tags.
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 | nullsourcestringA free label for what saved the card, kept in its metadata. To record the page a card came from, use sourceUrl.
sourceTitlestringThe title of the page in sourceUrl. Trimmed, and cut to 300 characters. Needs sourceUrl.
sourceUrlstringThe page the card was saved from, such as the page a quote was selected on: an http or https URL of at most 2048 characters. Unlike url, it never makes the card a link, and it isn't part of the duplicate check. Not allowed with fileKey.
tagsstring[]urlstringCreated card
appUrlstring<uri>requiredcardCardShow propertiesHide properties
aiSummarystring | nullaiTagsstring[]requiredaiTranscriptstring | nullappUrlstring<uri>requiredcompactUrlstring | nullrequired256px rendition URL for small cards; present for image uploads.
contentstringrequiredisDeletedbooleanmetadataStatusstring | nullprocessingStatusobject | nullPer-stage processing state (classify, categorize, metadata, renderables, screenshot), or null once nothing is tracked.
linkPreviewDescriptionstring | nulllinkFactsobject[]Show propertiesHide properties
objectlabelstringrequiredvaluestringrequiredlinkPreviewTitlestring | nulllinkPriceobject | nullA product link's price, read from the page: amount in the page's currency and currency as an ISO 4217 code, or null when the page didn't say which. Null for cards without a price. price: in q compares amount.
Show propertiesHide properties
amountnumberrequiredcurrencystring | nullrequiredlinkFaviconUrlstring | nullfileWidthnumber | nullfileHeightnumber | nullaudioWaveformobject | nullAudio bar heights from 0 to 100: 45 for a grid card and 200 for a player. Null for other cards and audio saved before waveforms.
Show propertiesHide properties
detailnumber[]requiredgridnumber[]requiredvideoScrubobject | nullA horizontal JPEG strip of evenly spaced video frames for hover previews, frames * frameWidth wide. The URL is signed and expires. Null for other cards and videos saved before scrub strips.
Show propertiesHide properties
frameHeightnumberrequiredframeWidthnumberrequiredframesnumberrequiredurlstringrequiredcolorsobject[]Show propertiesHide properties
objecthexstringrequirednamestringcreatedAtnumberrequireddetailUrlstring | nullfileExtensionstring | nullfileKindstring | nullfileLanguagestring | nullfileNamestring | nullfilePreviewobject | nullfileSizenumber | nullfileUrlstring | nullidstringrequiredarchivedAtnumber | nullWhen the card was archived, or null when it isn't.
folderIdsstring[]Ids of the folders the card is in (at most 50).
isArchivedbooleanrequiredArchived cards are hidden from the library and listings unless you ask for them with archived.
isFavoritedbooleanrequiredisHiddenbooleanTrue when one of the card's tags is secret or hidden (any case). Hidden cards are left out of every list and search unless the search names one of those tags, as q=#secret, q=tag:hidden or tag=secret. Getting the card by id, /v1/cards/changes and exports still include it. Read-only: change the tags to change it.
linkPreviewImageUrlstring | nulllinkPreviewMediaobject[]Show propertiesHide properties
objecttypestringrequiredimagevideourlstringrequiredcontentTypestringwidthnumberheightnumberposterUrlstringposterContentTypestringposterWidthnumberposterHeightnumberlinkSiteNamestring | nulllinkAuthorstring | nulllinkPublisherstring | nulllinkPublishedAtstring | nullmetadataDescriptionstring | nullmetadataTitlestring | nullmimeTypestring | nullnotesstring | nullplaceholderUrlstring | nullrequired48px loading-placeholder rendition URL; present for image uploads.
screenshotUrlstring | nullsourceTitlestring | nullThe title of the page the card was saved from, beside sourceUrl.
sourceUrlstring | nullThe page the card was saved from, such as the page a quote was selected on. Set when the card is created; site: matches its host when the card has no url. Not the same as source, the free label sent at create.
tagsstring[]requiredthumbnailOverriddenbooleanTrue when linkPreviewImageUrl is an image chosen for this link (PUT /v1/cards/{cardId}/thumbnail) rather than the one Teak found.
thumbnailUrlstring | nulltypestringrequiredupdatedAtnumberrequiredurlstring | nullcardIdstringrequiredstatusstringrequiredcreated