Recurring Form

Hi @analucia_espinoza and @nat,

I was able to reproduce what you are bringing up. As Martijn points out here, this is essentially a security feature to ensure that the forms don’t remain editable for long.

I tried using John’s workaround from here but it seems the filtering doesn’t work as it used to (or at least in my tests — perhaps this is a bug!).

As a work around, this isn’t a great, user-friendly solution, but it works despite the filtering issue. If you know how to use a terminal, you can do the following whenever you are needing a new edit link:

TOKEN=<token>
PARENT_UID=<form uid>
ASSET_UID=<asset uid>

ID=`curl -s "https://kf.kobotoolbox.org/api/v2/assets/$PARENT_UID/data.json" \
-H "Authorization: Token $TOKEN" \
| jq --arg ASSET_UID "$ASSET_UID" '.results[] \
| select(._uuid == $ASSET_UID) \
| ._id'`

curl -s "https://kf.kobotoolbox.org/api/v2/assets/$PARENT_UID/data/$ID/edit/?return_url=false&format=json" \
-H "Authorization: Token $TOKEN" | jq

This will output the following which you can then send to whomever (keeping in mind that this link also only last for 30 seconds):

{
  "url": "https://ee.kobotoolbox.org/edit/<enketo_url>?instance_id=<instance_id>&return_url=false"
}

If it’s more helpful, I can send through a Python script that will do the same.

1 Like