Any user that needs to sign into Sage Intacct must have a unique user record.


List Users

Release Changes
2018 Release 2 Added warehouse user as a USERTYPE

readByQuery

<readByQuery>
    <object>USERINFO</object>
    <fields>*</fields>
    <query></query>
    <pagesize>100</pagesize>
</readByQuery>

Parameters

Name Required Type Description
object Required string Use USERINFO
fields Optional string Comma-separated list of fields on the object to list. For best performance and predictability, limit the number of fields. To return all fields, omit the element or provide * for the value.
query Required string SQL-like query based on fields on the object. Illegal XML characters must be properly encoded. The following SQL operators are supported: <, >, >=, <=, =, like, not like, in, not in. When doing NULL comparisons: IS NOT NULL, IS NULL. Multiple fields may be matched using the AND and OR operators. Joins are not supported. Single quotes in any operands must be escaped with a backslash - For example, the value Erik's Deli would become 'Erik\'s Deli'.
pagesize Optional integer Custom page size between 1 and 1000 items (Default: 100)

query

Name Required Type Description
USERTYPE Optional string User type. Use B for business user, E for employee user, R for view only user, W for writeup user, D for dashboard user, P for project manager user, A for payment approver user, T for platform user, S for CRM user, or H for warehouse user.

Get User

read

<read>
    <object>USERINFO</object>
    <keys>1</keys>
    <fields>*</fields>
</read>

Parameters

Name Required Type Description
object Required string Use USERINFO
keys Required string User RECORDNO to get
fields Optional string Comma-separated list of fields on the object to get. For best performance and predictability, limit the number of fields. To return all fields, omit the element or provide * for the value.

Get User by Name

readByName

<readByName>
    <object>USERINFO</object>
    <keys>jsmith</keys>
    <fields>*</fields>
</readByName>

Parameters

Name Required Type Description
object Required string Use USERINFO
keys Required string User LOGINID to get
fields Optional string Comma-separated list of fields on the object to get. For best performance and predictability, limit the number of fields. To return all fields, omit the element or provide * for the value.

Create User

Release Changes
2018 Release 2 Added warehouse user as a USERTYPE

When a user is created, it must be associated with a contact. The new user can be associated with a new contact created at the same time, or associated with an existing contact.

create

Create a user with a new contact:

<create>
    <USERINFO>
        <LOGINID>jsmith</LOGINID>
        <CONTACTINFO>
            <LASTNAME>John</LASTNAME>
            <FIRSTNAME>Smith</FIRSTNAME>
            <EMAIL1>jsmith@example.com</EMAIL1>
        </CONTACTINFO>
        <DESCRIPTION>John Smith</DESCRIPTION>
        <USERTYPE>business user</USERTYPE>
        <ADMIN>false</ADMIN>
        <STATUS>active</STATUS>
        <SSO_ENABLED>true</SSO_ENABLED>
        <SSO_FEDERATED_ID>jsmith</SSO_FEDERATED_ID>
    </USERINFO>
</create>

Create a user with an existing contact:

<create>
    <USERINFO>
        <LOGINID>jsmith</LOGINID>
        <CONTACTINFO>
            <CONTACTNAME>Smith, John</CONTACTNAME>
        </CONTACTINFO>
        <DESCRIPTION>John Smith</DESCRIPTION>
        <USERTYPE>business user</USERTYPE>
        <ADMIN>false</ADMIN>
        <STATUS>active</STATUS>
        <SSO_ENABLED>true</SSO_ENABLED>
        <SSO_FEDERATED_ID>jsmith</SSO_FEDERATED_ID>
    </USERINFO>
</create>

Parameters

Name Required Type Description
USERINFO Optional object Object to create

USERINFO

Name Required Type Description
LOGINID Required string User ID
CONTACTINFO Required object Contact info of user
DESCRIPTION Optional string User name. This is usually a concatenation of first and last name
USERTYPE Optional string User type. Use either: business user, employee user, project manager user, payment approver, platform user, CRM user, or warehouse user. (Default: business user)
STATUS Optional string User status. Use active for Active otherwise use inactive for Inactive (Default: active)
LOGINDISABLED Optional boolean Web services only. Use false for No, true for Yes. (Default: false)
SSO_ENABLED Optional boolean Single sign on enabled. Use false for No, true for Yes. (Default: false)
SSO_FEDERATED_ID Optional string SSO federated ID to use.
USERLOCATIONS Required LOCATIONID[1...n] User entity ID’s
USERDEPARTMENTS Required DEPARTMENTID[1...n] User department ID’s
USERTERRITORIES Required TERRITORYID[1...n] User territory ID’s

CONTACTINFO

Name Required Type Description
LASTNAME Optional string Last name. Required if you want to create the user with a new contact.
FIRSTNAME Optional string First name. Required if you want to create the user with a new contact.
EMAIL1 Optional string Email address. Required if you want to create the user with a new contact.
CONTACTNAME Optional string Contact name. Required if you want to create the user with an existing contact.

