Skip to main content
PUT
/
features
/
{feature_code}
Update a feature
curl --request PUT \
  --url https://api-m.sandbox.paypal.com/v1/commerce/billing/features/{feature_code} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "User Seats",
  "description": "Maximum number of users allowed in the account",
  "privileges": [
    {
      "code": "max",
      "name": "Maximum seats",
      "value_type": "INTEGER"
    },
    {
      "code": "max_admins",
      "name": "Maximum admin users",
      "value_type": "INTEGER"
    },
    {
      "code": "root",
      "name": "Allow root user",
      "value_type": "BOOLEAN"
    },
    {
      "code": "guest_access",
      "name": "Allow guest access",
      "value_type": "BOOLEAN"
    }
  ]
}
'
{
  "code": "seats",
  "name": "User Seats",
  "description": "Maximum number of users allowed in the account",
  "privileges": [
    {
      "code": "max",
      "name": "Maximum seats",
      "value_type": "INTEGER"
    },
    {
      "code": "max_admins",
      "name": "Maximum admin users",
      "value_type": "INTEGER"
    },
    {
      "code": "root",
      "name": "Allow root user",
      "value_type": "BOOLEAN"
    },
    {
      "code": "guest_access",
      "name": "Allow guest access",
      "value_type": "BOOLEAN"
    }
  ],
  "created_at": "2025-01-28T10:00:00Z"
}

Authorizations

Authorization
string
header
required

Use the /v1/oauth2/token endpoint to obtain an access token and pass it as a Bearer token in the Authorization header.

Path Parameters

feature_code
string
required

The unique identifier code of the feature. This is the code that was specified when the feature was created.

Body

application/json

Request payload for updating an existing feature. All fields are optional - only provided fields will be updated. Note that the feature code cannot be changed.

name
string

Name of the feature

Maximum string length: 255
Example:

"Number of seats"

description
string

Description of the feature

Maximum string length: 600
Example:

"Number of users allowed in the account"

privileges
object[]

Updated list of privileges for the feature. This replaces the entire privileges array - to add or remove individual privileges, include the complete desired list.

Response

Feature was successfully updated with the new configuration

Complete feature object returned by the API, including all properties and server-generated fields like timestamps

code
string
required

Unique identifier for the feature across your entire system. This code is used when creating entitlements and should represent the feature's function (e.g., 'seats', 'api-access', 'API_STORAGE'). Allows alphanumeric characters, underscores, and hyphens.

Maximum string length: 255
Example:

"USER-SEATS"

created_at
string<date-time>
required

Timestamp indicating when this feature was first created in the system. Used for audit and tracking purposes.

Example:

"2023-10-01T12:00:00Z"

name
string

Customer-facing name of the feature that clearly describes what functionality or capability it provides. This name appears in billing interfaces and customer portals.

Maximum string length: 255
Example:

"Number of seats"

description
string

Detailed explanation of what this feature provides, its limitations, and how it affects the customer's experience.

Maximum string length: 600
Example:

"Number of users allowed in the account"

privileges
object[]

Privileges associated with this feature. Can be empty