/infor-syteline | Type: Application | PCID required: Yes
Application MCP Servers
infor-syteline
SyteLine ERP (Mongoose REST APIs)
Server path:
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
SyteLine ERP (Mongoose REST APIs)
/infor-syteline | Type: Application | PCID required: Yes
| Tool | Description |
|---|---|
infor-syteline_add_item | Insert one record into an IDO collection (a simpler alternative to the bulk update tool for single-record inserts). Call infor-syteline_get_ido_info(ido) first to learn the exact property names and which are required, then provide the new record’s properties as Name/Value pairs using those names VERBATIM — a Property whose Name is not a real property of the IDO fails the whole call. Requires Edit/Insert privileges on the IDO in the target configuration. HTTP status is 200 even for logical failures — check MessageCode/Message. |
infor-syteline_delete_item | Deletes one record from an IDO collection by its ItemId (returned by infor-syteline_load_collection). Requires Delete privileges on the IDO in the target configuration. HTTP status is 200 even for logical failures — check MessageCode/Message. |
infor-syteline_get_ido_info | Discover an IDO’s schema BEFORE querying or modifying it: returns each property’s name, data type, length, required/read-only flags, the IDO’s key properties (Keys), and subcollections. ALWAYS call this first for any IDO you have not already inspected, and copy property and key names VERBATIM into load/filter/update calls — those operations fail if you pass a name that is not an exact property of the IDO. Important nuances: (a) Keys are the primary-key structure (best as filter criteria) and are not guaranteed to be fetchable column names; (b) not every listed property is queryable in load_collection — derived/computed properties (names starting with Der) and some internal fields fail in a properties list, so prefer plain stored fields; (c) property names vary by SyteLine customization, so never assume names — read them here. Read the actual Keys from this response; do not reuse remembered key names (they vary by IDO, tenant, and version). Works without IDO Read data privileges. Note: there is no API to LIST the available IDOs — the IDO name itself must already be known. |
infor-syteline_invoke_ido_method | Invokes a named method on an IDO (business logic such as posting, validation, or document generation). Use the exact IDO and method names (method names are case-sensitive; call infor-syteline_get_ido_info if unsure of the IDO). The request body is a JSON array of parameter values in positional order (use an empty string for output-only parameters); output parameters come back in the response’s Parameters array. Method execution may modify ERP data — treat as a write operation. HTTP status is 200 even for logical failures — always check the Success field. |
infor-syteline_list_configurations | Returns the list of SyteLine configurations (sites/databases) available on the server. This is the only operation that does not require the X-Infor-MongooseConfig header, and it needs no IDO privileges — useful as a connectivity check and to discover valid values for the connection’s SyteLine Configuration field. |
infor-syteline_load_collection | Query records from a SyteLine IDO collection (a SQL-backed, table-like view). ALWAYS call infor-syteline_get_ido_info(ido) first to discover exact property names and Keys, then query here. CRITICAL behaviors: (1) SILENT FAILURE on bad property names: if ANY name in properties, filter, or orderBy is not a queryable property of the IDO, the ENTIRE query fails — typically Success=false with Message=null (no indication of WHICH name is wrong), or zero Items; never a partial result. Copy names verbatim from get_ido_info, never guess, and if a multi-property query fails, re-test the properties one at a time (a single bad property returns a clear ‘Property X not found on <IDO>’ message) to find the culprit. (2) Not every property from get_ido_info is queryable here: derived/computed properties (names starting with Der) and some internal fields cannot be requested in the properties list and will fail the query — prefer plain stored fields. (3) Keys vs. fetchable fields: the Keys from get_ido_info are the primary-key structure (best used as filter criteria), not a guarantee of a fetchable column; property names also differ from intuition (e.g. CoLine, not CoLineNum). (4) Do NOT use properties='' on large IDOs — many have hundreds of properties (SLItems ~615, SLCos ~442) and '' over thousands of rows times out (HTTP 504). Request only the specific properties you need. (5) Always set a small recordCap (e.g. 50-200) when exploring or building a report; the Mongoose default can return very large result sets and time out. (6) Pagination: results come back in the Items array (NOT ‘Records’). If MoreRowsExist=true, call again with loadType=‘NEXT’ and bookmark set to the Bookmark from the previous response; repeat until MoreRowsExist=false. (7) HTTP status is 200 even for logical failures — always check Success (a privilege failure names the exact IDO needing a Read grant). There is no API to list IDOs, and IDO/field names vary by SyteLine customization (a site may expose names like STI_SLCos) — always rely on get_ido_info rather than assumed names. Standard IDOs: SLItems (items/products), SLCustomers (customers), SLCos (customer orders), SLCoitems (order lines), SLPos (purchase orders), SLPoitems (PO lines), SLItemlocs/SLItemwhses (inventory), UserNames (users). |
infor-syteline_update_collection | Insert, update, or delete one or more records in an IDO collection in a single batch. Each change specifies an Action (1=insert, 2=update, 4=delete), the ItemId for update/delete (returned by load_collection), and the modified Properties. Call infor-syteline_get_ido_info(ido) first for the exact property names and Keys, and use property names VERBATIM — a Property whose Name is not a real property of the IDO fails the whole call. Requires Edit privileges on the IDO in the target configuration. HTTP status is 200 even for logical failures — always check Success. |
infor-syteline_update_item | Update one record in an IDO collection (a simpler alternative to the bulk update tool for single-record edits). Requires the record’s ItemId (returned by load_collection) and the changed properties as Name/Value pairs with Modified set true, using exact property names from infor-syteline_get_ido_info — a Property whose Name is not a real property of the IDO fails the whole call. Requires Edit privileges on the IDO in the target configuration. HTTP status is 200 even for logical failures — check MessageCode/Message. |
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
ido | string | Yes | — | IDO name (e.g. SLItems, SLCustomers) |
Action | integer | Yes | — | Must be 1 (insert) |
Properties | object[] | Yes | — | New record’s property values |
UpdateLocking | string | No | — | Optimistic-locking mode (default Row) |
Show inputSchema
{
"type": "object",
"properties": {
"PCID": {
"type": "string",
"description": "Pink Connect ID for the authenticated connection"
},
"ido": {
"type": "string",
"description": "IDO name (e.g. SLItems, SLCustomers)"
},
"Action": {
"type": "integer",
"description": "Must be 1 (insert)",
"enum": [
1
]
},
"Properties": {
"type": "array",
"items": {
"type": "object",
"properties": {
"Name": {
"type": "string",
"description": "Property (field) name"
},
"Value": {
"type": "string",
"description": "Property value (string-encoded)"
},
"OriginalValue": {
"type": "string",
"description": "Prior value, for concurrency checking on updates"
},
"IsNull": {
"type": "boolean",
"description": "Set true to write NULL"
},
"Modified": {
"type": "boolean",
"description": "Set true on properties you are changing (updates)"
}
},
"required": [
"Name"
]
},
"description": "New record's property values"
},
"UpdateLocking": {
"type": "string",
"description": "Optimistic-locking mode (default Row)",
"enum": [
"Row",
"Property"
]
}
},
"required": [
"PCID",
"ido",
"Action",
"Properties"
]
}
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
ido | string | Yes | — | IDO name (e.g. SLItems, SLCustomers) |
itemId | string | Yes | — | Record identity from the load tool (_ItemId) |
Show inputSchema
{
"type": "object",
"properties": {
"PCID": {
"type": "string",
"description": "Pink Connect ID for the authenticated connection"
},
"ido": {
"type": "string",
"description": "IDO name (e.g. SLItems, SLCustomers)"
},
"itemId": {
"type": "string",
"description": "Record identity from the load tool (_ItemId)"
}
},
"required": [
"PCID",
"ido",
"itemId"
]
}
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
ido | string | Yes | — | IDO name (e.g. SLItems, SLCustomers, UserNames) |
Show inputSchema
{
"type": "object",
"properties": {
"PCID": {
"type": "string",
"description": "Pink Connect ID for the authenticated connection"
},
"ido": {
"type": "string",
"description": "IDO name (e.g. SLItems, SLCustomers, UserNames)"
}
},
"required": [
"PCID",
"ido"
]
}
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
ido | string | Yes | — | IDO name the method belongs to |
method | string | Yes | — | IDO method name to invoke |
body | string[] | Yes | — | Method parameter values in positional order (use empty string for output-only parameters) |
Show inputSchema
{
"type": "object",
"properties": {
"PCID": {
"type": "string",
"description": "Pink Connect ID for the authenticated connection"
},
"ido": {
"type": "string",
"description": "IDO name the method belongs to"
},
"method": {
"type": "string",
"description": "IDO method name to invoke"
},
"body": {
"type": "array",
"items": {
"type": "string"
},
"description": "Method parameter values in positional order (use empty string for output-only parameters)"
}
},
"required": [
"PCID",
"ido",
"method",
"body"
]
}
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
configGroup | string | No | — | Configuration group name. Use to list only the members of the specified configuration group. |
Show inputSchema
{
"type": "object",
"properties": {
"PCID": {
"type": "string",
"description": "Pink Connect ID for the authenticated connection"
},
"configGroup": {
"type": "string",
"description": "Configuration group name. Use to list only the members of the specified configuration group."
}
},
"required": [
"PCID"
]
}
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
ido | string | Yes | — | IDO name (e.g. SLItems, SLCustomers, UserNames) |
properties | string | Yes | — | Comma-delimited list of EXACT property names to return (from get_ido_info). A name that is not a queryable property fails the WHOLE query — usually Success=false with Message=null (no hint which name is wrong), so never guess; if it fails, re-test names one at a time. Derived/computed properties (names starting with Der) and some internal fields are not queryable here. Avoid ’*’ on large IDOs (hundreds of properties cause an HTTP 504 timeout); request only what you need. Example: ‘Item,Description,UnitCost’ |
filter | string | No | — | SQL WHERE clause WITHOUT the WHERE keyword. Reference only real property names (from get_ido_info); single-quote string literals. An unknown field name fails the whole query, often with Message=null. Example: Item LIKE ‘ABC%’ or CustNum = ‘1001’ |
orderBy | string | No | — | SQL ORDER BY value. Example: ‘Item DESC’ |
recordCap | integer | No | — | Row cap. ALWAYS set a small value (e.g. 50-200) when exploring or building a report — the Mongoose default can return very large result sets and time out (HTTP 504). -1 = Mongoose default; 0 = unlimited. |
distinct | boolean | No | — | Apply the SQL DISTINCT keyword |
clm | string | No | — | Custom Load Method name |
clmParam | string | No | — | Comma-separated Custom Load Method parameters |
loadType | string | No | — | Load type for paged reads |
bookmark | string | No | — | Pagination cursor (Bookmark) returned by a previous load; combine with loadType=NEXT |
pqc | string | No | — | Post Query Command name |
readOnly | boolean | No | — | If true, no ItemId is returned with the query |
Show inputSchema
{
"type": "object",
"properties": {
"PCID": {
"type": "string",
"description": "Pink Connect ID for the authenticated connection"
},
"ido": {
"type": "string",
"description": "IDO name (e.g. SLItems, SLCustomers, UserNames)"
},
"properties": {
"type": "string",
"description": "Comma-delimited list of EXACT property names to return (from get_ido_info). A name that is not a queryable property fails the WHOLE query — usually Success=false with Message=null (no hint which name is wrong), so never guess; if it fails, re-test names one at a time. Derived/computed properties (names starting with Der) and some internal fields are not queryable here. Avoid '*' on large IDOs (hundreds of properties cause an HTTP 504 timeout); request only what you need. Example: 'Item,Description,UnitCost'"
},
"filter": {
"type": "string",
"description": "SQL WHERE clause WITHOUT the WHERE keyword. Reference only real property names (from get_ido_info); single-quote string literals. An unknown field name fails the whole query, often with Message=null. Example: Item LIKE 'ABC%' or CustNum = '1001'"
},
"orderBy": {
"type": "string",
"description": "SQL ORDER BY value. Example: 'Item DESC'"
},
"recordCap": {
"type": "integer",
"description": "Row cap. ALWAYS set a small value (e.g. 50-200) when exploring or building a report — the Mongoose default can return very large result sets and time out (HTTP 504). -1 = Mongoose default; 0 = unlimited."
},
"distinct": {
"type": "boolean",
"description": "Apply the SQL DISTINCT keyword"
},
"clm": {
"type": "string",
"description": "Custom Load Method name"
},
"clmParam": {
"type": "string",
"description": "Comma-separated Custom Load Method parameters"
},
"loadType": {
"type": "string",
"description": "Load type for paged reads",
"enum": [
"FIRST",
"NEXT",
"PREVIOUS",
"LAST"
]
},
"bookmark": {
"type": "string",
"description": "Pagination cursor (Bookmark) returned by a previous load; combine with loadType=NEXT"
},
"pqc": {
"type": "string",
"description": "Post Query Command name"
},
"readOnly": {
"type": "boolean",
"description": "If true, no ItemId is returned with the query"
}
},
"required": [
"PCID",
"ido",
"properties"
]
}
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
ido | string | Yes | — | IDO name |
refresh | boolean | No | — | Refresh after update flag — returns the saved records in RefreshItems |
Changes | object[] | No | — | Record changes to apply |
CustomDelete | string | No | — | Custom delete method name (optional) |
CustomInsert | string | No | — | Custom insert method name (optional) |
CustomUpdate | string | No | — | Custom update method name (optional) |
IDOName | string | No | — | IDO name (same as the path parameter) |
RefreshAfterSave | boolean | No | — | Return saved records after the update |
Show inputSchema
{
"type": "object",
"properties": {
"PCID": {
"type": "string",
"description": "Pink Connect ID for the authenticated connection"
},
"ido": {
"type": "string",
"description": "IDO name"
},
"refresh": {
"type": "boolean",
"description": "Refresh after update flag — returns the saved records in RefreshItems"
},
"Changes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"Action": {
"type": "integer",
"description": "1=insert, 2=update, 4=delete"
},
"ItemId": {
"type": "string",
"description": "Record identity from a prior load (required for update/delete)"
},
"ItemNo": {
"type": "integer",
"description": "Client-assigned sequence number for correlating results"
},
"UpdateLocking": {
"type": "integer",
"description": "Optimistic-locking mode (0 = default)"
},
"Properties": {
"type": "array",
"items": {
"type": "object",
"properties": {
"Name": {
"type": "string"
},
"Value": {
"type": "string"
},
"OriginalValue": {
"type": "string",
"description": "Prior value, for concurrency checking on updates"
},
"IsNull": {
"type": "boolean"
},
"Modified": {
"type": "boolean"
}
}
},
"description": "Property values to set"
}
}
},
"description": "Record changes to apply"
},
"CustomDelete": {
"type": "string",
"description": "Custom delete method name (optional)"
},
"CustomInsert": {
"type": "string",
"description": "Custom insert method name (optional)"
},
"CustomUpdate": {
"type": "string",
"description": "Custom update method name (optional)"
},
"IDOName": {
"type": "string",
"description": "IDO name (same as the path parameter)"
},
"RefreshAfterSave": {
"type": "boolean",
"description": "Return saved records after the update"
}
},
"required": [
"PCID",
"ido"
]
}
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
ido | string | Yes | — | IDO name (e.g. SLItems, SLCustomers) |
Action | integer | Yes | — | Must be 2 (update) |
ItemId | string | Yes | — | Record identity from the load tool (_ItemId) |
Properties | object[] | Yes | — | Changed property values (set Modified: true) |
UpdateLocking | string | No | — | Optimistic-locking mode (default Row) |
Show inputSchema
{
"type": "object",
"properties": {
"PCID": {
"type": "string",
"description": "Pink Connect ID for the authenticated connection"
},
"ido": {
"type": "string",
"description": "IDO name (e.g. SLItems, SLCustomers)"
},
"Action": {
"type": "integer",
"description": "Must be 2 (update)",
"enum": [
2
]
},
"ItemId": {
"type": "string",
"description": "Record identity from the load tool (_ItemId)"
},
"Properties": {
"type": "array",
"items": {
"type": "object",
"properties": {
"Name": {
"type": "string",
"description": "Property (field) name"
},
"Value": {
"type": "string",
"description": "Property value (string-encoded)"
},
"OriginalValue": {
"type": "string",
"description": "Prior value, for concurrency checking on updates"
},
"IsNull": {
"type": "boolean",
"description": "Set true to write NULL"
},
"Modified": {
"type": "boolean",
"description": "Set true on properties you are changing (updates)"
}
},
"required": [
"Name"
]
},
"description": "Changed property values (set Modified: true)"
},
"UpdateLocking": {
"type": "string",
"description": "Optimistic-locking mode (default Row)",
"enum": [
"Row",
"Property"
]
}
},
"required": [
"PCID",
"ido",
"Action",
"ItemId",
"Properties"
]
}
