API Reference
Every call is a POST to your own Yurbi server. Authenticate with Quickstart to get a session token, then pass it on every other call. New here? Start with the Introduction.
Log in
Authenticate a user and receive a session token. On success the token is in LoginSession.SessionToken and ErrorCode is 0; LoginUser carries the signed-in user's identity, admin flags, and group memberships. On bad credentials the call returns ErrorCode 101 with "Login Failed - Username or Password is invalid." and a null session.
bolForceLogin is legacy — always send true.| UserIdstring | Required | The user's login name. |
| UserPasswordstring | Required | The user's PIN / password. |
| isGuestboolean | Required | Set true only for a guest login; otherwise false. |
| bolForceLoginboolean | Required | Legacy flag — always send true. |
{
"ErrorCode": 0,
"ErrorMessage": "",
"LoginSession": {
"SessionToken": "AZQZDNKTMYOWZ[ZRJTFCGW[FF",
"SessionFlag": 0,
"isGuestSession": false,
"SessionExpir": "2026-06-24T20:26:01.119+00:00"
},
"LoginUser": {
"ID": "1",
"LoginName": "admin",
"FirstName": "Yurbi",
"LastName": "Admin",
"isAdmin": true,
"isSuperAdmin": true
}
}
Check session
Confirm a session token is still valid. Use this before a long-running job, or to decide whether you need to log in again.
| sessionTokenstring | Required | The session token to validate. |
{
"IsValid": true,
"ErrorCode": 0,
"ErrorMessage": null
}
Refresh session
Extend a session token's lifetime without a full re-login. Resets the expiration window so an active integration (like an embedded dashboard) keeps working.
SessionExpir passes, call this to extend it — the pattern the embedding flow uses to keep an iframe signed in.| sessionTokenstring | Required | The session token to extend. |
{
"ErrorCode": 0,
"ErrorMessage": ""
}
Reset session passport
Force the session's passport (its cached permissions) to rebuild. This is not a routine call — it can log the affected user out. Reach for it when you've made a security or role change and need it to take effect immediately, rather than waiting for the user's next login. Returns { ErrorCode, ErrorMessage }; set withReturn false for just the status.
| sessionTokenstring | Required | The session token whose passport should be rebuilt. |
| withReturnboolean | Optional | Return the full passport (true) or just status (false). Usually false. |
{
"ErrorCode": 0,
"ErrorMessage": ""
}
Log out
End a session and release its token. Good hygiene for short-lived sessions created by automation.
| sessionTokenstring | Required | The session token to end. |
{
"ErrorCode": 0,
"ErrorMessage": null
}
New user template
Return a blank user object pre-filled with sensible defaults. The recommended starting point for creating a user — fetch this template, fill in the fields, then post it to SaveContact.
| sessionTokenstring | Required | A valid admin session token. |
{
"ErrorCode": 0,
"ID": null,
"LoginName": "",
"FirstName": "",
"LastName": "",
"AuthType": "PIN",
"twofa": "none",
"SecurityGroups": []
}
Create or update a user
Create a new user, or update an existing one. Send the user inside a user object with ID: null to create, or an existing ID to update. Requires an admin session token.
NewContact first to get a template, fill it in, then post it here. Leave SecurityGroups empty and manage membership with the Group endpoints (AddUser / RemoveUser). After creating the user, you can seed their Favorites with FavDash / ContactFavLibraryReportItem so they see content on first login.| sessionTokenstring | Required | A valid admin session token. |
| user.FirstNamestring | Required | First name. |
| user.LastNamestring | Required | Last name. |
| user.LoginNamestring | Required | The user's login name. |
| user.Pinstring | Required | The user's password. |
| user.AuthTypestring | Required | "PIN" unless using Windows AD authentication. |
| user.timezoneinteger | Required | Numeric timezone offset, e.g. -5. |
| user.timezonenamestring | Required | Timezone name, e.g. "Eastern Standard Time". |
| user.twofastring | Required | "none" unless configuring 2FA. |
| user.SecurityGroupsarray | Required | Leave empty []; manage membership via the Group endpoints. |
| withpinboolean | Required | Send true when the password is supplied in user.Pin. |
{
"ErrorCode": 0,
"ErrorMessage": "",
"ID": "639046099446490166",
"LoginName": "jsmith405",
"FirstName": "Jane",
"LastName": "Smith",
"isAdmin": false
}
Update my profile
Self-service profile update: the signed-in user edits their own first name, last name, email, and description. Unlike SaveContact (an admin editing anyone), this acts on the caller's own record. Read-modify-write — start from the current user object, change the fields, and post the whole thing back. Returns the saved user with ErrorCode 0.
| sessionTokenstring | Required | The signed-in user's session token. |
| userobject | Required | The user's own record with updated fields. |
| withpinboolean | Optional | Whether the payload includes a PIN/password change. Usually false. |
{
"ErrorCode": 0,
"ErrorMessage": "",
"ID": "1001",
"FirstName": "Jordan",
"LastName": "Lee",
"EmailAddress": "jordan@acme.com"
}
List users
Return every user on the instance with profile fields, role flags (isAdmin, isSuperAdmin, isAgent, …), and their SecurityGroups. Find a user's ID here before updating them with SaveContact or adding them to a group.
| sessionTokenstring | Required | A valid admin session token. |
[
{
"ID": "1",
"LoginName": "admin",
"FirstName": "Yurbi",
"LastName": "Admin",
"EmailAddress": "admin@acme.com",
"AuthType": "PIN",
"isAdmin": true,
"isSuperAdmin": true,
"SecurityGroups": [
{
"GroupId": "1",
"GroupName": "Administrators"
}
]
}
]
List groups
Return every security group, each with its GroupId, name, description, role assignments, and Membership (the users in it). Use the GroupId when adding or removing users, or when assigning a group to an AppShield policy.
AddUser / RemoveUser, or confirm a group exists before creating one.| sessionTokenstring | Required | A valid admin session token. |
[
{
"GroupId": "1",
"GroupName": "Administrators",
"GroupDescription": "Yurbi Admins",
"GroupStatus": 0,
"GroupRoles": [],
"Membership": [
{
"ID": "638764569153988232",
"LoginName": "pabbly",
"isAdmin": false
}
]
}
]
New group template
Return a blank security-group object with defaults. The recommended starting point for creating a group — fetch this, set the name, then post it to SaveSecurityGroup.
| sessionTokenstring | Required | A valid admin session token. |
{
"GroupId": null,
"GroupName": "",
"GroupDescription": "",
"GroupStatus": 0,
"AllUsers": [],
"AllRoles": []
}
Create or update a group
Create a security group, or update an existing one. Send GroupId: null to create. For a new group, leave AllUsers and AllRoles empty and add members with AddUser. Updating an existing group this way is not recommended — use AddUser / RemoveUser for membership.
| sessionTokenstring | Required | A valid admin session token. |
| group.GroupNamestring | Required | Name of the security group. |
| group.GroupDescriptionstring | Required | Group description. |
| group.GroupStatusinteger | Required | Legacy field — set to 0. |
| group.AllUsersarray | Required | Leave [] for a new group; populate via AddUser. |
| group.AllRolesarray | Required | Leave [] for a new group; populate via AddUser. |
{
"ErrorCode": 0,
"ErrorMessage": "",
"GroupId": "16",
"GroupName": "Acme — Customer A"
}
Add user to group
Add a user to a security group with a specific role. Roles: 1 Admin (full access), 2 View (read-only), 3 Modify (edit), 4 Delete, 5 Builder (consumes a Builder license); 0 is None. Returns a plain-text result; errors include "GroupId/ContactId/RoleId is required.", "Invalid session.", and "Permission Denied."
| sessionTokenstring | Required | A valid admin session token. |
| GroupIdstring | Required | The group's ID. |
| ContactIdstring | Required | The user's ID (from List users). |
| RoleIdstring | Required | Role to assign: "1" Admin, "2" View, "3" Modify, "4" Delete, "5" Builder. |
"User Added Successfully."
Remove user from group
Remove a user from a security group. Returns a plain-text result — "User Removed Successfully." on success; errors include "GroupId/ContactId is required.", "Invalid session.", and "Permission Denied."
| sessionTokenstring | Required | A valid admin session token. |
| GroupIdstring | Required | The group's ID. |
| ContactIdstring | Required | The user's ID. |
"User Removed Successfully."
List roles
Return the available roles and their IDs. A role controls what a user can do with a group's resources: 0 None, 1 Admin, 2 View, 3 Modify, 4 Delete, 5 Builder (consumes a Builder license).
RoleId when adding a user to a group with AddUser.| sessionTokenstring | Required | A valid admin session token. |
[
{
"RoleId": "0",
"RoleName": "None",
"RoleDescription": "No access to resources within this group"
},
{
"RoleId": "1",
"RoleName": "Admin",
"RoleDescription": "Full access to resources assigned to this group"
},
{
"RoleId": "2",
"RoleName": "View",
"RoleDescription": "Read-only access to resources within this group"
},
{
"RoleId": "5",
"RoleName": "Builder",
"RoleDescription": "Consumes a Builder license type"
}
]
New policy template
Return a blank AppShield policy object with defaults. This does not create anything — it gives you the structure to fill in and post to SaveAppShieldPolicy.
| sessionTokenstring | Required | A valid admin session token. |
{
"id": null,
"Name": "New AppShield Policy",
"Description": "AppShield Policy Created 2016-06-06T21:17:40-04:00",
"Constraints": [],
"Groups": null,
"Users": null,
"isActive": false,
"ErrorCode": 0,
"ErrorMessage": null
}
Create or update a policy
Create a new AppShield policy or update an existing one. Send the policy object (from NewPolicy) with id: null to create, or an existing id to update. With isDeepSave: true, the groups and users arrays are applied to the policy in the same call. Returns the saved policy with ErrorCode / ErrorMessage populated.
AddGroup / RemoveGrp are lighter.| sessionTokenstring | Required | A valid admin session token. |
| policyobject | Required | The policy object (from NewPolicy). id: null creates; existing id updates. |
| isDeepSaveboolean | Required | When true, also apply the groups and users arrays to the policy. |
| groupsarray | Optional | List of group IDs to assign to the policy (with isDeepSave). |
| usersarray | Optional | List of user IDs to assign to the policy (with isDeepSave). |
{
"id": "636129983109455587",
"Name": "New AppShield Policy",
"ErrorCode": "0",
"ErrorMessage": "",
"isActive": false,
"Groups": [
{
"GroupId": "16"
},
{
"GroupId": "11"
}
],
"Users": [
{
"ID": "635055077867776462"
},
{
"ID": "635176414815914719"
}
]
}
Add group to policy
Attach a security group to an AppShield data-security policy. Requires a valid admin session; the policy and group must already exist. Returns plain text: Success, or Group is already a member if it was already attached. Errors: "Group not found.", "Policy not found.", "Invalid Session.", "GroupId is required.", "policyid is required.", "Permission Denied."
| sessionTokenstring | Required | A valid admin session token. |
| policyidstring | Required | ID of the AppShield policy. Must exist. |
| groupidstring | Required | ID of the security group to add. Must exist. |
"Success"
Remove group from policy
Detach a security group from an AppShield data-security policy. Requires a valid admin session; the policy and group must exist. Returns plain text: Success, or No Changes if the group was not attached to the policy. Errors: "Group not found.", "Policy not found.", "Invalid Session.", "GroupId is required.", "policyid is required.", "Permission Denied."
| sessionTokenstring | Required | A valid admin session token. |
| policyidstring | Required | ID of the AppShield policy. Must exist. |
| groupidstring | Required | ID of the security group to remove. Must exist. |
"Success"
List apps
Return every application (app) defined on the instance, with its ID and name. Use the IDs when granting a user access in SaveContact.
| sessionTokenstring | Required | A valid session token. |
[
{
"ID": "52",
"Name": "Yurbi v10"
},
{
"ID": "61",
"Name": "Sales Reporting"
}
]
List registered servers
Return the registered server (data source) records an admin can manage — including database host, name, and the linked report module. This is the record you edit, then save back with SaveRegSrv.
| sessionTokenstring | Required | A valid admin session token. |
[
{
"ID": "1",
"DatabaseServer": "db.internal",
"AppName": "Audit App",
"ReportModule": {
"ID": "52",
"Name": "Yurbi v10"
}
}
]
Create an AnyDB module
Create an AnyDB application module — the container a data source attaches to. Anything a partner registers is an AnyDB module. This is step one of provisioning a data source: create the module here (it returns an ID and a ModuleType like anydb1004), then register the database server against it with SaveRegSrv.
SaveRegSrv to attach their database connection.| sessionTokenstring | Required | A valid admin session token. |
| appnamestring | Required | Display name for the new module. |
| descriptionstring | Required | Description of the module. |
{
"ErrorCode": 0,
"ErrorMessage": null,
"ID": "1004",
"Name": "Acme Sales DB",
"RPT": "Yurbi.RptModules.AnyDB",
"ModuleType": "anydb1004",
"ClassPath": "AnyDB",
"ProductCode": "ANYDB",
"isAnyDbApp": true
}
Register a data source
Register (or update) the database server behind an AnyDB module — the connection Yurbi reports against. This is the second step of data-source provisioning: after InsertAnyDbModule creates the module, assemble a regserver (connection details + the module as ReportModule) and save it here. Send bsaveasanydb false for the standard path. Get a blank template from NewRegServer, and validate first with TestConnection. Returns the full saved server with a new ID and ErrorCode 0 (the password is blanked out on return).
| sessionTokenstring | Required | A valid admin session token. |
| regserverobject | Required | The full server definition: ReportModule (from InsertAnyDbModule), DisplayName, DatabaseDriver, DatabasePlatform, DatabaseServer, DatabaseLogin, DatabasePassword, DatabaseName, DatabaseOwner, ConnectionTimeout, CommandTimeout, TimeZone, DaylightSavings. |
| bsaveasanydbboolean | Optional | Save as an AnyDB registration. Send false for the standard path (the module is already AnyDB). |
{
"ErrorCode": 0,
"ErrorMessage": "",
"ID": "178226433293",
"ReportModule": {
"ID": "1005",
"ModuleType": "anydb1005",
"isAnyDbApp": true
},
"ModuleType": "anydb1005",
"DisplayName": "Acme Sales DB",
"DatabaseServer": "db.acme.com",
"DatabaseLogin": "reporting",
"DatabasePassword": "",
"DatabaseDriver": "POSTGRESQL",
"DatabasePlatform": "postgresql"
}
Test a connection
Validate a database connection before saving it. Send the assembled regserver object; returns the plain string "Passed" on success, or "Test Failed - …" with the reason. The driver/platform values must match Yurbi's expected casing (e.g. DatabaseDriver "POSTGRESQL", DatabasePlatform "postgresql"; "MSSQL"/"mssql" for SQL Server).
SaveRegSrv so you only persist a connection that actually works — surface the failure message to the user if it doesn't.| sessionTokenstring | Required | A valid admin session token. |
| regserverobject | Required | The server definition to test (same shape SaveRegSrv expects). |
"Passed"
List items in a folder
Return every library item (report or dashboard) inside a folder that the user can view. Each item has its id, name, type, and the user's permission flags — same item shape as SearchReports. Empty if nothing matches.
GetAllLibraryTree to find folder IDs) to get a report or dashboard id — the value you run or embed. itemtype: 0 Dashboard, 1 grid, 2 chart, 3 KPI text, 4 KPI gauge, 6 pie, 7 combo.| sessionTokenstring | Required | A valid session token. |
| LibraryIDstring | Required | The folder ID to list items from (from GetAllLibraryTree). |
[
{
"id": 1738259678,
"ReportName": "# of Tickets by Channel",
"AppDisplayName": "Service Desk Tickets",
"folderid": 2,
"itemtype": 2,
"isEmbedable": true,
"isUserView": true,
"error_code": 0,
"error_message": null
}
]
Get library tree
Return the full folder tree of the library as nested nodes. Each node has an id, text (folder name), a children array, and the current user's permission flags. libtype marks the branch: 1 Public Library, 2 My Library, 0 Favorites (included when includefav is true).
GetListByFolderID to list the reports and dashboards inside a chosen folder.| sessionTokenstring | Required | A valid session token. |
| includefavboolean | Required | Include the user's Favorites branch (libtype 0). |
[
{
"rootnode": {
"id": 0,
"text": "Public Library",
"libtype": 1,
"isUserAdmin": true,
"children": [
{
"id": 2,
"text": "Service Desk Reports",
"level": "0",
"libtype": 1,
"children": [
{
"id": 3,
"text": "Target Reports",
"level": "2:3",
"libtype": 1,
"children": []
}
]
}
]
}
}
]
Search reports & dashboards
Return every library item (report or dashboard) whose name matches a search string and that the user can view. Each item includes its id, name, type, folder, permission flags, and itemtype. Empty if nothing matches.
id — the value you run with GetReportMetadataById or embed. itemtype: 0 Dashboard, 1 grid, 2 chart, 3 KPI text, 4 KPI gauge, 6 pie, 7 combo.| sessionTokenstring | Required | A valid session token. |
| searchstringstring | Required | Text to match against item names. |
[
{
"id": 1738259678,
"ReportName": "# of Tickets by Channel",
"ReportType": "Service Data",
"AppDisplayName": "Service Desk Tickets",
"Application": "Service Desk Tickets",
"folderid": 2,
"itemtype": 2,
"isUserView": true,
"isUserModify": true,
"isEmbedable": true,
"isPublicView": false,
"isFav": false,
"error_code": 0,
"error_message": null
}
]
Search dashboards
Return a lightweight list of dashboards whose name matches a search string and that the user can view — id, name, description, favorite and personal flags. Empty if nothing matches.
id by name — the value you pass as i= in an embed.html?t=d URL.| sessionTokenstring | Required | A valid session token. |
| searchstring | Required | Text to match against dashboard names. |
[
{
"id": 4,
"name": "Service Desk Status",
"descr": "Service Desk Status",
"weight": 0,
"isFav": 0,
"isPersonal": 0
},
{
"id": 18,
"name": "Sales Overview",
"descr": "Sales",
"weight": 2,
"isFav": 1,
"isPersonal": 1
}
]
Favorite a dashboard
Add a dashboard to a user's Favorites. As an admin, pass the target user's ID as cnt_id to set it on their behalf; omit cnt_id to apply to your own session. Note the dashboard calls use dsh_id / cnt_id (the report favorites calls use ReportId / ContactId).
| sessionTokenstring | Required | A valid session token (admin, if setting it for another user). |
| dsh_idstring | Required | The dashboard's ID (from SearchDashboardList). |
| cnt_idstring | Optional | The target user's ID. Omit to favorite for your own session. |
0
Unfavorite a dashboard
Remove a dashboard from a user's Favorites. Pass cnt_id (admin) to act on another user, or omit it to act on your own session. Uses dsh_id / cnt_id.
| sessionTokenstring | Required | A valid session token (admin, if acting for another user). |
| dsh_idstring | Required | The dashboard's ID. |
| cnt_idstring | Optional | The target user's ID. Omit to act on your own session. |
1
Favorite a report
Add a report to a user's Favorites. As an admin you can favorite on another user's behalf by passing their ContactId; omit it and it applies to your own session.
| sessionTokenstring | Required | A valid session token (admin, if setting it for another user). |
| ReportIdstring | Required | The report's ID (from the Library calls). |
| ContactIdstring | Optional | The target user's ID. Omit to favorite for your own session. |
0
Unfavorite a report
Remove a report from a user's Favorites. Pass a ContactId (admin) to act on another user, or omit it to act on your own session.
| sessionTokenstring | Required | A valid session token (admin, if acting for another user). |
| ReportIdstring | Required | The report's ID. |
| ContactIdstring | Optional | The target user's ID. Omit to act on your own session. |
0
Get report metadata
Load a report's full definition (the Reportobj) by ID. The response is a large object whose main content is under Report — fields, chart formatting, sort order — alongside a Prompts array. This is step one of running a report: get the metadata, optionally set prompt values, then call GetReportData. Pass the whole object through unchanged.
Prompts array feeds GetFieldValues and ReplacePromptCollection.| sessionTokenstring | Required | A valid session token. |
| ReportIDstring | Required | The ID of the report to load (from the Library calls). |
| isTargetboolean | Optional | Whether this is a drill-down target report. Defaults to false. |
| PreviousMetadataobject | Optional | Prior metadata for chained calls; null on first load. |
| Criteriaobject | Optional | Pre-applied criteria; null on first load. |
{
"Report": {
"ReportID": "1738259678",
"Reportname": "# of Tickets by Channel",
"ModuleName": "Service Desk Tickets",
"ErrorCode": 0,
"ErrorMessage": "",
"FieldList": [
{
"fieldindex": 1,
"ReportFieldName": "Customer",
"Fieldtype": "cha",
"Criteria": []
},
{
"fieldindex": 2,
"ReportFieldName": "Ticket ID",
"Fieldtype": "num",
"Formula": "COUNT(?)",
"Criteria": []
}
]
},
"Prompts": []
}
Get prompt values
For a prompted report, return the list of selectable values for one prompt as { key, val } pairs. Pass the report metadata (Reportobj from GetReportMetadataById) and the prompt you're populating (one element of Reportobj.Prompts with PromptField.Criteria[0].bgetvalues set to true). A single result whose key is "1001" means the value list is too large — treat the prompt as free text/search.
key is what you show; val is what you submit.| sessionTokenstring | Required | A valid session token. |
| Reportobjobject | Required | The report metadata object (from GetReportMetadataById). |
| Promptobject | Required | The prompt to fetch values for (one of Reportobj.Prompts). |
[
{
"key": "Email",
"val": "Email"
},
{
"key": "Phone Call",
"val": "Phone Call"
},
{
"key": "Social Media",
"val": "Social Media"
}
]
Set a report prompt
Apply a prompt value to a report and get back an updated Reportobj with the criteria injected in the format the engine expects. Call once per prompt before GetReportData.
| sessionTokenstring | Required | A valid session token. |
| Reportobjobject | Required | The report metadata object (from GetReportMetadataById). |
| Promptobject | Required | The prompt to set, typically one element of Reportobj.Prompts with its value filled in. |
{
"Report": {
"ReportID": "1738259678",
"ErrorCode": 0,
"ErrorMessage": ""
},
"Prompts": [
{
"Name": "Region",
"Value": "West"
}
]
}
Set prompts (batch)
Apply several prompt values at once and get back an updated Reportobj ready to run. This is the batch version of ReplacePrompt — the embed flow uses it when a set of prompt values is supplied up front. Each element of Prompts is a prompt with its value (and optional isSkipped) set.
GetReportData — fewer round-trips than replacing prompts individually.| sessionTokenstring | Required | A valid session token. |
| Reportobjobject | Required | The report metadata object (from GetReportMetadataById). |
| Promptsarray | Required | The full Prompts array with values/isSkipped applied. |
{
"Report": {
"ReportID": "1738259678",
"ErrorCode": 0,
"ErrorMessage": ""
},
"Prompts": []
}
Run a report
Execute a report and return its data. Pass the Reportobj from GetReportMetadataById (after applying any prompts). The rows are in Data (one object per row, keyed by field), with Columns describing each column. String cells may contain drill-down markup; ContainsDrilldown flags that. The full metadata is echoed back under ReportMetadata.
Data + Columns to render a table or chart in your own UI.| sessionTokenstring | Required | A valid session token. |
| Reportobjobject | Required | The prepared report metadata object. |
| IsDrillDownboolean | Optional | Whether this is a drill-down run. Defaults to false. |
| DrillDownCriteriaobject | Optional | Criteria for a drill-down; null otherwise. |
| TargetReportobjobject | Optional | Target report for a drill-down; null otherwise. |
{
"ErrorCode": 0,
"ErrorMessage": "",
"HasError": false,
"ReportID": "1738259678",
"Columns": [
{
"headerText": "# of Tickets",
"key": "Ticket_ID",
"dataType": "number",
"yurbitype": "num"
},
{
"headerText": "Channel",
"key": "Channel",
"dataType": "string",
"yurbitype": "ddn"
}
],
"Data": [
{
"Ticket_ID": 1704,
"Channel": "Social Media"
},
{
"Ticket_ID": 905,
"Channel": "WebForm"
}
],
"ContainsDrilldown": true,
"IsFromCache": false
}
Get SMTP settings
Return the instance's outbound email (SMTP) configuration — host, port, from address, security, and credentials (the password is returned blank). SMTPRequiredSecurity and SMTPEnableSSL are the strings "True" / "False". This is the record you edit and post back with SaveSMTP, and it carries the SMTPId needed by DeleteSMTP.
| sessionTokenstring | Required | A valid admin session token. |
{
"ErrorCode": 0,
"ErrorMessage": null,
"SMTPId": "178114386851",
"SMTPHost": "smtp.acme.com",
"SMTPPort": "587",
"SMTPFromAddress": "notifications@acme.com",
"SMTPRequiredSecurity": "True",
"SMTPUserName": "notifications@acme.com",
"SMTPPassword": "",
"SMTPEnableSSL": "True"
}
Save SMTP settings
Save the outbound email (SMTP) configuration. Send the full smtp object — fetch the current one with GetSMTP first, change what you need, and post it back. Send SMTPRequiredSecurity and SMTPEnableSSL as the strings "True" / "False".
| sessionTokenstring | Required | A valid admin session token. |
| smtpobject | Required | The SMTP settings: SMTPHost, SMTPPort, SMTPFromAddress, SMTPRequiredSecurity, SMTPUserName, SMTPPassword, SMTPEnableSSL. |
{
"ErrorCode": 0,
"ErrorMessage": null,
"SMTPId": "178114386851"
}
Delete SMTP settings
Remove the configured SMTP settings. Pass the smtp object returned by GetSMTP (it carries the SMTPId that identifies the record to delete).
GetSMTP first — if there's no SMTPId, nothing is configured and there's nothing to delete.| sessionTokenstring | Required | A valid admin session token. |
| smtpobject | Required | The SMTP record to delete, including its SMTPId (from GetSMTP). |
{
"ErrorCode": 0,
"ErrorMessage": null
}
Get instance settings
Return the instance-wide settings object — session timeout, the query row cap (MaxRecords), SSO flags, tenant mode, scheduler mode, and more. Note many boolean settings come back as the strings "True" / "False", while numeric settings (e.g. MaxRecords, SESSION_TIMEOUT) are integers. This is the record you edit and post back with SaveAppSettings.
SaveAppSettings replaces the whole record, so fetch it here first and change only the fields you need.| sessionTokenstring | Required | A valid admin session token. |
{
"SESSION_TIMEOUT": 1200,
"PROMPT_VALUES_LIMIT": 10000,
"MaxRecords": 100000,
"SchedulerMode": 1,
"SSOEnabled": "True",
"SSOHeader": "ssoTest",
"TENANT_MODE_ENABLED": "True",
"Productname": "Yurbi"
}
Save instance settings
Save the instance-wide settings. The API replaces the full record, so fetch it with GetAppSettings first, change the fields you need, and post the complete object back inside appsettings. Keep the original types — numeric fields as numbers, the "True"/"False" string flags as strings.
MaxRecords / SESSION_TIMEOUT, save.| sessionTokenstring | Required | A valid admin session token. |
| appsettingsobject | Required | The full settings object to save (from GetAppSettings, modified). |
{
"ErrorCode": 0,
"ErrorMessage": ""
}
Get audit types
Return the list of audit event types and their retention. Each entry has an ID, a numeric type, a symbol (the event name, e.g. "Login Success"), recorded, and retention (days). This is the same array you edit and post back to SaveAuditTypes.
| sessionTokenstring | Required | A valid admin session token. |
[
{
"ID": 1,
"type": 0,
"symbol": "Login Success",
"recorded": -1,
"retention": 30,
"options": ""
},
{
"ID": 2,
"type": 1,
"symbol": "Login Failure",
"recorded": -1,
"retention": 120,
"options": ""
}
]
Save audit types
Save audit event types and their retention. Send the full list in AuditTypeList — fetch it with GetAuditTypes first, adjust retention (days) on the entries you want, and post the complete array back.
retention per type, save the whole list back.| sessionTokenstring | Required | A valid admin session token. |
| AuditTypeListarray | Required | The full list of audit type objects (from GetAuditTypes), modified. |
{
"ErrorCode": 0,
"ErrorMessage": ""
}
Refresh licenses
Tell the instance to re-read its installed licenses. Run this after a license change so the server picks up new entitlements without a restart.
| sessionTokenstring | Required | A valid admin session token. |
{
"Refreshed": true,
"ErrorCode": 0,
"ErrorMessage": null
}
Get installation ID
Return this instance's unique installation ID. This identifier ties the running instance to its license.
| sessionTokenstring | Required | A valid admin session token. |
{
"InstallationID": "a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"ErrorCode": 0,
"ErrorMessage": null
}