Bag Docs
API ReferencePayment links

Update a payment link

Updates one or more fields on an existing payment link. Only the fields you include in the request body are changed — omitted fields keep their current values. Use this to deactivate a link, change its price, or update the name.

PATCH
/api/payment-links/{id}
AuthorizationBearer <token>

Privy JWT authentication for dashboard and management endpoints. This is used internally by the Bag Dashboard and is not intended for direct API integrations. Use API keys instead.

In: header

Path Parameters

id*string

The unique identifier of the payment link to update.

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X PATCH "https://api.justusebag.xyz/api/payment-links/d4e5f6a7-b8c9-4d0e-a1f2-b3c4d5e6f7a8" \  -H "Content-Type: application/json" \  -d '{    "active": false  }'
{
  "status": "success",
  "data": {
    "_id": "d4e5f6a7-b8c9-4d0e-a1f2-b3c4d5e6f7a8",
    "name": "Pro Plan",
    "description": "Monthly subscription to Pro features",
    "amount": 29.99,
    "currency": "USD",
    "network": "base",
    "networks": [
      "base",
      "polygon"
    ],
    "token": "USDC",
    "active": true,
    "merchantWalletAddress": "0x1a2B3c4D5e6F7890abCdEf1234567890aBcDeF12",
    "merchantName": "Acme Corp",
    "totalCollected": 899.7,
    "totalTransactions": 30,
    "createdAt": "2025-11-15T08:30:00.000Z",
    "updatedAt": "2026-02-28T14:22:00.000Z"
  }
}
{
  "status": "error",
  "message": "amount: Amount must be a positive number up to 999,999,999.99; network: Invalid enum value",
  "code": "BAD_REQUEST"
}
{
  "status": "error",
  "message": "Invalid or revoked API key",
  "code": "UNAUTHORIZED",
  "hint": "Include a valid API key in the Authorization header: Bearer bag_live_sk_..."
}
{
  "status": "error",
  "message": "Not found",
  "code": "NOT_FOUND"
}