Please allow Markdown parsing in the update API

TLDR: add a parseMarkdown parameter to the update API.

I was able to pull rich text from a “Canvas” type column in a table, including a link, from the Coda API when using valueFormat=rich in the query.

curl "https://coda.io/apis/v1/docs/<docID>/tables/<tableID>/rows/<rowID>?valueFormat=rich" \
     -H 'Authorization: Bearer <authID>'

However, when I try to update the same column in the same row, I cannot get the same text that came out of the API to be accepted into the API. Here’s what I tried…

curl -X "PUT" "https://coda.io/apis/v1/docs/<docID>/tables/<tableID>/rows/<rowID>" \
     -H 'Authorization: Bearer <authID>' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  "row": {
    "cells": [
      {
        "value": "Hi Bob. This is [Bob](https://eric.clst.org).",
        "column": "<columnID>"
      }
    ]
  }
}'

It seems like a basic principle of API design should be that you can put in what you get out. Otherwise, even simple “backup” scripts cannot work. Note, it made not difference if I used the disableParsing parameter for the query.

It would be really helpful if Coda fixed this. Perhaps something like a parseMarkdown parameter could be added to the update API so that we could opt into a behavior that includes Markdown parsing, just as we can now opt into the 'disableParsing` behavior.

This post was originally a response to a community ask, but I wanted to make a specific suggestion, so I moved it here.

5 Likes

Needing this as well!

I think this is really essential! I’ve tried passing Markdown as well as HTML into the API, and it just comes out verbatim. How can we pass rich text into the API? Thanks.

Please!

This is very basic. We had to move our customers to Notion just to support this in our integration.