The Wufoo Blog

Introducing the Wufoo REST API

By Tim Sabat · May 11th, 2010

Hey everyone! This summer we’re going to be releasing the third version of our API and we we’re hoping to get your feedback before we call it done. We designed the Wufoo API to help you unlock the potential of the data collected by your Wufoo forms. Our goal behind the API is to provide all the tools and services necessary to help you build applications, advanced reports and visualizations not currently offered by the default Wufoo UI. After spending months working and integrating with a number of other APIs and services, we learned a lot of good ideas about how web applications can help programmers, developers and tinkerers not only build, but want to craft new things.

webdesignercolor

In the hopes of making our API easier and more intuitive to understand, we’ve tried to break the Wufoo API structure up into logical sections, following as closely as we can to RESTful web service principles. This means that we’ve organized the Wufoo API into a series of resources represented by URLs and that you interact with these URLs using the HTTP methods of GET, PUT, POST, and DELETE.

One of the great things about using a REST API is that you don’t need any fancy programming tools to view the data and play with it, because all you need is a web browser. If you’re logged into your account, you may browse the resources. Here’s an example of some of the URL formats in the new API. Remember to use the version prefix, so /users.xml will be http://{subdomain}.wufoo.com/api/v3/users.xml.

/users.xml
/forms.json
/forms/{formId}.xml
/forms/{formId}/fields.xml
/forms/{formId}/entries.xml
/forms/{formId}/entries/{entryId}.xml
/forms/{formId}/entries/count.xml
/reports.xml
/reports/{reportId}.xml
/reports/{reportId}/widgets.xml
/reports/{reportId}/fields.xml
/reports/{reportId}/entries.xml
/reports/{reportId}/entries/count.xml

As you can see, the new API will support both XML and JSON for input and output formats. We’ve also included some convenient parameters to make it easy to visually see the results of the data right in your browser. If you want to easily see the XML or JSON output without a debugger, just add &pretty=true to the end of the URL and we’ll escape and indent the data to make it convenient to see right in the browser. It’s really convenient. Here’s an example of what that URL would look like:

https://fishbowl.wufoo.com/api/v3/users.xml&pretty=true

Since REST is not a specification, we used as our guiding light RESTFul Web Services by Leonard Richardson and Sam Ruby. Our new REST API is based on the guidelines Richardson and Ruby created for making a Resource Oriented Architecture (ROA). If you want to know more about our specific REST choices and the decisions and justifications we made for following or not following the various ROA concepts, we wrote out a detailed document discussing our process called The Wufoo REST Principles.

While the system and documentation is still a work in progress, you can actually start playing with it right now by checking out our Wufoo REST API documentation. The docs are getting better every day and will eventually be littered with tidbits explaining details of the process and resources to help you dive right in and get working with real data.

Anyway, please do give the new documentation a look, play with your data using the new REST API and tell us what you think. We hope to leave the discussion open for about 2 weeks, then commit to a final design. Thanks and have fun!

UPDATE : If you’re playing around with the new REST API, please note that we’ve made some updates and changes to the Field Structure API results.

This entry was posted 7 years ago and was filed under News and Updates. Comments are currently closed.

Comments

  1. This is big! No more hard to maintain HTML/JSON field scraping.

    Thanks a lot, tamberg

    Posted 7 years ago by tamberg.
  2. Wow! This new feature sounds great! Keep it up, Wufoo!

    Posted 7 years ago by Michael.
  3. Great work Wufoo. We still need more. Like a wufoo IPad app would be great.

    Posted 7 years ago by Enoc Perez.
  4. Sounds great. I would love to see an integration with Magento Commerce platform.

    Posted 7 years ago by monocat.
  5. Dang. You got me all excited with PUT and DELETE, but I guess we’re still not given those options?It’s hard to truly tinker and craft without them!

    Posted 7 years ago by Jed Wood.
  6. We are still waiting for a WordPress Plugin :) - any suggestions - I’m starting now development and I would really appreciate some starting points. Cheers!

    Posted 7 years ago by Thomas Binder.
  7. @Jed I’m burning the midnight oil to get your PUT and DELETEs going for you. We’re also working towards a login API, too. Hold tight! :)

    Posted 7 years ago by Tim Sabat.
  8. @Thomas - we’d like a WordPress plugin too! If you’d like to start a thread with me in support with any questions you have about the API, I’d be happy to answer them for you. Regarding where to start, I don’t have any WordPress plugin knowledge, so we’d both be starting from scratch.

    Posted 7 years ago by Tim Sabat.
  9. This is outstanding…super stoked to jump into this.

    Posted 7 years ago by Corey G.
  10. Yeah the Magento piece would be super helpful to our nonprofit as well.

    Posted 7 years ago by Angela.
  11. I didn’t see documentation on how to submit entries to forms. Maybe I missed it.

    I’m with @Jed on the PUT and DELETE. Could make for some really cool mashups if we had that.

    Posted 7 years ago by Tim Morgan.
  12. I forgot to say, this is AWESOME! Definitely love the ability to query for users, forms, and other stuff. That will help my little csv2wufoo app on usability. Thanks!

    Posted 7 years ago by Tim Morgan.
  13. @Tim, we’re really proud of the work you’ve done with the Wufoo API. We hope to have submit (POST) done soon.

    Posted 7 years ago by Tim Sabat.
  14. @Tim (Sabat) Excellent! Keep burning that oil!

    I should also clarify that by PUT I meant “edit existing entries,” whether that’s with POST or whatever else, doesn’t matter to me. I know people get picky about these REST terms sometimes. :)

    Posted 7 years ago by Jed Wood.
  15. I am also struggling to find how to submit entries - doesn’t seem to be covered in the docs?

    Posted 7 years ago by Rob Holmes.
  16. @Rob, we’re working on submit now. For the time being you’ll need to use the old API. The cutover to the new V3 style should be pretty easy.

    Posted 7 years ago by Tim Sabat.
  • Search

  • About

    The Wufoo Blog is the official online publication written by the developers of Wufoo about their online form builder, form-related technologies, and whatever else may fit their fancy—like robots.

  • Archives