Infinite Blue Platform REST v2.0

REST (REpresentational State Transfer) is an architectural style, that defines how applications interact using HTTP (HyperText Transfer Protocol). Using REST enables Platform to transfer information quickly and efficiently without using any defined data formats, as it usually exchanges JSON or XML documents within the client and database server.

The Primary HTTP methods used in APIs are :

  • A POST method creates new subordinate resource(s) to a given resource. The content of the new resource is usually enclosed in the body of the request.
  • A GET method reads the targeted resource and returns a representation in XML or JSON.
  • A PUT method is often considered as an update functionality. This method includes the updated version of the targeted resource in the request body. Note: The entire definition of the entity to be updated must be provided in the request body for Admin (/meta/*) endpoints - even if just 1 detail has to be updated.
  • A PATCH method is used to partially modify a targeted resource. While a PUT method places a resource in the target service, a PATCH method simply modifies the same resource, instead of replacing it. Currently, Platform does not support any PATCH methods.
  • A DELETE method deletes a targeted resource.

Infinite Blue Platform is now bundled with enriched REST APIs. This represents a significant aim to enhance capabilities to incorporate improved functionality. It also enables API developers to interact with Platform while accessing web services in a simple and adaptable manner.

This REST API Documentation essentially comprises of Record, User, Admin, and System APIs along with elaborate descriptions and examples for better understanding.

Note: Most examples in this documentation depict API implementation with reference to CRM application, available in Infinite Blue Marketplace.

To get started with formulating requests, please see the following

API Endpoint Versioning: Versioning for endpoints is supported by using a custom header "Accept-Version". Resource structures in META endpoints for requests and responses have been changed since the InfinteBlue Platform Release of v6.0 for "Application" (only GET), "Object", "Relationship", "Field", "BatchJob", "Triggers", "Authentication Profiles". If you wish to access a previous version of these endpoints, you must specify the header "Accept-Version" with the value "5.10.0.0". The consequent response confirms the version through the "Content-Version" header. If "Accept-Version" is not specified, then the latest version is taken as the default version.

Authentication

Api-Key

A user can generate an API token for authentication instead of a JWT token. See Change API Credential for information on generating API tokens. To access any REST 2.0 APIs, the user needs to pass this key in the request header.

Security Scheme Type API Key
Header parameter name: Api-Key

JWT

JSON Web Token is a mechanism to authenticate APIs. To access any REST 2.0 APIs, a user needs to pass JW Token in the request header.

To generate JW token, access the following URL with basic authentication:

http://{HostName}/rest/api2/login/

This returns JW Token and URL. Use the URL in subsequent requests. The default expiry time of JW Token is 30 minutes. User can change the expiry time under Built-in security levels

Security Scheme Type API Key
Header parameter name: JWT

basic_auth

Security Scheme Type HTTP
HTTP Authorization Scheme basic

Record

The Record API section describes operations pertaining to data records in Platform. From this section, API developers can understand how to formulate requests to create, update, retrieve, and delete data records as required. Here are a few important descriptions :

Data Records : A data record is a string of field data within an object definition. For instance, a data record can hold all relevant information about an individual, such as his name, country, email, etc.

Related Records: Relationships can be created between records if they need to be attached. For instance, if 4 (child) records need to be attached to one (parent) record, then a relationship can be established between them. Once the attachment of records is successful, the records are called as related records.

Field Data: Field data implies field integration names and values for the field.

To get started with formulating record creation requests, and understand the value formats, please see Field Types

Retrieve Object Records

This request retrieves all records that fall under the filter category specified in the request query. If the request query has fields(fieldList) passed as query parameters, then it retrieves only specified field values of those records that satisfy the filter condition.If the query parameter specifies ALL fields, then it retrieves the records based on the filter value with all object field values. If no fields are passed as query parameters, then the fields present in the default view(all leads) are returned. A view can also be passed as a query parameter.

Example : If the filter is set to a particular country(where filterName is country and filterValue is the country-name), then all records from that country are retrieved.

Start and count : If positions of the required data records are to be specified, then start and count can be used. Start and count are used in a conjunction for pagination.

  • Example 1: start=2 and count=3, returns the 3rd, 4th, and 5th data records of the array as a response.
  • Example 2: start=5 and count=2 returns the 6th and 7th data records of the array as a response.

Authorizations:
path Parameters
objectIntegrationName
required
string

The integration name of the object that the record belongs to must be specified.

query Parameters
viewIntegrationName
string

The integration name of the view. If this string value is not provided, then the first view based on the order number is considered as the default integration name.

filterName
string

The name of the field to filter the output using the equals option (replaces the filter set in the view, if any).

filterValue
string

The value of the field to filter the output using the equals option.

fieldList
string

A comma-separated list of field integrationNames. If present, only fields from this list are included in the output. The fields should be a part of the given view, else ignored. Provide ALL as the value to include all fields in the object definition.

start
integer <int32>

The Start and count are used in a conjunction for pagination. Start denotes the position of the first record in the set of all records. The first record is at position 0 by default. So start=0 indicates the first record, start=2 indicates the third record, and so on.

count
integer <int32>

The Start and count are used in a conjunction for pagination.

  • Example 1: start=2 and count=3, returns the 3rd, 4th, and 5th data records of the array as a response.
  • Example 2: start=5 and count=2 returns the 6th and 7th data records of the array as a response.

Responses