API Resources

When using the Fusioo API, you will be interacting with common resources used within Fusioo. With the first version (v1) of the API you will have access to the three main Fusioo building blocks:

Developer Information

If you are going to use the Fusioo API, you may need additional information on these resources. To find the Developer Information within Fusioo:

  • Navigate to the Fusioo Workspace and find the App you need information on.
  • Click View Record on any existing record in that specific App. If there are no records yet, create a new one.
  • In the record page, open the options drop down and click on Developer Information.
  • This will open a popup with information on the App, Record and Fields for that particular App.

Apps

Apps are the basic building block in Fusioo. They are used to track, manage and display your business information.

When using the API, there are two methods that will let you retrieve information on the Apps in your Fusioo workspace.

  • Get Apps - This method will let you retrieve information on all Apps accessible by the User you are authenticated with.
  • Get App - This method will let you retrieve the information for a specific App.

These are the properties that will be returned when retrieving an App:

Property Description
name The name you have given to the Fusioo App.
id The App unique identifier. This is required when using the Create Record, Get Records and Get App methods.
single_record_name The name given to a single App record. For example a Project in the Projects App.
fields An array of App Fields. Each Field object will include meta-data information, such as:


{  
   "id":"stage",
   "name":"Stage",
   "type":"list",
   "is_required":false,
   "can_update":true,
   "options":{  
      "items":[  
         "In Progress",
         "Ready for testing",
         "Fixed",
         "Future"
      ],
      "allow_multiple":false
   }
}
                                

Fields

When retrieving an App, you will find an array of App Fields. The Fields will be sorted based on their defined sequence.

The Field id is automatically created for each Field. You can use the method Get App to find the id of each Field in that App or find it from the Developer Information section.

Different Field types available:

Warning: The File Field Type is not yet supported in the current API version.

Text

Example data

"title": "Start using the API"

Can be used to sort records

Yes

Sample JSON object

                        
{  
   "id":"title",
   "name":"Title",
   "type":"text",
   "is_required":true,
   "can_update":true,
   "options":{  
      "default":"Default title",
      "help_message":"Title help message",
      "placeholder":"Title placeholder",
      "min_length":10,
      "max_length":200
   }
}

Multiline Text

Format accepted

"description": "Default description"

Can be used to sort records

No

Sample JSON object

                        
{  
   "id":"description",
   "name":"Description",
   "type":"multiline_text",
   "is_required":false,
   "can_update":true,
   "options":{  
      "allow_html":true,
      "default":"Default description",
      "help_message":"Description help message",
      "placeholder":"Description placeholder"
   }
}

Number

Format accepted

"hourly_cost": 25

Can be used to sort records

Yes

Sample JSON object

                        
{  
   "id":"hourly_cost",
   "name":"Hourly Cost",
   "type":"number",
   "is_required":false,
   "can_update":true,
   "options":{  
      "is_formatted":true,
      "unit":"$",
      "help_message":"Hourly Cost help message",
      "placeholder":"Hourly Cost placeholder",
      "default":25,
      "min_value":0,
      "max_value":500,
      "decimal_places":2
   }
}

Date

Format accepted

"due_date": "2016-09-15"

The International Standard IS0 8601 is used to represent date and time in the Fusioo API.

Format for dates is YYYY-MM-DD

Can be used to sort records

Yes

Sample JSON object

                        
{  
   "id":"due_date",
   "name":"Due date",
   "type":"date",
   "is_required":false,
   "can_update":true,
   "options":{  
      "help_message":"Due date help message",
      "placeholder":"Due date placeholder"
   }
}

Date Time

Format accepted

"event_starting_time": "2016-09-15T07:00:00-0500"

Format for dates is YYYY-MM-DD. Format for time is hh:mm:ss.

The -0500 indicates the timezone offset. If no offset is sent, the time is assumed to be in UTC.

Can be used to sort records

Yes

Sample JSON object

                        
{  
   "id":"event_starting_time",
   "name":"Event starting time",
   "type":"date_time",
   "is_required":false,
   "can_update":true,
   "options":{  
      "help_message":"Event starting time help message",
      "placeholder":"Event starting time placeholder"
   }
}

Date Range

Format accepted

"task_duration": "2016-09-09T08:00:00|2016-09-09T09:00:00"

