{"uid":"cap_8el1otmv8w6SpeKh-IXXz","slug":"payment-card-number-masking-e13275cf","name":"Payment Card Number Masking","description":"Mask a card number for display, keeping the first six and last four digits (the PCI-permitted maximum) and replacing the rest with a mask character (default `*`).","url":"https://creditcard.openverbs.com/v1/mask","method":"POST","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method","bodyType","body"],"properties":{"body":{"type":"object","required":["number"],"properties":{"number":{"type":"string","maxLength":40,"minLength":1,"description":"Card number; spaces and hyphens are allowed."},"maskChar":{"type":"string","maxLength":1,"minLength":1,"description":"Mask character. Default *."}},"additionalProperties":false},"type":{"type":"string","const":"http"},"method":{"enum":["POST"],"type":"string"},"bodyType":{"enum":["json","form-data","text"],"type":"string"}},"additionalProperties":false}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.002","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.002/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_m9BOMN7GMXAfZvAgHSm_E","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.002","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Masks a payment card number, replacing middle digits with a configurable mask character (default *)","exampleAgentPrompt":"Can you mask this credit card number '4111 1111 1111 1111' for me using '#' as the mask character so I can safely display it to the user?","exampleUseCases":[{"title":"Sanitizing card numbers in receipts","prompt":"I need to display a payment receipt to the customer — can you mask the card number '5500 0000 0000 0004' with asterisks so only safe digits are shown?"},{"title":"Redacting card data in support logs","prompt":"Before I send these logs to our support team, can you mask the card number '378282246310005' using 'X' as the mask character so no sensitive data is exposed?"},{"title":"Safe card display in a dashboard","prompt":"Can you take the card number '6011111111111117' and mask it with '*' so I can show it in our admin dashboard without exposing the full number?"}],"resultDescription":"Returns a masked version of the provided card number, where sensitive digits are replaced with the specified mask character (default '*'), leaving only the card's non-sensitive portions visible.","failureModes":["Missing or empty 'number' field returns a validation error","Card number exceeding 40 characters is rejected","Invalid mask character (more than one character) causes an error","Malformed request body returns a 400-level error","Payment not settled (x402) returns a 402 Payment Required response"],"whenToPreferThis":"Use this endpoint when you need to quickly mask a raw card number for display, logging, or storage purposes without building custom redaction logic. Ideal for PCI-conscious workflows where raw card digits must never appear in UIs, logs, or receipts. Supports custom mask characters for flexible formatting needs.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T18:41:21.274Z","isFirstParty":false}