Update OAuth client

Overview

Update the name and redirect URLs of an existing OAuth client. Returns 403 unless the caller is the client's creator. Emits audit OAUTH_CLIENT_UPDATED (SUCCESS or DENIED).

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/sso/update/client

Authentication

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

  • bearer token. Owner-scoped.

Rate limit

  • No rate limit.

Request body

FieldTypeRequiredDescription
client_idstringRequiredMust be an existing OAuth client.
namestringRequiredNew client name.
redirect_callbackarray<string>RequiredReplacement redirect URLs; each a valid http/https URL.
{
  "client_id": "<ssoClientId>",
  "name": "My Renamed App",
  "redirect_callback": [
    "https://example.com/callback",
    "https://example.com/callback2"
  ]
}

How it works

  • 200 with data.status (boolean update result). 403 if not owner. 422 if client_id invalid.

Response

200 OK · 200

{
  "data": {
    "status": true
  }
}

403 Forbidden (not owner) · 403

{
  "message": "Forbidden",
  "status": "error",
  "errors": "Permission denied! The creator has the ability to make updates."
}

422 Validation error · 422

{
  "message": "The selected client id is invalid.",
  "errors": {
    "client_id": [
      "The selected client id is invalid."
    ]
  }
}

Errors

StatusMeaning
401The bearer token is missing, expired or invalid
403Forbidden (not owner)
422Validation error
500Unexpected server error

Example request

curl --request POST \
  --url "https://production-api.shoutaboutus.com/api/v1/sso/update/client" \
  --header 'Authorization: Bearer <bearer-token>' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{"client_id": "<ssoClientId>", "name": "My Renamed App", "redirect_callback": ["https://example.com/callback", "https://example.com/callback2"]}'

Did this page help you?