Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Section
Column

This section describes the basic protocol used to interact with

Frevvoproduct
Data APIs including examples of what Atom requests may look like, what kind of responses to expect, and so on. It is intended for anyone wanting an understanding the general idea of the format and protocol used by the
Frevvoproduct
Data API and it assumes that you understand the basics of XML, namespaces, Atom feeds, and the main HTTP requests GET, POST, PUT and DELETE, as well as the RESTful concept of a resource. Using the API at this level your client application can interact with the
Frevvoproduct
Server using any programming language that lets you issue HTTP requests and consume XML-based responses.

There are various different types of

Frevvoproduct
resources that can be viewed and manipulated by the Data API. Most of these resources are things that a designer sees when creating new forms and navigating the application using the
Frevvoproduct
UI, for instance users, applications, form, schemas, etc. So before delving into the API specifics it is a good idea to understand these different types of resources and how they relate to each other. The following diagram shows these different resources currently being exposed by the Data API and the ownership relationships among them:

Column
width240px

On this page:

Table of Contents
maxLevel1

 


Basically, for each resource type in 

Frevvoproduct
 (User, Application, FormType, Schema) an Atom Feed representation is provided. The following table shows the different URI to access the different resource feeds:

                                                             

Frevvoproduct
stylefont-weight:bold
 Data API URLs

Resource Description  Resource URI
Users Feed /frevvo/web/
t
tn/{tenantId}/api/users
User Entry/frevvo/web/
t
tn/{tenantId}/api/user/{id}
ApplicationFeed /frevvo/web/
t
tn/{tenantId}/api/apps?ownerId={userId}
ApplicationEntry/frevvo/web/
t
tn/{tenantId}/api/app/{id}
FormTypeFeed/frevvo/web/
t
tn/{tenantId}/api/formtypes?ownerId={appId}
FormTypeEntry /frevvo/web/
t
tn/{tenantId}/api/formtype/{id}
SchemaFeed/frevvo/web/
t
tn/{tenantId}/api/schemas?ownerId={appId}
SchemaEntry/frevvo/web/
t
tn/{tenantId}/api/schema/{id}
ControlTypeFeed/frevvo/web/
t
tn/{tenantId}/api/controltypes?ownerId={formTypeId}
ControlTypeEntry/frevvo/web/
t
tn/{tenantId}/api/controltype/{id}
SubmissionFeed /frevvo/web/
t
tn/{tenantId}/api/submissions
SubmissionEntry /frevvo/web/
t
tn/{tenantId}/api/submission/{id}
Note
 Note that the ownerId query parameter is optional when querying any feed but required when inserting a new entry into the feed (more details on this below)

...

Code Block
POST /frevvo/web/ttn/{tenantId}/api/apps
 
<entry xmlns="http://www.w3.org/2005/Atom">
    <id>_nv8uAT8KEd6yc_ZDP21S1Q!johndoe</id>
    <title type="text">Expense Reports</title>
    <summary type="text"/>
</entry>

...