Update User

Release Changes
2018 Release 2 Added warehouse user as a USERTYPE

update

<update>
    <USERINFO>
        <RECORDNO>121</RECORDNO>
        <DESCRIPTION>John Smith</DESCRIPTION>
        <SSO_FEDERATED_ID>jsmith</SSO_FEDERATED_ID>
    </USERINFO>
</update>

Parameters

Name Required Type Description
USERINFO Optional object Object to update

USERINFO

Name Required Type Description
RECORDNO Optional integer Record number of user to update. Required if not using LOGINID.
LOGINID Optional string Login ID. Required if not using RECORDNO.
DESCRIPTION Optional string User name, usually concatenation of first and last name
USERTYPE Optional string User type. Use either business user, employee user, project manager user, platform user, CRM user, or warehouse user. (Default: business user)
STATUS Optional string User status. Use active for Active otherwise use inactive for Inactive (Default: active)
SSO_ENABLED Optional boolean Single sign on enabled. Use false for No, true for Yes. (Default: false)
SSO_FEDERATED_ID Optional string SSO federated ID to use.

Delete User

delete

<delete>
    <object>USERINFO</object>
    <keys>112</keys>
</delete>

Parameters

Name Required Type Description
object Required string Use USERINFO
keys Required string User RECORDNO to delete

Get User Effective Permissions

Effective permissions mean either the specific user-defined permissions or the effective list of permissions derived from role membership.

getUserPermissions

<getUserPermissions>
    <userId>Steve</userId>
</getUserPermissions>

Parameters

Name Required Type Description
userId Required string User LOGINID to get permissions for

Response

The rights value is a pipe-delimited list you will need to parse appropriately.

<permissions>
    <appSubscription>
        <applicationName>Administration</applicationName>
        <policies>
            <policy>
                <policyName>Application Subscriptions</policyName>
                <rights>List|View|Subscribe|Configure|Remove|Assign Users</rights>
            </policy>
            <policy>
                <policyName>Grant Admin Rights</policyName>
                <rights>Grant</rights>
            </policy>
        </policies>
    </appSubscription>
    <!-- ... -->
</permissions>

List User Permissions

readByQuery

<readByQuery>
    <object>USERRIGHTS</object>
    <fields>*</fields>
    <query></query>
    <pagesize>100</pagesize>
</readByQuery>

Parameters

Name Required Type Description
object Required string Use USERRIGHTS
fields Optional string Comma-separated list of fields on the object to list. For best performance and predictability, limit the number of fields. To return all fields, omit the element or provide * for the value.
query Required string SQL-like query based on fields on the object. Illegal XML characters must be properly encoded. The following SQL operators are supported: <, >, >=, <=, =, like, not like, in, not in. When doing NULL comparisons: IS NOT NULL, IS NULL. Multiple fields may be matched using the AND and OR operators. Joins are not supported. Single quotes in any operands must be escaped with a backslash - For example, the value Erik's Deli would become 'Erik\'s Deli'.
pagesize Optional integer Custom page size between 1 and 1000 items (Default: 100)

Get User Permission

read

<read>
    <object>USERRIGHTS</object>
    <keys>1</keys>
    <fields>*</fields>
</read>

Parameters

Name Required Type Description
object Required string Use ROLES
keys Required string Permission RECORDNO to get
fields Optional string Comma-separated list of fields on the object to get. For best performance and predictability, limit the number of fields. To return all fields, omit the element or provide * for the value.

List User Role Assignments

readByQuery

<readByQuery>
    <object>USERROLES</object>
    <fields>*</fields>
    <query></query>
    <pagesize>100</pagesize>
</readByQuery>

Parameters

Name Required Type Description
object Required string Use USERROLES
fields Optional string Comma-separated list of fields on the object to list. For best performance and predictability, limit the number of fields. To return all fields, omit the element or provide * for the value.
query Required string SQL-like query based on fields on the object. Illegal XML characters must be properly encoded. The following SQL operators are supported: <, >, >=, <=, =, like, not like, in, not in. When doing NULL comparisons: IS NOT NULL, IS NULL. Multiple fields may be matched using the AND and OR operators. Joins are not supported. Single quotes in any operands must be escaped with a backslash - For example, the value Erik's Deli would become 'Erik\'s Deli'.
pagesize Optional integer Custom page size between 1 and 1000 items (Default: 100)

Get User Role Assignment

read

<read>
    <object>USERROLES</object>
    <keys>1</keys>
    <fields>*</fields>
</read>

Parameters

Name Required Type Description
object Required string Use ROLES
keys Required string Assignment RECORDNO to get
fields Optional string Comma-separated list of fields on the object to get. For best performance and predictability, limit the number of fields. To return all fields, omit the element or provide * for the value.

Create User Role Assignment

create

<create>
    <USERROLES>
        <USERID>jsmith</USERID>
        <ROLENAME>Accountant</ROLENAME>
    </USERROLES>
