Execute IDO Swagger Document Get Operation

The Execute IDO Swagger Document Get Operation API executes a strongly typed API for the specified IDO collection. This API is only applicable for strongly typed APIs that are LoadCollection or GetPropertyInformation.
GET /dynamic/api-docs-collection/{ido}/{operationID}
http://localhost/IDORequestService/ido/dynamic/api-docs-collection/UserNames/GetUserList

Parameters

Name In Required Description
ido Path Yes The name of the IDO collection that is associated with the strongly typed API
operationID Path Yes The name of the strongly typed API to be executed
properties Query No A comma-delimited list of properties for which to return values

You can use an asterisk (*) to include all properties, except subcollection properties.

If this parameter is excluded or left blank, the server retrieves data with all the parameters.
Note: Use this parameter only if the strongly typed API is a LoadCollection API.
filter Query No Restricts the result set. Any valid SQL WHERE clause syntax is allowed
Note: Use this parameter only if the strongly typed API is a LoadCollection API.
orderby Query No A comma-delimited list of properties that specifies how the result set is to be sorted

Use the DESC keyword after a property name to sort that property in descending order.

Note: Use this parameter only if the strongly typed API is a LoadCollection API.
recordcap Query No Determines how many records are to be retrieved in one request

This list shows the valid values:

  • -1 returns 200 records.
  • 0 returns all records.
  • Any other number specifies the number of records to be retrieved.
Note: Use this parameter only if the strongly typed API is a LoadCollection API.
distinct Query No Specifies that the set of data to be returned must represent only distinct combinations of properties
Note: Use this parameter only if the strongly typed API is a LoadCollection API.
clm Query No The name of a custom load method

This parameter works in conjunction with the clmparam parameter.

Note: Use this parameter only if the strongly typed API is a LoadCollection API.
clmparam Query No A comma-delimited list of custom load method parameters
Note: Use this parameter only if the strongly typed API is a LoadCollection API.
loadtype Query No This parameter is used for load collection paging.

This parameter is used in conjunction with the bookmark parameter.

This list shows the valid values:

  • FIRST
  • NEXT
  • PREV
  • LAST
Note: Use this parameter only if the strongly typed API is a LoadCollection API.
bookmark Query No This parameter is used for the bookmark ID.

Bookmark IDs serve as a reference when you get to the next or previous records in a collection.

The bookmark value uses this format:

<B><P><p>UserId</p></P><D><f>false</f></D><F><v>1</v ></F><L><v>2</v></L></B>

where:

  • <B></B> is the bookmark envelope tag.
  • <P></P> is the property name of the primary key.
  • <D></D> is a flag that, if True, specifies that records are to be read in descending order.
  • <f></f> is the value of the <D></D> element. This value can be True or False.
  • <F></F> is the first row in the collection.
  • <L></L> is the last row in the collection.
  • <v></v> is the value of the row for the given property name.
Note: Use this parameter only if the strongly typed API is a LoadCollection API.
pqc Query No Specifies a method to execute once for each row in the result set, after the query is completed

This parameter is equivalent to the Design Mode PQ option in the Load/Save Overrides property and uses the same syntax.

Note: Use this parameter only if the strongly typed API is a LoadCollection API.
readonly Query No When set to True, this parameter specifies that retrieved records must not include the _ItemID property, which is substantial for update and delete operations.
Note: Use this parameter only if the strongly typed API is a LoadCollection API.

Headers

Name Description
Authorization If the API is called directly, then the Mongoose security token is obtained through a call to the GetSecurityToken API.

If the API is called through the ION API, then a valid OAuth2.0 bearer token is provided by ION API.

X-Infor-MongooseConfig The name of a configuration that is available on the application server

Request data

None

Response data when the strongly typed API is a GetPropertyInformation API

{
    "Message": null,
    "Success": false,
    "Keys": [
        "ID"
    ],
    "Properties": [
        {
            "BooleanFalseValue": "",
            "BooleanTrueValue": "",
            "CaseFormat": "",
            "ClrTypeName": "Guid",
            "ColumnDataType": "uniqueidentifier",
            "DataType": "GUID",
            "DateFormat": "",
            "DecimalPos": 0,
            "DefaultIMECharset": "",
            "DefaultValue": "NEWGUID()",
            "DomainIDOName": "",
            "DomainListProperties": "",
            "DomainProperty": "",
            "InputMask": "",
            "IsItemWarnings": false,
            "JustifyFormat": "",
            "LabelStringID": "sID",
            "Length": 0,
            "Name": "ID",
            "PropertyClass": "",
            "RORecord": false,
            "ReadOnly": false,
            "Required": true
        },
        { ... }
    ],
    "SubCollections": [
        {
            "IDOName": "DemoSubmissionComments",
            "LinkBy": [
                {
                    "Child": "SubmissionID",
                    "Parent": "ID"
                }
            ],
            "Name": "SubComments"
        },
        {
            "IDOName": "DemoSubmissionLikes",
            "LinkBy": [
                {
                    "Child": "SubmissionID",
                    "Parent": "ID"
                }
            ],
            "Name": "SubLikes"
        }
    ]
}

Response data when the strongly typed API is a LoadCollection API

{
    "Items": [
        {
            "UserId": "1",
            "Username": "sa",
            "_ItemId": "PBT=[UserNames] UserNames.DT=[2022-05-19 11:13:29.047] UserNames.ID=[37d1b76a-4bf7-4523-9176-ae8ed460d903]"
        },
        {
            "UserId": "2",
            "Username": "jdelacruz",
            "_ItemId": "PBT=[UserNames] UserNames.DT=[2021-04-05 15:44:58.937] UserNames.ID=[f5f084a7-0049-4b69-9e74-a38095125eb3]"
        },
        {
            "UserId": "3",
            "Username": "jdoe",
            "_ItemId": "PBT=[UserNames] UserNames.DT=[2021-04-05 15:52:34.833] UserNames.ID=[7850b9c8-2421-4956-b4fb-983ef76d3e58]"
        }
    ],
    "Bookmark": "<B><P><p>UserId</p></P><D><f>false</f></D><F><v>1</v></F><L><v>50004</v></L></B>",
    "Success": true,
    "Message": null
}

Example

This example code executes a strongly typed API that does load collection to retrieve the AccessAs IDO.

string json = string.Empty;
using ( HttpClient client = new HttpClient() )
{
   string requestUrl = $"http://localhost/IDORequestService/ido/dynamic/api-docs-collection/AccessAs/GetAccessAs";
 
   // provide token in the Authorization header
   client.DefaultRequestHeaders.TryAddWithoutValidation(
      "Authorization",
      "b/XdI6IQzCviZOGJ0E+002DoKUFOPmVDkwpQDbQjm3w/=…" );
 
   HttpResponseMessage response = client.GetAsync( requestUrl ).Result;
 
   using ( HttpContent content = response.Content )
   {
      Task<string> result = content.ReadAsStringAsync();
      json = result.Result;
   }
}