APG PayAPG Paydocs

Payment sources

Update blocked card

PATCH/blocked-cards/{blockedCardId}

Lift the block on a card. Answers with the Removed event it appended, not the row you addressed.

Permissions

Required permission
blockedCard:update

Requires the `update` action on `blockedCard` for the supplied runtime context

Path parameters

blockedCardIdstring
required

Request body

This body is a tagged shape: type is always "BcardUpdateRemoveBlock". Send it; more variants can be added, and a caller that switches on it keeps working when they are.

Discriminated by type
type = "BcardUpdateRemoveBlock"

This variant has no additional fields.

curl -X PATCH https://api.tst.au.apgpay.dev/blocked-cards/{blockedCardId} \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "type": "BcardUpdateRemoveBlock"
}'

Responses

The response is a tagged shape: type is always "BcardUpdateRspAttributes". Switch on it; subtypes can be added, and a client that already reads it will not break.

Discriminated by type
type = "BcardUpdateRspAttributes"

The resource as it stands after the change.

Example
{
  "type": "BcardUpdateRspAttributes",
  "updated": {
    "type": "BcardViewAttributes",
    "blockedCardId": "blockedsrc_9f2Kd8QpLzXw",
    "merchantId": "mcht_9f2Kd8QpLzXw",
    "marketplaceId": "mktp_9f2Kd8QpLzXw",
    "customerId": "cust_9f2Kd8QpLzXw",
    "transactionId": "tran_9f2Kd8QpLzXw",
    "sourceId": "psrc_9f2Kd8QpLzXw",
    "card": {
      "type": "BcardDetailsAttributes",
      "last4": "4242",
      "bin": "424242",
      "brand": "Visa",
      "funding": "Credit",
      "expiryMonth": 6,
      "expiryYear": 2029,
      "issuerCountry": "AU",
      "issuer": "string"
    },
    "blocked": true,
    "event": "Added",
    "reason": "Requested by the customer.",
    "payerMessage": "string",
    "createdAt": "2026-08-19T04:21:07Z"
  }
}

Error responses