Edit partner user

Overview

Update an existing partner user's name/title, role, account assignments, optional password and deactivation date. Password changes and deactivations revoke the target's live tokens (SOC 2 CC6.2) and are audited. The target must belong to the caller's company.

Prerequisites

  • A bearer token in the Authorization header.

Base URL

EnvironmentURL
Productionhttps://production-api.shoutaboutus.com
Developmenthttps://development-api.shoutaboutus.com

Endpoint

POST /api/v1/users/partner/edit

Authentication

  • Requires a bearer token in the Authorization: Bearer <bearer-token> header.

  • Partner — collection bearer token. In-controller gate: the target's company_id must equal the caller's, else 403 Permission denied.

Rate limit

  • No rate limit.

Request body

FieldTypeRequiredDescription
userintegerRequiredId of the user to edit.
user_typestringRequiredadmin, assign_brand, or basic.
first_namestringRequired≤255 chars; no angle brackets.
last_namestringOptional≤255 chars.
titlestringOptional≤50 chars.
passwordstringOptional8–100 chars, complexity rules; blank leaves the password unchanged. Changing it revokes the user's tokens.
accountinteger[]Required if user_type=assign_brand, or basic with assign_all_accounts=0Account company ids under the caller.
assign_all_accountsintegerRequired if user_type=basic0/1.
send_default_reportsintegerOptional0/1.
inactive_atstringOptionalY-m-d H:i:s; setting a past/imminent date deactivates the user and revokes their tokens.
{
  "user": 12,
  "user_type": "assign_brand",
  "first_name": "Jane",
  "last_name": "Smith",
  "title": "Manager",
  "password": null,
  "account": [
    10
  ],
  "assign_all_accounts": 1,
  "send_default_reports": 1,
  "inactive_at": null
}

How it works

  • Synchronous (DB transaction). 200 on success.
  • 403 when the target is not in the caller's company (Permission denied.).
  • 422 on validation failure; 500 on save failure.

Response

200 OK · 200

{
  "data": {
    "status": "success",
    "response": "User information has been updated successfully"
  }
}

403 Permission denied · 403

{
  "message": "Forbidden",
  "status": "error",
  "errors": "Permission denied."
}

Errors

StatusMeaning
401The bearer token is missing, expired or invalid
403Permission denied
422Returned on validation failure
500Returned on save failure

Example request

curl --request POST \
  --url "https://production-api.shoutaboutus.com/api/v1/users/partner/edit" \
  --header 'Authorization: Bearer <bearer-token>' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{"user": 12, "user_type": "assign_brand", "first_name": "Jane", "last_name": "Smith", "title": "Manager", "password": null, "account": [10], "assign_all_accounts": 1, "send_default_reports": 1, "inactive_at": null}'

Did this page help you?