Yurbi API Reference
The Yurbi API is JSON over HTTPS. Every call is a POST to your own Yurbi server. Authenticate once with Log in to get a session token, then pass that token on every other call. No data leaves your servers.
Log in
Authenticate a user and receive a session token. On success the token is in LoginSession.SessionToken and ErrorCode is 0. On bad credentials the call returns ErrorCode 101 with message "Login Failed - Username or Password is invalid." and a null LoginSession.
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": "ZJDWEGWKNWMBINE[W[RPBTGBO",
"SessionFlag": 0,
"isGuestSession": false,
"SessionExpir": "2025-09-02T13:27:43.382837-04:00"
}
}
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
}
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).| 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
}
List users
Return every user on the instance, with profile and role flags (LoginName, EmailAddress, isAdmin, and more). Find a user's ID here before updating them with SaveContact.
| sessionTokenstring | Required | A valid admin session token. |
[
{
"ID": "482",
"LoginName": "jdoe",
"EmailAddress": "jdoe@acme.com",
"isAdmin": true
},
{
"ID": "483",
"LoginName": "msmith",
"EmailAddress": "msmith@acme.com",
"isAdmin": false
}
]
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. 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. |
"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."
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"
}
}
]
Update an app
Save a registered server record. The API replaces the full record, so fetch it with GetAdminRegisteredServers first, change the fields you need, and post the complete object back inside regserver.
DatabaseServer, save it back.| sessionTokenstring | Required | A valid admin session token. |
| regserverobject | Required | The full registered-server record to save. |
| bsaveasanydbboolean | Optional | Save against any database type. Defaults to false. |
{
"ID": "1",
"DatabaseServer": "db.newhost.internal",
"ErrorCode": 0,
"ErrorMessage": null
}
Get SMTP settings
Return the instance's current outbound email (SMTP) configuration — host, port, from address, security, and credentials. This is the record you edit and post back with SaveSMTP.
SMTPId needed by DeleteSMTP.| sessionTokenstring | Required | A valid admin session token. |
{
"SMTPId": "1",
"SMTPHost": "smtp.acme.com",
"SMTPPort": "587",
"SMTPFromAddress": "noreply@acme.com",
"SMTPRequiredSecurity": "TLS",
"SMTPUserName": "smtp-user",
"SMTPEnableSSL": true,
"ErrorCode": 0,
"ErrorMessage": null
}
Save SMTP settings
Save the outbound email (SMTP) configuration. Send the full smtp object — fetch the current one with GetSMTP first, change the fields you need, and post it back.
| sessionTokenstring | Required | A valid admin session token. |
| smtpobject | Required | The SMTP settings: SMTPHost, SMTPPort, SMTPFromAddress, SMTPRequiredSecurity, SMTPUserName, SMTPPassword, SMTPEnableSSL. |
{
"SMTPId": "1",
"ErrorCode": 0,
"ErrorMessage": null
}
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 — including MaxRecords (the row cap applied to queries) and SchedulerMode. 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. |
{
"MaxRecords": 50000,
"SchedulerMode": 1,
"ErrorCode": 0,
"ErrorMessage": null
}
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 (e.g. MaxRecords), and post the complete object back inside appsettings.
MaxRecords, save. Numeric fields must be sent as numbers, not strings.| sessionTokenstring | Required | A valid admin session token. |
| appsettingsobject | Required | The full settings object to save, e.g. MaxRecords (integer), SchedulerMode (integer). |
{
"MaxRecords": 50000,
"SchedulerMode": 1,
"ErrorCode": 0,
"ErrorMessage": null
}
Get audit types
Return the list of audit event types and their retention settings. The response is an array — the same shape you post back, edited, to SaveAuditTypes.
| sessionTokenstring | Required | A valid admin session token. |
[
{
"AuditTypeId": "1",
"Name": "Login",
"RetentionDays": 90
},
{
"AuditTypeId": "2",
"Name": "Report Run",
"RetentionDays": 90
}
]
Save audit types
Save audit event types and their retention. Send the full list in AuditTypeList — fetch it with GetAuditTypes first, adjust retention, and post the complete array back.
RetentionDays on each type, save the whole list back.| sessionTokenstring | Required | A valid admin session token. |
| AuditTypeListarray | Required | The full list of audit type objects to save (from GetAuditTypes, modified). |
{
"ErrorCode": 0,
"ErrorMessage": null
}
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
}