SyteLine Mongoose API Options Reference
This reference compares every way to read and write Infor SyteLine 9, 10 and CSI data through Mongoose, from IDO REST to SOAP, the .NET client, ION API, event actions and BODs. It shows endpoints, authentication, operations and the traps for each so you can pick the right one before writing code.
| Interface | Endpoint or class | Auth method | Operations | Best for | Gotchas | Version notes |
|---|---|---|---|---|---|---|
IDO REST v2 load | GET /IDORequestService/ido/load/{ido} | Authorization header: Mongoose token from GET /IDORequestService/ido/token/{config}, or OAuth 2.0 bearer through ION API | Query with properties, filter, orderby, recordcap, distinct, clm, clmparam, loadtype (FIRST, NEXT, PREV, LAST), bookmark, pqc, readonly | Reading SyteLine data from scripts, BI and middleware | recordcap -1 returns 200 rows and 0 returns all; filter allows only GETDATE() and DATEADD(), others raise IllegalFilterException; readonly=True drops _ItemId | Current Mongoose REST API; confirm it is enabled on older 9.x installs |
IDO REST v2 update and invoke | POST /ido/update/{ido} and POST /ido/invoke/{ido}?method= | Same as load | Insert, update and delete rows; call IDO methods | Controlled write-back from an integration | Updates and deletes need the _ItemId from a load that was not readonly | Same service as load |
IDO REST v1 | Endpoint set: LoadCollection, AddItem(s), UpdateItem(s), DeleteItem(s), InvokeMethod, GetSecurityToken, GetConfigurations, FireAESEvent, IDOInfo, UploadDocumentObject | Token from GetSecurityToken | Load, add, update, delete, invoke, fire an AES event, document upload and download | Existing integrations built on v1 | Different URL scheme from v2; confirm the base path on your server before coding | Older interface kept for compatibility |
SOAP IDO web service | CreateSessionToken(strUserId, strPswd, strConfig); LoadDataSet(strSessionToken, strIDOName, strPropertyList, strFilter, strOrderBy, strPostQueryMethod, iRecordCap); SaveDataSet; CallMethod | Session token from CreateSessionToken | Load as DataSet, save DataSet, call methods | .NET applications that already consume SOAP | LoadDataSet returns a System.Data.DataSet; keep the token and reuse it | Long-standing interface on on-prem installs |
Mongoose .NET client library | new Client(requestServiceURL, IDOProtocol.Http); LoadCollectionRequestData; client.LoadCollection(request); UpdateCollection; Invoke | Session opened through the client | Load, update, invoke with typed request and response objects | C# services and tools inside the network | Set RecordCap explicitly; wrap Client in using to close it | Ships with Mongoose; match the DLL version to the server |
ION API gateway | IDO REST v2 through the ION API URL from the .ionapi file | OAuth 2.0 using the .ionapi credentials file | Same as IDO REST v2 | Cloud-ready or Infor OS based integrations | Header X-Infor-MongooseConfig is required to name the configuration | Requires Infor OS / ION API in your landscape |
IDO extension class | this.Context.Commands.LoadCollection inside an IDO extension class | Runs in the caller's session | Load, update and invoke other IDOs from server code | Logic that must run for every client, including APIs | Code is deployed with the IDO; keep it in source control for upgrades | Mongoose IDO development |
Event system IDO requests | Execute IDO Request and Dispatch IDO Request event actions | Event handler context | Run IDO request XML locally or on another site | No-code automation triggered by events | Parse Dispatch results with Transform XML | Application event system |
ION BODs | Replication Document Outbox and inbound BOD processing | ION connection point | Publish and receive Sync, Process and Acknowledge BODs | Event-driven sync with other Infor or third-party apps | Outbound documents sit in the outbox until ION collects them | Requires ION |
For building actual requests use the existing SyteLine IDO REST request generator. Endpoint and parameter names follow the Mongoose integration guide; base paths and enabled services vary by install, so test against your own IDORequestService before coding.
Pick the right interface for your integration
Describe what you need to read or write in SyteLine and from where, and we will recommend the interface, authentication and paging approach for your install.
Optional. The tool and every export work without this. No spam.
How to choose
Start with the job. For reading data on demand from a script, report or middleware, use IDO REST v2 load, directly on the network or through the ION API if your landscape uses Infor OS. For writes, use v2 update or invoke so SyteLine's IDO logic and event handlers run, never direct SQL. For logic that must run whenever data changes, whoever changes it, use the event system or an IDO extension class. For keeping another application in step with every change, use BODs through ION. SOAP and REST v1 are for maintaining integrations that already use them.
- Read on demand: IDO REST v2 load
- Write back: v2 update or invoke, through IDO logic
- React to change inside SyteLine: event system or extension class
- Keep other systems in sync: BODs through ION
Worked example: a v2 load call
To read open customer order lines, call GET /IDORequestService/ido/load/SLCoitems with properties=CoNum,CoLine,Item,QtyOrdered,DueDate, a filter on status, orderby=DueDate and recordcap=0 only if you are sure the result is small; otherwise page with loadtype=NEXT and the bookmark from the previous response. Send the token in the Authorization header. Through the ION API, use the OAuth bearer token and add X-Infor-MongooseConfig with the configuration name. Add readonly=True for pure reads, but leave it off if you will update the rows, since it drops _ItemId.
Gotchas that cost a day
recordcap has special values: -1 returns 200 rows and 0 returns all, so an omitted or default cap silently truncates results. The REST filter only accepts GETDATE() and DATEADD() as functions; any other SQL function, GROUP BY, HAVING or a sub-query raises IllegalFilterException, so push complex logic into a custom load method (clm and clmparam) instead. Through ION API, a missing X-Infor-MongooseConfig header is the usual cause of authentication that looks right but fails. In the .NET client, set RecordCap on LoadCollectionRequestData rather than relying on defaults.
Version differences
The v2 REST endpoints are the current interface in the Mongoose integration guide. REST v1 exposes a different set of named endpoints such as LoadCollection, AddItems and FireAESEvent, and its base path differs by install, so confirm it on your server. The SOAP IDO web service has been on on-prem installs for many releases and still suits .NET code that expects DataSets. ION API access needs Infor OS components that many on-prem SyteLine 9 sites do not run; direct REST inside the network is the usual on-prem pattern.
Frequently Asked Questions
Does Infor Mongoose have a REST API?
Yes. The IDO REST API in the IDORequestService supports loading collections, updating rows and invoking methods, with token or OAuth 2.0 authentication. SyteLine and CSI use it for integrations, and it can also be reached through the ION API gateway. An older v1 REST interface and a SOAP web service are also available.
What is an IDO in SyteLine?
An IDO (Intelligent Data Object) is the Mongoose business object layer between forms or APIs and the database. Each IDO, such as SLCos for customer orders or SLItems for items, defines properties, methods and save logic. Reading and writing through IDOs keeps SyteLine validation and event handlers in play, unlike direct SQL.
Why does my REST load return only 200 rows?
A recordcap of -1 means 200 records. Set recordcap to the number you want, or 0 for all records, and for large sets page with loadtype NEXT and the bookmark from the previous response so you do not load an entire table in one call.
Can I use SQL functions in the REST filter?
Only GETDATE() and DATEADD() are allowed. Other functions, aggregates, GROUP BY, HAVING and sub-queries are blocked and raise an IllegalFilterException. Use a custom load method through the clm and clmparam parameters when you need more complex selection logic.
If you want people to query SyteLine through these APIs in plain English, read-only and on your own servers, we can build that layer for you.
Related Tools
SyteLine IDO REST Request Generator
Fill in host, configuration, IDO, properties and filter to get ready-to-use REST calls for loading, updating and invoking methods on SyteLine IDOs.
Infor SyteLineSyteLine ION Outbound BOD Reference
Every outbound BOD SyteLine/CSI generates for ION, with verb, noun, the Infor applications Infor lists as receivers and the business area.
Developer ToolsSyteLine Event Action Types Reference
The 26 action types on the SyteLine Event Actions form, with what each does, the parameters that matter and which ones make a handler wait.
Infor SyteLineSyteLine IDO Names Reference
Searchable list of common SyteLine IDO names with the underlying tables, to speed up REST integrations and form work.
More Developer Tools tools
See all- SyteLine SQL Query Generator for Item, Job and Order Tables
- SyteLine SQL Blocking and Long Running Query Script Generator
- SyteLine Custom Table CREATE Script Generator
- SyteLine Mongoose Framework Events Reference
- SyteLine Event Action Parameter Functions Reference
- SyteLine WinStudio Standard Form Events Reference
- SyteLine SQL User-Defined Data Types Reference
- SyteLine IDO Extension Class Method Generator
- SyteLine IDO Custom Load Method Generator
Keep exploring
Free tools
- SyteLine Mongoose Framework Events ReferenceEvery framework event an application event handler can subscribe to in SyteLine 9/10 and CSI on-prem, with when it fires, what it passes and the traps to avoid.
- SyteLine Mongoose .NET Client GeneratorGenerate an external C# program that logs on through the Mongoose .NET client library and loads SyteLine IDO data, with custom load and nested load options.
- SyteLine Mongoose Customization Deployment ChecklistDev to test to production promotion checks for Mongoose forms, IDO metadata, extension class assemblies, SQL objects, events and reports on SyteLine 9 and CSI 10.
ERP fixes and how-tos
- How to change a SyteLine (CSI) passwordHow a user changes a SyteLine / CSI password, how an admin resets it in Mongoose user setup, and what changes with ION SSO or Windows authentication.
- Timed out waiting for response from Mongoose: fixing the request timeoutFix the SyteLine message timed out waiting for response from Mongoose: separate app server, IIS, client and SQL timeouts and tune the one that fires.
- Fixing SyteLine's 'Object reference not set to an instance of an object' errorSyteLine throws 'object reference not set to an instance of an object' when a form or IDO method hits a null value. Here is how to trace it to the field, IDO method or customization that is missing data, with real fixes.
Guides
- How to Set Up SyteLine Mongoose IntegrationGuide to integrating Infor Mongoose framework with SyteLine CloudSuite Industrial. Learn form development, IDO extensions, event scripting, and deployment configuration.
- SyteLine Mongoose: The Framework Behind SyteLine, Explained for DevelopersSyteLine Mongoose is the metadata framework behind Infor SyteLine and CloudSuite Industrial: IDOs, WinStudio forms, application events, and scripting explained.
- SyteLine SDK and API Reference Guide for DevelopersComplete SyteLine SDK and API reference. Mongoose namespaces, IDO runtime APIs, web service endpoints, and developer toolkit for CloudSuite Industrial.