Write to the signed-in user’s private Dabble Me journal on a calendar day (default: today in the account timezone). Plain text becomes paragraphs. By default, text appends to an existing entry on that day; set merge_with_existing false to fail instead. Optionally attach one image: prefer image_url when you already have a public https URL; otherwise use get_image_upload_url + uploaded_image_key for local bytes; image_base64 only as a small fallback.
- date
- — Optional YYYY-MM-DD; omitted means today in the account timezone.
- body (required)
- — Entry text (plain text; line breaks become paragraphs). HTML is escaped. Use an empty string for an image-only entry when image_url, uploaded_image_key, or image_base64 is set.
- merge_with_existing
- — When true (default), append to the existing entry for this date if one exists. When false, return an error if the date is already taken.
- image_url
- — Preferred when a public https image URL is already available. Dabble Me fetches and attaches the image server-side (avoids client sandbox egress allowlists and large base64). Private/loopback hosts are rejected. In production, only https is accepted. Do not combine with uploaded_image_key or image_base64.
- uploaded_image_key
- — For local image bytes without a public URL: first call get_image_upload_url, PUT the bytes to the returned upload URL with the required headers, then pass the returned uploaded_image_key here. Do not combine with image_url or image_base64.
- image_base64
- — Last-resort small image as base64: either a data URL (data:image/png;base64,...) or raw base64 bytes. Resize to fit within 800x800 before encoding. If raw, set image_mime_type (e.g. image/png) or it defaults to image/jpeg. Prefer image_url or uploaded_image_key instead.
- image_mime_type
- — When image_base64 is raw (not a data URL), MIME type of the decoded bytes, e.g. image/png or image/jpeg.