Recipe 1
Create a document from a template
Create a draft document with values keyed by field name.
- Find the template id.
- POST /documents with name and values.
- Store the returned document id.
curl -X POST https://api.crove.app/api/external/v2/documents \
-H "X-Api-Key: <key>" \
-H "Content-Type: application/json" \
-d '{"template_id":"<uuid>","name":"Offer letter - Ravi","values":{"Client Name":"Ravi Sharma","Project Fee":150000,"Start Date":"2026-07-01","Payment Terms":"50% upfront, 50% on delivery"}}'const res = await fetch("https://api.crove.app/api/external/v2/documents", {
method: "POST",
headers: { "X-Api-Key": process.env.CROVE_API_KEY, "Content-Type": "application/json" },
body: JSON.stringify({
template_id: "<uuid>",
name: "Offer letter - Ravi",
values: {
"Client Name": "Ravi Sharma",
"Project Fee": 150000,
"Start Date": "2026-07-01",
"Payment Terms": "50% upfront, 50% on delivery"
}
})
});import os, requests
res = requests.post("https://api.crove.app/api/external/v2/documents", headers={
"X-Api-Key": os.environ["CROVE_API_KEY"],
}, json={
"template_id": "<uuid>",
"name": "Offer letter - Ravi",
"values": {
"Client Name": "Ravi Sharma",
"Project Fee": 150000,
"Start Date": "2026-07-01",
"Payment Terms": "50% upfront, 50% on delivery",
},
}){"id":"<uuid>","status":"draft","filled":12,"total":19}What changed from v1: Values are keyed by field name; supported types include text, number, YYYY-MM-DD dates, booleans, and dropdown options.
Full schema in API reference →