BagsBags Docs

Update a product

PATCH
/api/v1/products/{id}
AuthorizationBearer <token>

BAGS Agent API key from the dashboard. Standalone agentic keys manage products, payment links, and transaction reads.

In: header

Path Parameters

id*string

Product id.

Match^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

curl -X PATCH "https://www.getbags.app/api/v1/products/497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{}'
{
  "status": "success",
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "name": "Pro Plan",
    "description": "Monthly access to premium features",
    "amount": 29.99,
    "currency": "USD",
    "active": true,
    "archived": false,
    "mode": "live",
    "pricingType": "recurring",
    "billingInterval": "month",
    "billingIntervalCount": 1,
    "trialDays": 14,
    "token": "USDC",
    "merchantWalletAddress": "0x1111111111111111111111111111111111111111",
    "merchantId": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
    "metadata": {},
    "totalCollected": 0,
    "totalTransactions": 0,
    "createdAt": "2026-04-16T12:34:56.000Z",
    "updatedAt": "2026-04-16T12:34:56.000Z"
  }
}
{
  "status": "error",
  "code": "VALIDATION_FAILED",
  "message": "One or more fields failed validation."
}
{
  "status": "error",
  "code": "AUTH_MISSING_CREDENTIALS",
  "message": "No API key or session token was provided.",
  "hint": "Include a valid API key in the Authorization header: Bearer bag_live_sk_..."
}
{
  "status": "error",
  "code": "AUTH_TENANT_MISMATCH",
  "message": "The credential does not grant access to this resource."
}
{
  "status": "error",
  "code": "NOT_FOUND",
  "message": "The requested resource was not found."
}
{
  "status": "error",
  "code": "RATE_LIMITED",
  "message": "Too many requests. Back off and retry.",
  "retryAfter": 60
}
{
  "status": "error",
  "code": "INTERNAL_ERROR",
  "message": "An unexpected error occurred. The incident has been logged."
}