Skip to main content
PUT
/
admin
/
api
/
v1
/
Client
Update Main Client catalog configuration
curl --request PUT \
  --url https://admin-api.meshconnect.com/admin/api/v1/Client \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "catalogConfiguration": {
    "excludeIntegrationCategories": [
      "<string>"
    ],
    "excludeIntegrations": [
      "3c90c3cc-0d44-4b50-8888-8dd25736052a"
    ],
    "integrationWhiteList": [
      "3c90c3cc-0d44-4b50-8888-8dd25736052a"
    ]
  }
}
'
{
  "message": "<string>",
  "displayMessage": "<string>",
  "errorHash": "<string>",
  "teamCode": "<string>",
  "errorType": "<string>",
  "errorData": null,
  "content": {
    "businessLegalName": "<string>",
    "displayName": "<string>",
    "callbackUrls": [
      "<string>"
    ],
    "catalogConfiguration": {
      "excludeIntegrationCategories": [
        "<string>"
      ],
      "excludeIntegrations": [
        "3c90c3cc-0d44-4b50-8888-8dd25736052a"
      ],
      "integrationWhiteList": [
        "3c90c3cc-0d44-4b50-8888-8dd25736052a"
      ]
    },
    "fundingTokenWhitelist": [
      "<string>"
    ]
  }
}

Authorizations

Authorization
string
header
required

Authorization header using the Bearer scheme. Example: "Authorization: Bearer {Value}"

Body

application/json

Request body for PUT /admin/api/v1/client. Currently only the catalog configuration is mutable through this endpoint; identity / callback URL updates remain on their existing surfaces. Funding token whitelist is intentionally absent here — Lane C-3 (PRG-2682) owns that write path.

The body itself is [Required] at the action — a missing / empty-string body returns 400 before any of the branches below run. The semantics below describe the catalogConfiguration field inside an otherwise-valid JSON body. Foot-gun: because this DTO has no other field, a body of literally {} deserialises with CatalogConfiguration == null and therefore takes the CLEAR branch. Callers that want a round-trippable no-op MUST send { "catalogConfiguration": {} } — the field must be present. "catalogConfiguration": null OR field omitted from the body (body is {}) → CLEAR the client's catalog configuration. If the client's default LinkConfiguration becomes orphaned (no other references), it is garbage-collected."catalogConfiguration": {} (empty object on the field) → no-op (matches the profile PUT lenient semantics so callers can round-trip a response without accidentally clearing filters)."catalogConfiguration" populated → validate & apply onto the client's default LinkConfiguration, minting one if absent.

catalogConfiguration
object

Catalog configuration for a profile. By default all integrations show; the fields below curate the catalog. integrationWhiteList cannot be combined with excludeIntegrationCategories or excludeIntegrations.

Response

Client updated

status
enum<string>
Available options:
ok,
serverFailure,
permissionDenied,
badRequest,
notFound,
conflict,
tooManyRequest,
locked,
unavailableForLegalReasons
message
string | null

A message generated by the API

displayMessage
string | null

User-friendly display message that can be presented to the end user

errorHash
string | null
read-only

An error grouping hash from string components and caller information. Used by bugsnag on FE for correct error grouping

teamCode
string | null
read-only

Opaque team code for error routing. Resolved from exception origin or caller file path via CODEOWNERS. Format: 2-character code (e.g., "7K", "M2"). Use for alerting/routing, not display.

errorType
string | null

Strictly-typed error type that is explaining the reason of an unsuccessful status of the operation. All possible error types are available in the documentation.

errorData
unknown
content
object

The client information returned by GET /admin/api/v1/client. Combines basic client identity (business legal name, display name, callback URLs) with the catalog configuration sourced from the client's default LinkConfiguration and the inherited funding token whitelist. The funding token whitelist is read-only on this surface — see Lane C-3 (PRG-2682) for the dedicated write path.