Update a role

PATCH/v0.1/merchants/{merchant_code}/roles/{role_id}

Updates a custom role's name, description, or permissions and returns the updated role.

Providing permissions replaces the role's permission list and changes the access granted to members assigned to that role. Omitted fields remain unchanged.

OAuth scopes: Requires one of: user.subaccounts, roles.write.

Required permissions:

  • roles_update

Authorization

Use one of the following alternatives:

  • apiKey
  • oauth2 with scopes user.subaccountsroles.write
Authorization guide

Path parameters

  • merchant_codestringrequired

    Short unique identifier for the merchant.

    Example: "MK10CL2A"

  • role_idstringrequired

    The ID of the role to retrieve.

    Example: "role_WZsm7QTPhVrompscmPhoGTXXcrd58fr9MOhP"

Body parameters

application/jsonrequired
  • namestring

    User-defined name of the role.

    Example: "Senior Shop Manager II"

  • permissionsarray<string>

    User's permissions.

    Example: ["catalog_access","taxes_access","members_access"]

  • User-defined description of the role.

    Example: "Manges the shop and the employees."

Responses

200application/json

Returns the updated Role object if the update succeeded.

  • idstringrequired

    Unique identifier of the role.

    Example: "role_WZsm7QTPhVrompscmPhoGTXXcrd58fr9MOhP"

  • namestringrequired

    User-defined name of the role.

    Example: "Senior Shop Manager II"

  • permissionsarray<string>required

    List of permission granted by this role.

    Example: []

  • is_predefinedbooleanrequired

    True if the role is provided by SumUp.

    Example: true

  • created_atstringrequired
    format: date-time

    The timestamp of when the role was created.

    Example: "2023-01-20T15:16:17Z"

  • updated_atstringrequired
    format: date-time

    The timestamp of when the role was last updated.

    Example: "2023-01-20T15:16:17Z"

  • User-defined description of the role.

    Example: "Manges the shop and the employees."

  • metadataobject

    Set of user-defined key-value pairs attached to the object. Partial updates are not supported. When updating, always submit whole metadata. Maximum of 64 parameters are allowed in the object.

    Example: {}

400application/problem+json

Invalid request.

  • typestringrequired
    format: uri

    A URI reference that identifies the problem type.

    Example: "https://developer.sumup.com/problem/not-found"

  • titlestring

    A short, human-readable summary of the problem type.

    Example: "Requested resource couldn't be found."

  • statusinteger

    The HTTP status code generated by the origin server for this occurrence of the problem.

    Example: 404

  • detailstring

    A human-readable explanation specific to this occurrence of the problem.

    Example: "The requested resource doesn't exist or does not belong to you."

  • instancestring
    format: uri

    A URI reference that identifies the specific occurrence of the problem.

    Example: "https://api.sumup.com/v0.1/checkouts/4e425463-3e1b-431d-83fa-1e51c2925e99"

404application/problem+json

Merchant not found.

  • typestringrequired
    format: uri

    A URI reference that identifies the problem type.

    Example: "https://developer.sumup.com/problem/not-found"

  • titlestring

    A short, human-readable summary of the problem type.

    Example: "Requested resource couldn't be found."

  • statusinteger

    The HTTP status code generated by the origin server for this occurrence of the problem.

    Example: 404

  • detailstring

    A human-readable explanation specific to this occurrence of the problem.

    Example: "The requested resource doesn't exist or does not belong to you."

  • instancestring
    format: uri

    A URI reference that identifies the specific occurrence of the problem.

    Example: "https://api.sumup.com/v0.1/checkouts/4e425463-3e1b-431d-83fa-1e51c2925e99"

Type to search…