The same Date and Time formats above are accepted for Date Range. The Date Range is represented by the Starting date and the Till date. These two dates need to be separated by using the pipe '|' character.

For example: "starting_date|till_date"

Can be used to sort records

Yes

Sample JSON object

                        
{  
   "id":"task_duration",
   "name":"Task Duration",
   "type":"date_range",
   "is_required":false,
   "can_update":true,
   "options":{  
      "help_message":"Task duration help message",
      "placeholder":"Task duration placeholder"
   }
}

TickBox

Format accepted

"is_completed": true

Can be used to sort records

Yes

Sample JSON object

                        
{  
   "id":"is_completed",
   "name":"Is completed?",
   "type":"tick_box",
   "is_required":false,
   "can_update":true,
   "options":{  
      "default":false,
      "help_message":"Is completed? - help message"
   }
}

Email

Format accepted

"email": "default@fusioo.com"

Can be used to sort records

Yes

Sample JSON object

                        
{  
   "id":"email",
   "name":"Email",
   "type":"email",
   "is_required":false,
   "can_update":true,
   "options":{  
      "default":"default@fusioo.com",
      "help_message":"Email help message",
      "placeholder":"Email placeholder"
   }
}

Select

Format accepted

"list": ["Created"]

When allow_multiple is set to true, multiple items can be represented in two formats:

Either ["Item1", "Item2"] or "Item1|Item2"

Can be used to sort records

Yes - only when the allow_multiple option is set to false

Sample JSON object

                        
{  
   "id":"status",
   "name":"Status",
   "type":"list",
   "is_required":false,
   "can_update":true,
   "options":{  
      "items":[  
         "Created",
         "In progress",
         "Canceled",
         "On hold",
         "Done"
      ],
      "default":"Created",
      "allow_multiple":false,
      "help_message":"Status help message",
      "placeholder":"Status placeholder"
   }
}

App Relationship

Format accepted

"clients": ["i79369","ib6c69"]

When allow_multiple is set to true, multiple records can be represented in two formats:

Either ["record1", "record2"] or "record1|record2"

Note: For related records, both the record id e.g. ["i79369","ib6c69"] and the records Key Field value e.g. ["Client Name1","Client Name2"] are accepted. Record id is the recommended method since the value uniquely identifies the record.

Can be used to sort records

No

Sample JSON object

                        
{  
   "id":"clients",
   "name":"Clients",
   "type":"app_link",
   "is_required":false,
   "can_update":true,
   "options":{  
      "app_id":"i4a8bd"
   }
}

Formula

Format accepted

This is a read only Field type and it's value can't be updated.

Can be used to sort records

Yes

Sample JSON object

                        
{  
   "id":"total_cost",
   "name":"Total Cost",
   "type":"math_calculation",
   "is_required":false,
   "can_update":false,
   "options":{  
      "arithmetic_expression": "",
      "suffix":"$"
   }
}

Records

Records represent the data stored within a Fusioo App. Each time you create a new Task, Project, Issue, Event – you are creating a new record.

When using the API, there are two methods that will let you retrieve records in the authenticated Users workspace.

  • Get Records - This method will let you retrieve all the records in a specific App, accessible by the User you are authenticated with.
  • Get Record - This method will let you retrieve a specific Record.

When retrieving a record, the properties returned depend on the Fields available in that specific App.

The record object will contain both Custom and Default Fields. Each Field in the record is structured in the following manner: "Field Id":"Field content for the retrieved record"

Field content can be a string, number, boolean, array - depending on the Field Type. For more information on the formats used for each Field type, refer to the Fields section.

Here's an example:


{  
   "id":"i1f50f3d640c945a094f4847962badfd2",
   "title":"Task retrieved using the API",
   "description":null,
   "deadline":"2016-09-27T15:00:00",
   "is_completed":false,
   "website":"https://www.fusioo.net",
   "email":"support@fusioo.com",
   "status":[ 
      "In progress"
   ],
   "assigned_to":[  
      "John Doe",
      "Charlotte Smith"
   ],
   "created":"2016-09-17T20:44:52",
   "last_modified":"2016-09-22T20:44:52",
   "created_by":[  
      "Lauren Moss"
   ],
   "last_modified_by":[  
      "Lauren Moss"
   ]
}
                                
What would you improve in this article?