# Quickform via API

**URL:** <https://farmos.discourse.group/t/quickform-via-api/2586>\
**Category:** Development\
**Created:** [August 18, 2026, 8:56pm UTC](https://farmos.discourse.group/t/quickform-via-api/2586 "2026-08-18T20:56:54Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![pat](https://yyz2.discourse-cdn.com/free1/user_avatar/farmos.discourse.group/pat/32/1050_2.png) [@pat](https://farmos.discourse.group/u/pat)\
**Post date:** [August 18, 2026, 8:56pm UTC](https://farmos.discourse.group/t/quickform-via-api/2586/1 "2026-08-18T20:56:54Z")

</div>

Is it possible to populate a quickform from the API?

---

<div class="post-metadata">

**Author:** ![mstenta](https://yyz2.discourse-cdn.com/free1/user_avatar/farmos.discourse.group/mstenta/32/4_2.png) [@mstenta](https://farmos.discourse.group/u/mstenta)\
**Post date:** [August 19, 2026, 5:47pm UTC](https://farmos.discourse.group/t/quickform-via-api/2586/2 "2026-08-19T17:47:25Z")

</div>

There is no “API” for quick forms, no. But you may be able to populate and submit the form programatically if you can get the CSRF token that Drupal’s Form API generates. I’ve never tried it though.

Broadly speaking, quick forms just create records that follow a convention, and you can create the same kinds of records yourself via the API directly, without going through the form.

This would be part of the value of documenting conventions that I’ve talked about in the past: [Documenting conventions](https://farmos.discourse.group/t/documenting-conventions/1263)

---

<div class="post-metadata">

**Author:** ![pat](https://yyz2.discourse-cdn.com/free1/user_avatar/farmos.discourse.group/pat/32/1050_2.png) [@pat](https://farmos.discourse.group/u/pat)\
**Post date:** [August 21, 2026, 7:48am UTC](https://farmos.discourse.group/t/quickform-via-api/2586/3 "2026-08-21T07:48:43Z")

</div>

Ah. Ok.  
My plan was to make a TUI-app for the terminal for populating quickforms.  
Setup quickforms in web UI, and populate them from a superfast TUI.

thanks

---

<div class="post-metadata">

**Author:** ![mstenta](https://yyz2.discourse-cdn.com/free1/user_avatar/farmos.discourse.group/mstenta/32/4_2.png) [@mstenta](https://farmos.discourse.group/u/mstenta)\
**Post date:** [August 22, 2026, 11:23am UTC](https://farmos.discourse.group/t/quickform-via-api/2586/4 "2026-08-22T11:23:26Z")

</div>

This got my gears turning… 🙂

Wouldn’t it be cool if you could define a “data entry pattern” in a declarative way (eg: via YAML), and then have that automatically generate both a UI (quick form and/or Asset Link plugin), API (JSON:API resource or custom REST endpoint, along with JSON Schema), and CSV importer? The same could be used to build a local TUI.

This “data entry pattern” would essentially be a codified convention.

---

<div class="post-metadata">

**Author:** ![pat](https://yyz2.discourse-cdn.com/free1/user_avatar/farmos.discourse.group/pat/32/1050_2.png) [@pat](https://farmos.discourse.group/u/pat)\
**Post date:** [August 23, 2026, 8:39am UTC](https://farmos.discourse.group/t/quickform-via-api/2586/5 "2026-08-23T08:39:49Z")

</div>

That would be awesome.

---

<div class="post-metadata">

**Author:** ![mstenta](https://yyz2.discourse-cdn.com/free1/user_avatar/farmos.discourse.group/mstenta/32/4_2.png) [@mstenta](https://farmos.discourse.group/u/mstenta)\
**Post date:** [August 23, 2026, 12:01pm UTC](https://farmos.discourse.group/t/quickform-via-api/2586/6 "2026-08-23T12:01:10Z")

</div>

Spun off a dedicated topic: [Declarative data entry conventions](https://farmos.discourse.group/t/declarative-data-entry-conventions/2591)
