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


List Users

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 Set a 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, and S for CRM 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 The 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 The 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

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. Admin privileges cannot be set from the API.

create

Create 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 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 The 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, or CRM 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 array[LOCATIONID] User entity ID’s
USERDEPARTMENTS Required array[DEPARTMENTID] User department ID’s
USERTERRITORIES Required array[TERRITORYID] 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

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 The object to update

USERINFO

Name Required Type Description
RECORDNO Required integer Record number of user
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, or CRM 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.

Delete User

delete

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

Parameters

Name Required Type Description
object Required string Use USERINFO
keys Required string The 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 The 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 Set a 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 The 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 Set a 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 The 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 The 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 Set a 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 The 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.

Provide feedback