iFormBuilder API v8.0

Add MCP server to your AI tool

Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

https://apidocs.zerionsoftware.com/doc/iformbuilder-v80/mcp

Standard setup for AI tools providing an mcp.json file

mcp.json
{
  "iFormBuilder V80 MCP server": {
    "url": "https://apidocs.zerionsoftware.com/doc/iformbuilder-v80/mcp"
  }
}

Close
Base URL
https://api.iformbuilder.com/exzact/api/v80/%5Bservername%5D

The main advantage in this version (v80) is the ability to let users define the response. By only requesting key information, you can more efficiently use resources instead of retrieving a full API feed, and parsing out unused fields.

This approach can be used with any resource that doesn't specify an ID, such as a list of elements or users.

The documentation is broken down into resource categories and you can see formatted code samples for various languages in the console on the right.

Checkout our API Changelog and other documentation.

Base URL to Make Requests

To make a request, the base URL will look something like https://[region].iformbuilder.com/exzact/api/v80/[servername]

The region is where your server is located. The table below shows what the subdomain would be for each region.

Region Subdomain
United States api
Australia au-api
United Kingdom uk-api

For servername, you would use the subdomain used to access iFormBuilder. For example, if you want to use the API for app.iformbuilder.com, the URL would like https://api.iformbuilder.com/exzact/api/v80/app

General Notes

  • Most list based requests will return a maximum of 100 objects per request (Users, Assignments, Pages, Localizations, etc...) where as records and options will return up to 1000.
  • Default response will be returned when invalid grammar is passed into the request.
  • Field grammar can include filters (single or multiple conditions) and sort order.

Using Parameters

  • Parameters will allow you to refine the request and consist of the following:
  • fields: Allow you to specify which attributes are returned. Filter and sort priority can be assigned to each field.
  • limit: Allow you to specify how many results are returned.
  • offset: Allow you to specify number of results to skip.
  • query_type=match: Allow you to validate if there is an index, otherwise, throw an error.
  • For example, this url would only provide the record ids.

    https://api.iformbuilder.com/exzact/api/v80/[servername]/profiles/10978/pages/290749032/records
    
  • This example demonstrates returning first name, last name, age, and state. This will also skip the first record only display 2 after that.

    https://api.iformbuilder.com/exzact/api/v80/[servername]/profiles/10978/pages/290749032/records?fields=first_name,last_name,residing_state,age&offset=1&limit=2
    
  • You can also specify which subform fields you want. In this example, we will have a subform called 'children_subform' with some fields in it.

    https://api.iformbuilder.com/exzact/api/v80/[servername]/profiles/10978/pages/290749032/records?fields=first_name,last_name,residing_state,age,children_subform[child_name,child_age,child_height]&offset=1&limit=2
    

Rate Limiting

  • To help protect the integrity of our system, we implemented rate limiting. When reaching our limit, the status code will be a 429 and the body will be {"error_message": "API rate limit exceeded"}
  • The limit is set to 100 calls per minute per endpoint. This means that you can send 100 requests a minute to both pages and user endpoints. However, making multiple calls to different resources in the same endpoint will be added to same total. Meaning, if you make 50 calls for /pages/12345/records and 50 calls to /pages/98765/records in a minute, you have reached the limit.
  • Feel free to contact us if the limits are affecting your workflow.

Sorting Fields

  • To sort by column(s), there are three components:
  • Column: The field you want to sort by
  • Operator: These consist of < (ascending) and > (descending)
  • Sort Priority: When sorting by multiple columns, you set priority by designating a number after the operator.
  • In this example, age has first priority in ascending order followed by first name in descending order.
    https://api.iformbuilder.com/exzact/api/v80/[servername]/profiles/10978/pages/290749032/records?fields=first_name:>2,age:<1

Filtering Fields

Adding filters will narrow down your request output or input. This can be used with both GET and PUT requests.
GET: Will return any data that meets your filter’s rules.
PUT: Instead of updating a specific record, update many records that match the filter. For example, changing everyone who is now over 18 from child to an adult.

  • Three Components of Filtering
  • Column: The field you want to filter
  • Operator: These consist of <, <=, >, >=, =, != and ~
  • Value:The value you are basing your filter on. Boolean values can be passed in either as true and false, or 0 and 1.

Examples

  • Get everyone who is between 18 AND 65 (Note: the '&' symbol may need to be url encoded which is '%26')
    age((>="18")&(<="65"))
    or encodedage((>="18")%26(<="65"))
  • Get everyone that is younger than 18 OR older than 65
    age((>="18")|(<="65"))
  • Get all first names that start with 'K'
    first_name(~"K%")
  • Get all last names that end with 'son'
    last_name(~"%son")
  • Get all middle names that contain 'mit'
    middle_name(~"%mit%")
  • Now combining 4 examples above in a URL.

    https://api.iformbuilder.com/exzact/api/v80/[servername]/profiles/10978/pages/290749032/records?fields=age((>="18")|(<="65")),first_name(~"K%"),last_name(~"%son"),middle_name(~"%mit%")
    
  • Note: If trying to filter a field that is like a certain value that starts with a number, you have url encode the '%' symbol, otherwise the api will fail. If you wanted to search for a value that starts with 12 for exmaple:

    https://api.iformbuilder.com/exzact/api/v80/[servername]/profiles/10978/pages/290749032/records?fields=length(~"%2512")
    
  • Filter Multiple Fields with

  • To search a value inside multiple fields, you can use dashes to search multiple columns of the same value. For example,

  • Get all first names OR last names that start with 'K'
    first_name-last_name(~"K%")

  • Searching Multiple Specific Values

  • This will allow you to pass in multiple specifc values you want the query to return. Form example,

  • Get both records for ids 12345 AND 98765
    id(="12345"|="98765")

Request Access Token for Using API

  • To make requests to the API, you must obtain an access token. To obtain an a valid access token, click on the link below to get started.
  • Generating Access Token

Last update on Jun 23, 2026.