</create>

Parameters

Name Required Type Description
USERROLES Optional object Object to create

USERROLES

Name Required Type Description
USERID Required string User ID
ROLENAME Required string Role name to assign to user

List Computed User Role Assignments

User role assignments can either come from direct assignment on the user, or inherited from a user group.

readByQuery

<readByQuery>
    <object>ROLEUSERS</object>
    <fields>*</fields>
    <query></query>
    <pagesize>100</pagesize>
</readByQuery>

Parameters

Name Required Type Description
object Required string Use USERROLES
fields Optional string Comma-separated list of fields on the object to list. For best performance and predictability, limit the number of fields. To return all fields, omit the element or provide * for the value.
query Required string SQL-like query based on fields on the object. Illegal XML characters must be properly encoded. The following SQL operators are supported: <, >, >=, <=, =, like, not like, in, not in. When doing NULL comparisons: IS NOT NULL, IS NULL. Multiple fields may be matched using the AND and OR operators. Joins are not supported. Single quotes in any operands must be escaped with a backslash - For example, the value Erik's Deli would become 'Erik\'s Deli'.
pagesize Optional integer Custom page size between 1 and 1000 items (Default: 100)

Get Computed User Role Assignment

User role assignments can either come from direct assignment on the user, or inherited from a user group.

read

<read>
    <object>ROLEUSERS</object>
    <keys>1</keys>
    <fields>*</fields>
</read>

Parameters

Name Required Type Description
object Required string Use ROLES
keys Required string Assignment RECORDNO to get
fields Optional string Comma-separated list of fields on the object to get. For best performance and predictability, limit the number of fields. To return all fields, omit the element or provide * for the value.

List User Restrictions

Users can be restricted to given departments or locations.

readByQuery

List user restrictions for all users:

<readByQuery>
    <object>USERRESTRICTION</object>
    <fields>*</fields>
    <query></query>
    <pagesize>100</pagesize>
</readByQuery>

List user restrictions for users that are limited to the designated location:

<readByQuery>
    <object>USERRESTRICTION</object>
    <fields>*</fields>
    <query>LOCATIONID = 9</query>
    <pagesize>100</pagesize>
</readByQuery>

Parameters

Name Required Type Description
object Required string Use USERRESTRICTION
fields Optional string Comma-separated list of fields on the object to list. For best performance and predictability, limit the number of fields. To return all fields, omit the element or provide * for the value.
query Required string SQL-like query based on fields on the object. Illegal XML characters must be properly encoded. The following SQL operators are supported: <, >, >=, <=, =, like, not like, in, not in. When doing NULL comparisons: IS NOT NULL, IS NULL. Multiple fields may be matched using the AND and OR operators. Joins are not supported. Single quotes in any operands must be escaped with a backslash - For example, the value Erik's Deli would become 'Erik\'s Deli'.
pagesize Optional integer Custom page size between 1 and 1000 items (Default: 100)

Response

A user restriction object is returned for each user found. If a user’s access is not limited by location or department, UNRESTRICTED is true. If a user is limited to certain locations or departments, UNRESTRICTED is false and the locations and departments that the user can access are listed.

<userrestriction>
    <RECORDNO>103</RECORDNO>
    <LOGINID>jsmith</LOGINID>
    <FIRSTNAME>John</FIRSTNAME>
    <LASTNAME>Smith</LASTNAME>
    <ADMIN>Full</ADMIN>
    <USERTYPE>business user</USERTYPE>
    <STATUS>active</STATUS>
    <UNRESTRICTED>true</UNRESTRICTED>
</userrestriction>
<userrestriction>
    <RECORDNO>104</RECORDNO>
    <LOGINID>jjones</LOGINID>
    <FIRSTNAME>Jen</FIRSTNAME>
    <LASTNAME>Jones</LASTNAME>
    <ADMIN>Off</ADMIN>
    <USERTYPE>business user</USERTYPE>
    <STATUS>active</STATUS>
    <UNRESTRICTED>false</UNRESTRICTED>
    <LOCATIONS>
        <LOCATION>
            <LOCATIONID>9</LOCATIONID>
            <LOCATIONNAME>France</LOCATIONNAME>
        </LOCATION>
    </LOCATIONS>
    <DEPARTMENTS>
        <DEPARTMENT>
            <DEPARTMENTID>DOC</DEPARTMENTID>
            <DEPARTMENTNAME>Documentation</DEPARTMENTNAME>
        </DEPARTMENT>
    </DEPARTMENTS>
</userrestriction>

Get User Restrictions

read

<read>
    <object>USERRESTRICTION</object>
    <keys>1</keys>
    <fields>*</fields>
</read>

Parameters

Name Required Type Description
object Required string Use USERRESTRICTION
keys Required string User restriction RECORDNO to get
fields Optional string Comma-separated list of fields on the object to get. For best performance and predictability, limit the number of fields. To return all fields, omit the element or provide * for the value.

Provide feedback