StaffAdd (
    object Staff,
    bool InviteUser,
    bool WebhookEvaluate
)

Edit a staff user.

Note: available since RPM23.

Request

Request Data:

  • (bool) InviteUser (optional, default: false) – whether to send an email to the new user so they can finish setting up their account.
  • (bool) WebhookEvaluate (optional, default: false) – whether RPM should issue webhook requests
  • (object) Staff(required) – the data for the user
    • (int) StaffID (required) – identify the staff user to modify
    • (bool) Enabled (optional, default: false) – whether the user can login
    • (int) RoleID (required) – identify the role to assign to the user
    • (array) Groups(optional) – a list of staff groups following structure:
      • (int) ID (optional) – the group ID.
    • (object) Contact(optional) – contact information to update, if any is left empty the previous value is left untouched:
      • (string) Salutation (optional) – one of “Mr.”, “Ms.” or “Dr.”
      • (string) FirstName (optional) – the person’s name
      • (string) LastName (optional) – the person’s last name
      • (string) Title (optional) – the person’s title
      • (string) Email (optional) – the person’s email
      • (array) PhoneNumbers(optional) – a list of up to 4 phone numbers, each using the following structure:
        • (string) Number (optional) – the phone number.
        • (enum) Type (optional) – number indicating the type phone number it is: 1-Business, 2-Home, 3-Fax, 4-Other. There cannot be repeated types.
    • (array) Fields(optional) – a list of basic fields to fill in, each using the following structure:
      • (string) Field (optional) – the field name.
      • (string) Value (optional) – the field value.
{
    "InviteUser": <bool>,
    "WebhookEvaluate": <bool>,
    "Staff": {
        "StaffID": <int>,
        "Enabled": <bool>,
        "RoleID": <int>,
        "Groups": [
            {
                "ID": <int>
            }, // ... more groups
        ],
        "Contact": {
            "Salutation": <string>,
            "FirstName": <string>,
            "LastName": <string>,
            "Title": <string>,
            "Email": <string>,
            "PhoneNumbers": [
                {
                    "PhoneNumberID": <int>,
                    "Type": <enum 1=Business, 2=Home, 3=Fax, 6=Other>,
                    "Number": <string>
                }, // ... 3 more (1 per Type)
            ]
        },
        "Fields": [
            {
                "Field": <string>,
                "Value": <string>
            },  // ... more fields
        ]
    }
}

Response

{
    "Result": {
        "Username": <string>,
        "UserID": <int>,
        "Enabled": <bool>,
        "StaffID": <int>,
        "Name": <string>,
        "RoleID": <int>,
        "Role": <string>,
        "Groups": [],
        "Added": <string>,
        "Contact": {
            "ContactID": <int>,
            "Salutation": <string>,
            "FirstName": <string>,
            "LastName": <string>,
            "Title": <string>,
            "Email": <string>,
            "PhoneNumbers": [
                {
                    "PhoneNumberID": <int>,
                    "Type": <int>,
                    "Number": <string>
                }
            ]
        },
        "Fields": []
    }
}

Notes

  • Enabling users will affect costs starting in the current billing cycle.
  • Disabling users will take effect on the next billing cycle.

Errors

  • “Staff not found”
  • “RoleID is required”
  • “Contact.FirstName is required”
  • “Contact.LastName is required”
  • “Invite requires an email address”
  • “Edit super user by API is not allowed”
  • “Edit locked user by API is not allowed”
  • “Edit guest user by API is not allowed”