# SyteLine Mongoose API Options Reference

> Source: https://netray.co/tools/syteline-mongoose-api-options-reference
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: Free Tools

## Short answer

A side-by-side reference of the Mongoose interfaces for SyteLine 9/10 and CSI: endpoint, authentication, operations, best use and the traps in each.

## Category

developer

## Erp

Infor SyteLine

## Audience

- Integration developer
- SyteLine developer
- IT architect

## Tool

**Kind:** worksheet

**Mode:** reference

**Columns:**

#### Interface

**Key:** iface

**Type:** text

#### Endpoint or class

**Key:** endpoint

**Type:** text

#### Auth method

**Key:** auth

**Type:** text

#### Operations

**Key:** ops

**Type:** text

#### Best for

**Key:** best

**Type:** text

#### Gotchas

**Key:** gotchas

**Type:** text

#### Version notes

**Key:** version

**Type:** text

**Rows:**

**Iface:** IDO REST v2 load

**Endpoint:** GET /IDORequestService/ido/load/{ido}

**Auth:** Authorization header: Mongoose token from GET /IDORequestService/ido/token/{config}, or OAuth 2.0 bearer through ION API

**Ops:** Query with properties, filter, orderby, recordcap, distinct, clm, clmparam, loadtype (FIRST, NEXT, PREV, LAST), bookmark, pqc, readonly

**Best:** Reading SyteLine data from scripts, BI and middleware

**Gotchas:** recordcap -1 returns 200 rows and 0 returns all; filter allows only GETDATE() and DATEADD(), others raise IllegalFilterException; readonly=True drops _ItemId

**Version:** Current Mongoose REST API; confirm it is enabled on older 9.x installs

**Iface:** IDO REST v2 update and invoke

**Endpoint:** POST /ido/update/{ido} and POST /ido/invoke/{ido}?method=

**Auth:** Same as load

**Ops:** Insert, update and delete rows; call IDO methods

**Best:** Controlled write-back from an integration

**Gotchas:** Updates and deletes need the _ItemId from a load that was not readonly

**Version:** Same service as load

**Iface:** IDO REST v1

**Endpoint:** Endpoint set: LoadCollection, AddItem(s), UpdateItem(s), DeleteItem(s), InvokeMethod, GetSecurityToken, GetConfigurations, FireAESEvent, IDOInfo, UploadDocumentObject

**Auth:** Token from GetSecurityToken

**Ops:** Load, add, update, delete, invoke, fire an AES event, document upload and download

**Best:** Existing integrations built on v1

**Gotchas:** Different URL scheme from v2; confirm the base path on your server before coding

**Version:** Older interface kept for compatibility

**Iface:** SOAP IDO web service

**Endpoint:** CreateSessionToken(strUserId, strPswd, strConfig); LoadDataSet(strSessionToken, strIDOName, strPropertyList, strFilter, strOrderBy, strPostQueryMethod, iRecordCap); SaveDataSet; CallMethod

**Auth:** Session token from CreateSessionToken

**Ops:** Load as DataSet, save DataSet, call methods

**Best:** .NET applications that already consume SOAP

**Gotchas:** LoadDataSet returns a System.Data.DataSet; keep the token and reuse it

**Version:** Long-standing interface on on-prem installs

**Iface:** Mongoose .NET client library

**Endpoint:** new Client(requestServiceURL, IDOProtocol.Http); LoadCollectionRequestData; client.LoadCollection(request); UpdateCollection; Invoke

**Auth:** Session opened through the client

**Ops:** Load, update, invoke with typed request and response objects

**Best:** C# services and tools inside the network

**Gotchas:** Set RecordCap explicitly; wrap Client in using to close it

**Version:** Ships with Mongoose; match the DLL version to the server

**Iface:** ION API gateway

**Endpoint:** IDO REST v2 through the ION API URL from the .ionapi file

**Auth:** OAuth 2.0 using the .ionapi credentials file

**Ops:** Same as IDO REST v2

**Best:** Cloud-ready or Infor OS based integrations

**Gotchas:** Header X-Infor-MongooseConfig is required to name the configuration

**Version:** Requires Infor OS / ION API in your landscape

**Iface:** IDO extension class

**Endpoint:** this.Context.Commands.LoadCollection inside an IDO extension class

**Auth:** Runs in the caller's session

**Ops:** Load, update and invoke other IDOs from server code

**Best:** Logic that must run for every client, including APIs

**Gotchas:** Code is deployed with the IDO; keep it in source control for upgrades

**Version:** Mongoose IDO development

**Iface:** Event system IDO requests

**Endpoint:** Execute IDO Request and Dispatch IDO Request event actions

**Auth:** Event handler context

**Ops:** Run IDO request XML locally or on another site

**Best:** No-code automation triggered by events

**Gotchas:** Parse Dispatch results with Transform XML

**Version:** Application event system

**Iface:** ION BODs

**Endpoint:** Replication Document Outbox and inbound BOD processing

**Auth:** ION connection point

**Ops:** Publish and receive Sync, Process and Acknowledge BODs

**Best:** Event-driven sync with other Infor or third-party apps

**Gotchas:** Outbound documents sit in the outbox until ION collects them

**Version:** Requires ION

**Notes:** 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.

## Content

**Intro:** 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.

**Sections:**

#### How to choose

**Body:** 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.

**Bullets:**

- 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

**Body:** 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

**Body:** 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

**Body:** 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.

**Cta:** 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.

**Faq:**

#### Does Infor Mongoose have a REST API?

**Answer:** 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?

**Answer:** 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?

**Answer:** 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?

**Answer:** 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.

## Search terms

infor mongoose rest api, infor mongoose api, syteline ido, api integration with erp, syteline rest api, syteline ido rest api load collection, mongoose IDO web service, X-Infor-MongooseConfig

---
Talk to an engineer: https://netray.co/contact?intent=erp_ai | Machine catalog: https://netray.co/agent/catalog.json
