Download OpenAPI specification:Download
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 :
/meta/*
) endpoints - even if just 1 detail has to be updated.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.
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
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.
start=2
and count=3
, returns the 3rd, 4th, and 5th data records of the array as a response.start=5
and count=2
returns the 6th and 7th data records of the array as a response.objectIntegrationName required | string The integration name of the object that the record belongs to must be specified. |
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 |
count | integer <int32> The
|
In this example, we have retrieved a Lead Object record in CRM Application, whose country(filterName=country
) is Serbia(filterValue=CS
).
The consequent response returns record(s) that fall under the specified filter category (country=CS
). The fields here are the ones present in the default view(all leads). Only one record happens to fall under the specified filter. Hence the response has returned that one record.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "annual_revenue": 805347.21,
- "city": "Chenggan",
- "company": "Ntag",
- "country": "CS",
- "email": "abbye.overstreet@company.com",
- "firstName": "Abbye",
- "id": 109472,
- "lastName": "Overstreet",
- "mobilePhone": "860-966-4723",
- "name": "Abbye Overstreet",
- "title": "Honorable"
}
]
}
This request comes in handy when we need to update/modify the same set of existing-values for multiple records. This simplifies the task of updating multiple records in one go, by eliminating the need to individually update every record.
Example: Using this request, records can be attached to multiple records in one go, and related records of multiple records can be updated.
objectIntegrationName required | string The integration name of the object. |
As demonstrated in the examples, the values to be updated are mentioned inside the function(request) body along with the IDs for the respective records. IDs of all records to be updated, must be specified correctly. Only those already existing values that need to be updated/modified must be added in the request-body.
Record field values such as city, country, rating, title, email, status, mobile phone, annual revenue, etc. that need to be updated can be specified in the request body. The request body must contain field data in pairs, each pair constitutes of a field integration name and its corresponding value (for example, in the field data :"lastName":"Storks"
, lastname is the field integration name and Storks is its value).
In this example, we are updating the lead object with the following in CRM application:Status("status":"Working - Contacted"
), Email Opt Out("email_opt_out":true
), Industry("industry":"Energy"
), website("website":"www.storks.com"
).
We are also attaching two account records to multiple records.
[- {
- "R1850980": [
- 109586,
- 109344
], - "email_opt_out": true,
- "id": "109587",
- "industry": "Energy",
- "status": "Working - Contacted",
- "website": "www.storks.com"
}, - {
- "R1850980": [
- 109586,
- 109344
], - "email_opt_out": true,
- "id": "109491",
- "industry": "Energy",
- "status": "Working - Contacted",
- "website": "www.storks.com"
}
]
In this example, we have updated the lead object with the following in CRM application:Status("status":"Working - Contacted"
), Email Opt Out("email_opt_out":true
), Industry("industry":"Energy"
), website("website":"www.storks.com"
).
We have also attached two account records to multiple records.
The consequent response confirms the successful update of the lead object with the following in CRM application:Status("status":"Working - Contacted"
), Email Opt Out("email_opt_out":true
), Industry("industry":"Energy"
), website("website":"www.storks.com"
). Two account records have been successfully attached to multiple records ("R1850980":[109586, 109344]
).
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "R1850980": [
- 109586,
- 109344
], - "annual_revenue": 7801467.07,
- "city": "Skopje",
- "company": "Topiczoom",
- "country": 13229,
- "createdAt": "2021-01-11T13:36:23.000+00:00",
- "createdBy": 14972,
- "createdByDefId": 13958,
- "do_not_": false,
- "email": "adolphe.storks@company.com",
- "email_opt_out": true,
- "fax_opt_out": false,
- "firstName": "Adolphe",
- "id": 109587,
- "industry": 108117,
- "lastName": "Storks",
- "lead_comm": [ ],
- "mobilePhone": "(988)564-8338",
- "name": "Adolphe Storks",
- "process": 108251,
- "rating": 108152,
- "status": 108248,
- "tag": "",
- "title": "Rev",
- "updatedAt": "2021-01-12T09:46:08.375+00:00",
- "updatedBy": 14972,
- "updatedByDefId": 13958,
- "website": "www.storks.com"
}, - {
- "R1850980": [
- 109586,
- 109344
], - "annual_revenue": 1527604.39,
- "city": "Lagoaça",
- "company": "Ntag",
- "country": 13231,
- "createdAt": "2021-01-08T11:56:20.000+00:00",
- "createdBy": 14972,
- "createdByDefId": 13958,
- "do_not_": false,
- "email": "barbette.fladgate@company.com",
- "email_opt_out": true,
- "fax_opt_out": false,
- "firstName": "Barbette",
- "id": 109491,
- "industry": 108117,
- "lastName": "Fladgate",
- "lead_comm": [ ],
- "mobilePhone": "133-401-2865",
- "name": "Barbette Fladgate",
- "process": 108251,
- "rating": 108152,
- "status": 108248,
- "tag": "",
- "title": "Ms",
- "updatedAt": "2021-01-12T09:46:08.375+00:00",
- "updatedBy": 14972,
- "updatedByDefId": 13958,
- "website": "www.storks.com"
}
]
}
Request Description This request is used to create a data record, with all its relevant details, such as name, status, etc. One or many records can be created at once using this request.
objectIntegrationName required | string The integration name of the object. |
In the request body, the object name along with the record field values such as city, country, rating, title, email, status, mobile phone, annual revenue, etc. can be mentioned. The request body must contain field data in pairs; each pair constitutes of a field integration name and its corresponding value (for example, in the field data :"lastName":"Storks"
, lastname is the field integration name and Storks is its value). Different records can have different number of details/parameters. There is no fixed number of parameters needed to create a record. Records can be created at first with a few details using the POST request, and can be later updated with more details.
Important: For the creation of a record to be successful, it is mandatory that all field integration names labelled “Required” must be present in the request body. Along with mandatory field integration names, optional fields can also be added.
This example shows a sample request to create a new record in the Lead Object, in CRM Application. As demonstrated in the request below, the attributes of the record such as name, country, city, email, company, etc. are specified in the body of the request. All relevant details of a record can be specified in this manner.
{- "lastName": "Storks",
- "country": "BR",
- "city": "Skpje",
- "rating": "Warm",
- "title": "Mr",
- "email_opt_out": false,
- "company": "Topiczoom",
- "email": "adolphe.storks@company.com",
- "firstName": "Adolphe",
- "mobilePhone": "988-564-8338",
- "fax_opt_out": false,
- "annual_revenue": 7801467.07,
- "R1850980": [
- 109586
], - "status": "Open - Not Contacted"
}
A record has been created with a unique record ID 109585
. The object name is indicated as lead
.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "id": 109585,
- "objName": "lead"
}
]
}
This request is used in cases where multiple records with known record IDs need to be deleted in a single instance. Multiple record IDs can be specified in the request query by separating them with commas. The response confirms the deletion of given records with their respective IDs.
objectIntegrationName required | string The integration name of the object. |
recordIds required | string Comma separated list of record IDs. |
In this example we have deleted multiple records(recordIds=109442,109466,109439,109499,109430,109488
) from Lead Object in CRM application.
This response confirms the deletion of records with IDs 109442,109466,109439,109499,109430,109488
.
{- "code": 200,
- "message": "OK",
- "results": [
- "Deleted record with ids 109442,109466,109439,109499,109430,109488"
]
}
This request is used to retrieve the number of records that fall under a particular filter/view specified in the request query.
Example: If a view is mentioned in the query, then the number of records that have the specified view is returned as the response.
Since this request is used to retrieve the number of records that fall under a particular filter/view specified in the request query, the filter name must be specified in the request query, along with the object name. For example, if a view is mentioned in the query, then the number of records that have the specified view is returned as the response.
objectIntegrationName required | string The integration name of the object. |
viewIntegrationName | string The integration name of the view. If not provided, the first view according to the order number is considered as the default name. |
In this example, we have retrieved the number of all Lead Object records in CRM application.
This consequent response retrieves the number of all Lead Object records in CRM application, which happens to be 100.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "count": 100
}
]
}
A trigger is a stored procedure that is automatically executed when certain events occur. Triggers can perform automated validation, notification, and data manipulation. You can configure triggers to fire upon events such as record creation, update, and deletion, as a result of a workflow action, and you can also run triggers manually. They may eliminate the need to write a lengthy program. When an action needs to be performed, its respective trigger can be invoked.
Note: When a trigger is invoked, it affects only those object records whose record IDs are specified in the request body. The different types of triggers include ‘Object Script’, ‘Send Email’, Workflow Status', ‘Create New Record’, ‘Attach Related Record’, ‘Update Field Value’, etc. For more information, see Trigger Overview.
objectIntegrationName required | string The integration name of the object. |
triggerIntegrationName required | string The integration name of the trigger. This is unique across the object. |
runValidations | boolean If set to true, checks validation formula before running the trigger. This is set to false by default. |
runRecursions | boolean When true, configures the trigger to run recursively, if recursive properties on the trigger definition page are set. Defaults to false if the properties are not set. Note: For example, the Recursion settings could be such that the trigger gets fired once in every 5 months, for 10 times. This would mean that the total timespan that the trigger runs for is 5*10=50 months, and in these 50 months the trigger is fired exactly 10 times. |
runDelay | integer <int64> >= 0 Schedule trigger to run asynchronously after given delay (in ms) from current time |
runAsJob | boolean Schedule trigger to run as large job with enhanced monitoring and cancellation capabilities |
IDs of records that the trigger must run on. If you want the trigger to run on all records, then do not specify any record IDs.
recordIds | Array of integers <int64> [ items <int64 > ] |
Consider that in a CRM application, a Send Mail trigger has been created on the lead object. send_mail is the triggerIntegrationName for a trigger that belongs to the ‘Send Mail’ type. The contents of the email are based on the email-template. This request is to invoke the trigger on the records : 109585 and 109587
. This means that the trigger email will be sent to the corresponding email recipients only. Since runValidations is not specified, it is False (by default).
{- "recordIds": [
- 109585,
- 109587
]
}
Consider that in a CRM application, a Send Mail trigger has been created on the lead object. send_mail is the triggerIntegrationName for a trigger that belongs to the ‘Send Mail’ type. The contents of the email are based on the email-template. This request is to invoke the trigger on the records :109585 and 109587
. This means that the trigger email will be sent to the corresponding email recipients only. Since runValidations is not specified, it is False (by default).
{- "code": 200,
- "message": "OK",
- "results": [
- "Trigger run is successful"
]
}
This request is used to retrieve a record with a known record ID. If record fields are specified in the request query along with the record ID, then the specified field values only are returned as a response. If no fields are specified with the record ID, then records are returned with all field values.
If record fields are specified in the request query along with the record ID, then the specified field values only are returned as a response. If no fields are specified with the record ID, then records are returned with all field values.
objectIntegrationName required | string The integration name of the object. |
recordId required | string A string containing the record ID. |
fieldList | string A comma-separated list of field names. If present, only fields from this list are included in the output. |
In this example, we have retrieved a Lead Object record with a known record ID(109472
), in CRM application.
The consequent response retrieves a Lead Object record with a known record ID(109472
), in CRM application.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "R1850980": [ ],
- "annual_revenue": 805347.21,
- "city": "Chenggan",
- "company": "Ntag",
- "country": "CS",
- "createdAt": "2021-01-08T11:56:19Z",
- "createdBy": 14972,
- "createdByDefId": 13958,
- "do_not_": false,
- "email": "abbye.overstreet@company.com",
- "email_opt_out": false,
- "fax_opt_out": false,
- "firstName": "Abbye",
- "id": 109472,
- "lastName": "Overstreet",
- "mobilePhone": "860-966-4723",
- "name": "Abbye Overstreet",
- "process": "Default",
- "rating": "Warm",
- "status": "Open - Not Contacted",
- "title": "Honorable",
- "updatedAt": "2021-01-11T07:34:19Z",
- "updatedBy": 14972,
- "updatedByDefId": 13958
}
]
}
This request is used to update one or more field values for a particular record in an application, such as city, country, rating, title, email, status, mobile phone, annual revenue, etc.
Path Parameters: These include the integration name of the object and the record ID.
objectIntegrationName required | string The integration name of the object. |
recordId required | string A string containing the record ID. |
Those already-existing field value(s) that need to be updated/modified for a particular record in an object, must be specified in the request body.
Important: The request body must contain field data in pairs; each pair constitutes of a field integration name and its corresponding value (for example, in the field data :"lastName":"Storks"
, lastname is the field integration name and Storks is its value). Using this request, account records can be attached to a record, and related records can be updated.
Record field values such as city, country, rating, title, email, status, mobile phone, annual revenue, etc. that need to be updated can be specified in the request body.
Note: A record for an object can be updated by using only those field integration names that belong to that particular object, whether they are mandatory or optional.
In this example, we are updating the following in the Lead Object in CRM Application :Status("status":"Working - Contacted"
), Email Opt Out("email_opt_out":true
), Industry("industry":"Energy"
), website("website":"www.storks.com"
), and attaching two account records to the current record("R1850980":[109586,109344]
).
{- "R1850980": [
- 109586,
- 109344
], - "email_opt_out": true,
- "industry": "Energy",
- "status": "Working - Contacted",
- "website": "www.storks.com"
}
In this example, we have updated the following in the Lead Object in CRM Application :Status("status":"Working - Contacted"
), Email Opt Out("email_opt_out":true
), Industry("industry":"Energy"
), website("website":"www.storks.com"
), and attached two account records to the current record("R1850980":[109586,109344]
).
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "R1850980": [
- 109344,
- 109586
], - "annual_revenue": 7801467.07,
- "city": "Skopj",
- "company": "Topiczoom",
- "country": "BR",
- "createdAt": "2021-01-11T13:03:18Z",
- "createdBy": 14972,
- "createdByDefId": 13958,
- "do_not_": false,
- "email": "adolphe.storks@company.com",
- "email_opt_out": true,
- "fax_opt_out": false,
- "firstName": "Adolphe",
- "id": 109585,
- "industry": "Energy",
- "lastName": "Storks",
- "lead_source": "Other",
- "mobilePhone": "(988)564-8338",
- "name": "Adolphe Storks",
- "process": "Default",
- "rating": "Warm",
- "salutation": "Mr.",
- "status": "Working - Contacted",
- "title": "Mr",
- "updatedAt": "2021-01-12T08:34:15Z",
- "updatedBy": 14972,
- "updatedByDefId": 13958,
- "website": "www.storks.com"
}
]
}
This request is used to delete a single record with a known record ID. The record ID is specified in the request query; the consequent response confirms the deletion of the particular record with the specified record ID.
objectIntegrationName required | string The integration name of the object. |
recordId required | string A string containing the record ID. |
In this example, we have deleted a record from Lead Object, in CRM application.
This response confirms the deletion of the specified record from Lead Object, in CRM application.
{- "code": 200,
- "message": "OK",
- "results": [
- "Deleted record with id 109472"
]
}
This request retrieves file upload and image upload field values for a specific record, based on the field names specified in the request body. The response returns the values of the fields passed in the request.
objectIntegrationName required | string The integration name of the object. |
recordId required | string A string containing the record ID. |
fieldIntegrationName required | string The integration name of the field. |
output | string Enum: "raw" "json" This parameter applies to only file input fields. If it is not specified, its default value is "json" and returns meta-data and base-64 encoded content of the file. If specified as "raw", the file is returned in a raw format. |
In this example we are retrieving details of the userProfilePic
field. The response returns all relevant details of the field userProfilePic
including the fileName, fileData/value, contentTyp
e, etc.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "userProfilePic": {
- "contentType": "image/png",
- "fileData": "iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAB/pklEQVR42ux9CZwdVZX+eUvveyedpbN0d/... ...r+xfYhuI4GZWQwJGiYcP2NvslMBAEJLOnptMaGuuxa+zSFOn/bBE6kCamnUwAAAAASUVORK5CYII=",
- "fileName": "ProfilePic.png"
}
}
]
}
Updates only the following Advanced type of fields
Request Description This request can be used to set or update advanced type of fields such as images and documents for a single specific record at a time. The field value can either be set for the first time, or it can be updated from an old value to a new value
Note for your reference For instance, if a field is to be updated for a particular record, then the contentType must specify what type of file is being uploaded. The value parameter is applicable only for file upload fields and the input value can be the file itself or a Base-64 encoded binary value of the file. If the value is a Base-64 encoded binary value of the file, then a parameter called fileName must imply the new name of the file being uploaded in the request. For instance, a Base-64 encoded binary value of a file to be uploaded can be “iVBORw0KGgoAAAANSUhEUgAAAQAAAA………” and while uploading it as a field value, its new fileName can be “XYZ.png”. If the value is the file name itself, then the need to use fileName is eliminated. Both these parameters are specific to the new file being uploaded, as opposed to old files(if any)
objectIntegrationName required | string The integration name of the object. |
recordId required | string A string containing the record ID. Every record has a unique record ID. |
fieldIntegrationName required | string The integration name of the field. |
value | string <base64> The request body must contain the value, the type of file, and the type of content. Value is applicable only for file upload fields. The input value can be the file name itself or Base-64 encoded binary value of the file. The type of content varies - for example, |
contentType | string MIME content type of uploaded data. It is applicable only for file upload fields (if the value is given as Base-64 encoded binary). For example,image/gif is used for an image in the GIF format, and |
fileName | string Original name of file being uploaded. It is applicable only for file upload fields (if the value is given as Base-64 encoded binary). |
The consequent response confirms that the user profile picture has been updated/set for the user ID specified in the request. In the response below, Field "User Profile Pic" has been updated on Daniel Romano
is returned.
{- "code": 200,
- "message": "OK",
- "results": [
- "Field \"User Profile Pic\" has been updated on Daniel Romano"
]
}
Related records for a particular record can be retrieved using this request. Child records of a parent record can be retrieved
objectIntegrationName required | string The integration name of the object. |
recordId required | string A string containing the record ID. |
relIntegrationName required | string The integration name of the relationship |
getChildren | boolean This parameter applies to hierarchical relationships. Default value is |
In this example, we are getting related account IDs for lead object record(109443
) in CRM application. The relIntegrationName of the relationship between these records is R1850980
.
The consequent response returns the record IDs of all related records of the lead object record(109443
). That is, it returns the records attached to the lead object record with the relationship R1850980
.
{- "code": 200,
- "message": "OK",
- "results": [
- 109344,
- 109586
]
}
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
.
Note- Already attached records are overridden with the new ones.
objectIntegrationName required | string The integration name of the object. |
recordId required | string A string containing the record ID. |
relIntegrationName required | string The integration name of the relationship |
In the request body, it is necessary to specify the record IDs that we wish to attach to a particular record.
recordIds | Array of integers <int64> [ items <int64 > ] List of record IDs to be attached. |
In this request, we are attaching 2 account records with record IDs 109586
and 109344
to the lead object record with record ID 109585
, in CRM application. The relIntegrationName is R1850980. It is necessary to specify the record IDs of the records we wish to attach to a particular record, along with the record ID of the record that the attachment is being made to. Hence in the request, the record IDs of the 2 account records are specified along with the record ID of the lead object record. The consequent response confirms the success of the request made. A message that resembles 2 records have been attached.
is returned thereby confirming the successful attachment of 2 account records with record IDs 109586
and 109344
to the lead object record with record ID 109585
.
{- "recordIds": [
- 109586,
- 109344
]
}
In this example, we are attaching 2 account records with record IDs 109586
and 109344
to the lead object record with record ID 109585
, in CRM application. The relIntegrationName is R1850980.
The consequent response confirms the success of the request made. A statement 2 records have been attached.
is returned thereby confirming the successful attachment of 2 account records with record IDs 109586
and 109344
to the lead object record with record ID 109585
.
{- "code": 200,
- "message": "OK",
- "results": [
- "2 record(s) have been attached."
]
}
If related records are no longer required to be attached, then they can be detached using this request
objectIntegrationName required | string The integration name of the object. |
recordId required | string A string containing the record ID. |
relIntegrationName required | string The integration name of the relationship |
recordIds required | string A comma separated list of record IDs. |
In this example, we are detaching a related account(109586
) from given lead object record(109585
), in CRM application.
The consequent response confirms the detachment of a related account(109586
) from given lead object record(109585
), by returning 1 records have been removed.
Note: The response only returns information relevant to the request made. Information relevant to other records that are still attached after the detachment of the specified record, will not be returned. For instance, in this example, the lead object record actually had 2 related records :109586,109344
, of which the record(109586
) was detached according to the request made. The record (109344
) is still attached to the lead object record, but this is not specified in the response.
{- "code": 200,
- "message": "OK",
- "results": [
- "1 records have been removed."
]
}
This request runs a workflow action on a record. For objects in dedicated tables, you must specify the objName parameter. Workflow status indicates the current status of a record, and a workflow action changes the workflow status to the desired status. To define a workflow action, you must specify the workflow action display name (For example, the workflow actions could be working, closed
, etc.) The default workflow status is usually open, until a workflow action is run. The consequent response returns a statement that resembles"Action run is successful"
, confirming the successful transition of the record from one workflow status to another.
objectIntegrationName required | string The integration name of the object. |
recordId required | string A string containing the record ID. |
actionIntegrationName required | string The integration name of the action. |
Optional Map of field integration names to values.
{ }
This example shows a sample request to change the workflow status by running an action on the record in the Lead Object, in a CRM Application. The action requested in the request below is Working-Contacted, meaning that post the submission of the request, the final workflow status of the record 109585
would be Working-Contacted. This means that regardless of what the current workflow status of the record is, we want the the final workflow status to be as specified in the request.
The above request runs the “Working-Contacted“ workflow action on the record (109585
) and thus changes the workflow status to “Working - Contacted“. "Action run is successful"
confirms that the workflow status has been changed for the specified record.
{- "code": 200,
- "message": "Action run is successful",
- "results": [
- { }
]
}
If several records need to be created or updated in bulk, then this can be done by using a CSV file, rather than individually. If values for a particular field need to be updated for a huge number of records at once, then this request comes in handy. For instance, if a huge number of employee details need to be created at once, or a huge amount of employee data needs to be updated, then this request can be used.
Note- A Content-Type
HTTP header with a value text/csv
since the request body contains CSV data.
mapIntegrationName required | string The integration name of a previously created Data Import Map. |
fieldIntegrationName | string The integration name of a unique field(with "Do not allow duplicates" attribute) used to identify records whose fields need to be updated. |
triggerIntegrationName | string The integration name of a Unique Fields Combination trigger to be updated. |
synch | boolean Can be set to True or False(Default Value is False).
|
importType | integer <int32> The import type can be one of the following (Default Value is 0 - Create new record) -
|
importMode | integer <int32> Specifies the import mode. Can be one of the following -
|
createAction | boolean Specifies whether to create picklist values on the fly while importing -
|
treatEmptyCellAsNull | boolean Specifies whether to treat empty spreadsheet cells as NULL values for updated records -
|
The request body can contain the CSV data with a header row containing field integration names such as Contact, Job Title, Account, Phone, Email Address, etc. with their corresponding values in the following rows such as "Tom Williams", "Software Engineer", "", "(780)780-0780", "tom.williams@abc.com".
Note: This CSV data must be in-line with the field mappings saved in "Data Import Map".
In this example, we are creating records in the Contact object of CRM Application. Before we get to the part where we create the records, it is essential to have a Data Import Map already in place with mapping fields and spreadsheet columns. To create a Data Import Map, use the CSV file attached below.
The consequent response returns the IDs of created records along with a message that contains the following information:
Note: The total number of records, would therefore be the sum of already existing records and newly created records.
{- "code": 200,
- "message": "\nImport: Contact\nStarted at 02/03/2021, 2:56 PM\nUploaded file: upload.csv Size: 1 KB\n\nMaximum 2500000 records allowed, 241 records already exist.\n\n=====================================================\nCreated records: 2\nNumber of errors: 0\nFinished at 02/03/2021, 2:56 PM\n",
- "results": [
- 4373211,
- 4373212
]
}
This request is used to retrieve the runtime information of the jobs.
{- "description": "In this example, we are retrieving the runtime information of the jobs.",
- "value": {
- "code": 200,
- "message": "Success",
- "results": [
- {
- "id": "1e6c4d64-5fb0-4e76-b8b5-081bd810a224",
- "name": "Batch Job 'DM2' of type DataMaintenance",
- "status": "RUNNING",
- "type": "BATCH_JOB",
- "createdAt": "2023-04-28T12:03:02Z",
- "startedAt": "2023-04-28T12:05:30Z",
- "scheduledAt": "2023-04-28T12:03:02Z",
- "isCancelable": false
}, - {
- "id": "530fc4ac-92a4-497c-9cbc-222eeb7e2e2e",
- "name": "Batch Job 'DM3' of type DataMaintenance",
- "status": "WAITING",
- "type": "BATCH_JOB",
- "createdAt": "2023-04-28T12:04:29Z",
- "scheduledAt": "2023-04-28T12:04:29Z",
- "isCancelable": true
}, - {
- "id": "7ff887e6-2079-4e62-afa8-ad949e191137",
- "name": "Batch Job 'Employee Report' of type ReportGenerate",
- "status": "WAITING",
- "type": "BATCH_JOB",
- "createdAt": "2023-04-28T12:04:14Z",
- "scheduledAt": "2023-04-28T12:04:14Z",
- "isCancelable": true
}
]
}
}
This request is used to retrieve the detailed information of a job whose ID is specified in the request.
id required | string A string containing the job ID. Every job has a unique job ID. |
fetchErrorFile | boolean Default: false Retrieves the error file for the specific job. |
fetchFile | boolean Default: false Retrieves the file for the specific job. |
{- "description": "In this example, we are retrieving the detailed information of a job whose ID is specified in the request.",
- "value": {
- "code": 200,
- "message": "Success. Job found.",
- "results": [
- {
- "id": "6ac7e3c1-f8f7-44b0-9b29-64f3732c945b",
- "name": "Batch Job 'TestingJob3' of type ReportGenerate",
- "status": "WAITING",
- "type": "BATCH_JOB",
- "createdAt": "2023-04-28T12:18:19Z",
- "scheduledAt": "2023-04-28T12:18:19Z",
- "isCancelable": true
}, - {
- "id": "6ac7e3c1-f8f7-44b0-9b29-64f3732c945b",
- "name": "Batch Job 'TestingJob3' of type ReportGenerate",
- "status": "RUNNING",
- "type": "IMPORT_JOB",
- "createdAt": "2023-04-28T12:03:02Z",
- "startedAt": "2023-04-28T12:05:30Z",
- "scheduledAt": "2023-04-28T12:03:02Z",
- "isCancelable": false
}
]
}
}
This request retrieves the number of jobs in the job history.
{- "description": "In this example, we are retrieving the number of jobs in job history.",
- "value": {
- "code": 200,
- "message": "OK",
- "results": [
- {
- "count": 54
}, - {
- "count": 76
}, - {
- "count": 28
}, - {
- "count": 56
}
]
}
}
This request retrieves the complete job History.
start | integer <int32> For pagination, the parameters - start and count are used in conjunction. The position of the first record in the set of all records is denoted by |
count | integer <int32> For pagination, the parameters - start and count are used in conjunction. |
{- "description": "In this example, we are retrieving the Job history.",
- "value": {
- "code": 200,
- "message": "Success",
- "results": [
- {
- "id": "8a251c4a-d51d-4401-ba89-743720242ba1",
- "name": "Export List View : \"All HugeRecords\" [csv] on HugeRecord",
- "status": "FAILED",
- "type": "LIST_VIEW_EXPORT_JOB",
- "startedAt": "2023-04-24T11:39:31Z",
- "finishedAt": "2023-04-24T11:39:33Z",
- "duration": 2255,
- "recordSummary": "Exported 0 of 0 total records",
- "createdBy": 6805,
- "createdByDefId": 8787,
- "objDefId": 12146,
- "objIntegrationName": "HugeRecord"
}, - {
- "id": "3e6308df-7ac6-4a4c-bc92-c32b7f788ce7",
- "name": "Export List View : \"All HugeRecords\" [csv] on HugeRecord",
- "status": "FAILED",
- "type": "LIST_VIEW_EXPORT_JOB",
- "startedAt": "2023-04-24T11:37:21Z",
- "finishedAt": "2023-04-24T11:37:23Z",
- "duration": 2266,
- "recordSummary": "Exported 0 of 0 total records",
- "createdBy": 6805,
- "createdByDefId": 8787,
- "objDefId": 12146,
- "objIntegrationName": "HugeRecord"
}
]
}
}
The Admin API section describes operations that can be performed by tenant administrators. These involve creating, updating, retrieving, or deleting a field, object, application, relationship, role, view, permission, authentication profile, portal, etc. in Platform. From this section, API developers can understand how to formulate requests to perform administrative operations. Here are a few important descriptions :
Object Definition : An Object holds the entire schema structure of the data fields. In simple, Object definitions are the containers for fields, which define the attributes and properties that specify how the individual records are structured, how they will behave, and how they can be accessed. For more information, see Object definition overview..To access the previous version of this endpoint, you must provide a header Accept-Version
with the value, 5.10.0.0
. The latest version, 6.0.0.0
is the default version.The Content-Version
in the response indicates the version accessed.
Field : Field contains a defined set of information for any corresponding object definition. A field can be of any type - Text
, Checkbox
, Currency
, Decimal
, Integer
, Date
, Time
, Email
, URL
, Password
, etc.To access the previous version of this endpoint, you must provide a header Accept-Version
with the value, 5.10.0.0
. The latest version, 6.0.0.0
is the default version.The Content-Version
in the response indicates the version accessed.
Relationship : A relationship definition specifies cardinality (how many records of one object type can be related to another) between objects. For more information, see Relationships between objects..To access the previous version of this endpoint, you must provide a header Accept-Version
with the value, 5.10.0.0
. The latest version, 6.0.0.0
is the default version.The Content-Version
in the response indicates the version accessed.
View : A view is a result set, a list of records that users can act on individually or in bulk. When you create an object definition, Platform creates a list view of all records of that object type. For more information, see Working with views.
Trigger : A trigger is a stored procedure that is automatically executed when certain events occur. Triggers can perform automated validation, notification, and data manipulation. A tenant admin can configure triggers to send emails, create audit trail records, validate record data, update field values, change workflow status, create new records, etc.To access the previous version of this endpoint, you must provide a header Accept-Version
with the value, 5.10.0.0
. The latest version, 6.0.0.0
is the default version.The Content-Version
in the response indicates the version accessed.
Batch Job : Platform Batch Jobs can be used to schedule periodic system maintenance, notification, and integration tasks. Batch jobs use the permissions set on each object for the Query API.To access the previous version of this endpoint, you must provide a header Accept-Version
with the value, 5.10.0.0
. The latest version, 6.0.0.0
is the default version.The Content-Version
in the response indicates the version accessed.
Authentication Profile : Authentication profiles include the authentication parameters along with authentication method to be used for authentication. Authentication is essentially the process of verifying a user’s identity using credentials. Authentication profiles can be created, updated, retrieved, and deleted on requirement basis.To access the previous version of this endpoint, you must provide a header Accept-Version
with the value, 5.10.0.0
. The latest version, 6.0.0.0
is the default version.The Content-Version
in the response indicates the version accessed.
Portals : Portals are essentially external-facing web applications built using the same components as standard Platform applications. Portals typically run on a corporate website or intranet. You can create portal pages to display dynamic lists of records, to allow creation of records through custom forms, and to invoke triggers and custom business logic. For more information, see Platform Portals.
This request is used by a tenant admin to retrieve the information of all applications installed in a tenant
In this example request, a tenant admin has retrieved all application definitions installed in a tenant. In the current scenario there are only 2 applications(Infinite Blue and CRM).
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "appType": "Web",
- "installationDate": "2020-11-17T13:04:39Z",
- "isDeployed": true,
- "isPublised": false,
- "name": "Infinite Blue",
- "orderNo": 1,
- "publisher": "QA Test System",
- "theme": "rbdefault",
- "uiDesktopBluePrint": "Modern - Vertical Menus",
- "uiMobileBluePrint": "Modern - Vertical Menus",
- "updatesAvailable": false,
- "version": 1
}, - {
- "appType": "Web",
- "installationDate": "2021-03-04T10:27:28Z",
- "integrationName": "CRM",
- "isDeployed": true,
- "isPublised": false,
- "name": "CRM",
- "orderNo": 2,
- "publisher": "QA Test System",
- "theme": "rbdefault",
- "uiDesktopBluePrint": "Modern - Vertical Menus",
- "uiMobileBluePrint": "Modern - Vertical Menus",
- "updatesAvailable": false,
- "version": 2
}
]
}
This request is used by a tenant admin to install a new application definition using an XML file/content.
Note: To prevent compatibility issues, do not install applications built on a higher platform version onto a lower version. This may result in unexpected behaviour or functionality issues.
overrideChanges | boolean Default: true When set to Note: This is applicable only when using an XML file/content. |
overridePermissions | boolean Default: true When set to When set to Note: This is applicable only when using an XML file/content. |
ignoreWarnings | boolean Default: false When set to When set to Prior to 6.6.1.0, application installations were possible with warnings. To allow application installations with any warning, you can also use the header Note: This is applicable only when using an XML file/content. |
The XML file or content of the application, must be specified in the body of the request.
In this example, a tenant admin is installing an application called CRM.
{- "code": 200,
- "message": "OK",
- "results": [
- "Application \"CRM\" has been installed."
]
}
Validate the application for any errors or warnings prior to installation.
The XML file or content of the application, must be specified in the body of the request.
In this example, a tenant admin is validating application XML that has errors.
{- "code": 200,
- "message": "Validation performed successfully. Please check errors or warnings in the 'results'",
- "results": [
- {
- "errors": [
- {
- "component": "Section",
- "object": "Store",
- "label": "View Store - Help Info",
- "message": "help_info: This integration name is already in use. Please choose another name."
}, - {
- "component": "Field",
- "object": "Location",
- "label": "State",
- "message": "Micronesia: The name is already taken, please use another name."
}, - {
- "component": "Field",
- "object": "Location",
- "label": "State",
- "message": "MO: This integration name is already in use. Please choose another name."
}
]
}, - {
- "warnings": [
- {
- "component": "Field",
- "object": "Item",
- "label": "Sugar",
- "message": "Warning: Some picklist values are missing integration names"
}
]
}
]
}
Validate the application for any errors or warnings prior to XML generation.
appIntegrationName required | string The integrationName of the application. |
In this example, a tenant admin validating generation an application that has an error but no warnings.
{- "code": 200,
- "message": "Validation performed successfully. Please check errors or warnings in the 'results'",
- "results": [
- {
- "errors": [
- {
- "component": "Section",
- "object": "Store",
- "label": "View Store - Help Info",
- "message": "help_info: This integration name is already in use. Please choose another name."
}, - {
- "component": "Field",
- "object": "Location",
- "label": "State",
- "message": "Micronesia: The name is already taken, please use another name."
}, - {
- "component": "Field",
- "object": "Location",
- "label": "State",
- "message": "BL: This integration name is already in use. Please choose another name."
}
]
}, - {
- "warnings": [
- {
- "component": "Field",
- "object": "Item",
- "label": "ItemType",
- "message": "Warning: some picklist values are missing integration names"
}
]
}
]
}
This request is used by a tenant admin to retrieve the complete description of a Platform application definition as an XML /JSON script, by specifying its appIntegrationName (as a path parameter).
appIntegrationName required | string The integrationName of the application. |
isXML | boolean Default: false
|
version | integer <int32> The version of the application XML to be generated. When no value provided, the version of generated application XML is set incrementally. Note: This parameter is applicable only when |
lockStatus | string (AppLockStatusEnum) Enum: "UNLOCKED" "PARTIALLY_LOCKED" "LOCKED" The lock status of the application XML to be generated. The user can choose any of the following values:
Note: This parameter is applicable only when |
{- "code": 200,
- "message": "Operation was successful.",
- "results": [
- {
- "name": "string",
- "integrationName": "string",
- "isDeployed": true,
- "isHidden": true,
- "fieldLevelHelp": true,
- "hasCustomSideBar": true,
- "isMobileWebEnabled": true,
- "version": 0,
- "description": "string",
- "installedFrom": "string",
- "installedAt": "string",
- "coreObjects": [
- {
- "name": "string",
- "integrationName": "string",
- "isDeployed": true,
- "dataSource": "string"
}
], - "dependantObjects": [
- {
- "name": "string",
- "integrationName": "string",
- "isDeployed": true,
- "dataSource": "string"
}
], - "portals": [
- {
- "name": "string",
- "integrationName": "string",
- "isDeployed": true,
- "language": "string"
}
], - "newUISettings": {
- "uiDesktopBluePrint": "string",
- "uiMobileBluePrint": "string",
- "theme": "string",
- "notificationPosition": "string",
- "desktopFieldLabelRenderMode": "string",
- "tabletFieldLabelRenderMode": "string",
- "mobileFieldLabelRenderMode": "string",
- "useHorizontalResponsiveDesign": true,
- "useNativeCalendarAndTimeControl": true,
- "isAppRuntimeRtlTextDirection": true,
- "gridControlSelectiveEditOption": "string",
- "bootstrapVersion": "string",
- "apiClientWhiteListHosts": [
- "string"
]
}, - "systemInformation": {
- "id": 0,
- "originalId": "string",
- "createdBy": 0,
- "createdAt": "string",
- "updatedBy": 0,
- "updatedAt": "string"
}
}
]
}
This request is used by a tenant admin to update an already existing application. For instance, if a new version of an application has been released, then the tenant admin can update the application to the latest version.
appIntegrationName required | string The integrationName of the application. |
The application content must be passed in the request body in XML format.
integrationName | string The application integration name. |
displayName | string The application display name. |
description | string The application description. |
object (ApplicationPropsModel) The application properties. See the description forApplicationProps. | |
dependentDefs | string A set of comma-separated objects, which must be installed prior to installing this application. |
Array of objects (ObjectDefModel) A set of object definitions. See the description for DataObjectDef. | |
id | integer <int64> The application ID. |
orderNo | integer <int32> The order in which this application appears in the list of applications. |
isSystem | boolean Specifies whether this is a system application. |
version | integer <int32> The application version. |
terminateOnError | boolean Specifies whether to terminate the application when an error occurs. |
originalId | string |
createdBy | integer <int64> |
createdAt | string |
updatedBy | integer <int64> |
updatedAt | string |
{- "integrationName": "string",
- "displayName": "string",
- "description": "string",
- "props": {
- "pubManaged": 0,
- "isDeployed": true,
- "helpField": true,
- "dependentDefs": "string",
- "isHidden": true,
- "useLegacyHeaderFooter": true,
- "showMenus": true,
- "isMobile": true
}, - "dependentDefs": "string",
- "dataObjectDefs": [
- {
- "id": 0,
- "originalId": "string",
- "createdBy": 0,
- "createdAt": "string",
- "updatedBy": 0,
- "updatedAt": "string",
- "singularName": "string",
- "pluralName": "string",
- "nameTemplate": "string",
- "description": "string",
- "helpDescription": "string",
- "attributes": "string",
- "integrationName": "string",
- "isSystem": true,
- "isAuditable": true,
- "isViewable": true,
- "isFlaggable": true,
- "isDependent": true,
- "isDeployed": true,
- "addComponents": true,
- "createTab": true,
- "attachApp": 0,
- "dataFieldDefs": [
- {
- "id": 0,
- "originalId": "string",
- "createdBy": 0,
- "createdAt": "string",
- "updatedBy": 0,
- "updatedAt": "string",
- "displayLabel": "string",
- "description": "string",
- "props": {
- "autoNumFormat": "string",
- "startingAutoNumber": "string",
- "cols": 0,
- "decimalPlaces": 0,
- "defValue": "string",
- "fileMaxSize": 0,
- "formatIndex": 0,
- "formula": "string",
- "hideLabel": true,
- "inputMask": "string",
- "inlineEdit": true,
- "isLocalized": true,
- "isShared": true,
- "isUnique": true,
- "isWarning": true,
- "isvShare": true,
- "linkTempl": "string",
- "lowerLable": "string",
- "maxValue": 0,
- "minValue": 0,
- "publicAccess": true,
- "returnType": 0,
- "rows": 0,
- "separator": "string",
- "shiftCurrDate": 0,
- "size": 0,
- "sortABC": true,
- "source": "string",
- "template": "string",
- "useCurrDate": true,
- "useFullDate": true,
- "useRichEditor": true,
- "valFalse": "string",
- "valTrue": "string",
- "vertical": true,
- "viewWidth": "string"
}, - "validationScript": "string",
- "listItems": [
- {
- "id": 0,
- "origId": "string",
- "orderNo": 0,
- "source": "string",
- "name": "string",
- "code": "string",
- "mainItemId": 0,
- "isDefault": true,
- "isDeployed": true
}
], - "imageData": "string",
- "objDefName": "string",
- "columnName": "string",
- "integrationName": "string",
- "groupName": "string",
- "dataName": "string",
- "uiClass": "string",
- "isRequired": true,
- "isReadOnly": true,
- "isTextIndexable": true,
- "isSystem": true,
- "isAuditable": true,
- "maxLength": 0,
- "addToPages": true
}
], - "relationshipDefs": [
- {
- "id": 0,
- "originalId": "string",
- "createdBy": 0,
- "createdAt": "string",
- "updatedBy": 0,
- "updatedAt": "string",
- "objDef1": "string",
- "objDef2": "string",
- "singularName1": "string",
- "pluralName1": "string",
- "singularName2": "string",
- "pluralName2": "string",
- "isMultiple1": true,
- "isMultiple2": true,
- "orphanControl1": true,
- "orphanControl2": true,
- "cloneRelated1": true,
- "cloneRelated2": true,
- "isSystem": true,
- "isPkFk": true,
- "fkObjDef": "string",
- "pkColumn": "string",
- "fkColumn": "string",
- "addToPages": true
}
], - "props": {
- "auditView": true,
- "auditCreate": true,
- "auditEdit": true,
- "auditDelete": true,
- "enableReports": true,
- "googleSynch": true,
- "isCloud": true,
- "isLegacy": true,
- "isManaged": true,
- "isOpenEdge": true,
- "isReadOnly": true,
- "requireUserCreds": true,
- "showTags": true,
- "defProcess": 0,
- "dataSetName": "string",
- "deleteFormula": "string",
- "editFormula": "string",
- "loginName": "string",
- "pkColumn": "string",
- "queryInsert": "string",
- "queryDelete": "string",
- "queryNewID": "string",
- "querySelect": "string",
- "queryUpdate": "string",
- "password": "string",
- "resourceURI": "string"
}
}
], - "id": 0,
- "orderNo": 0,
- "isSystem": true,
- "version": 0,
- "terminateOnError": true,
- "originalId": "string",
- "createdBy": 0,
- "createdAt": "string",
- "updatedBy": 0,
- "updatedAt": "string"
}
{- "code": 200,
- "message": "Operation was successful.",
- "results": [
- { }
]
}
This request is used by a tenant admin to delete an existing application, by specifying the appIntegrationName
(as a path parameter).
appIntegrationName required | string The integrationName of the application. |
On successfully deleting CRM application definition, the consequent response confirms the same by returning a statement, 'CRM' application has been deleted, including 7 objects, 8 tabs, and 1 portals.
{- "code": 200,
- "message": "OK",
- "results": [
- "\"CRM\" application has been deleted, including 7 objects, 8 tabs, and 1 portals."
]
}
This request is used by a tenant admin to retrieve application view permission assigned to a particular user/role. The appIntegrationName
(as a path parameter) and roleIntegrationName
/userId
(as a request body parameter) are specified.
The retrieved view permission of an application indicates the following:
appIntegrationName required | string The integration name of the application. |
roleIntegrationName | string The integration name of the role. |
userId | string The id of the user. |
In this example, a tenant admin has retrieved the CRM application view permission for a user with userId -441586302
. The consequent response returns details such as type
, name
, id
of the application, and permissions
. In this case, view is retrieved as True
, indicating that application viewing is permitted for the specified user.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "id": 442723765,
- "name": "CRM",
- "permissions": {
- "view": "true"
}, - "type": "application"
}
]
}
This request is used by a tenant admin to set/remove the application view permission assigned to a particular user/role, by specifying the view parameter as True/False. The appIntegrationName
(as a path parameter) and roleIntegrationName
/userId
(as a request body parameter) are specified.
appIntegrationName required | string The integration name of the application. |
roleIntegrationName | string The integration name of the role. |
userId | string The id of the user. |
The view permission of an application.
True
, then application view permission is set.False
, then application view permission is removed.view | string
|
create | string
|
edit | string
|
delete | string
|
viewConditionScript | string Only applicable for Field Level permissions. Formula should be mentioned in base64 encoded format. Note works only when |
editConditionScript | string Only applicable for Field Level permissions. Formula should be mentioned in base64 encoded format. Note works only when |
login | string Applicable only when the object is CUSTOMER
|
In this example request, a tenant admin is setting CRM application view permission for all users with a non-admin
role by specifying view as True
.
{- "view": "true"
}
In this example, a tenant admin has set CRM application view permission for all users with a non-admin
role. The consequent response confirms the same by returning a statement, 'Permissions set successfully'
{- "code": 200,
- "message": "OK",
- "results": [
- "Permissions set successfully"
]
}
This request retrieves the information of all objects under a specified application providing appIntegrationName
appIntegrationName | string The integration name of the app. |
onlyDefNames | boolean Specify only if names to be returned instead of full description |
permission | string Applicable when |
The consequent response to the GET request returns name
,integrationName
,isDeployed
,dataSourcevalues
for the objects present in that application.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "dataSource": "",
- "integrationName": "account",
- "isDeployed": true,
- "name": "Account"
}, - {
- "dataSource": "",
- "integrationName": "case8",
- "isDeployed": true,
- "name": "Case"
}, - {
- "dataSource": "",
- "integrationName": "client",
- "isDeployed": true,
- "name": "Client"
}, - {
- "dataSource": "",
- "integrationName": "COMMLOG",
- "isDeployed": true,
- "name": "Communication Log"
}, - {
- "dataSource": "",
- "integrationName": "contact",
- "isDeployed": true,
- "name": "Contact"
}, - {
- "dataSource": "",
- "integrationName": "lead",
- "isDeployed": true,
- "name": "Lead"
}, - {
- "dataSource": "",
- "integrationName": "opportunity",
- "isDeployed": true,
- "name": "Opportunity"
}
]
}
This request is used to create a new object definition. A new object definition can be created based on the context of an application, or from the list of available objects from the setup.
Provide object definition.
singularName | string Defines a singular name for the object definition. This name will be used throughout the account to refer similar records of this type. |
pluralName | string Defines a plural name for the object definition.This name will be used throughout the account to refer similar records of this type. |
recordName | string A Record Name field is used in pages, views, selectors, and search results which refer records of this type. Once created, the display format of the Record Name field can be customized using merge fields. |
integrationName | string The Integration Name of the object is used to refer this object via merge fields and the Web Services APIs. This name must be unique. Be careful when changing the Integration Name, as it may affect existing templates, formulas and integrations. |
description | string Description of the object |
helpDescription | string Help Description of the object |
isDeployed | boolean Default: true |
object The properties like | |
object Enable unique features and provide a group of predefined fields for the newly created object definition. The following list of Object Attributes can be provided upon creation: | |
object The following list of Advanced Object Attributes such as | |
object Options like Create a new Tab for the object, Attach the object to the application are available |
Creating an object under CRM application with all the attributes except Task as Event is enabled and both can’t co-exist at once.
{- "advancedAttributes": {
- "approval": true,
- "lockable": true,
- "multiCurrency": true,
- "portalUser": true,
- "queue": true,
- "survey": true,
- "surveyTaker": true,
- "workflow": true
}, - "description": "The Object is created from Rest Meta API ",
- "helpDescription": "Help Description is created from Rest Meta API ",
- "integrationName": "rest_obj_all_attrib",
- "isDeployed": true,
- "objectAttributes": {
- "contact": true,
- "document": true,
- "event": {
- "isEnabled": true,
- "synchronize": true
}, - "location": {
- "addGoogleMapsToViewPage": true,
- "isEnabled": true
}, - "organization": true,
- "searchTags": true,
- "task": false
}, - "objectCreationOptions": {
- "attachApp": "CRM",
- "createTab": true
}, - "optionalObjectProperties": {
- "auditTrail": {
- "created": true,
- "deleted": true,
- "edited": true,
- "isEnabled": true,
- "viewed": true
}, - "flagging": true,
- "reportsEnabled": true,
- "viewedTracking": true
}, - "pluralName": "rest_objs",
- "recordName": "rest_obj",
- "singularName": "rest_obj"
}
response returns the Id of the object
{- "code": 200,
- "message": "OK",
- "results": [
- "\"rest_obj\" object definition has been created. (ID=169917)"
]
}
This request is used to retrieve the complete definition of the object whose objIntegrationName is specified in the request. Details such as object parameters, field definitions, relationship definitions, and properties are retrieved. For more information, see Viewing and editing an Object Definition
objIntegrationName required | string The integrationName of the object. |
The consequent response to the GET request returns the complete object definition. Details such as object parameters, field definitions, relationship definitions, and properties are retrieved.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "advancedAttributes": {
- "approval": false,
- "lockable": true,
- "multiCurrency": true,
- "portalUser": true,
- "queue": true,
- "survey": true,
- "surveyTaker": true,
- "workflow": true
}, - "description": "The Object is created from Rest Meta API ",
- "helpDescription": "Help Description is created from Rest Meta API ",
- "fields": [
- {
- "dataType": "Record Name",
- "id": 169918,
- "integrationName": "name",
- "label": "rest_obj"
}, - {
- "dataType": "Text Area",
- "id": 169919,
- "integrationName": "comment",
- "label": "Comments"
}, - {
- "dataType": "User Link",
- "id": 169920,
- "integrationName": "createdBy",
- "label": "Created By"
}, - {
- "dataType": "Hidden",
- "id": 169921,
- "integrationName": "createdByDefId",
- "label": "createdByDefId_field"
}, - {
- "dataType": "Date/Time",
- "id": 169922,
- "integrationName": "createdAt",
- "label": "Created At"
}, - {
- "dataType": "User Link",
- "id": 169923,
- "integrationName": "updatedBy",
- "label": "Updated By"
}, - {
- "dataType": "Hidden",
- "id": 169924,
- "integrationName": "updatedByDefId",
- "label": "updatedByDefId_field"
}, - {
- "dataType": "Date/Time",
- "id": 169925,
- "integrationName": "updatedAt",
- "label": "Updated At"
}, - {
- "dataType": "Integer",
- "id": 169926,
- "integrationName": "id",
- "label": "ID"
}, - {
- "dataType": "Text (100)",
- "id": 169927,
- "integrationName": "evSubject",
- "label": "Event Subject"
}, - {
- "dataType": "Duration",
- "id": 169928,
- "integrationName": "duration",
- "label": "Duration"
}, - {
- "dataType": "Date/Time",
- "id": 169929,
- "integrationName": "startDate",
- "label": "Date/Time"
}, - {
- "dataType": "Checkbox",
- "id": 169930,
- "integrationName": "isPrivate",
- "label": "Private"
}, - {
- "dataType": "Text Area",
- "id": 169931,
- "integrationName": "description",
- "label": "Description"
}, - {
- "dataType": "Text (100)",
- "id": 169932,
- "integrationName": "location",
- "label": "Location"
}, - {
- "dataType": "Lookup (User)",
- "id": 169934,
- "integrationName": "assignedTo2",
- "label": "Assigned To"
}, - {
- "dataType": "Reminder",
- "id": 169936,
- "integrationName": "reminderMin",
- "label": "Pop-up Reminder"
}, - {
- "dataType": "Checkbox",
- "id": 169937,
- "integrationName": "reminded",
- "label": "Reminded"
}, - {
- "dataType": "vCard",
- "id": 169938,
- "integrationName": "iCal",
- "label": "iCalendar File"
}, - {
- "dataType": "Integer",
- "id": 169939,
- "integrationName": "maxScore",
- "label": "Max Score"
}, - {
- "dataType": "Integer",
- "id": 169940,
- "integrationName": "score",
- "label": "Survey Score"
}, - {
- "dataType": "Percent",
- "id": 169941,
- "integrationName": "rankProc",
- "label": "Rank"
}, - {
- "dataType": "Answers",
- "id": 169942,
- "integrationName": "answersTable",
- "label": "Answers"
}, - {
- "dataType": "Text (50)",
- "id": 169943,
- "integrationName": "firstName",
- "label": "First Name"
}, - {
- "dataType": "Text (50)",
- "id": 169944,
- "integrationName": "title",
- "label": "Title"
}, - {
- "dataType": "Text (50)",
- "id": 169945,
- "integrationName": "middleName",
- "label": "Middle Name"
}, - {
- "dataType": "Phone Number",
- "id": 169946,
- "integrationName": "mobilePhone",
- "label": "Mobile Phone"
}, - {
- "dataType": "Text (50)",
- "id": 169947,
- "integrationName": "lastName",
- "label": "Last Name"
}, - {
- "dataType": "Email Address",
- "id": 169948,
- "integrationName": "email",
- "label": "Email Address"
}, - {
- "dataType": "Phone Number",
- "id": 169949,
- "integrationName": "phone",
- "label": "Phone"
}, - {
- "dataType": "Lookup (User)",
- "id": 169951,
- "integrationName": "contactOwner5",
- "label": "Contact Owner"
}, - {
- "dataType": "Phone Number",
- "id": 169953,
- "integrationName": "fax",
- "label": "Fax"
}, - {
- "dataType": "vCard",
- "id": 169954,
- "integrationName": "vCard",
- "label": "vCard File"
}, - {
- "dataType": "File Upload",
- "id": 169955,
- "integrationName": "file",
- "label": "Document File"
}, - {
- "dataType": "Text (100)",
- "id": 169956,
- "integrationName": "streetAddr1",
- "label": "Street Address 1"
}, - {
- "dataType": "Dependent Picklist",
- "id": 169957,
- "integrationName": "state",
- "label": "State/Province"
}, - {
- "dataType": "Text (100)",
- "id": 169958,
- "integrationName": "streetAddr2",
- "label": "Street Address 2"
}, - {
- "dataType": "Text (20)",
- "id": 169959,
- "integrationName": "zip",
- "label": "ZIP/Postal Code"
}, - {
- "dataType": "Text (100)",
- "id": 169960,
- "integrationName": "city",
- "label": "City"
}, - {
- "dataType": "Picklist",
- "id": 169961,
- "integrationName": "country",
- "label": "Country"
}, - {
- "dataType": "Organization Data",
- "id": 169962,
- "integrationName": "locationId",
- "label": "Location"
}, - {
- "dataType": "Organization Data",
- "id": 169963,
- "integrationName": "departmentId",
- "label": "Department"
}, - {
- "dataType": "Organization Data",
- "id": 169964,
- "integrationName": "functionId",
- "label": "Function"
}, - {
- "dataType": "LDF Filter",
- "id": 169965,
- "integrationName": "displayLDF",
- "label": "LDF Filter"
}, - {
- "dataType": "Search Tag",
- "id": 169966,
- "integrationName": "tag",
- "label": "Tags"
}, - {
- "dataType": "Process",
- "id": 169967,
- "integrationName": "process",
- "label": "Workflow Process"
}, - {
- "dataType": "Status",
- "id": 169968,
- "integrationName": "status",
- "label": "Workflow Status"
}, - {
- "dataType": "Hidden",
- "id": 169969,
- "integrationName": "nextStatus",
- "label": "Next Status"
}, - {
- "dataType": "Workflow Actions",
- "id": 169970,
- "integrationName": "actions",
- "label": "Workflow Actions"
}, - {
- "dataType": "Text",
- "id": 169971,
- "integrationName": "loginName",
- "label": "Login Name"
}, - {
- "dataType": "Password",
- "id": 169972,
- "integrationName": "password",
- "label": "Password"
}, - {
- "dataType": "Date",
- "id": 169973,
- "integrationName": "pwdUpdated",
- "label": "Password Updated At"
}, - {
- "dataType": "Date/Time",
- "id": 169974,
- "integrationName": "lastLogin",
- "label": "Last Login"
}, - {
- "dataType": "Checkbox",
- "id": 169975,
- "integrationName": "isActive",
- "label": "Is Active"
}, - {
- "dataType": "Picklist",
- "id": 169976,
- "integrationName": "queueName",
- "label": "Queue Name"
}, - {
- "dataType": "Lookup (User)",
- "id": 169978,
- "integrationName": "contactOwner6",
- "label": "Contact Owner"
}, - {
- "dataType": "Picklist",
- "id": 169980,
- "integrationName": "currencyCode",
- "label": "Currency Code"
}, - {
- "dataType": "Date",
- "id": 169981,
- "integrationName": "currencyDate",
- "label": "Rate Date"
}, - {
- "dataType": "Record Lock",
- "id": 169982,
- "integrationName": "isLocked",
- "label": "Is Locked"
}, - {
- "dataType": "Lookup (Communication Log)",
- "id": 170222,
- "integrationName": "rest_obj_all_attrib_",
- "label": "rest_obj"
}
], - "integrationName": "rest_obj_all_attrib",
- "isDeployed": true,
- "objectAttributes": {
- "contact": true,
- "document": true,
- "event": {
- "isEnabled": true,
- "synchronize": true
}, - "location": {
- "addGoogleMapsToViewPage": true,
- "isEnabled": true
}, - "organization": true,
- "searchTags": true,
- "task": false
}, - "optionalObjectProperties": {
- "auditTrail": {
- "created": true,
- "deleted": true,
- "edited": true,
- "isEnabled": true,
- "viewed": true
}, - "flagging": true,
- "reportsEnabled": true,
- "viewedTracking": true
}, - "pluralName": "rest_objs",
- "recordName": "rest_obj",
- "relationships": [
- {
- "cardinalityLabel": "Many rest_objs to Many Users",
- "integrationName": "assignedTo2",
- "lookupIntegrationName": "assignedTo2",
- "name": "User"
}, - {
- "cardinalityLabel": "Many rest_objs to One User",
- "integrationName": "contactOwner5",
- "lookupIntegrationName": "contactOwner5",
- "name": "User"
}, - {
- "cardinalityLabel": "One rest_obj to Many Communication Logs",
- "integrationName": "rest_obj_all_attrib_",
- "lookupIntegrationName": "rest_obj_all_attrib_",
- "name": "Communication Log"
}, - {
- "cardinalityLabel": "Many rest_objs to Many Users",
- "integrationName": "contactOwner6",
- "lookupIntegrationName": "contactOwner6",
- "name": "User"
}
], - "singularName": "rest_obj",
- "systemInformation": {
- "createdAt": "2021-03-30T11:06:56Z",
- "createdBy": 14972,
- "id": 169917,
- "originalId": "G3uvSTHFQMWTgRBsqQoX4A",
- "updatedAt": "2021-03-30T11:28:50Z",
- "updatedBy": 14972
}, - "views": [
- {
- "isHidden": false,
- "isPrivate": false,
- "isUsedInSearch": false,
- "name": "All rest_objs"
}
]
}
]
}
This request is used to update an existing object definition where the user can update the object’s deployment status, properties, and attributes.
objIntegrationName required | string The integrationName of the object. |
Provide object definition.
singularName | string Defines a singular name for the object definition. This name will be used throughout the account to refer similar records of this type. |
pluralName | string Defines a plural name for the object definition.This name will be used throughout the account to refer similar records of this type. |
recordName | string A Record Name field is used in pages, views, selectors, and search results which refer records of this type. Once created, the display format of the Record Name field can be customized using merge fields. |
integrationName | string The Integration Name of the object is used to refer this object via merge fields and the Web Services APIs. This name must be unique. Be careful when changing the Integration Name, as it may affect existing templates, formulas and integrations. |
description | string Description of the object |
helpDescription | string Help Description of the object |
isDeployed | boolean Default: true |
object The properties like | |
object Enable unique features and provide a group of predefined fields for the newly created object definition. The following list of Object Attributes can be provided upon creation: | |
object The following list of Advanced Object Attributes such as | |
object Options like Create a new Tab for the object, Attach the object to the application are available |
Disabling the following attributes for the object. optionalObjectProperties-> auditTrail
,flagging
,viewedTracking
,reportsEnabled
. objectAttributes ->contact
,location
,document
.advancedAttributes->workflow
,portalUser
,multiCurrency
{- "advancedAttributes": {
- "multiCurrency": false,
- "portalUser": false,
- "workflow": false
}, - "description": "The Object is created from Rest Meta API ",
- "helpDescription": "Help Description is created from Rest Meta API ",
- "integrationName": "rest_obj_all1",
- "isDeployed": true,
- "objectAttributes": {
- "contact": false,
- "document": false,
- "location": {
- "addGoogleMapsToViewPage": false,
- "isEnabled": false
}
}, - "objectCreationOptions": {
- "attachApp": "CRM",
- "createTab": false
}, - "optionalObjectProperties": {
- "auditTrail": {
- "created": false,
- "isEnabled": false
}, - "flagging": false,
- "reportsEnabled": false,
- "viewedTracking": false
}, - "pluralName": "rest_objs",
- "recordName": "rest_obj",
- "singularName": "rest_obj"
}
{- "On updating the Object definition": {
- "description": "On successfully updating an object definition, the consequent request confirms the same by returning 'OK'.",
- "value": {
- "code": 200,
- "message": "OK",
- "results": [
- "\"rest_obj (rest_obj_all1)\" object definition has been updated. (ID=169688)"
]
}
}
}
This request is used to delete an object definition from the tenant. On request, this also removes triggers, templates, relationships, charts gauges, etc associated with the object definition. For more information, see Deleting an object definition.
Note Once deleted, the user cannot undo the deletion of the object definition.
objIntegrationName required | string The integrationName of the object. |
The consequent response confirms the deletion of the object definition lead from the CRM application , by returning a statement, Lead object definition has been permanently deleted.
{- "code": 200,
- "message": "OK",
- "results": [
- "Lead object definition has been permanently deleted."
]
}
This request retrieves the information pertaining to the permissions (View
, Edit
, Create
or Delete
) of a specified object associated with a user or role. Either of roleIntegrationName
or userId
should be provided to update the object definition's permission(s). For more information, see Viewing and editing an Object Definition
Note Login Permission is retrieved only for CUSTOMER Objects.
objIntegrationName required | string The integrationName of the object. |
roleIntegrationName | string The integrationName of the role. |
userId | string The id of the user. |
In this example, the Tenant admin is retrieving the permissions for the object lead associated by the user id 112015
.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "id": 153715,
- "name": "Lead",
- "permissions": {
- "create": "false",
- "delete": "false",
- "edit": "false",
- "view": "false"
}, - "type": "object"
}
]
}
This request updates permissions for a specified object definition for the given role/user. Either roleIntegrationName or userId must be specified to update the object definition's permission(s). For more information, see Roles and permissions
objIntegrationName required | string The integrationName of the object. |
roleIntegrationName | string The integrationName of the role. |
userId | string The id of the user. |
Any of the following parameter(s) can be passed to update the permissions of an object definition.
view | string
|
create | string
|
edit | string
|
delete | string
|
viewConditionScript | string Only applicable for Field Level permissions. Formula should be mentioned in base64 encoded format. Note works only when |
editConditionScript | string Only applicable for Field Level permissions. Formula should be mentioned in base64 encoded format. Note works only when |
login | string Applicable only when the object is CUSTOMER
|
In this request, the Tenant admin is updating the permissions (view
= true
,create
= false
,edit
= true
,delete
= false
) for the object lead
of the CRM application associated with the role NONADMIN
.
{- "create": false,
- "delete": false,
- "edit": true,
- "view": true
}
The consequent response to the PUT request of updating permission of an object associated with the userId returns the successful update of object's permissions with a message as Permissions set successfully.
{- "code": 200,
- "message": "OK",
- "results": [
- "Permissions set successfully"
]
}
This request is used to retrieves the entire description of all the fields for a given object definition. For more information, see Viewing and editing an Object Definition
objIntegrationName required | string The integrationName of the object. |
On retrieving all fields
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "dataType": "Lookup (Account)",
- "id": 3157339,
- "integrationName": "R1850980",
- "label": "Account"
}, - {
- "dataType": "Currency",
- "id": 3157292,
- "integrationName": "annual_revenue",
- "label": "Annual Revenue"
}, - {
- "dataType": "Text (100)",
- "id": 3157338,
- "integrationName": "city",
- "label": "City"
}, - {
- "dataType": "Text Area",
- "id": 3157320,
- "integrationName": "comment",
- "label": "Comments"
}, - {
- "dataType": "Lookup (Communication Log)",
- "id": 3157342,
- "integrationName": "lead_comm",
- "label": "Communication Log"
}, - {
- "dataType": "Text (100)",
- "id": 3157328,
- "integrationName": "company",
- "label": "Company"
}, - {
- "dataType": "Picklist",
- "id": 3157329,
- "integrationName": "country",
- "label": "Country"
}, - {
- "dataType": "Date/Time",
- "id": 3157312,
- "integrationName": "createdAt",
- "label": "Created At"
}, - {
- "dataType": "User Link",
- "id": 3157311,
- "integrationName": "createdBy",
- "label": "Created By"
}, - {
- "dataType": "Hidden",
- "id": 3157343,
- "integrationName": "createdByDefId",
- "label": "Created By Definition"
}, - {
- "dataType": "Text Area",
- "id": 3157299,
- "integrationName": "description",
- "label": "Description"
}, - {
- "dataType": "Checkbox",
- "id": 3157296,
- "integrationName": "do_not_",
- "label": "Do Not Call"
}, - {
- "dataType": "Email Address",
- "id": 3157291,
- "integrationName": "email",
- "label": "Email Address"
}, - {
- "dataType": "Checkbox",
- "id": 3157316,
- "integrationName": "email_opt_out",
- "label": "Email Opt Out"
}, - {
- "dataType": "Text (50)",
- "id": 3157341,
- "integrationName": "fax",
- "label": "Fax"
}, - {
- "dataType": "Checkbox",
- "id": 3157331,
- "integrationName": "fax_opt_out",
- "label": "Fax Opt Out"
}, - {
- "dataType": "Text (50)",
- "id": 3157337,
- "integrationName": "firstName",
- "label": "First Name"
}, - {
- "dataType": "Integer",
- "id": 3157335,
- "integrationName": "id",
- "label": "ID"
}, - {
- "dataType": "Picklist",
- "id": 3157257,
- "integrationName": "industry",
- "label": "Industry"
}, - {
- "dataType": "Text (50)",
- "id": 3157295,
- "integrationName": "lastName",
- "label": "Last Name"
}, - {
- "dataType": "Date",
- "id": 3157297,
- "integrationName": "last_transfer_date",
- "label": "Last Transfer Date"
}, - {
- "dataType": "Record Name",
- "id": 3157310,
- "integrationName": "name",
- "label": "Lead"
}, - {
- "dataType": "Picklist",
- "id": 3157304,
- "integrationName": "lead_source",
- "label": "Lead Source"
}, - {
- "dataType": "Text (50)",
- "id": 3157332,
- "integrationName": "middleName",
- "label": "Middle Name"
}, - {
- "dataType": "Phone Number",
- "id": 3157298,
- "integrationName": "mobilePhone",
- "label": "Mobile Phone"
}, - {
- "dataType": "Hidden",
- "id": 3157294,
- "integrationName": "nextStatus",
- "label": "Next Status"
}, - {
- "dataType": "Integer",
- "id": 3157290,
- "integrationName": "no__of_employees",
- "label": "No. of Employees"
}, - {
- "dataType": "Phone Number",
- "id": 3157293,
- "integrationName": "phone",
- "label": "Phone"
}, - {
- "dataType": "Picklist",
- "id": 3157300,
- "integrationName": "rating",
- "label": "Rating"
}, - {
- "dataType": "Picklist",
- "id": 3157321,
- "integrationName": "salutation",
- "label": "Salutation"
}, - {
- "dataType": "Dependent Picklist",
- "id": 3157315,
- "integrationName": "state",
- "label": "State/Province"
}, - {
- "dataType": "Text (100)",
- "id": 3157313,
- "integrationName": "streetAddr1",
- "label": "Street Address 1"
}, - {
- "dataType": "Text (100)",
- "id": 3157333,
- "integrationName": "streetAddr2",
- "label": "Street Address 2"
}, - {
- "dataType": "Search Tag",
- "id": 3157318,
- "integrationName": "tag",
- "label": "Tags"
}, - {
- "dataType": "Text (50)",
- "id": 3157340,
- "integrationName": "title",
- "label": "Title"
}, - {
- "dataType": "Date/Time",
- "id": 3157336,
- "integrationName": "updatedAt",
- "label": "Updated At"
}, - {
- "dataType": "User Link",
- "id": 3157334,
- "integrationName": "updatedBy",
- "label": "Updated By"
}, - {
- "dataType": "Hidden",
- "id": 3157344,
- "integrationName": "updatedByDefId",
- "label": "Updated By Definition"
}, - {
- "dataType": "URL",
- "id": 3157317,
- "integrationName": "website",
- "label": "Website"
}, - {
- "dataType": "Workflow Actions",
- "id": 3157319,
- "integrationName": "actions",
- "label": "Workflow Actions"
}, - {
- "dataType": "Process",
- "id": 3157327,
- "integrationName": "process",
- "label": "Workflow Process"
}, - {
- "dataType": "Status",
- "id": 3157330,
- "integrationName": "status",
- "label": "Workflow Status"
}, - {
- "dataType": "Text (20)",
- "id": 3157314,
- "integrationName": "zip",
- "label": "ZIP/Postal Code"
}
]
}
This request is used to create one a field definition by specifying the field type such as Text, Checkbox, etc. depending upon the type of information that this field should contain.
Below is the list of supported fields ( also, values for the key fieldType
)
The value for the key fieldType
is used to specify the type of field to be created. Only relevant key-value pairs mentioned for selected fieldType
need to be passed in the request body.
objIntegrationName required | string The integrationName of the object. |
Provide field definition.
integrationName | string The Integration Name is used to reference this field via merge fields and the Web Services APIs. This name must be unique. Note- Be careful when changing the Integration Name as it may affect existing templates, formulas and integrations. |
fieldType | string Type of the field determines what parameters are required to create it. |
fieldLabel | string Label of the field displayed on the left from the field on view, edit, and new record pages |
fieldLevelHelp | string If an application has Field-Level Help enabled, this text is displayed upon clicking the '?' icon next to this field's label |
viewHeader | string You can specify text label to be used in the headers in Views and Reports. This label is optional. If not specified, Display Label will be used. |
viewWidth | string It is used to set width (in pixels or %) of columns in views and reports. If not specified, the browser calculates the width of columns automatically |
defaultSize | integer <int32> The default size of the input field shown in forms. |
length | integer <int32> The maximum allowed length (number of characters). |
object | |
object | |
isIndexed | boolean Default: false If set to Note: This may increase your database space usage if the field value changes often |
isAuditable | boolean Default: false If set to Note: This may increase your database space usage if the field value changes often |
isEncrypted | boolean Default: false If set to Note: Encrypted fields cannot be audited, marked unique or indexed as part of the search engine. Once set, this option cannot be removed. |
isRequired | boolean Default: false Specifies if a field value is always required in form pages (such as New and Edit). |
allowDuplicateValues | boolean Default: false If set to false, it enforces uniqueness of this field's value across all records of that object type. |
allowInlineEditing | boolean Default: false This field allows inline editing from view pages by clicking on icon |
allowFiltering | boolean Default: true If enabled, users can edit this field on record view pages by clicking the pencil icon. |
In this example, a Tenant Admin is creating a Text Field.
{- "allowDuplicateValues": false,
- "allowFiltering": true,
- "allowInlineEditing": false,
- "defaultSize": 20,
- "defaultValue": {
- "assignToExistingRecords": false,
- "value": "Mrs."
}, - "fieldLabel": "name",
- "fieldLevelHelp": "name of the field",
- "fieldType": "Text",
- "inputMask": {
- "applyOnBlur": false,
- "mask": "test"
}, - "integrationName": "salutation",
- "isAuditable": false,
- "isEncrypted": false,
- "isIndexed": false,
- "isRequired": false,
- "length": 20,
- "viewHeader": "name header",
- "viewWidth": "30"
}
Upon successful creation of a field definition, a response similar to below is returned
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "dataName": "FieldAuto",
- "id": 3158572,
- "integrationName": "loginTime",
- "uiClass": "AutoNumber"
}
]
}
Get field definition
objIntegrationName required | string The integrationName of the object. |
fieldIntegrationName required | string The integrationName of the field. |
{- "code": 200,
- "message": "Operation was successful.",
- "results": [
- {
- "integrationName": "string",
- "fieldType": "string",
- "fieldLabel": "string",
- "fieldLevelHelp": "string",
- "viewHeader": "string",
- "viewWidth": "string"
}
]
}
This request updates a specified field definition.
objIntegrationName required | string The integrationName of the object. |
fieldIntegrationName required | string The integrationName of the field. |
Provide field definition.
integrationName | string The Integration Name is used to reference this field via merge fields and the Web Services APIs. This name must be unique. Note- Be careful when changing the Integration Name as it may affect existing templates, formulas and integrations. |
fieldType | string Type of the field determines what parameters are required to create it. |
fieldLabel | string Label of the field displayed on the left from the field on view, edit, and new record pages |
fieldLevelHelp | string If an application has Field-Level Help enabled, this text is displayed upon clicking the '?' icon next to this field's label |
viewHeader | string You can specify text label to be used in the headers in Views and Reports. This label is optional. If not specified, Display Label will be used. |
viewWidth | string It is used to set width (in pixels or %) of columns in views and reports. If not specified, the browser calculates the width of columns automatically |
defaultSize | integer <int32> The default size of the input field shown in forms. |
length | integer <int32> The maximum allowed length (number of characters). |
object | |
object | |
isIndexed | boolean Default: false If set to Note: This may increase your database space usage if the field value changes often |
isAuditable | boolean Default: false If set to Note: This may increase your database space usage if the field value changes often |
isEncrypted | boolean Default: false If set to Note: Encrypted fields cannot be audited, marked unique or indexed as part of the search engine. Once set, this option cannot be removed. |
isRequired | boolean Default: false Specifies if a field value is always required in form pages (such as New and Edit). |
allowDuplicateValues | boolean Default: false If set to false, it enforces uniqueness of this field's value across all records of that object type. |
allowInlineEditing | boolean Default: false This field allows inline editing from view pages by clicking on icon |
allowFiltering | boolean Default: true If enabled, users can edit this field on record view pages by clicking the pencil icon. |
{- "integrationName": "string",
- "fieldType": "Text",
- "fieldLabel": "string",
- "fieldLevelHelp": "string",
- "viewHeader": "string",
- "viewWidth": "string",
- "defaultSize": 0,
- "length": 0,
- "inputMask": {
- "mask": "string",
- "applyOnBlur": false
}, - "defaultValue": {
- "value": "string",
- "assignToExistingRecords": false
}, - "isIndexed": false,
- "isAuditable": false,
- "isEncrypted": false,
- "isRequired": false,
- "allowDuplicateValues": false,
- "allowInlineEditing": false,
- "allowFiltering": true
}
Below response indicates successful updation of given field definition (of type Picklist
, in this example).
{- "code": 200,
- "message": "\"countryPickList\" field has been updated.",
- "results": [
- {
- "dataName": "FieldLong",
- "id": 248020,
- "integrationName": "countryPickList",
- "uiClass": "SelectList"
}
]
}
This request is used to delete a field definition from an object. On deletion, all the specified field data for all existing records, pages, views, and reports are also removed.
objIntegrationName required | string The integrationName of the object. |
fieldIntegrationName required | string The integrationName of the field. |
{- "code": 200,
- "message": "Operation was successful.",
- "results": [
- { }
]
}
This request is used to fetch details of the permissions granted to the specific role of a particular field. If a fieldIntegrationName
is specified, then only the particular field’s permission details are fetched.
objIntegrationName required | string The integrationName of the object. |
fieldIntegrationName required | string The integrationName of the field. |
roleIntegrationName required | string The integrationName of the role. |
{- "code": 200,
- "message": "Operation was successful.",
- "results": [
- {
- "type": "string",
- "name": "string",
- "id": 0,
- "originalId": "string",
- "integrationName": "string",
- "permissions": {
- "view": "string",
- "create": "string",
- "edit": "string",
- "delete": "string",
- "viewConditionScript": "string",
- "editConditionScript": "string",
- "login": "string"
}
}
]
}
This request can be used to update the permissions granted to the specific role of a particular field. If a fieldIntegrationName is specified, then only the particular field’s permission details are updated. Ensure either of roleIntegrationName or userId is provided.
objIntegrationName required | string The integrationName of the object. |
fieldIntegrationName required | string The integrationName of the field. |
roleIntegrationName required | string The integrationName of the role. |
To set 'view/edit' permission, pass the value 'true' against respective key. Passing any other value for 'view/edit' or if a permission is omitted in request body, respective permission is treated as 'false'. To grant conditional view/edit permission, the permissions must include 'view'/'edit' with value 'conditional'. To grant conditional edit permission, the permissions parameter must include both 'view' and 'edit'. Both of these parameters are exclusive to field level permissions. While granting conditional permission for view or edit access, pass the condition formula as a base64-encoded string against 'viewConditionScript' or 'editConditionScript' respectively.
view | string
|
create | string
|
edit | string
|
delete | string
|
viewConditionScript | string Only applicable for Field Level permissions. Formula should be mentioned in base64 encoded format. Note works only when |
editConditionScript | string Only applicable for Field Level permissions. Formula should be mentioned in base64 encoded format. Note works only when |
login | string Applicable only when the object is CUSTOMER
|
In this request, an admin is enabling the view
and edit
permission of a field country in an object leads in the CRM application for a role with integration name nonadmin
{- "edit": true,
- "view": true
}
{- "code": 200,
- "message": "Operation was successful.",
- "results": [
- { }
]
}
This request is used to retrieve the complete definitions of all relationships of the specified objectIntegrationName. For instance, if a given object(Case) has relationship1 with Lead, and relationship2 with Account, then the complete descriptions of these relationships can be retrieved by specifying the objIntegrationName of the object(Case).
objIntegrationName required | string The integration name of the source object. |
In this example, a tenant admin is retrieving all relationships between the source object (Account) and other objects in CRM application. Different relationships have different cardinalities and some can be hierarchical as well.
The consequent response to the GET request retrieves all the relationships of the Account object in a list format. Attributes such as the id, originalId, createdBy, createdAt, sourceObject(Account), destinationObject(other objects), integrationName
,etc. of each relationship are returned for each relationship of the object.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "cardinalityLabel": "One Account to Many Opportunities",
- "integrationName": "RB188970",
- "lookupIntegrationName": "Ropportunity",
- "name": "Opportunity"
}, - {
- "cardinalityLabel": "Many Accounts to Many Leads",
- "integrationName": "R1850980",
- "lookupIntegrationName": "R1850980",
- "name": "Lead"
}, - {
- "cardinalityLabel": "Hierarchy of Accounts",
- "integrationName": "RB188966",
- "lookupIntegrationName": "Paccount",
- "name": "Account"
}, - {
- "cardinalityLabel": "One Account to Many Contacts",
- "integrationName": "RB188962",
- "lookupIntegrationName": "Rcontact",
- "name": "Contact"
}, - {
- "cardinalityLabel": "One Account to Many Cases",
- "integrationName": "R12466576",
- "lookupIntegrationName": "R12466576",
- "name": "Case"
}
]
}
This request is used to create a new relationship definition between two objects. The source of the relationship is identified by objIntegrationName
from the request path (usually, the integration name of the source object). sourceObject
and destinationObject
in the request body denote the 2 objects that the relationship is created between.
objIntegrationName required | string The integration name of the source object. |
The body parameters include the respective attributes of the sourceObject
and destinationObject
such as their singularName
, pluralName
, cardinality
, foreignKey
, relatedRecordOrphanControl
, relatedRecordCloneControl
, etc.
object | |
object |
In this example, a Tenant Admin is creating a Many("cardinality":"MANY"
) to One("cardinality":"ONE"
)relationship between Case(sourceObject
) and Account(destinationObject
) objects in CRM application. Here, the integration of the source object(case
) is specified as a path parameter.
{- "destinationObject": {
- "addGridControlToPageGroups": [
- "EDIT",
- "NEW"
], - "addLookupFieldToPageGroups": [
- "VIEW"
], - "addRelatedListView": true,
- "cardinality": "ONE",
- "objectIntegrationName": "account",
- "pluralName": "Accounts",
- "primaryKey": "",
- "relatedRecordCloneControl": false,
- "relatedRecordOrphanControl": false,
- "singularName": "Account"
}, - "sourceObject": {
- "addGridControlToPageGroups": [
- "EDIT"
], - "addLookupFieldToPageGroups": [
- "NEW",
- "VIEW"
], - "addRelatedListView": true,
- "cardinality": "MANY",
- "foreignKey": "",
- "pluralName": "Cases",
- "relatedRecordCloneControl": false,
- "relatedRecordOrphanControl": false,
- "singularName": "Case"
}
}
In this example, a tenant admin has created a One (cardinality":"ONE") to One ("cardinality":"ONE")
relationship between Case(sourceObject) and Account(destinationObject
) objects in CRM Application.
On successful creation of a new relationship definition, the consequent response returns the id and integrationName of the relationship, along with the names of the object definitions.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "destinationObject": "account",
- "id": 442726661,
- "integrationName": "R442726661",
- "sourceObject": "case"
}
]
}
This request is used to retrieve the complete definition of a relationship of the specified object. For instance, if a given object(Case) has relationship1 with Lead, then the complete definition of this relationship can be retrieved by specifying the objIntegrationName of the object(Case) along with the relIntegrationName of the relationship between the object(Case) and Lead.
objIntegrationName required | string The integrationName of the object. |
relIntegrationName required | string The integrationName of the relationship. |
In this example, we have retrieved the complete definition of a relationship (relIntegrationName:R1850980
)for an object(Lead
). This relationship happens to be between the Lead object and the Account object in CRM application, and its cardinality is “Many Leads to Many Accounts”.
The consequent response to the GET request retrieves the complete relationship definition for the specified relIntegrationName
(R1850980 here) and objIntegrationName
(lead here). Attributes such as the id, originalId, createdBy, createdAt, sourceObject
(Lead), destinationObject(Account), integrationName
of the relationship, etc. are returned.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "destinationObject": {
- "cardinality": "MANY",
- "lookupFieldIntegrationName": "R1850980",
- "pluralName": "Accounts",
- "relatedRecordCloneControl": false,
- "relatedRecordOrphanControl": false,
- "singularName": "Account"
}, - "integrationName": "R1850980",
- "sourceObject": {
- "cardinality": "MANY",
- "lookupFieldIntegrationName": "R1850980",
- "objectIntegrationName": "account",
- "pluralName": "Leads",
- "relatedRecordCloneControl": false,
- "relatedRecordOrphanControl": false,
- "singularName": "Lead"
}, - "systemInformation": {
- "createdAt": "2021-03-10T03:10:22Z",
- "createdBy": 442713109,
- "id": 442716642,
- "originalId": "1850980",
- "updatedAt": "2021-03-10T03:10:22Z",
- "updatedBy": 442713109
}
}
]
}
This request is used to update a relationship definition. The cardinality of the relationship, clone parameters, and orphan options can be modified.
objIntegrationName required | string The integrationName of the source object. |
relIntegrationName required | string The integrationName of the relationship. |
Update relationship definition
object | |
object |
In this example a Tenant Admin is updating an existing One to One relationship between objects Case and account, to a Many to Many relationship by setting "cardinality":"MANY"
for both the objects.
{- "destinationObject": {
- "cardinality": "MANY",
- "objectIntegrationName": "account",
- "pluralName": "Accounts",
- "relatedRecordCloneControl": false,
- "relatedRecordOrphanControl": false,
- "singularName": "Account"
}, - "sourceObject": {
- "cardinality": "MANY",
- "pluralName": "Cases",
- "relatedRecordCloneControl": false,
- "relatedRecordOrphanControl": false,
- "singularName": "Case"
}
}
On successfully fixing the records cardinality issue and then updating a relationship definition, the consequent request confirms the same by returning, "Relationship has been updated.".
{- "code": 200,
- "message": "Relationship has been updated.",
- "results": [
- {
- "id": 442726789,
- "integrationName": "R44272678"
}
]
}
This request is used to delete an entire relationship definition between 2 objects by specifying one of their objIntegrationNames
, along with the relIntegrationName
.
objIntegrationName required | string The integrationName of the object. |
relIntegrationName required | string The integrationName of the relationship. |
In this example, we are deleting the complete relationship definition (relIntegrationName:R1850980
)for an object(lead)
. This relationship is between the Lead object and the Account object in CRM application, and its cardinality is “Many Leads to Many Accounts”
.
The consequent response to the DELETE request returns a message, "Relationship deleted successfully"
to confirm the same.
{- "code": 200,
- "message": "OK",
- "results": [
- "Relationship deleted successfully"
]
}
This request is used to retrieve details of all views that belong to a particular object, in a list format. For each view that belongs to the specified object, the id, originalId, createdBy, createdAt, updatedBy, updatedAt, orderNo, name, and integrationName
of the view are retrieved.
objIntegrationName required | string The integrationName of the object. |
In this example, we are retrieving all the views that belong to the lead object in CRM application.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "columns": [
- "salutation",
- "id",
- "name",
- "email_opt_out",
- "title",
- "firstName",
- "lastName",
- "email",
- "city",
- "company",
- "country",
- "annual_revenue",
- "mobilePhone",
- "R1850980"
], - "createdAt": "2021-01-07T04:44:11Z",
- "createdBy": 14972,
- "hideCounter": false,
- "hideFromViewSelector": false,
- "id": 108291,
- "integrationName": "All_Leads",
- "isPrivate": false,
- "name": "All Leads",
- "orderNo": 1,
- "originalId": "156376",
- "showActions": true,
- "showInDesktop": true,
- "showInSmartPhone": true,
- "showInTablet": true,
- "sortingAndGrouping": {
- "disableDynamicSorting": false,
- "groupBy": {
- "ascending": true,
- "fieldIntegrationName": "",
- "index": -1
}, - "sortBy": [
- {
- "ascending": true,
- "fieldIntegrationName": "name",
- "index": 0
}
]
}, - "totalAndSubtotals": {
- "hideGrandTotal": false,
- "hidePageTotal": false,
- "hideSubTotal": false,
- "totals": [ ]
}, - "updatedAt": "2021-02-21T07:08:37Z",
- "updatedBy": 14972,
- "usedInSearch": false,
- "viewFilters": {
- "expression": "",
- "filters": [ ],
- "formula": "",
- "joinType": "AND"
}
}, - {
- "columns": [
- "id",
- "name",
- "company",
- "rating",
- "state",
- "status",
- "actions"
], - "createdAt": "2021-01-07T04:44:11Z",
- "createdBy": 14972,
- "hideCounter": false,
- "hideFromViewSelector": false,
- "id": 108292,
- "integrationName": "Leads_by_rating",
- "isPrivate": false,
- "name": "Leads by Rating",
- "orderNo": 2,
- "originalId": "923559",
- "showActions": true,
- "showInDesktop": true,
- "showInSmartPhone": false,
- "showInTablet": true,
- "sortingAndGrouping": {
- "disableDynamicSorting": false,
- "groupBy": {
- "ascending": true,
- "fieldIntegrationName": "",
- "index": -1
}, - "sortBy": [
- {
- "ascending": true,
- "fieldIntegrationName": "name",
- "index": 0
}
]
}, - "totalAndSubtotals": {
- "hideGrandTotal": false,
- "hidePageTotal": false,
- "hideSubTotal": false,
- "totals": [ ]
}, - "updatedAt": "2021-01-18T06:46:02Z",
- "updatedBy": 14972,
- "usedInSearch": false,
- "viewFilters": {
- "expression": "",
- "filters": [
- {
- "dataType": "GENERAL",
- "fieldIntegrationName": "rating",
- "index": 0,
- "opCode": "NNUL",
- "opValue": ""
}, - {
- "dataType": "GENERAL",
- "fieldIntegrationName": "email_opt_out",
- "index": 1,
- "opCode": "NCH",
- "opValue": ""
}
], - "formula": "",
- "joinType": "AND"
}
}, - {
- "columns": [
- "name",
- "company",
- "state",
- "status",
- "actions"
], - "createdAt": "2021-01-07T04:44:11Z",
- "createdBy": 14972,
- "hideCounter": false,
- "hideFromViewSelector": false,
- "id": 108293,
- "integrationName": "",
- "isPrivate": false,
- "name": "All Open Leads",
- "orderNo": 3,
- "originalId": "158504",
- "showActions": true,
- "showInDesktop": true,
- "showInSmartPhone": false,
- "showInTablet": true,
- "sortingAndGrouping": {
- "disableDynamicSorting": false,
- "groupBy": {
- "ascending": true,
- "fieldIntegrationName": "",
- "index": -1
}, - "sortBy": [
- {
- "ascending": false,
- "fieldIntegrationName": "name",
- "index": 0
}
]
}, - "totalAndSubtotals": {
- "hideGrandTotal": false,
- "hidePageTotal": false,
- "hideSubTotal": false,
- "totals": [ ]
}, - "updatedAt": "2021-01-07T04:44:11Z",
- "updatedBy": 14972,
- "usedInSearch": false,
- "viewFilters": {
- "expression": "",
- "filters": [
- {
- "dataType": "GENERAL",
- "fieldIntegrationName": "status",
- "index": 0,
- "opCode": "IN",
- "opValue": "108247"
}
], - "formula": "",
- "joinType": "AND"
}
}, - {
- "columns": [
- "name",
- "company",
- "state",
- "status",
- "actions"
], - "createdAt": "2021-01-07T04:44:11Z",
- "createdBy": 14972,
- "hideCounter": false,
- "hideFromViewSelector": false,
- "id": 108294,
- "integrationName": "",
- "isPrivate": false,
- "name": "Today's Leads",
- "orderNo": 4,
- "originalId": "158889",
- "showActions": true,
- "showInDesktop": true,
- "showInSmartPhone": false,
- "showInTablet": true,
- "sortingAndGrouping": {
- "disableDynamicSorting": false,
- "groupBy": {
- "ascending": true,
- "fieldIntegrationName": "",
- "index": -1
}, - "sortBy": [
- {
- "ascending": false,
- "fieldIntegrationName": "name",
- "index": 0
}
]
}, - "totalAndSubtotals": {
- "hideGrandTotal": false,
- "hidePageTotal": false,
- "hideSubTotal": false,
- "totals": [ ]
}, - "updatedAt": "2021-01-07T04:44:11Z",
- "updatedBy": 14972,
- "usedInSearch": false,
- "viewFilters": {
- "expression": "",
- "filters": [
- {
- "dataType": "GENERAL",
- "fieldIntegrationName": "createdAt",
- "index": 0,
- "opCode": "GE",
- "opValue": "TODAY"
}
], - "formula": "",
- "joinType": "AND"
}
}, - {
- "columns": [
- "name",
- "company",
- "state",
- "status",
- "actions"
], - "createdAt": "2021-01-07T04:44:11Z",
- "createdBy": 14972,
- "hideCounter": false,
- "hideFromViewSelector": false,
- "id": 108295,
- "integrationName": "",
- "isPrivate": false,
- "name": "Recent Leads (Last 7 Days)",
- "orderNo": 5,
- "originalId": "158890",
- "showActions": true,
- "showInDesktop": true,
- "showInSmartPhone": false,
- "showInTablet": true,
- "sortingAndGrouping": {
- "disableDynamicSorting": false,
- "groupBy": {
- "ascending": true,
- "fieldIntegrationName": "",
- "index": -1
}, - "sortBy": [
- {
- "ascending": false,
- "fieldIntegrationName": "name",
- "index": 0
}
]
}, - "totalAndSubtotals": {
- "hideGrandTotal": false,
- "hidePageTotal": false,
- "hideSubTotal": false,
- "totals": [ ]
}, - "updatedAt": "2021-01-07T04:44:11Z",
- "updatedBy": 14972,
- "usedInSearch": false,
- "viewFilters": {
- "expression": "",
- "filters": [
- {
- "dataType": "GENERAL",
- "fieldIntegrationName": "createdAt",
- "index": 0,
- "opCode": "LE",
- "opValue": "TODAY"
}, - {
- "dataType": "GENERAL",
- "fieldIntegrationName": "createdAt",
- "index": 1,
- "opCode": "GE",
- "opValue": "TODAY - 7"
}
], - "formula": "",
- "joinType": "AND"
}
}
]
}
This request is used to create and configure views, and to define grouping, sorting, totaling, and filtering behaviors (including formulae and expressions).
objIntegrationName required | string The integrationName of the object. |
Description
orderNo | integer <int32> |
name | string |
integrationName | string |
id | integer <int64> |
objDefName | string The integration name of the Object. |
hideFromViewSelector | boolean |
hideCounter | boolean |
isPrivate | boolean |
usedInSearch | boolean |
showInDesktop | boolean |
showInTablet | boolean |
showInSmartPhone | boolean |
columns | Array of strings |
showActions | boolean |
object | |
object | |
object |
In this example, we are requesting the creation of a view with certain columns ("salutation", "firstName", lastName", ”email, "city", ”company", "mobilePhone"
) in lead object of CRM application.
{- "columns": [
- "salutation",
- "firstName",
- "lastName",
- "email",
- "city",
- "company",
- "mobilePhone"
], - "integrationName": "leadBasicView",
- "name": "leadBasicView"
}
Upon successfully creating a view, the consequent response to POST returns the orderNo, name, integrationName, and id of the created view.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "id": 114152,
- "integrationName": "leadBasicView_filters",
- "name": "leadBasicView_filters",
- "orderNo": 9
}
]
}
This request is used to retrieve complete information about a view whose viewIntegrationName and objIntegrationName (integration name of the object that the view is a part of) are specified in the request.
objIntegrationName required | string The integrationName of the object. |
viewIntegrationName required | string The integrationName of the view. |
In this example, we are retrieving a view with integrationName=All_Leads in the lead object in CRM application.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "columns": [
- "salutation",
- "firstName",
- "lastName",
- "email",
- "city",
- "company",
- "mobilePhone",
- "annual_revenue",
- "no__of_employees"
], - "createdAt": "2021-02-19T12:45:35Z",
- "createdBy": 14972,
- "hideCounter": false,
- "hideFromViewSelector": false,
- "id": 114128,
- "integrationName": "leadBasicView_grp_sort",
- "isPrivate": false,
- "name": "leadBasicView_grp_sort",
- "orderNo": 7,
- "originalId": "7DwPUDbBTGCkYrvhadJcqw",
- "showActions": true,
- "showInDesktop": true,
- "showInSmartPhone": false,
- "showInTablet": true,
- "sortingAndGrouping": {
- "disableDynamicSorting": false,
- "groupBy": {
- "ascending": true,
- "fieldIntegrationName": "",
- "index": -1
}, - "sortBy": [ ]
}, - "totalAndSubtotals": {
- "hideGrandTotal": false,
- "hidePageTotal": false,
- "hideSubTotal": false,
- "totals": [ ]
}, - "updatedAt": "2021-02-19T13:31:02Z",
- "updatedBy": 14972,
- "usedInSearch": false,
- "viewFilters": {
- "expression": "",
- "filters": [
- {
- "dataType": "GENERAL",
- "fieldIntegrationName": "annual_revenue",
- "index": 0,
- "opCode": "GT",
- "opValue": "10000"
}, - {
- "dataType": "GENERAL",
- "fieldIntegrationName": "country",
- "index": 1,
- "opCode": "EQ",
- "opValue": "13229"
}
], - "formula": "",
- "joinType": "AND"
}
}
]
}
This request is used to update views, and to alter grouping, sorting, totaling, and filtering behaviors (including dynamic filtering, expressions, and exporting).
objIntegrationName required | string The integrationName of the object. |
viewIntegrationName required | string The integrationName of the view. |
Any node can be passed and the resultant will be the update of the view with the current node.
id | integer <int64> |
originalId | string |
createdBy | integer <int64> |
createdAt | string |
updatedBy | integer <int64> |
updatedAt | string |
orderNo | integer <int32> |
name | string |
integrationName | string |
objDefName | string The integration name of the Object. |
hideFromViewSelector | boolean |
hideCounter | boolean |
isPrivate | boolean |
usedInSearch | boolean |
showInDesktop | boolean |
showInTablet | boolean |
showInSmartPhone | boolean |
columns | Array of strings |
showActions | boolean |
object | |
object | |
object |
In CRM application, updating the filter for the view “Recent Leads (Last 7 Days)” to show the results for last 14 days.
{- "viewFilters": null,
- "filters": [
- {
- "dataType": "GENERAL",
- "fieldIntegrationName": "createdAt",
- "index": 0,
- "opCode": "LE",
- "opValue": "TODAY"
}, - {
- "dataType": "GENERAL",
- "fieldIntegrationName": "createdAt",
- "index": 1,
- "opCode": "GE",
- "opValue": "TODAY - 14"
}
], - "joinType": "AND"
}
Upon successfully updating the view, the consequent response returns the entire view definition, that is the modified and unmodified values together.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "columns": [
- "annual_revenue"
], - "hideCounter": false,
- "hideFromViewSelector": false,
- "id": 114195,
- "integrationName": "ViewWithFilters",
- "isPrivate": false,
- "name": "ViewWithFilters",
- "orderNo": 5,
- "showActions": true,
- "showInDesktop": true,
- "showInSmartPhone": false,
- "showInTablet": true,
- "sortingAndGrouping": {
- "disableDynamicSorting": false,
- "groupBy": {
- "ascending": true,
- "fieldIntegrationName": "country",
- "index": -1
}, - "sortBy": [
- {
- "ascending": true,
- "fieldIntegrationName": "company",
- "index": 0
}
]
}, - "totalAndSubtotals": {
- "hideGrandTotal": false,
- "hidePageTotal": false,
- "hideSubTotal": false,
- "totals": [ ]
}, - "usedInSearch": false,
- "viewFilters": {
- "expression": "",
- "filters": [ ],
- "formula": "",
- "joinType": "AND"
}
}
]
}
This request is used to delete a specific view that belongs to an object.
objIntegrationName required | string The integrationName of the object. |
viewIntegrationName required | string The integrationName of the view. |
In this example, we are deleting a view with viewIntegrationName = Today's_Leads
, in the lead object in CRM application.
In CRM application , for the lead object deleting a view “Today's Leads”(added integration name as Today's_Leads)
{- "code": 200,
- "message": "OK",
- "results": [
- "View deleted successfully"
]
}
This request is used to retrieve a view’s access permissions by specifying either the roleIntegrationName or the userId (not both). If view permissions are enabled for the specified role/user ID, then the response returns view:true.
If they are disabled, then the response returns view:false
objIntegrationName required | string The integrationName of the object. |
viewIntegrationName required | string The integrationName of the view. |
roleIntegrationName | string The integrationName of the role. |
userId | string The id of the user. |
In this example, we are retrieving view permissions (where viewIntegrationName = All_Leads
) for a role whose roleIntegrationName is NONADMIN in lead object in CRM application.
In CRM application, lead object,… fetching the view permissions for the all Leads view for the role whose integrationName is NONADMIN
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "id": 108291,
- "name": "All Leads",
- "permissions": {
- "view": "false"
}, - "type": "view"
}
]
}
This request is used to update View permissions for a specific view for a given role/user ID. Either the roleIntegrationName or the userId must be specified(not both). View permissions can be enabled/disabled for a specific user or for all users with the specified role.
objIntegrationName required | string The integrationName of the object. |
viewIntegrationName required | string The integrationName of the view. |
roleIntegrationName | string The integrationName of the role. |
userId | string The id of the user. |
The request body must contain information about enabling/disabling view permissions. If “view” is set to True, then view permissions are assigned to the view definition.
view | string
|
create | string
|
edit | string
|
delete | string
|
viewConditionScript | string Only applicable for Field Level permissions. Formula should be mentioned in base64 encoded format. Note works only when |
editConditionScript | string Only applicable for Field Level permissions. Formula should be mentioned in base64 encoded format. Note works only when |
login | string Applicable only when the object is CUSTOMER
|
In this example, we are disabling view permissions for the “nonadmin” role for the view definition recentLeads (Last 7 Days) in the lead object of CRM application. In CRM applicaiton, for the view definition Recent Leads (Last 7 Days) (integration name set to recentLeads) in the object leads we are trying to disable the view permissions for the role “nonadmin“
{- "view": false
}
Upon successfully updating a view definition/view's access permissions, the consequent response confirms the same by returning "Permissions set successfully".
{- "code": 200,
- "message": "OK",
- "results": [
- "Permissions set successfully"
]
}
This request is used by a tenant admin to retrieve information of all triggers for the object whose objIntegrationName
is specified in the request.
objIntegrationName required | string The integrationName of the object. |
The request is to fetch all the triggers under the Meeting object in Infinite Blue application.The consequent response retrieves information of all triggers for the object. Details of each of the triggers, such as the Id
, triggerName
,integrationName
,triggerType
,isDeployed
,isDelayed
are retrieved.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "Id": 14044,
- "integrationName": "Meeting_Notification",
- "isDelayed": false,
- "isDeployed": true,
- "triggerName": "Meeting Notification",
- "triggerType": "SendEmail"
}, - {
- "Id": 14045,
- "isDelayed": true,
- "isDeployed": true,
- "triggerName": "Meeting Reminder",
- "triggerType": "SendEmail"
}
]
}
A trigger is a stored procedure that is automatically executed when certain events occur. Triggers can perform automated validation, notification, and data manipulation. A tenant admin can configure triggers to send emails, create audit trail records, validate record data, update field values, change workflow status, create new records, etc.
Request description : Requests must be formulated based on the type of trigger being fired, and can include parameters such as the triggerType
, triggerName
, integrationName
, isDeployed
, onFieldChange
, triggerTiming
, etc. Essentially, there are 14 types of trigger
objIntegrationName required | string The integrationName of the object. |
triggerName required | string The display name of the trigger that appears everywhere in the UI. |
integrationName required | string The unique code name of the trigger across the tenant, used in scripts to uniquely identify a trigger. |
isDeployed | boolean Default: true Enables/disables the trigger for execution. If set to |
onFieldChange | Array of strings If you want this trigger to run only when certain field values change, select the fields that should fire this trigger here. This option will only affect "Before Update" and "After Update" triggers. If no fields are specified, then the default is "Any Update". |
triggerType required | string The type of the trigger. |
triggerTiming | Array of strings Items Enum: "BEFORE_CREATE" "BEFORE_UPDATE" "BEFORE_DELETE" "BEFORE_RESTORE" "ON_FINALIZE" "AFTER_CREATE" "AFTER_UPDATE" "AFTER_DELETE" "AFTER_RESTORE" Specifies when this trigger must run. In addition to this timing criterion, triggers can also be invoked from workflow actions of the type 'Run Triggers'. |
object Information about email. | |
triggerConditionFormula | string The script for defining condition, based on the evaluation of which, the trigger is executed/is not executed. The trigger runs if the evaluation result is |
object The delay criteria for the trigger, to be specified if you do not want the trigger to run immediately. Note: For delayed triggers, the options | |
object The recurrence settings for the trigger, to be specified if you want the trigger to run multiple times after being fired for the first time. | |
runAsJob | boolean Default: false Schedule trigger to run as large job with enhanced monitoring and cancellation capabilities |
In this example, a Tenant Admin is creating a Send Email trigger, by specifying details such as the triggerType
, triggerName
, integrationName
, isDeployed
, onFieldChange
, triggerTiming
, etc.
{- "emailInfo": {
- "bcc": "email1@company.com email1@company.com email1@company.com",
- "cc": "email1@company.com email1@company.com email1@company.com",
- "emailTemplate": "email_temp",
- "replyTo": "email1@company.com",
- "sendTo": "email@company.com"
}, - "integrationName": "rest_sendEmail",
- "isDeployed": true,
- "onFieldChange": "email",
- "recursion": {
- "recursionMaxTimes": 1,
- "recursionType": "DAYS",
- "repeatAfterInterval": 1
}, - "triggerConditionFormula": "cmV0dXJuIHRydWU7",
- "triggerDelayTime": {
- "days": 1,
- "delayTiming": "AFTER",
- "hours": 1,
- "minutes": 10,
- "runRelativeTo": "createdAt"
}, - "triggerName": "rest_sendEmail",
- "triggerTiming": [
- "AFTER_CREATE"
], - "triggerType": "SendEmail"
}
{- "code": 200,
- "message": "Operation was successful.",
- "results": [
- { }
]
}
This request is used by a tenant admin to retrieve the complete definition of a specific trigger, by specifying its objIntegrationName
and triggerIntegrationName
. Details of the trigger such as the triggerType
, triggerName
, integrationName
, isDeployed
, onFieldChange
, httpRequestBody
, triggerTiming
, etc. are retrieved.
objIntegrationName required | string The integrationName of the object. |
triggerIntegrationName required | string The integrationName of the trigger. |
The consequent response to this GET request retrieves details of the trigger such as the triggerType
, triggerName
, integrationName
, isDeployed
, onFieldChange
, httpRequestBody
, triggerTiming
, etc.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "emailInfo": {
- "replyTo": "fromUser",
- "sendTo": "{!RB188884.email}"
}, - "integrationName": "Meeting_Notification",
- "isDeployed": true,
- "onFieldChange": "Any Update",
- "recursion": {
- "recursionMaxTimes": 0,
- "recursionType": "DO_NOT_REPEAT",
- "repeatAfterInterval": 0
}, - "triggerDelayTime": {
- "days": 0,
- "delayTiming": "AFTER",
- "hours": 0,
- "minutes": 0,
- "runRelativeTo": ""
}, - "triggerName": "Meeting Notification",
- "triggerTiming": [
- "AFTER_CREATE"
]
}
]
}
Requests to update triggers must be formulated based on the type of trigger being updated, and can be used to update values such as the triggerType
, triggerName
, integrationName
, isDeployed
, onFieldChange
, triggerTiming
, etc. Essentially, there are 14 types of triggers. One or more attributes can be updated at a time. The request must contain both, the values to be updated, as well as the values that do not need to be updated.
objIntegrationName required | string The integrationName of the object. |
triggerIntegrationName required | string The integrationName of the trigger. |
Update trigger definition
triggerName required | string The display name of the trigger that appears everywhere in the UI. |
integrationName required | string The unique code name of the trigger across the tenant, used in scripts to uniquely identify a trigger. |
isDeployed | boolean Default: true Enables/disables the trigger for execution. If set to |
onFieldChange | Array of strings If you want this trigger to run only when certain field values change, select the fields that should fire this trigger here. This option will only affect "Before Update" and "After Update" triggers. If no fields are specified, then the default is "Any Update". |
triggerType required | string The type of the trigger. |
triggerTiming | Array of strings Items Enum: "BEFORE_CREATE" "BEFORE_UPDATE" "BEFORE_DELETE" "BEFORE_RESTORE" "ON_FINALIZE" "AFTER_CREATE" "AFTER_UPDATE" "AFTER_DELETE" "AFTER_RESTORE" Specifies when this trigger must run. In addition to this timing criterion, triggers can also be invoked from workflow actions of the type 'Run Triggers'. |
object Information about email. | |
triggerConditionFormula | string The script for defining condition, based on the evaluation of which, the trigger is executed/is not executed. The trigger runs if the evaluation result is |
object The delay criteria for the trigger, to be specified if you do not want the trigger to run immediately. Note: For delayed triggers, the options | |
object The recurrence settings for the trigger, to be specified if you want the trigger to run multiple times after being fired for the first time. | |
runAsJob | boolean Default: false Schedule trigger to run as large job with enhanced monitoring and cancellation capabilities |
In this example, a Tenant Admin is updating a Create New Record trigger, by setting hours
to 12
,delayTiming
to BEFORE
and specifying all other details such as the triggerType
, triggerName
, integrationName
, runDependentTrigger
, isDeployed
, onFieldChange
, etc.
{- "accessControlPolicy": "THROW_ERROR",
- "conversionMap": "api_map",
- "integrationName": "REST_CreateNewRecord_INT",
- "isDeployed": true,
- "onFieldChange": "firstName",
- "recursion": {
- "recursionMaxTimes": 20,
- "recursionType": "WEEKS",
- "repeatAfterInterval": 10
}, - "runDependentTrigger": true,
- "triggerConditionFormula": "cmV0dXJuIHRydWU",
- "triggerDelayTime": {
- "days": 10,
- "delayTiming": "BEFORE",
- "hours": 12,
- "minutes": 10,
- "runRelativeTo": "createdAt"
}, - "triggerName": "REST_CreateNewRecord_Name",
- "triggerTiming": [
- "BEFORE_UPDATE",
- "BEFORE_RESTORE",
- "AFTER_UPDATE"
], - "triggerType": "CreateNewRecord"
}
{- "code": 200,
- "message": "Operation was successful.",
- "results": [
- { }
]
}
This request is used by a tenant admin to delete the complete definition of a specific trigger, by specifying its objIntegrationName
and triggerIntegrationName
.
objIntegrationName required | string The integrationName of the object. |
triggerIntegrationName required | string The integrationName of the trigger. |
{- "code": 200,
- "message": "Operation was successful.",
- "results": [
- { }
]
}
This request is used by a tenant admin to retrieve the list of batch jobs.
In this example, we are requesting to list all the batch-jobs present under current tenant admin.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "batchJobType": "FTPDataSnapshot",
- "integrationName": "FTPDataSnapshot_int",
- "isDeployed": true,
- "jobName": "FTPDataSnapshot_name",
- "nextRunAt": "2021-04-08T10:00:00Z"
}, - {
- "batchJobType": "GenerateReport",
- "integrationName": "Generate_report",
- "isDeployed": true,
- "jobName": "Generate_report",
- "nextRunAt": "2021-04-08T10:00:00Z"
}, - {
- "batchJobType": "ReindexSearchData",
- "integrationName": "ReindexSearchData_int",
- "isDeployed": true,
- "jobName": "ReindexSearchData_name",
- "nextRunAt": "2021-05-01T10:00:00Z"
}, - {
- "batchJobType": "ScheduledFTPImport",
- "integrationName": "ScheduledFTPImport_int",
- "isDeployed": true,
- "jobName": "ScheduledFTPImport_name",
- "nextRunAt": "2021-05-01T10:00:00Z"
}, - {
- "batchJobType": "SystemBackup",
- "integrationName": "test_backup_local",
- "isDeployed": true,
- "jobName": "test_backup_",
- "nextRunAt": "2021-04-08T10:00:00Z"
}, - {
- "batchJobType": "DataMaintenance",
- "integrationName": "Test_DataMaintenance",
- "isDeployed": true,
- "jobName": "Test_DataMaintenance",
- "nextRunAt": "2021-04-08T00:00:00Z"
}
]
}
Platform batch jobs can be used to schedule periodic system maintenance, notification, and integration tasks. Batch jobs use the permissions set on each object for the Query API.
Request Description This request is used by a tenant admin to create a batch job by specifying its name, integration name, recursive properties, type, etc. The parameters to be added while formulating the request depend on the type of batch job being created. Batch jobs supported by Platform are of the following types
batchJobType | string |
jobName | string The display name of the batch job across system. |
integrationName | string Code name of the batch job that is unique across system and can be used during scripting. |
isDeployed | boolean Determines if the batch job is active for execution. If set to |
object A set of parameters to schedule the running of the batch job after a specific time interval. If no recursion parameters are specified, then by default the batch job executes once everyday. | |
notifyEmailAddress | string Email address to which the result of the batch job is sent. |
conditionalFormula | string <byte> The script for defining condition, based on the evaluation of which, the batch job is executed/is not executed. The batch job runs if the evaluation result is |
object (BackupType) |
In this example, a tenant admin is generating a system backup file. As backupType
is not specified , the backup is created in the customer's storage folder.
{- "batchJobType": "SystemBackup",
- "conditionalFormula": "cmV0dXJuIHRydWU7",
- "integrationName": "test_backup_local",
- "isDeployed": true,
- "jobName": "test_backup_",
- "notifyEmailAddress": "email@company.com",
- "recursion": {
- "interval": 1,
- "recursionType": "DAYS",
- "startAt": "2021-04-01T10:00:00Z"
}
}
{- "code": 200,
- "message": "Operation was successful.",
- "results": [
- { }
]
}
This request is used by a tenant admin to retrieve the complete definition of a batch job, by specifying its batchJobIntegrationName
.
batchJobIntegrationName required | string The integrationName of the batch job. |
{- "code": 200,
- "message": "Operation was successful.",
- "results": [
- {
- "batchJobType": "string",
- "jobName": "string",
- "integrationName": "string",
- "isDeployed": true,
- "recursion": {
- "startAt": "string",
- "interval": 1,
- "recursionType": "DAYS"
}, - "notifyEmailAddress": "string",
- "conditionalFormula": "string"
}
]
}
This request is used by a tenant admin to update a batch job. Requests to update batch jobs must be formulated based on the type of batch job being updated, and can be used to update values such as the batchJobType
, conditionalFormula
, emailSubject
, isDeployed
, etc. One or more attributes can be updated at a time. The request must contain both, the values to be updated, as well as the values that do not need to be updated. Batch jobs supported by Platform are of the following types
batchJobIntegrationName required | string The integrationName of the batch job. |
Update batch job definition
batchJobType | string |
jobName | string The display name of the batch job across system. |
integrationName | string Code name of the batch job that is unique across system and can be used during scripting. |
isDeployed | boolean Determines if the batch job is active for execution. If set to |
object A set of parameters to schedule the running of the batch job after a specific time interval. If no recursion parameters are specified, then by default the batch job executes once everyday. | |
notifyEmailAddress | string Email address to which the result of the batch job is sent. |
conditionalFormula | string <byte> The script for defining condition, based on the evaluation of which, the batch job is executed/is not executed. The batch job runs if the evaluation result is |
object (BackupType) |
In this example, a tenant admin is updating a System Backup batch job, by setting recursionType
from DAYS
to MONTHS
, and also specifying all other values that do not need to be updated, such as the backupType
, batchJobType
, conditionalFormula
, integrationName
, etc.
{- "backupType": {
- "disablePassiveMode": true,
- "encryption": "IMPLICIT_FTP_OVER_SSL",
- "ftpHostName": "filegenie.com",
- "password": "hari",
- "remoteDirectory": "/",
- "uploadFileTo": "FTP",
- "userName": "jane.doe"
}, - "batchJobType": "SystemBackup",
- "conditionalFormula": "cmV0dXJuIHRydWU7",
- "integrationName": "test_backup",
- "isDeployed": true,
- "jobName": "test_backup_F3",
- "notifyEmailAddress": "email@company.com",
- "recursion": {
- "interval": 1,
- "recursionType": "MONTHS",
- "startAt": "2021-04-01T10:00:00Z"
}
}
{- "code": 200,
- "message": "Operation was successful.",
- "results": [
- { }
]
}
This request is used by a tenant admin to delete the complete definition of a batch job by specifying its batchJobIntegrationName
.
batchJobIntegrationName required | string The integrationName of the batch job. |
{- "code": 200,
- "message": "Operation was successful.",
- "results": [
- { }
]
}
This GET request retrieves major details of all authentication profiles of a tenant. Details such as the id
, name
, authenticationType
, defaultUIAuth
, and defaultAPIAuth
are retrieved.
The consequent response retrieves major details of all authentication profiles of a tenant. Details such as the id
, name
, authenticationType
, defaultUIAuth
, and defaultAPIAuth
are retrieved.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "authenticationType": "LDAP",
- "defaultAPIAuth": false,
- "defaultUIAuth": false,
- "id": "2ef61967-8576-48d0-9e19-6c9a9af969b8",
- "name": "LDAP1"
}, - {
- "authenticationType": "PASSWORD",
- "defaultAPIAuth": true,
- "defaultUIAuth": true,
- "id": "61cf795a-b7ec-4a6a-81e2-5a591db387c0",
- "name": "Password"
}, - {
- "authenticationType": "SAML_ADFS",
- "defaultAPIAuth": false,
- "defaultUIAuth": false,
- "id": "dadaf87a-1817-44e9-8842-bee0262ccddb",
- "name": "Okta Saml"
}, - {
- "authenticationType": "KERBEROS",
- "defaultAPIAuth": false,
- "defaultUIAuth": false,
- "id": "Kerberos",
- "name": "Kerberos"
}, - {
- "authenticationType": "CUSTOM",
- "defaultAPIAuth": false,
- "defaultUIAuth": false,
- "id": "Custom",
- "name": "Custom"
}, - {
- "authenticationType": "API Token",
- "defaultAPIAuth": false,
- "defaultUIAuth": false,
- "id": "API Token",
- "name": "API Token"
}
]
}
This request creates a new authentication profile. Authentication is the process of verifying a user’s identity using credentials. Authentication profiles are created by specifying their authentication type and other parameters. The authentication types are as follows
NOTE A tenant is limited to creating only one authentication profile if the authentication type is Password, Kerberos, and Custom
In the request body, attributes of the authentication profile to be created such as the authentication profile name, authentication type, security details, additional parameters, etc. can be specified.
id | string This is a Auto-generated Parameter and is unique for each Authentication profile. |
name | string Name assigned to the authentication profile - for convenient remembrance. |
authenticationType | string The following mapping must be followed to give the correct authentication type. |
defaultUIAuth | boolean An optional parameter which when set to True sets the authentication profile being created as the customer's default UI authentication profile. Note
|
defaultAPIAuth | boolean An optional parameter which when set to True sets the authentication profile being created as the customer's default API authentication profile. Note
|
securityLevel | string The security level as a number. The numbers for specific levels of security are as follows: |
isMFAEnabled | boolean Indicates whether Multi-Factor Authentication (MFA) is enabled. For GET, Returns |
expirPolicy | integer <int32> The number of days before a password expires. Set it to 0 for no password expiration (this is also the default value) and a value that is more than or equal to the value of the shared property |
formula | string The custom validation formula. Value should be provide in BASE64 format. |
enablePasswordHistory | boolean Default: false This is a boolean value. If set to True, then the password history is recorded. If set to False, then no such record is kept. |
passwordHistoryLimit | integer <int32> |
useKnowledgeFactorToken | boolean This must be set to true to use a knowledge factor token. |
knowledgeFactorToken | string This must be a mandatory field from the User object definition that can be configured as a token. |
object | |
newUserPasswordActivationContextExpiry | integer <int32> This is the activation link expiry time. |
passwordActivationContextExpiry | integer <int32> The password activation link expiry time. |
In this example, we are requesting the creation of an authentication profile with the name LDAP-Profile-For-Ground-Staff
{- "additionalParamKeys": [
- "lastName"
], - "additionalParamValues": [
- "{!lastName}"
], - "authenticationType": "LDAP",
- "defaultAPIAuth": false,
- "defaultUIAuth": false,
- "name": "LDAP-Profile-For-Ground-Staff",
- "securityAuthentication": "simple",
- "securityCredential": "{!password}",
- "securityPrincipal": "uid={!loginName},dc=example,dc=com",
- "targetURL": "ldap://ldap.forumsys.com:389"
}
{- "code": 200,
- "message": "Operation was successful.",
- "results": [
- { }
]
}
This GET request retrieves all the details of the authentication profile whose authenticationProfileId
is specified in the request
authenticationProfileId required | string The originalId of the authentication profile. |
In the consequent response, all the details of the authentication profile(password Authentication profile) whose authenticationProfileId is specified in the request are retrieved. Details of the authentication profile such as id
, name
, description
, etc. are returned.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "defaultAPIAuth": false,
- "defaultUIAuth": false,
- "enablePasswordHistory": false,
- "id": "61cf795a-b7ec-4a6a-81e2-5a591db387c0",
- "name": "Password",
- "newUserPasswordActivationContextExpiry": 1,
- "passwordActivationContextExpiry": 2,
- "securityLevel": "LOW",
- "securityQuestions": {
- "useSecQuestions": false
}, - "useKnowledgeFactorToken": false
}
]
}
This request updates an already existing authentication profile, by using its unique (known) authentication profile ID. This request and its usage vary based on the authentication type used. 'Authentication Profile has been updated successfully' is returned as the response to confirm the update made to the authentication profile.
authenticationProfileId required | string The originalId of the authentication profile. |
This request and its usage vary based on the authentication type used. Likewise, the parameters also vary. In the request body, attributes of the authentication profile to be updated can be specified, such as the authentication profile name, security details, additional parameters, etc. along with the parameters whose values need not be updated.
If the password of the authentication profile is to be updated, then security, history, and expiry parameters can be specified in the request body.
id | string This is a Auto-generated Parameter and is unique for each Authentication profile. |
name | string Name assigned to the authentication profile - for convenient remembrance. |
authenticationType | string The following mapping must be followed to give the correct authentication type. |
defaultUIAuth | boolean An optional parameter which when set to True sets the authentication profile being created as the customer's default UI authentication profile. Note
|
defaultAPIAuth | boolean An optional parameter which when set to True sets the authentication profile being created as the customer's default API authentication profile. Note
|
securityLevel | string The security level as a number. The numbers for specific levels of security are as follows: |
isMFAEnabled | boolean Indicates whether Multi-Factor Authentication (MFA) is enabled. For GET, Returns |
expirPolicy | integer <int32> The number of days before a password expires. Set it to 0 for no password expiration (this is also the default value) and a value that is more than or equal to the value of the shared property |
formula | string The custom validation formula. Value should be provide in BASE64 format. |
enablePasswordHistory | boolean Default: false This is a boolean value. If set to True, then the password history is recorded. If set to False, then no such record is kept. |
passwordHistoryLimit | integer <int32> |
useKnowledgeFactorToken | boolean This must be set to true to use a knowledge factor token. |
knowledgeFactorToken | string This must be a mandatory field from the User object definition that can be configured as a token. |
object | |
newUserPasswordActivationContextExpiry | integer <int32> This is the activation link expiry time. |
passwordActivationContextExpiry | integer <int32> The password activation link expiry time. |
In this Example, we are updating the Password authentication profile by setting enablePasswordHistory
to true
,useKnowledgeFactorToken
to true
, knowledgeFactorToken
to email
, formula
to aWYocGFzc3dvcmQubGVuZ3RoPjUpDQogcmV0dXJuICJwYXNzd29yZCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIDUgY2hhcmFjdGVycyI=
etc.
{- "authenticationType": "PASSWORD",
- "defaultAPIAuth": true,
- "defaultUIAuth": true,
- "enablePasswordHistory": true,
- "expirPolicy": 1,
- "formula": "aWYocGFzc3dvcmQubGVuZ3RoPjUpDQogcmV0dXJuICJwYXNzd29yZCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIDUgY2hhcmFjdGVycyI=",
- "knowledgeFactorToken": "email",
- "name": "Password",
- "newUserPasswordActivationContextExpiry": 1,
- "passwordActivationContextExpiry": 1,
- "passwordHistoryLimit": 1,
- "securityLevel": "LOW",
- "securityQuestions": {
- "mustAnswerPreviouslyAnswered": 1,
- "mustAnswerQuestionsInProfile": 2,
- "questions": [
- "what is your name",
- "what is your city"
], - "useSecQuestions": true
}, - "useKnowledgeFactorToken": true
}
{- "code": 200,
- "message": "Operation was successful.",
- "results": [
- { }
]
}
This request is used to delete an authentication profile, by specifying its authenticationProfileId
NOTE You cannot delete an authentication profile that is mapped to any role.
authenticationProfileId required | string The originalId of the authentication profile. |
{- "code": 200,
- "message": "Operation was successful.",
- "results": [
- { }
]
}
This request is used by Tenant Admin to retrieve information about all the roles that are a part of the tenant
In this example, we are retrieving details of all the roles that are a part of the tenant.
The consequent response to GET, retrieves details of all the roles that are a part of the tenant whose JWT token/API-key is specified in the request, in a list format. Different roles have different attributes such as id, originalId, integrationName, descriptio
n, etc.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "apiAuthProfileId": "f6e6cc25-3ba0-4a6f-a250-112f1b992856",
- "applications": [ ],
- "createdAt": "2020-12-16T08:47:18Z",
- "createdBy": -1,
- "description": "System Administrator has unrestricted access to all applications.",
- "id": 90,
- "integrationName": "Administrator",
- "name": "Administrator",
- "originalId": "90",
- "uiAuthProfileId": "f6e6cc25-3ba0-4a6f-a250-112f1b992856",
- "updatedAt": "2021-02-16T08:52:36Z",
- "updatedBy": 3978027
}, - {
- "applications": [
- {
- "id": 4526756,
- "integrationName": "student",
- "name": "student"
}
], - "createdAt": "2020-12-16T08:47:18Z",
- "createdBy": -1,
- "description": "System role used to assign permissions to authenticated portal users.",
- "id": 93,
- "integrationName": "Portal_User",
- "name": "Portal User",
- "originalId": "93",
- "updatedAt": "2021-02-10T14:46:00Z",
- "updatedBy": 3978027
}, - {
- "apiAuthProfileId": "f6e6cc25-3ba0-4a6f-a250-112f1b992856",
- "applications": [ ],
- "createdAt": "2021-02-08T15:54:03Z",
- "createdBy": 3978027,
- "id": 4387615,
- "integrationName": "role_pvrpl",
- "name": "role_pnros",
- "originalId": "Mbdy6i2kSUydXejP34fhZQ",
- "uiAuthProfileId": "f6e6cc25-3ba0-4a6f-a250-112f1b992856",
- "updatedAt": "2021-02-08T15:54:03Z",
- "updatedBy": 3978027
}, - {
- "applications": [ ],
- "createdAt": "2020-12-16T08:47:18Z",
- "createdBy": -1,
- "description": "",
- "id": 94,
- "name": "No Access",
- "originalId": "94",
- "updatedAt": "2020-12-16T08:47:18Z",
- "updatedBy": -1
}, - {
- "apiAuthProfileId": "f6e6cc25-3ba0-4a6f-a250-112f1b992856",
- "applications": [
- {
- "id": 4473277,
- "integrationName": "SchoolManagement",
- "name": "SchoolManagement"
}
], - "createdAt": "2021-01-21T08:36:11Z",
- "createdBy": 3978027,
- "description": "",
- "id": 4232097,
- "integrationName": "nonadmin",
- "name": "nonadmin",
- "originalId": "yn1edcYtTD67kBe4staf_Q",
- "uiAuthProfileId": "f6e6cc25-3ba0-4a6f-a250-112f1b992856",
- "updatedAt": "2021-02-10T10:27:38Z",
- "updatedBy": 3978027
}, - {
- "applications": [
- {
- "id": 4526756,
- "integrationName": "student",
- "name": "student"
}
], - "createdAt": "2020-12-16T08:47:18Z",
- "createdBy": -1,
- "description": "System role used to assign permissions to non-authenticated portal users.",
- "id": 99,
- "integrationName": "Portal_Guest",
- "name": "Portal Guest",
- "originalId": "99",
- "updatedAt": "2021-02-10T14:46:00Z",
- "updatedBy": 3978027
}
]
}
This request is used to create a new role for a user in a tenant, by providing necessary details of the role. A user has all permissions assigned to that user's role. For more information, see Setting permissions by role).
The request body must contain the role’s name and integrationName. The role description and the IDs/integrationNames of applications to which this role is required to be attached can also be specified, along with the authentication profile details.
id | integer <int64> |
originalId | string |
createdBy | integer <int64> |
createdAt | string |
updatedBy | integer <int64> |
updatedAt | string |
name | string |
integrationName | string The integrationName of the role. |
description | string |
Array of objects | |
uiAuthProfileId | string A string containing the authentication profile ID to which UI authentication of above role is to be mapped. |
apiAuthProfileId | string A string containing the authentication profile ID to which API authentication of above role is to be mapped. |
In this example, we are requesting the creation of a “Test role”, and its attachment to the CRM application.
{- "applications": [
- {
- "integrationName": "CRM"
}
], - "description": "Test role",
- "integrationName": "Guest",
- "name": "Guest"
}
In this example, we are creating a “Test role”, and attaching it to the CRM application.
The consequent response confirms the creation of the role by returning a message of the form “Role created with ID:4540202 and integrationName :Guest"
, along with the role ID, name, integrationName, and description. The application to which this role has been attached, that is “CRM” is also returned.
{- "code": 200,
- "message": "Role created with ID: 4540202 and integrationName : Guest",
- "results": [
- {
- "applications": [
- {
- "integrationName": "CRM"
}
], - "description": "Test role",
- "id": 4540202,
- "integrationName": "Guest",
- "name": "Guest"
}
]
}
This request is used to retrieve all the details of a role by passing its roleIntegrationName as a path parameter.
roleIntegrationName required | string The current integrationName of the role. This is used to identify the role that needs to be updated. Note: In case the integrationName of the role also needs to be updated, the new integrationName can be passed in the request body. |
In this example, we are retrieving the details of a role with “nonadmin” as the roleIntegrationName.
we are retrieving the details of a role with “nonadmin” as the roleIntegrationName.
The consequent response to the GET call has retrieved all the details of the role specified in the request such as the ID, originalId, createdBy, createdAt, description
, etc.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "apiAuthProfileId": "f6e6cc25-3ba0-4a6f-a250-112f1b992856",
- "applications": [
- {
- "id": 4473277,
- "integrationName": "SchoolManagement",
- "name": "SchoolManagement"
}
], - "createdAt": "2021-01-21T08:36:11Z",
- "createdBy": 3978027,
- "description": "",
- "id": 4232097,
- "integrationName": "nonadmin",
- "name": "nonadmin",
- "originalId": "yn1edcYtTD67kBe4staf_Q",
- "uiAuthProfileId": "f6e6cc25-3ba0-4a6f-a250-112f1b992856",
- "updatedAt": "2021-02-10T10:27:38Z",
- "updatedBy": 3978027
}
]
}
This request is used to to update certain role details such as the role’s name, integrationName, and description.
roleIntegrationName required | string The current integrationName of the role. This is used to identify the role that needs to be updated. Note: In case the integrationName of the role also needs to be updated, the new integrationName can be passed in the request body. |
Only the parameters that need to be updated, such as the role’s name, integrationName, and description can be passed in the request body.
id | integer <int64> |
originalId | string |
createdBy | integer <int64> |
createdAt | string |
updatedBy | integer <int64> |
updatedAt | string |
name | string |
integrationName | string The integrationName of the role. |
description | string |
Array of objects | |
uiAuthProfileId | string A string containing the authentication profile ID to which UI authentication of above role is to be mapped. |
apiAuthProfileId | string A string containing the authentication profile ID to which API authentication of above role is to be mapped. |
In this example we are updating the description of a role with roleIntegrationName “SalesAgent” to "A role for sales agents"
. Hence, only the description is passed as a parameter in the request body, since no other role details need to be updated.
{- "description": "A role for sales agents"
}
In this example we are updating the description of a role with roleIntegrationName “SalesAgent” to "A role for sales agents"
.
The consequent response to confirms the update by returning a statement of the form "Updated Role with ID:<ID> and integrationName:<integrationName>"
. It also returns all the details of the now-updated roles, including modified and unmodified values, such as the id, name, integrationName, and description.
{- "code": 200,
- "message": "Updated Role with ID: 4296110 and integrationName: SalesAgent",
- "results": [
- {
- "description": "A role for sales agents",
- "id": 4296110,
- "integrationName": "SalesAgent",
- "name": "SalesAgent"
}
]
}
This request is used to delete a particular role by specifying its integration name.
Note: At the time of deletion, no users must be attached to the role being deleted.
roleIntegrationName required | string The current integrationName of the role. This is used to identify the role that needs to be updated. Note: In case the integrationName of the role also needs to be updated, the new integrationName can be passed in the request body. |
In this example, we are deleting a role whose roleIntegrationName is SalesAgent.
The consequent response confirms the deletion of the role “SalesAgent” by returning the following statement :"Role deleted successfully"
.
{- "code": 200,
- "message": "OK",
- "results": [
- "Role deleted successfully"
]
}
This request is used to update the UI authentication and API authentication profile IDs that a role is mapped to.
roleIntegrationName required | string The integrationName of the role. |
Since this request updates UI authentication and API authentication profile IDs that a role is mapped to, only these must be passed as parameters.
uiAuthProfileId | string A string containing the authentication profile ID to which UI authentication of above role is to be mapped. |
apiAuthProfileId | string A string containing the authentication profile ID to which API authentication of above role is to be mapped. |
In this example, we are mapping the role with SalesAgent as its roleIntegrationName to the following authentication profile IDs:
{- "apiAuthProfileId": "4b8c2c4f-be74-48ba-a4af-9482ad299dc4",
- "uiAuthProfileId": "4b8c2c4f-be74-48ba-a4af-9482ad299dc4"
}
In this example, we are mapping the role with SalesAgent as its roleIntegrationName to the following authentication profile IDs:
On successfully updating the mapped UI authentication and API authentication profile IDs of a role, the consequent response confirms the same by returning a statement of the form "Role <roleIntegrationName> is mapped to the Authentication profiles."
.
{- "code": 200,
- "message": "OK",
- "results": [
- "Role SalesAgent is mapped to the Authentication profiles."
]
}
Portals are essentially external-facing web applications built using the same components as standard Platform applications. Portals typically run on a corporate website or intranet. You can create portal pages to display dynamic lists of records, to allow creation of records through custom forms, and to invoke triggers and custom business logic. For more information, see Platform Portals.
This request is used by a Tenant Admin to retrieve all portal definitions that are attached to an application by specifying the integration name of the application. If all portal definitions in a particular tenant are to be retrieved, then this can be achieved by specifying the Tenant Admin credentials; the appIntegrationName is not required.
appIntegrationName | string |
The consequent response to the GET request, retrieves the complete definitions of all portals attached to CRM application (appIntegrationName=CRM
). Portal attributes such as id, originalId, name, integrationName, isDeployed, pageURL
, etc. and page attributes such as id, origId,pageType, pageDefName, jspName
, etc. are returned.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "assignedClientWhiteList": "",
- "authAjax": true,
- "bootstrapVersion": "2.3.1",
- "createdAt": "2021-02-22T03:35:04Z",
- "createdBy": 14972,
- "description": "Portal to capture leads from our website",
- "id": 115579,
- "includeKendoUI": false,
- "integrationName": "Leads_Portal",
- "isDeployed": true,
- "isHelpField": false,
- "isRuntimeRTL": false,
- "language": "en",
- "mainPage": 115586,
- "name": "Leads Portal",
- "noAuthAjax": false,
- "originalId": "159007",
- "pages": [
- {
- "id": 115580,
- "jspName": "../portal/portal.jsp",
- "origId": "159008",
- "pageDefName": "Main Page",
- "pageType": "0",
- "props": {
- "isManaged": "false"
}
}, - {
- "id": 115585,
- "jspName": "../portal/portal.jsp",
- "origId": "923957",
- "pageDefName": "Landing Page",
- "pageType": "0",
- "props": {
- "isManaged": "false"
}
}, - {
- "id": 115590,
- "jspName": "../portal/portal.jsp",
- "origId": "159012",
- "pageDefName": "Create New Lead",
- "pageType": "3",
- "props": {
- "isManaged": "false"
}
}
], - "showPoweredBy": true,
- "timeZone": "America/Los_Angeles",
- "updatedAt": "2021-02-22T04:27:59Z",
- "updatedBy": 14972
}
]
}
Portals are essentially external-facing web applications built using the same components as standard Platform applications. Portals typically run on a corporate website or intranet. You can create portal pages to display dynamic lists of records, to allow creation of records through custom forms, and to invoke triggers and custom business logic. For more information, see Platform Portals.
This request is used by a Tenant Admin to retrieve a portal definition by specifying its portalIntegrationName. Portal attributes such as id, originalId, name, integrationName, isDeployed, pageURL
, etc. and page attributes such as id, origId,pageType, pageDefName, jspName
, etc. are returned.
portalIntegrationName required | string The integration name of the portal to be returned. |
The consequent response to the GET request retrieves the complete definition of the portal (portalIntegrationName = Leads_Portal
as specified in the request). Portal attributes such as id, originalId, name, integrationName, isDeployed, pageURL
, etc. and page attributes such as id, origId,pageType, pageDefName, jspName
, etc. are returned.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "assignedClientWhiteList": "",
- "authAjax": true,
- "bootstrapVersion": "2.3.1",
- "createdAt": "2021-02-22T03:35:04Z",
- "createdBy": 14972,
- "description": "Portal to capture leads from our website",
- "id": 115579,
- "includeKendoUI": false,
- "integrationName": "Leads_Portal",
- "isDeployed": true,
- "isHelpField": false,
- "isRuntimeRTL": false,
- "language": "en",
- "mainPage": 115586,
- "name": "Leads Portal",
- "noAuthAjax": false,
- "originalId": "159007",
- "pages": [
- {
- "id": 115580,
- "jspName": "../portal/portal.jsp",
- "origId": "159008",
- "pageDefName": "Main Page",
- "pageType": "0",
- "props": {
- "isManaged": "false"
}
}, - {
- "id": 115585,
- "jspName": "../portal/portal.jsp",
- "origId": "923957",
- "pageDefName": "Landing Page",
- "pageType": "0",
- "props": {
- "isManaged": "false"
}
}, - {
- "id": 115590,
- "jspName": "../portal/portal.jsp",
- "origId": "159012",
- "pageDefName": "Create New Lead",
- "pageType": "3",
- "props": {
- "isManaged": "false"
}
}
], - "showPoweredBy": true,
- "timeZone": "America/Los_Angeles",
- "updatedAt": "2021-02-22T04:27:59Z",
- "updatedBy": 14972
}
]
}
The System API section describes system-related operations that can be performed by master administrators. These may be used to alter/retrieve information, statistics, topology, etc. From this section, API developers can also create a published application, customer record, etc. Here are a few important descriptions :
Customer Record - A customer record defines the applications, security level, storage information and usage for an organization or group that will be using a customer tenant. For more information, see Creating a new customer record.
This request is used to reinitialize global cache.
On successfully reinitializing global cache, the consequent response confirms the same by returning a statement, "Global Cache has been reloaded in memory".
{- "code": 200,
- "message": "OK",
- "results": [
- "Global Cache has been reloaded in memory."
]
}
This request is used to revert the latest version changes.
On successfully reverting the recent upgrade changes, the consequent response confirms the same by returning a statement, "Rollback Upgrade operation completed successfully".
{- "code": 200,
- "message": "OK",
- "results": [
- "Reverted the recent upgrade changes successfully."
]
}
This request is used by a master admin to retrieve component-specific high level information such as the name
, displayName
, type
, internalURL
,externalURL
, componentURL
, power
, active
, activeLogger
, etc. by specifying master admin credentials. Different components may have different attributes.
In this example, a master admin has fetched component-specific high level information. The consequent response retrieves all the component-specific high level information such as the name
, displayName
, type
, internalURL
,externalURL
, componentURL
, power(for PROD)
,active(for SEARCH)
,activeLogger(for STORAGE)
, etc.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "components": [
- {
- "activeLogger": true,
- "displayName": "STORAGE",
- "name": "STORAGE",
- "type": "STORAGE"
}, - {
- "displayName": "MASTER",
- "name": "MASTER",
- "type": "MASTER"
}, - {
- "displayName": "ROUTER",
- "name": "ROUTER",
- "type": "ROUTER"
}, - {
- "dedicated": false,
- "displayName": "PROD1",
- "name": "PROD1",
- "power": 1,
- "type": "PROD"
}, - {
- "displayName": "REST",
- "name": "REST",
- "type": "REST"
}, - {
- "active": true,
- "displayName": "SEARCH",
- "name": "SEARCH",
- "type": "SEARCH"
}, - {
- "displayName": "WEBAPI",
- "name": "WEBAPI",
- "type": "WEBAPI"
}
], - "hostName": "localhost",
- "nodeName": "359384b9-9c74-4a43-b064-9edbe9f5ac1a",
- "port": 8080
}
]
}
This request is used by a master admin to retrieve the following:
serverUID
and hostName
.STORAGE
, MASTER
,ROUTER
,PROD1
,PROD2
....., REST
,SEARCH
, and WEBAPI
.numThreads
, numConnections
, java(java version)
, appServer(application server)
, OS
, OSVersion
, rbVersion(platform version)
, processor
, processorCore (number of cores)
, ram
, totalMemory
, freeMemory
, usedMemory
, maxMemory
, freeMemoryLabel
, maxMemoryLabel
, state
, cloudInstance
, fontDir
, storageDir
, logDir
, indexDir
, and usageAnalyticsDir
.In this example request, a master admin is specifying credentials in order to retrieve server statistics.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "OS": "Windows 10",
- "OSVersion": "10.0",
- "appServer": "Apache Tomcat/9.0.17",
- "cloudInstance": "",
- "components": [
- {
- "activeLogger": true,
- "displayName": "STORAGE",
- "emailQueueSize": 0,
- "name": "STORAGE",
- "numJobs": 0,
- "numLoadedCustomers": 2,
- "startupTime": "2021-03-09T10:24:45Z",
- "timeRunning": "1d20h6m",
- "type": "STORAGE"
}, - {
- "displayName": "MASTER",
- "emailQueueSize": 0,
- "name": "MASTER",
- "numJobs": 0,
- "numLoadedCustomers": 1,
- "startupTime": "2021-03-09T10:24:19Z",
- "timeRunning": "1d20h7m",
- "type": "MASTER"
}, - {
- "displayName": "ROUTER",
- "emailQueueSize": 0,
- "name": "ROUTER",
- "numJobs": 0,
- "numLoadedCustomers": 0,
- "startupTime": "2021-03-09T10:24:44Z",
- "timeRunning": "1d20h6m",
- "type": "ROUTER"
}, - {
- "dedicated": false,
- "displayName": "PROD1",
- "emailQueueSize": 0,
- "name": "PROD1",
- "numJobs": 0,
- "numLoadedCustomers": 0,
- "power": 1,
- "startupTime": "2021-03-09T10:24:41Z",
- "timeRunning": "1d20h7m",
- "type": "PROD"
}, - {
- "displayName": "REST",
- "emailQueueSize": 0,
- "name": "REST",
- "numJobs": 0,
- "numLoadedCustomers": 0,
- "startupTime": "2021-03-09T10:24:43Z",
- "timeRunning": "1d20h6m",
- "type": "REST"
}, - {
- "active": true,
- "displayName": "SEARCH",
- "emailQueueSize": 0,
- "name": "SEARCH",
- "numJobs": 0,
- "numLoadedCustomers": 1,
- "startupTime": "2021-03-09T10:24:44Z",
- "timeRunning": "1d20h6m",
- "type": "SEARCH"
}, - {
- "displayName": "WEBAPI",
- "emailQueueSize": 0,
- "name": "WEBAPI",
- "numJobs": 0,
- "numLoadedCustomers": 0,
- "startupTime": "2021-03-09T10:24:45Z",
- "timeRunning": "1d20h6m",
- "type": "WEBAPI"
}
], - "fontDir": "C:\\Windows\\Fonts;/usr/share/fonts/",
- "freeMemory": 223814344,
- "freeMemoryLabel": "213.5 MB free of 510.0 MB",
- "hostName": "localhost:8080",
- "indexDir": "",
- "java": "OpenJDK 64-Bit Server VM 11",
- "logDir": "",
- "maxMemory": 8543797248,
- "maxMemoryLabel": "8.0 GB",
- "numConnections": 8,
- "numThreads": 234,
- "processor": "Intel(R) Core(TM) i7-7820HQ CPU @ 2.90GHz",
- "processorCore": "4(8)",
- "ram": "31.9 GB",
- "rbVersion": "6.0.0.0 (6.0.0.0 (main@27642))",
- "serverUID": "359384b9-9c74-4a43-b064-9edbe9f5ac1a",
- "state": "ACTIVE",
- "storageDir": "",
- "totalMemory": 534773760,
- "usageAnalyticsDir": "",
- "usedMemory": 310959416
}
]
}
This request is used by a master admin to retrieve the following by specifying the serverUID
serverUID
and hostName
.STORAGE
, MASTER
,ROUTER
,PROD1
,PROD2
....., REST
,SEARCH
, and WEBAPI
.numThreads
, numConnections
, java(java version)
, appServer(application server)
, OS
, OSVersion
, rbVersion(platform version)
, processor
, processorCore (number of cores)
, ram
, totalMemory
, freeMemory
, usedMemory
, maxMemory
, freeMemoryLabel
, maxMemoryLabel
, state
, cloudInstance
, fontDir
, storageDir
, logDir
, indexDir
, and usageAnalyticsDir
.serverUID required | string A string UID of the server. |
In this example, a master admin has retrieved complete statistics of a server with serverUID = 359384b9-9c74-4a43-b064-9edbe9f5ac1a.The consequent response to this GET request retrieves the following
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "OS": "Windows 10",
- "OSVersion": "10.0",
- "appServer": "Apache Tomcat/9.0.17",
- "cloudInstance": "",
- "components": [
- {
- "activeLogger": true,
- "displayName": "STORAGE",
- "emailQueueSize": 0,
- "name": "STORAGE",
- "numJobs": 0,
- "numLoadedCustomers": 2,
- "startupTime": "2021-03-09T10:24:45Z",
- "timeRunning": "1d20h29m",
- "type": "STORAGE"
}, - {
- "displayName": "MASTER",
- "emailQueueSize": 0,
- "name": "MASTER",
- "numJobs": 0,
- "numLoadedCustomers": 1,
- "startupTime": "2021-03-09T10:24:19Z",
- "timeRunning": "1d20h30m",
- "type": "MASTER"
}, - {
- "displayName": "ROUTER",
- "emailQueueSize": 0,
- "name": "ROUTER",
- "numJobs": 0,
- "numLoadedCustomers": 0,
- "startupTime": "2021-03-09T10:24:44Z",
- "timeRunning": "1d20h29m",
- "type": "ROUTER"
}, - {
- "dedicated": false,
- "displayName": "PROD1",
- "emailQueueSize": 0,
- "name": "PROD1",
- "numJobs": 0,
- "numLoadedCustomers": 0,
- "power": 1,
- "startupTime": "2021-03-09T10:24:41Z",
- "timeRunning": "1d20h29m",
- "type": "PROD"
}, - {
- "displayName": "REST",
- "emailQueueSize": 0,
- "name": "REST",
- "numJobs": 0,
- "numLoadedCustomers": 0,
- "startupTime": "2021-03-09T10:24:43Z",
- "timeRunning": "1d20h29m",
- "type": "REST"
}, - {
- "active": true,
- "displayName": "SEARCH",
- "emailQueueSize": 0,
- "name": "SEARCH",
- "numJobs": 0,
- "numLoadedCustomers": 1,
- "startupTime": "2021-03-09T10:24:44Z",
- "timeRunning": "1d20h29m",
- "type": "SEARCH"
}, - {
- "displayName": "WEBAPI",
- "emailQueueSize": 0,
- "name": "WEBAPI",
- "numJobs": 0,
- "numLoadedCustomers": 0,
- "startupTime": "2021-03-09T10:24:45Z",
- "timeRunning": "1d20h29m",
- "type": "WEBAPI"
}
], - "fontDir": "C:\\Windows\\Fonts;/usr/share/fonts/",
- "freeMemory": 309036512,
- "freeMemoryLabel": "294.8 MB free of 510.0 MB",
- "hostName": "localhost:8080",
- "indexDir": "",
- "java": "OpenJDK 64-Bit Server VM 11",
- "logDir": "",
- "maxMemory": 8543797248,
- "maxMemoryLabel": "8.0 GB",
- "numConnections": 8,
- "numThreads": 233,
- "processor": "Intel(R) Core(TM) i7-7820HQ CPU @ 2.90GHz",
- "processorCore": "4(8)",
- "ram": "31.9 GB",
- "rbVersion": "6.0.0.0 (6.0.0.0 (main@27642))",
- "serverUID": "359384b9-9c74-4a43-b064-9edbe9f5ac1a",
- "state": "ACTIVE",
- "storageDir": "",
- "totalMemory": 534773760,
- "usageAnalyticsDir": "",
- "usedMemory": 225737248
}
]
}
This request is used by a master admin to retrieve complete information about a single component of a server, such as STORAGE
, MASTER
,ROUTER
,PROD1
,PROD2
....., REST
,SEARCH
, and WEBAPI
, by specifying the name of the server component.
serverUID required | string A string containing UID of the server. |
componentName required | string A string componentName of the component. |
In this example, a master admin has retrieved complete statistics of the MASTER
component in the server with serverUID = 359384b9-9c74-4a43-b064-9edbe9f5ac1a
. The consequent response has returned component details such as name
, displayName
, type
, internalURL
, externalURL
, componentURL
, numLoadedCustomers
, startupTime
, timeRunning
, numJobs
, emailQueueSize
, customers(details of loaded customers)
, sessions(details of active sessions)
, and jobs(details of active jobs).
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "customers": [
- {
- "activeMinsAgo": 0,
- "cacheCount": 7,
- "database": "RB",
- "hostName": "localhost:8080",
- "id": 1,
- "loadedAt": "2021-03-09T10:24:22Z",
- "name": "QA Test System",
- "numPages": 6,
- "numSELECTs": 575,
- "numUPDATES": 370,
- "sessions": "2/0",
- "status": "Loaded"
}
], - "displayName": "MASTER",
- "emailQueueSize": 0,
- "jobs": [ ],
- "name": "MASTER",
- "numJobs": 0,
- "numLoadedCustomers": 1,
- "sessions": [
- {
- "activeMinsAgo": 26924107,
- "customer": "QA Test System",
- "customerId": 1,
- "isActive": true,
- "isAdmin": true,
- "loginTime": "2021-03-11T06:54:21Z",
- "user": "jane doe",
- "userId": 18784
}, - {
- "activeMinsAgo": 1,
- "customer": "QA Test System",
- "customerId": 1,
- "isActive": true,
- "isAdmin": true,
- "loginTime": "2021-03-11T06:29:24Z",
- "user": "Second Admin",
- "userId": 6756
}
], - "startupTime": "2021-03-09T10:24:19Z",
- "timeRunning": "1d20h42m",
- "type": "MASTER"
}
]
}
This request is used by a master admin to retrieve build license status details for an instance/set-up, such as the releaseNumber
,releaseDate
, edition
, expiration
, and host
.
In this example request, a master admin has requested to retrieve build license status details for an instance/set-up. The consequent response retrieves build license status details for the instance/set-up, such as the releaseNumber
,releaseDate
, edition
, expiration
, and host
.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "edition": "Development",
- "expiration": "unlimited",
- "host": "localhost:8080",
- "releaseDate": "2021-03-08",
- "releaseNumber": "6.0.0.0"
}
]
}
This request retrieves all published application records that fall under the filter/view 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 applications that satisfy the filter condition.
If no fields are passed as query parameters, then the fields present in the default view are returned. A view can also be passed as a query parameter.
Example : If the filter is set to a particular version(where filterName is version and filterValue is the version number), then all published application records with that version are retrieved.
Start and count: If positions of the required published application records are to be specified, then start and count can be used. Start and count are used in a conjunction for pagination.
start=2
and count=3
, returns the 3rd, 4th, and 5th published application records of the array as a response.start=5
and count=2
returns the 6th and 7th published application records of the array as a response.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 must be a part of the given view, else they are ignored. |
start | integer <int32> The 'Start' and 'count' are used in a conjunction for pagination. 'Start' denotes the position of the first published application record in the set of all published application 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.
|
In this example, a master admin is retrieving published applications with viewIntegrationName=Published_Applications, filterName=version, and filterValue=1
. The fieldList in the request contained name, isSystem, isApproved, and version. The start and count values were specified as 0 and 10, meaning that the first 10 published application records that satisfy the specified conditions were to be retrieved.
The consequent response retrieves all applications that satisfy the specified filter conditions. In this case, there were 6 available published application records, out of which only 3 applications happened to satisfy the filter conditions.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "isApproved": true,
- "isSystem": false,
- "name": "Organization Management",
- "version": 1
}, - {
- "isApproved": true,
- "isSystem": false,
- "name": "Approvals",
- "version": 1
}, - {
- "isApproved": true,
- "isSystem": true,
- "name": "Infinite Blue",
- "version": 1
}
]
}
This request is used to retrieve the number of published applications that fall under a particular view specified in the request query.
viewIntegrationName | string The integration name of the view. If not provided, the first view as per the order number is considered as default. |
The consequent response here has fetched the total number("count":4
) of published application records with the specified view (viewIntegrationName=Marketplace_Popular_Apps
).
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "count": 4
}
]
}
This request is used to retrieve information about a published application record with a known record ID. If record fields are specified in the request query along with the record ID, then only the specified field values are returned as a response. If no fields are specified with the record ID, then all field values are returned.
recordId required | string Record ID of the application whose details are to be retrieved. Note: This application must belong to the Published Applications object in Marketplace application. |
fieldList | string Examples:
A comma-separated list of field names. If present, only fields from this list are included in the output. |
In this example, a master admin is retrieving the field values of name, version, appName, isSystem, and RB188873 of a published application record (6750
). supply values in fieldList query parameter e.g. fieldList=name,version,isSystem
.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "isApproved": true,
- "isSystem": false,
- "name": "CRM",
- "version": 1
}
]
}
This request is used by a master admin to update attributes of a published application record, such as isApproved, description, app_featured, isSystem, etc.
recordId required | string Record ID of the application record whose attributes are to be updated. Note: This application must belong to the Published Applications object in Marketplace application. |
The request body must contain the integration names of the fields from the Published Application object, whose values are to be updated.
In this example, a master admin is updating the values of the fields - description,appName,version,isSystem,app_paid, and isApproved
in the Published Applications object in CRM application.
{- "appName": "CRM",
- "app_paid": "false",
- "description": "The CRM application includes all the core functionality required of a basic customer relationship management system by providing a central place for all of your sales, marketing, and support representatives to access and manage customer Accounts, Contacts, Leads, Cases and Opportunities. Also included in the CRM application is a Leads portal which you can embed into your website to accept lead submissions from visitors to your website. Configure as many different leads portals and pages as you want to manage all of your marketing campaigns. Lead records can easily be converted into Account records as needed by using standard conversion mapping functionality. Feel free to add your own Case portal to allow web submission of Cases. As with any other Infinite Blue application, CRM can be fully customized and extended to meet the needs of your organization. For example, administrators can create custom workflow events to assign incoming Leads to specific users based on territory assignments.",
- "isApproved": "true",
- "isSystem": "true",
- "version": 2
}
In this example, a master admin has updated the values of the fields - description,appName,version,isSystem,app_paid, and isApproved
, in the Published Applications object in CRM application. The response here has returned the entire application record data - a combination of unmodified and modified record field values.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "R133760251": [
- 58373
], - "R133762373": [ ],
- "R135829877": [ ],
- "R5705199": [ ],
- "R841914": [ ],
- "RB188873": [
- 13199,
- 54808,
- 137287,
- 140891
], - "appName": "CRM",
- "appTopic": "Miscellaneous",
- "app_featured": false,
- "app_installexp": 4,
- "app_last_installed": "2021-03-01T10:53:54Z",
- "app_paid": false,
- "app_prod_type": "App Template",
- "app_pub_company_name": "Infinite Blue",
- "app_pub_descr": "Infinite Blue",
- "app_pub_email": "email@infiniteblue.com",
- "app_pub_hq": "Collegeville, PA, USA",
- "app_pub_phone": "(267)930-0700",
- "app_req_rb_v": "4.0.0.0 and up",
- "app_screenshot1": {
- "contentType": "image/png",
- "encoded": "X0001A10000jfqp+5/kTxwf7oTdURS4If2b7hxy78K9fQTPBkv418QEkhC5DoWbWLcfIjWA1xslZzjGhbnV0TPXkPU9laFR0WUxdXOqVQvSgFmmxsB9zwMy8gyMCL0qspGBtb2zgX1DeNfdi3vLSxVuWD+vTSipQ0XSFnTrKZ7rMSSn8Tpgq9JD3lBefXCw5bMY+fvZmgoqw5EnK2iI8pTriuQPPsyFig==",
- "fileName": "tmp_2623652624784446177.png",
- "fileSize": 32735,
- "originalName": "Office-Customer-Male-Light-icon.png",
- "properties": {
- "contentType": "image/png",
- "fileName": "tmp_2623652624784446177.png",
- "fileSize": "32735",
- "origFileName": "Office-Customer-Male-Light-icon.png"
}
}, - "app_screenshot2": {
- "contentType": "image/png",
- "encoded": "X0001A10000jfqp+5/kTxwf7oTdURS4If2b7hxy78K9fQTPBkv418SNPkh8jlmy3o6HvSPPA2QqSHbU6sh5Lnv1aV+HiTUiKmUxdXOqVQvSgFmmxsB9zwMy8gyMCL0qspGBtb2zgX1DeNfdi3vLSxVuWD+vTSipQ0XSFnTrKZ7rMSSn8Tpgq9JD3lBefXCw5bMY+fvZmgoqw5EnK2iI8pTriuQPPsyFig==",
- "fileName": "tmp_2138356211876026886.png",
- "fileSize": 32735,
- "originalName": "Office-Customer-Male-Light-icon.png",
- "properties": {
- "contentType": "image/png",
- "fileName": "tmp_2138356211876026886.png",
- "fileSize": "32735",
- "origFileName": "Office-Customer-Male-Light-icon.png"
}
}, - "app_supported_langs": "English",
- "applicationId": 6742,
- "company_logo": {
- "contentType": "image/png",
- "encoded": "X0001A10000jfqp+5/kTxwf7oTdURS4If2b7hxy78K9fQTPBkv418QGFf0sZez5u2DD11jE7MKBY4DWb1J6lJOOf0CA8kwqpmUxdXOqVQvSgFmmxsB9zwMy8gyMCL0qspGBtb2zgX1DeNfdi3vLSxVuWD+vTSipQ0XSFnTrKZ7rMSSn8Tpgq9JD3lBefXCw5bMY+fvZmgoqw5EnK2iI8pTriuQPPsyFig==",
- "fileName": "tmp_6202249739164092100.png",
- "fileSize": 32735,
- "originalName": "Office-Customer-Male-Light-icon.png",
- "properties": {
- "contentType": "image/png",
- "fileName": "tmp_6202249739164092100.png",
- "fileSize": "32735",
- "origFileName": "Office-Customer-Male-Light-icon.png"
}
}, - "createdAt": "2020-11-17T05:47:17Z",
- "createdBy": -1,
- "description": "The CRM application includes all the core functionality required of a basic customer relationship management system by providing a central place for all of your sales, marketing, and support representatives to access and manage customer Accounts, Contacts, Leads, Cases and Opportunities. Also included in the CRM application is a Leads portal which you can embed into your website to accept lead submissions from visitors to your website. Configure as many different leads portals and pages as you want to manage all of your marketing campaigns. Lead records can easily be converted into Account records as needed by using standard conversion mapping functionality. Feel free to add your own Case portal to allow web submission of Cases. As with any other Infinite Blue application, CRM can be fully customized and extended to meet the needs of your organization. For example, administrators can create custom workflow events to assign incoming Leads to specific users based on territory assignments.",
- "file": {
- "contentType": "text/xml; charset=UTF-8",
- "encoded": "X0001A10000jfqp+5/kTxwf7oTdURS4If2b7hxy78K9fQTPBkv418TY947ECGZaVQRtEo9hgB0nuX13yUqp3Rok/DINjyxikGt6DCzM7AE4vdDT3aHNSOEeS5G9rRFQBUDFVL0dsiKFJMbXac7eCs2tblnJvCbhUyvoWwdpA3xbXWO0F1aK8ROD+KbR6ibLC4rVVcqUlznk8G259XBontjWOAKwqibWqA==",
- "fileName": "tmp_16472315388353966525.xml",
- "fileSize": 1653260,
- "originalName": "CRM..xml",
- "properties": {
- "contentType": "text/xml; charset=UTF-8",
- "fileName": "tmp_16472315388353966525.xml",
- "fileSize": "1653260",
- "origFileName": "CRM..xml"
}
}, - "id": 6750,
- "isApproved": true,
- "isManaged": 0,
- "isSystem": true,
- "name": "CRM",
- "publisher": 1,
- "updatedAt": "2021-03-01T12:26:49Z",
- "updatedBy": 18784,
- "updatedByDefId": 1769,
- "version": 2
}
]
}
This request can be used by a master admin to update the version of an already-installed application (from the Published Applications object in Marketplace application), for selected customers. Hence by using this request, a master admin can push the newer version of an application for several customers who already have the older version installed, at once.
recordId required | string Record ID of the application whose version is to be updated. Note: This application must belong to the Published Applications object in Marketplace application. |
overrideChanges | boolean Its True when existing application components are to be overwritten with latest updates. False when only new application components included in this update are to be received, and not updated components. For instance, if |
overridePermissions | boolean If True, existing permissions are overwritten with latest updates. If False, changes made by the publisher to existing role level permissions are ignored. |
The request body must contain an array of customer IDs for which the published application must be updated.
customerIds | Array of integers <int64> [ items <int64 > ] Array of customer IDs for which the published application must be installed/updated. |
In this example, a master admin is pushing an updated version of the application (6750
) to a customer(137287
).
{- "customerIds": [
- 137287
]
}
In this example, a master admin has pushed an updated version of the application(6750
) to a customer(137287
). The consequent response confirms that the update is scheduled by returning a statement, "Update is scheduled for push into 1 Customer(s) :137287"
.
{- "code": 200,
- "message": "OK",
- "results": [
- "Update is scheduled for push into 1 Customer(s) : 137287"
]
}
This end point is used by a master admin to fetch the following advanced type of fields from the Published Applications object:
recordId required | string A string containing the published application record ID. |
fieldIntegrationName required | string The integration name of the field. |
output | string Enum: "raw" "json" This parameter applies to only file input fields. If it is not specified, its default value is "json" and returns meta-data and base-64 encoded content of the file. If specified as "raw", the file is returned in a raw format.it defaults to "json" and returns meta-data and base-64 encoded content of the file. If specified as "raw", the file is returned in raw format. |
In this example, a master admin has fetched the company_logo
field in a published application record in Marketplace application.
The consequent response returns information about the company_logo field, such as the fileName, fileData, and contentType in JSON, since the output query parameter was not specified by the master admin.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "company_logo": {
- "contentType": "image/png",
- "fileData": "iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAB/pklEQVR42ux9CZwdVZX+eUvveyedpbN0d/Z9TyAsSQch7BBQQUVMwGWcURQcnf9vZlSi4obOiIg6oyhxHHBwFCKyCQINDMiaBEhC9nT2Pd1Jp/fuV/...r+xfYhuI4GZWQwJGiYcP2NvslMBAEJLOnptMaGuuxa+zSFOn/bBE6kCamnUwAAAAASUVORK5CYII=",
- "fileName": "Office-Customer-Male-Light-icon.png"
}
}
]
}
This request can be used to set or update advanced type of fields such as images and documents for a single specific published application record at a time in Marketplace application. A published application record can have several fields, that can be textual or of an advanced type. The field value can either be set for the first time, or it can be updated from an old value to a new value. The value, contentType, and fileName can be specified in the body of the request. A consequent response of the form Field <field name>" has been updated on <user name>
confirms the update of the field for the given record. This request cannot be used for textual fields such as URLs, names, etc. (Textual updates can be made using updateDataRecord request.)
Notes: For instance, if a field is to be updated for a published application record in Marketplace application, then the contentType must specify what type of file is being uploaded. The value parameter is applicable only for file upload fields and the input value can be the file itself or a Base-64 encoded binary value of the file. If the value is a Base-64 encoded binary value of the file, then a parameter called fileName must imply the new name of the file being uploaded in the request. For instance, a Base-64 encoded binary value of a file to be uploaded can be “iVBORw0KGgoAAAANSUhEUgAAAQAAAA………” and while uploading it as a field value, its new fileName can be “XYZ.png”. If the value is the file name itself, then the need to use fileName is eliminated. Both these parameters are specific to the new file being uploaded, as opposed to old files (if any)
recordId required | string A string containing the record ID. |
fieldIntegrationName required | string The integration name of the field. |
value | string <base64> Can be the file path, or a Base-64 encoded binary value of the file.
|
contentType | string MIME content type of uploaded data. It is applicable only for file upload fields (if the value is given as Base-64 encoded binary). For example, |
fileName | string Original name of file being uploaded. It is applicable only for file upload fields (if the value is given as Base-64 encoded binary). |
In this request, a master admin is updating the file field in a published application record(59012
) in Marketplace application, with a application/xml type of file.
The consequent response confirms that the update has been made successfully, by returning a statement, Field "Application XML" has been updated on BUG VALIDAte
.
{- "code": 200,
- "message": "OK",
- "results": [
- "Field \"Application XML\" has been updated on BUG VALIDAte"
]
}
By using this request, a master admin can install an already published application for customers. For more information, see Managing the Marketplace using the Marketplace application in Platform Private Cloud.
recordId required | string Record ID of the application to be installed. Note This application must belong to the Published Applications object in Marketplace application. |
Description
customerIds | Array of integers <int64> [ items <int64 > ] Array of customer IDs for which the published application must be installed/updated. |
In this request, a master admin is installing CRM application for customers (137287 and 140891
). This application belongs to the Published Applications object in Marketplace application, and its recordId is 6750
(specified as a path parameter).
{- "customerIds": [
- 137287,
- 140891
]
}
In this request, a master admin has installed CRM application for customers (137287 and 140891
). This application belongs to the Published Applications object in Marketplace application, and its recordId is 6750
(specified as a path parameter).
The consequent response returns a message, "Installation is scheduled for given Customer(s)."
, implying that the application will be installed as scheduled.
{- "code": 200,
- "message": "OK",
- "results": [
- "Installation is scheduled for given Customer(s)."
]
}
This request is used to fetch details of all customers that fall under the view category specified in the request. These fields must be a part of the given view, else they are ignored. If the request query has fields(fieldList) passed as query parameters, then it retrieves only specified field values of those customers that satisfy the filter condition.
If no fieldList is specified, then all fields of the customer records are fetched.
Example : For example, if a filter is set, (where filterName is isActive, and filterValue is the true), then all customer records that have isActive=true are retrieved. 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.
Start and count : If positions of the required customer records are to be specified, then start and count can be used. Start and count are used in a conjunction for pagination. <ul
start=2
and count=3
, returns the 3rd, 4th, and 5th customer records of the array as a response.start=5
and count=2
returns the 6th and 7th records of the array as a response.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. 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 they are ignored. |
start | integer <int32> 'Start' and 'count' are used in a conjunction for pagination. 'Start' denotes the position of the first published application record in the set of all published application 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.
|
In this example, a master admin is retrieving the first 10 records (count=10) that fall under the specified filter category, isActive= true. The fields required to be retrieved for each customer are specified in the fieldList (fieldList=id,name,status).The consequent response returns the first 10 customer record(s) that fall under the specified filter category, isActive= true. For each customer, fields specified in the fieldList (fieldList=id,name,status) are retrieved. Only 6 records satisfy isActive= true. Hence 6 customer records are retrieved.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "id": 137287,
- "name": "East India Company",
- "status": "A"
}, - {
- "id": 140891,
- "name": "United Company",
- "status": "A"
}, - {
- "id": 54808,
- "name": "email2@company.com",
- "status": "A"
}, - {
- "id": 13199,
- "name": "email@company.com",
- "status": "A"
}, - {
- "id": 16988,
- "name": "email1@company.com",
- "status": "A"
}, - {
- "id": 83888,
- "name": "email3@company.com",
- "status": "A"
}
]
}
This request can only be used to update fields that are not associated with any background actions such as DB Move, Storage Move, etc. in multiple records at once. Customer details such as expiredAt, language, companyName, firstName, lastName, job_title, phone, timeZone, company_size, maxAPIHitsHourly, and all maxlimits can be updated.
Note We currently do not support modifying the following using APIs. Doing so may cause inconsistent results.
The request body contains an array of customer JSONs, where the ID of each customer is specified in its respective JSON.
Note Values from the default set cannot be modified. For instance, if a service level plan that a customer already has, is altered, then the dependent values such as maxApplications,maxBackupStorageMB,maxFieldDefs,maxForeignLangs,maxObjectDefs,maxPortals,maxObjectRecords,maxStorageMB,maxUsers, etc. remain unmodified. The admin must alter each dependent field individually.
In this example request, a master admin is setting max limits for two customers with IDs 140891 and 137287.
[- {
- "id": 140891,
- "maxAPIHitsHourly": 1000,
- "maxApplications": 10,
- "maxBackupStorageMB": 50,
- "maxFieldDefs": 10,
- "maxForeignLangs": 3,
- "maxObjectDefs": 20,
- "maxObjectRecords": 1000,
- "maxPortals": 20,
- "maxStorageMB": 25,
- "maxUsers": 15
}, - {
- "id": 137287,
- "maxAPIHitsHourly": 1000,
- "maxApplications": 10,
- "maxBackupStorageMB": 50,
- "maxFieldDefs": 10,
- "maxForeignLangs": 3,
- "maxObjectDefs": 20,
- "maxObjectRecords": 1000,
- "maxPortals": 20,
- "maxStorageMB": 25,
- "maxUsers": 15
}
]
{- "code": 200,
- "message": "Operation was successful.",
- "results": [
- { }
]
}
This request is used to create one or more customer records by specifying customer details such as the customer’s company, city, state, country, etc. Upon successful creation of a customer record, a unique customer ID is returned, which can later be used to update it. Multiple customer records can be created at once by specifying an array of JSONs with the respective key value pairs.
Parameters such as companyName, firstName, lastName, loginName, etc. are passed in the request body. Certain parameters may have picklist code values.
Note Fields that are mandatory/required in the object must be passed while creating a customer.
In this request, a master admin is creating a customer with basic values, such as companyName, loginName, email, etc. The values for database, search servers, storage servers, plan details, etc. are also specified.
{- "city": "Hyderabad",
- "companyName": "United Company",
- "company_size": "Less than 10 employees",
- "country": "US",
- "dbName": "SQLServer",
- "email": "george.tree@company.com",
- "emailEncoding": "UTF-8",
- "expiredAt": "2021-05-25",
- "firstName": "George",
- "instApps": [
- 6748,
- 6750
], - "job_title": "CEO",
- "language": "en",
- "lastName": "Tree",
- "loginName": "George.tree",
- "mailSender": "george.tree@company.com",
- "maxAPIHitsHourly": 500,
- "maxSystemBackups": 5,
- "phone": "+91 7788338877",
- "renewal_date": "",
- "searchIndex": "SEARCH<>Built-In",
- "securityLevel": "Medium",
- "serviceLevel": "Standard",
- "state": "AL",
- "status": "A",
- "storageLocation": "ab7986cb-f158-466a-b815-57523a0bc1a1<>jane-doe-electrica",
- "timeZone": "Asia/Kolkata"
}
{- "code": 200,
- "message": "Operation was successful.",
- "results": [
- { }
]
}
This request is used in cases where multiple customer records need to be deleted in a single instance. Multiple customer record IDs can be specified in the request query by separating them with commas. The response confirms the deletion of given records with their respective IDs. Deleting a customer clears up all data related to the customer (for instance, users, storagefiles, backups, Data,Batchjobs, etc.).
Note If IDs of non-existent/invalid customer records are specified, then they are ignored
recordIds required | string Comma separated list of record IDs. |
The consequent response confirms the deletion of the customer records whose IDs are specified in the request (recordIds=115694,133687) by returning a statement, "Deleted record with ids 115694,133687".
{- "code": 200,
- "message": "OK",
- "results": [
- "Deleted record with ids 115694,133687"
]
}
This request is used to retrieve a count of the customer records, based on the viewIntegrationName specified in the request.
viewIntegrationName | string The integration name of the view. If not provided, the first view as per the order number is considered as default. |
In this request, a master admin is retrieving the total number of customer records in the specified view(viewIntegrationName=Expiring_in_1_week
).
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "count": 4
}
]
}
This request is used to fetch details of the customer whose record ID is specified in the request. If a fieldList is specified, then only those customer record fields are retrieved. If no fieldList is specified, then all fields of the customer record are fetched.
recordId required | string Customer record Id(custId) |
fieldList | string A comma-separated list of field names. If present, only fields from this list are included in the output. |
In this example, a master admin is retrieving specific fields(fieldList
=maxAPIHitsHourly
, maxApplications
, maxBackupStorageMB
, maxFieldDefs
, maxForeignLangs
, maxObjectDefs
, maxPortals
, maxObjectRecords
, maxStorageMB
, maxSystemBackups
, maxUsers
) of the customer with record ID 140891.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "maxAPIHitsHourly": 1000,
- "maxApplications": 10,
- "maxBackupStorageMB": 50,
- "maxFieldDefs": 10,
- "maxForeignLangs": 3,
- "maxObjectDefs": 20,
- "maxObjectRecords": 1000,
- "maxPortals": 20,
- "maxStorageMB": 25,
- "maxSystemBackups": 5,
- "maxUsers": 15
}
]
}
This request can only be used to update fields that are not associated with any background actions such as DB Move, Storage Move, etc. in multiple records at once. Customer details such as expiredAt ,language ,companyName,firstName,lastName,job_title,phone,timeZone,company_size,maxAPIHitsHourly, and all maxlimits can be updated.
Note We currently do not support modifying the following using APIs. Doing so may cause inconsistent results.
recordId required | string |
The request body contains an array of customer JSONs, where the ID of each customer is specified in its respective JSON.
Note Values from the default set cannot be modified. For instance, if a service level plan that a customer already has, is altered, then the dependent values such as maxApplications,maxBackupStorageMB,maxFieldDefs,maxForeignLangs,maxObjectDefs,maxPortals,maxObjectRecords,maxStorageMB,maxUsers, etc. remain unmodified. The admin must alter each dependent field individually.
In this request, a master admin is individually setting max limits for a customer(137286).
{- "maxAPIHitsHourly": 1000,
- "maxApplications": 10,
- "maxBackupStorageMB": 50,
- "maxFieldDefs": 10,
- "maxForeignLangs": 3,
- "maxObjectDefs": 20,
- "maxObjectRecords": 1000,
- "maxPortals": 20,
- "maxStorageMB": 25,
- "maxUsers": 15
}
The consequent response to the PUT request returns all the modified and unmodified customer details.
Note The record ID returned in the response is the customer record ID.
{- "CUSTOMER_comm": [ ],
- "R1721682": [ ],
- "R5683293": [ ],
- "R7803": [ ],
- "RB188873": [
- 6748,
- 6750
], - "RSUBSCRIBER": [
- 140873
], - "apiLog": false,
- "city": "Hyderabad",
- "companyName": "East India Company",
- "company_size": 2906,
- "country": 1187,
- "createdAt": "2021-02-23T11:38:13.000+00:00",
- "createdBy": 18784,
- "createdByDefId": 1769,
- "dbName": "SQLServer",
- "email": "gandhi.mahatma@company.com",
- "emailEncoding": "UTF-8",
- "expiredAt": "2021-05-24T18:30:00.000+00:00",
- "firstName": "Gandhi",
- "hideSidebar": false,
- "id": 137287,
- "instApps": [
- 6748,
- 6750
], - "isActive": true,
- "isTestDrive": false,
- "job_title": "CEO",
- "language": "en",
- "lastName": "Mahatma",
- "logLevel": false,
- "loginBlocked": false,
- "loginName": "Gandhi.Mahatma",
- "mailSender": "george.tree@company.com",
- "maxAPIHitsHourly": 1000,
- "maxApplications": 10,
- "maxBackupStorageMB": 50,
- "maxFieldDefs": 10,
- "maxForeignLangs": 3,
- "maxObjectDefs": 20,
- "maxObjectRecords": 1000,
- "maxPortals": 20,
- "maxStorageMB": 25,
- "maxSystemBackups": 5,
- "maxUsers": 15,
- "mobileDevEnabled": true,
- "name": "East India Company",
- "overusedRes": false,
- "paying_customer": false,
- "phone": "917788338877",
- "plan_description": "Standard: 10 Users, 50,000 Records, 500MB Storage, 2 Portals, 4GB Bandwidth",
- "process": 3063,
- "searchIndex": "SEARCH<>Built-In",
- "searchServer": "SEARCH",
- "securestore": true,
- "securityLevel": 2,
- "serviceLevel": 3,
- "showAppTree": false,
- "state": 1196,
- "status": 3060,
- "storageLocation": "ab7986cb-f158-466a-b815-57523a0bc1a1<>jane-doe-electrica",
- "storageServer": "STORAGE",
- "stylesheet": "rbtheme.css",
- "supportAccessEnabledTime": "2021-02-24T11:38:20.000+00:00",
- "timeZone": "Asia/Kolkata",
- "updatedAt": "2021-02-23T12:17:00.863+00:00",
- "updatedBy": 18784,
- "updatedByDefId": 1769,
- "useNewUI": false
}
This request is used to delete a single customer record with a known customer record ID. The record ID is specified in the request query; the consequent response confirms the deletion of the record.
Note Deleting a customer clears up all data related to the customer (for instance, users, storagefiles, backups, Data,Batchjobs, etc.).
recordId required | string |
The consequent response confirms the deletion of the customer record whose ID is specified in the request(here, 133686), by returning a statement, "Deleted record with id 133686".
{- "code": 200,
- "message": "OK",
- "results": [
- "Deleted record with id 133686"
]
}
This request is used to unload a single customer at a time; all users who are currently logged in are logged out when a customer is unloaded. Upon unloading, the customer is unloaded from all prod servers and the respective UI/API sessions expire.
customerId required | string The id of the customer record. |
On successfully unloading a customer(54808), the consequent response confirms the same by returning a statement, "Customer 54808 unloaded successfully".
{- "code": 200,
- "message": "OK",
- "results": [
- "Customer 54808 unloaded successfully"
]
}
The Users API section describes operations pertaining to user records in Platform. From this section, API developers can understand how to formulate requests to create, update, retrieve, and delete user records as required. Here are a few important descriptions :
User Record - A user record is a collection of user data. A user can use his/her loginName to log into an application. The access permissions depend on the user’s role. For more information, see Working with records.
This request is used to retrieve all the field names and corresponding field values of user records that satisfy the conditions specified in the request. If the parameter fieldList is given, then only fields from this list are returned in the response. This request retrieves all records that fall under the specified filter category in the request query. For instance, a filter can be set in order to retrieve user records of users with the job title of a Software Developer.
viewIntegrationName | string Integration name of the view. |
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. |
start | integer <int32> The |
count | integer <int32> The
|
In this example, we are fetching the first 5 user records from the view (custom_view) whose job title is QA. The consequent response here has fetched the first 5 user records with the fields in the viewcustom_view,whose job title matches with “QA“.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "email": "aaldrick0@cdc.gov",
- "firstName": "Abigail",
- "id": 110357,
- "job_title": "QA",
- "lastName": "Aldrick",
- "loginName": "aaldrick0@cdc.gov",
- "name": "Abigail Aldrick"
}, - {
- "email": "rwhatley1@livejournal.com",
- "firstName": "Roxanna",
- "id": 110359,
- "job_title": "QA",
- "lastName": "Whatley",
- "loginName": "rwhatley1@livejournal.com",
- "name": "Roxanna Whatley"
}, - {
- "email": "cwashbrook2@t.co",
- "firstName": "Cindie",
- "id": 110361,
- "job_title": "QA",
- "lastName": "Washbrook",
- "loginName": "cwashbrook2@t.co",
- "name": "Cindie Washbrook"
}, - {
- "email": "khendrickx3@netvibes.com",
- "firstName": "Kalie",
- "id": 110363,
- "job_title": "QA",
- "lastName": "Hendrickx",
- "loginName": "khendrickx3@netvibes.com",
- "name": "Kalie Hendrickx"
}, - {
- "email": "malberti4@jugem.jp",
- "firstName": "Maynord",
- "id": 110365,
- "job_title": "QA",
- "lastName": "Alberti",
- "loginName": "malberti4@jugem.jp",
- "name": "Maynord Alberti"
}
]
}
This request is used to update the one or more details (field values) of multiple given records in user object at once. Record field values such as firstName, lastName, timeZone, email, role, etc. can be updated with this request.
This request is used to update the one or more details (field values) of multiple given records in an user object at once. Record field values such as firstName, lastName, timeZone, email, role, etc. can be updated with this request.
Note: Different details can be updated for different user records. For instance, firstName and lastName can be updated for one user record, while timeZone can be updated for another record.
In this example, we are updating two user records.
110551
as an identifier to update “email” and “job_title” for a user (Chuck Greedy).110557
as an identifier to update “email” for another user (Tedda Cornwell).[- {
- "email": "chuck.greedy@company.com",
- "id": 110551,
- "job_title": "intern"
}, - {
- "email": "tedda.cornwell@company.com",
- "id": 110557
}
]
In this example, we are updating two user records.
110551
as an identifier to update “email” and “job_title” for a user (Chuck Greedy).110557
as an identifier to update “email” for another user (Tedda Cornwell).The consequent response has returned the updated and unaltered values of 2 user records with record IDs :110551
and 110557
(specified in the request body ). Details of user records appear in a list format, meaning that user record details are returned in a sequential manner.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "CUSER": [ ],
- "PUSER": [ ],
- "R19246": [ ],
- "R2354869": [ ],
- "R35731": [ ],
- "R83669589": [ ],
- "Revent1": [ ],
- "Rtask": [ ],
- "USER_comm": [ ],
- "contactOwner": [ ],
- "contactOwner1": [ ],
- "createdAt": "2021-01-21T11:52:44.000+00:00",
- "createdBy": 14972,
- "createdByDefId": 13958,
- "customer": 13199,
- "doNotAnimate": false,
- "email": "chuck.greedy@company.com",
- "emailEncoding": "UTF-8",
- "firstName": "Chuck",
- "googCalendar": false,
- "googEmail": false,
- "googPword": "",
- "id": 110551,
- "isActive": true,
- "isApiOnly": false,
- "isApprover": false,
- "isApprover1": false,
- "job_title": "intern",
- "language": "en",
- "lastName": "Greedy",
- "loginName": "cgreedy",
- "name": "Chuck Greedy",
- "newsletter": true,
- "pwdStatus": "E",
- "pwdUpdated": "2021-01-21T11:52:44.000+00:00",
- "role": 90,
- "updatedAt": "2021-01-21T15:49:53.997+00:00",
- "updatedBy": 14972,
- "updatedByDefId": 13958
}, - {
- "CUSER": [ ],
- "PUSER": [ ],
- "R19246": [ ],
- "R2354869": [ ],
- "R35731": [ ],
- "R83669589": [ ],
- "Revent1": [ ],
- "Rtask": [ ],
- "USER_comm": [ ],
- "contactOwner": [ ],
- "contactOwner1": [ ],
- "createdAt": "2021-01-21T15:18:02.000+00:00",
- "createdBy": 14972,
- "createdByDefId": 13958,
- "customer": 13199,
- "doNotAnimate": false,
- "email": "jane.doe@company.com",
- "emailEncoding": "UTF-8",
- "firstName": "Jane",
- "googCalendar": false,
- "googEmail": false,
- "googPword": "",
- "id": 110854,
- "isActive": true,
- "isApiOnly": false,
- "isApprover": false,
- "isApprover1": false,
- "language": "en",
- "lastName": "Doe",
- "loginName": "jane.doe@company.com",
- "name": "Jane Doe",
- "newsletter": true,
- "pwdStatus": " ",
- "pwdUpdated": "2021-01-21T15:18:02.000+00:00",
- "role": 90,
- "timeZone": "Asia/Calcutta",
- "updatedAt": "2021-01-21T15:49:53.997+00:00",
- "updatedBy": 14972,
- "updatedByDefId": 13958
}
]
}
This request is used to create a user record, with relevant details, such as firstName, lastName, loginName, timeZone, email, role, etc. One or many user records can be created at once with this request.
In this example we are creating a user with Admin role. In the request body, all the mandatory and optional field integration names are specified along with their corresponding values. The user attributes specified in this particular request are firstName, lastName, loginName, timeZone, email, and role. Hence, we are requesting record creation for a user named John Doe whose role is Administrator.
{- "email": "john.doe@company.com",
- "firstName": "John",
- "lastName": "Doe",
- "loginName": "john.doe@company.com",
- "role": "Administrator",
- "timeZone": "Asia/Calcutta"
}
In this example we are creating a user with Admin role. In the request body, all the mandatory and optional field integration names are specified along with their corresponding values. The user attributes specified in this particular request are firstName, lastName, loginName, timeZone, email, and role. Hence, we are requesting record creation for a user named John Doe whose role is Administrator.
The consequent response confirms the creation of the user record, by returning its unique record ID (110854
), along with the object name (USER in this case).
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "id": 110854,
- "objName": "USER"
}
]
}
This request deletes multiple user records in their entirety in one go.
recordIds required | string A string containing the record IDs of the records required to be deleted. |
In this example, we are deleting 3 user records by specifying their record IDs(110557,110555,110553) in the request.The consequent response confirms the deletion of the 3 user records whose record IDs were specified in the request, by returning the message “Deleted records with ids 110557,110555,110553
”.
{- "code": 200,
- "message": "OK",
- "results": [
- "Deleted record with ids 110557,110555,110553"
]
}
This request is used to retrieve the number of records that fall under a particular filter/view specified in the request query. For instance, if a view is mentioned in the query, then the number of records that have the specified view is returned as the response.
viewIntegrationName | string The integration name of the view. If not provided, the first view as per the order number is considered as default. |
In this example, we are retrieving the number of user records with the view IntegrationName All_Users by passing the viewIntegrationName=All_User
.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "count": 54
}
]
}
This request is used to retrieve all the field names and corresponding field values of a single user record whose loginName/record ID is specified in the request. If the parameter fieldList is given, then only fields from this list are returned in the response.
loginNameOrRecordId required | string Any one of the following must be specified:
|
fieldList | string A comma-separated list of field names. If given, then only fields from this list are included in the output. |
n this example we are retrieving a user record by specifying the loginName in the request. This consequent response has returned the user fields relevant to the user whose loginName is specified in the request. Since a fieldList was not specified in the request, all the user fields have been returned.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "CUSER": [ ],
- "PUSER": [ ],
- "R19246": [ ],
- "R2354869": [ ],
- "R35731": [ ],
- "R83669589": [ ],
- "Revent1": [ ],
- "Rtask": [ ],
- "contactOwner": [ ],
- "contactOwner1": [ ],
- "createdAt": "2020-11-17T13:04:41Z",
- "createdBy": 6756,
- "createdByDefId": 1769,
- "doNotAnimate": false,
- "email": "daniel.romano@company.com",
- "firstName": "Daniel",
- "googCalendar": false,
- "googEmail": false,
- "googPword": "",
- "id": 14972,
- "isActive": false,
- "isApiOnly": false,
- "isApprover": false,
- "isApprover1": false,
- "language": "en",
- "lastApplication": 14963,
- "lastLogin": "2021-01-21T09:56:05Z",
- "lastName": "Romano",
- "loginName": "daniel.romano@company.com",
- "name": "Daniel Romano",
- "newsletter": true,
- "pwdStatus": " ",
- "pwdUpdated": "2020-11-17",
- "role": 90,
- "timeZone": "Asia/Kolkata",
- "updatedAt": "2021-01-18T09:04:36Z",
- "updatedBy": 14972,
- "updatedByDefId": 13958,
- "userProfilePic": {
- "contentType": "image/png",
- "encoded": "X0001A10000sgES30TCE1Y6IPElv0yCu5FanbPPfRUOYnC7boPnelEbFzOaS+H2UndsVP+HCEtNbo/F40SZp+cgfhMjus0V4GUxdXOqVQvSgFmmxsB9zwMy8gyMCL0qspGBtb2zgX1DeNfdi3vLSxVuWD+vTSipQwByJ0SG+k0aegxCOY+OHMOaq9gDakiGx4dzfAO/NlIG",
- "fileName": "tmp_8668762001996170033.png",
- "fileSize": 32735,
- "originalName": "ProfilePic.png",
- "properties": {
- "contentType": "image/png",
- "fileName": "tmp_8668762001996170033.png",
- "fileSize": "32735",
- "origFileName": "ProfilePic.png"
}
}
}
]
}
This request is used to update one or more field values for a single user record in an application, such as firstName, lastName, timeZone, email, role, etc.
loginNameOrRecordId required | string Any one of the following must be specified.
|
This request is used to update one or more field values for a single user record in an application, such as firstName, lastName, timeZone, email, role, etc.
In this example, we are updating the email address of a user whose record ID is 110854
. In the request, we are specifying the field integration name email
, along with the value we want to update the field email
to, that is danny.scott@company.com
.
{- "email": "danny.scott@company.com"
}
On updating the record by passing the email for the specific id of user, the consequent response has returned the entire user record data - a combination of unmodified and modified user record field values. Hence, along with the now-updated email address (danny.scott@company.com), the unaltered field values are also returned.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "CUSER": [ ],
- "PUSER": [ ],
- "R19246": [ ],
- "R2354869": [ ],
- "R35731": [ ],
- "R83669589": [ ],
- "Revent1": [ ],
- "Rtask": [ ],
- "contactOwner": [ ],
- "contactOwner1": [ ],
- "createdAt": "2021-01-21T15:18:02Z",
- "createdBy": 14972,
- "createdByDefId": 13958,
- "doNotAnimate": false,
- "email": "danny.scott@company.com",
- "emailEncoding": "UTF-8",
- "firstName": "danny",
- "googCalendar": false,
- "googEmail": false,
- "googPword": "",
- "id": 110854,
- "isActive": true,
- "isApiOnly": false,
- "isApprover": false,
- "isApprover1": false,
- "language": "en",
- "lastName": "scott",
- "loginName": "danny.scott@company.com",
- "name": "danny scott",
- "newsletter": true,
- "pwdStatus": " ",
- "pwdUpdated": "2021-01-21",
- "role": 90,
- "timeZone": "Asia/Calcutta",
- "updatedAt": "2021-01-21T15:31:39Z",
- "updatedBy": 14972,
- "updatedByDefId": 13958
}
]
}
This request deletes a single user record in its entirety.
loginNameOrRecordId required | string Any one of the following must be specified:
|
In this example, we are deleting a user record by using the loginName (jane.doe) as an identifier. The consequent response confirms the deletion of the user record whose loginName is jane.doe as specified in the request, by returning the message Deleted record with id 110854
.
{- "code": 200,
- "message": "OK",
- "results": [
- "Deleted record with id 110854"
]
}
This request resets the password of a specified user based on the loginName/record ID provided.
Note Resetting a password requires administrative privileges.
loginNameOrRecordId required | string Any one of the following must be specified:
|
In this example we are resetting the password for a user (Emlen Tinton) by using his loginName (emlen.tinton
) as an identifier. Upon successfully resetting the password, the consequent response confirms the same. An email is sent to the user’s registered email address.
{- "code": 200,
- "message": "OK",
- "results": [
- "Password has been reset."
]
}
This request is used to get LDF IDs corresponding to each of the dimensions - $ORG_LOCN, $ORG_DEPT and $ORG_FUNC.
loginNameOrRecordId required | string Any one of the following must be specified:
|
In this example, we are retrieving the LDF details of a user. The consequent response returns access permissions to the Location(445637462
), Department(445637455
) and Function(445637465
) records for the specified user(445638426
).
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "$ORG_DEPT": [
- "445637455"
], - "$ORG_FUNC": [
- "445637465"
], - "$ORG_LOCN": [
- "445637462"
]
}
]
}
The User Resource API section describes operations pertaining to manage a user’s login in the Platform. In this section, API developers can log in/log out using a request.
Users can initiate a login through this request by providing all required authentication details, such as the username, password, API token, etc., depending on the authentication type used during profile creation.
This endpoint should be prefixed with the PROD's value that the current customer is loaded in, such as /prod3/user/login
. This prefix remains constant for customers hosted on dedicated production servers, or the necessary production server information may be obtained from UI sessions.
If the value of the production environment where the customer is already loaded is unknown, refer to Platform REST API 2.0 Documentation
Note: When a shared property, AllowMultipleRestSessions
is set to True
, the user can execute multiple Login requests that return corresponding JWT tokens that are simultaneously active. The default value for this property is False
.
version | integer <int32> Version of APIs |
In this example, we have API authentication set to Password in the Platform. We are executing the Login API in order to request a JWT token and a URL with basic authentication (Authorization :Basic aGFyaXRlamExQHlvcG1haWwuY29tOnByb2dyZXNz
). A user password is used as a password to formulate a basic auth header.
For instance, if the username is 'narendramodi', and the Password is 'India', then the formulated basic auth header is Basic bmFyZW5kcmFtb2RpOkluZGlh
.
{- "code": 200,
- "message": "OK",
- "results": [
- {
- "JWT": "eyJhbGciOiJIUzI1NiJ9.eyJyb2xlSWQiOjkwLCJsb2dpbk5hbWUiOiJoYXJpdGVqYUB5b3BtYWlsLmNvbSIsImN1c3RJZCI6MTMxOTksImNvbXBvbmVudE5hbWUiOiJQUk9EMSIsInNlc3Npb25JZCI6IjA4NzAyMGMzMTA4MjRmMDY4YTQwOTc0NWMxY2RiNjBiQDEzMTk5IiwiY291bnRlciI6MSwidXNlcklkIjoxNDk3MiwianRpIjoiMDE0NDYwMjUtYzdjNy00ODVjLWJjMGUtMjkyMDgzNjI0YzdhIiwiZXhwIjoxNjExMTUxMjA3fQ.cl7428sOQEW1B4JNIkGtG6uno2aESsw4K_ez4yK7e3c",
}
]
}
The user can invalidate a JWT token using this request. The currently active JWT token (returned in the response to the login request) must be used to log out of the currently active API session that began when the user executed the login request.
Note: A JWT can expire in 2 ways:
The consequent response returns a message, 'User has logged out of given JWT session' to confirm that the user has logged out of the API session. This implies that the JWT token that was used for this session can no longer be used as it has become invalid.
{- "code": 200,
- "message": "OK",
- "results": [
- "User has logged out of given JWT session."
]
}
The Custom Method API section describes operations pertaining to any business method used in the Platform. In this section, API developers can customize the behavior of requests to the backend by providing a means to implement server-side business logic. See Custom Methods for more information.
GET operation on business method
customMethodName required | string The name that needs to be executed. |
{- "code": 200,
- "message": "Operation was successful",
- "results": { }
}
PUT operation on business method
customMethodName required | string The name that needs to be executed. |
{- "code": 200,
- "message": "Operation was successful",
- "results": { }
}
POST operation on business method
customMethodName required | string The name that needs to be executed. |
{- "code": 200,
- "message": "Operation was successful",
- "results": { }
}
DELETE operation on business method
customMethodName required | string The name that needs to be executed. |
{- "code": 200,
- "message": "Operation was successful",
- "results": { }
}