Skip to content
Teak
Esc
navigateopen⌘Jpreview

Create a card

POST/v1/cards
Authorization
AuthorizationBearer token (OAuth access token or teakapi_ API key) · headerrequired
Bearer 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.
Request body
application/json
cardTypestring
Optional 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.
Allowed:textlinkimagevideoaudiodocumentpalettequote
contentstring
Card content. For text cards this is canonical raw Markdown, preserved exactly, with a maximum of 512 KiB measured in UTF-8 bytes.
fileEtagstring
ETag returned by the completed upload PUT. Include it when creating an uploaded-file card so Teak can verify the exact stored object.
fileKeystring
fileNamestring
fileSizenumber
mimeTypestring
notesstring | null
sourcestring
tagsstring[]
urlstring
Responses
200Created card
appUrlstring<uri>required
cardCard
Show properties
aiSummarystring | null
aiTagsstring[]required
appUrlstring<uri>required
contentstringrequired
createdAtnumberrequired
fileExtensionstring | null
fileKindstring | null
fileLanguagestring | null
fileNamestring | null
filePreviewobject | null
fileSizenumber | null
fileUrlstring | null
idstringrequired
isFavoritedbooleanrequired
linkPreviewImageUrlstring | null
metadataDescriptionstring | null
metadataTitlestring | null
mimeTypestring | null
notesstring | null
screenshotUrlstring | null
tagsstring[]required
thumbnailUrlstring | null
typestringrequired
updatedAtnumberrequired
urlstring | null
cardIdstringrequired
statusstringrequired
Allowed:created
Request
curl -X POST "https://teakvault.com/api/v1/cards" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "cardType": "text",
  "content": "  # Draft\r\n\r\n- [ ] Keep spacing  \n",
  "fileEtag": "\"d41d8cd98f00b204e9800998ecf8427e\"",
  "fileKey": "string",
  "fileName": "string",
  "fileSize": 0,
  "mimeType": "string",
  "notes": "string",
  "source": "string",
  "tags": [
    "string"
  ],
  "url": "string"
}'
Response
{
  "appUrl": "<uri>",
  "card": {
    "aiSummary": "string",
    "aiTags": [
      "string"
    ],
    "appUrl": "<uri>",
    "content": "string",
    "createdAt": 0,
    "fileExtension": "string",
    "fileKind": "string",
    "fileLanguage": "string",
    "fileName": "string",
    "filePreview": {},
    "fileSize": 0,
    "fileUrl": "string",
    "id": "string",
    "isFavorited": true,
    "linkPreviewImageUrl": "string",
    "metadataDescription": "string",
    "metadataTitle": "string",
    "mimeType": "string",
    "notes": "string",
    "screenshotUrl": "string",
    "tags": [
      "string"
    ],
    "thumbnailUrl": "string",
    "type": "string",
    "updatedAt": 0,
    "url": "string"
  },
  "cardId": "string",
  "status": "created"
}