Create/edit previous survey submissions

Hello,

I have created a Kobo survey, but I want to create an initial page that asks users either to click on a button to create a new submission (record) for the survey or they click on another button to edit an existing form submission/record.

Is this idea/concept achievable with KoboToolbox/xlsform? If yes, please explain to me how.

@ahaiba, this is not possible. But maybe you could login to your account and go the survey project. There you could either start collecting data by following the instructions outlined in the support article Collecting Data through Web Forms or edit a submissions as outlined in the support article Editing or Deleting a Single Submission and Editing Responses in Multiple Submissions.

@Kal_Lam I understand, the edit button for each record in the data table can achieve that. But I want something more user friendly to the users to have a page that asks the user:

  1. Create a new record. it will create a new record.
  2. Edit an existing record (I want users to submit records to the Data Table) but later they can retrieve a record by a unique number in the table to complete it… so one record actually takes around a month to be fully entered and I need users to collect and submit data on different stages/steps.

It’s not possible to create another Kobotoolbox survey and do the above steps in that and calling the survey through Kobotoolbox REST API?

Hi Arabia,
Thank you for your wonderful suggestion. Unfortunately, the feature you are looking for is not provided within the platform. I would suggest that you check if your suggestion is already captured within our suggestion box topics and if not, kindly use the guidance to create one. Depending on the traction your post creates, and the availability of funding, our team of developers would definitely work on it.

Regards,
Stephane

1 Like

Hi @ahaiba, it is possible to achieve this through the API and stitch together your own custom solution (everything you can do in the UI, you can do through the REST API) :+1: you can observe the different API calls that the UI makes by opening the “Network” tab in your browser’s developer tools.

1 Like

@Josh okay, so those APIs have some public documentation on KoboToolbox websites as well?

@Josh

So, I think I need two important APIs and I can build a client to consume those API, I need the following:

  1. REST API to filter submissions based on a unique id column value in Data Table.
  2. REST API to open the form url to edit the filtered submission from the first API (So it will function like the edit icon for one record in Data table in Kobotoolbox dashboard).

I am not sure if I will need to call more APIs to use the above two, but please share with me the endpoints with explanation how to use.

Many thanks.

Hi @ahaiba, you can refer to the API v2 documentation at https://kf.kobotoolbox.org/api/v2. As mentioned before, you can also open the network tab in your browser to see which endpoints are called while performing the operations you are looking for :+1:

1 Like

I see, in request headers. there is cookie element. do i need to pass this? Because i will do a user interface and there will be no webviews so how to call those 2 API endpoints? do I need to ask users for auth?

https://kobo.humanitarianresponse.info/api/v2/assets/aqMWLDnZGUeENKdgtQzPnb/data{"group_hp81g50/Service_PO_Number":{"$regex":"1","$options":"i"}}

i think i have solved my issue by adding the cookie element in the request headers, I copied the value of that element from my browser network tab, is this value should be static hard coded when I call the API from my software client?

Hi @ahaiba, you can make authenticated requests with an “Authorization” header as shown here.

1 Like