Send the narrative and evidence descriptions you want printed to POST https://pingpongit.com/api/dispute-evidence-pdf. A successful response contains PDF bytes.
This endpoint is a document formatter. AI review is a separate request through the review API or web app. The exporter does not fetch dispute records, embed supporting files or submit evidence.
Request fields
- Required:
merchantName, plusnarrativeor at least one item inevidenceBullets. - Optional case fields:
disputeId,reasonCode,amount,currency,orderIdandprocessor. - Optional business fields:
supportEmailandlogoUrl. A readable PNG or JPEG logo may be included. - The narrative is limited to 6,000 characters. The evidence list accepts up to 40 text items of 500 characters each. Longer fields are truncated, so validate lengths before sending.
- Use
Content-Type: application/json. The endpoint rejects a declared body size above 200,000 bytes.
Example JSON
This is a test payload. Replace every example with your own reviewed text.
{
"merchantName": "Example merchant (test)",
"disputeId": "example-case",
"reasonCode": "product_not_received",
"amount": "49.00",
"currency": "USD",
"orderId": "example-order",
"processor": "Stripe",
"narrative": "Example only. Replace this text with a response supported by your records.",
"evidenceBullets": [
"Example: order receipt dated YYYY-MM-DD",
"Example: carrier delivery record dated YYYY-MM-DD"
]
}Authentication and access
Eligible business API callers send a ppk_ key using X-pingpong-Key or Authorization: Bearer. Manage available keys and account access in the API dashboard. Keep the key on your server.
Business-key requests count against the account’s API quota and hourly limits. One eligible anonymous preview is available subject to browser/device and rate limits. Web Plus and Pro subscriptions cover review access; they do not include access to this PDF endpoint.
Send the request
curl --fail-with-body https://pingpongit.com/api/dispute-evidence-pdf \
-H "Authorization: Bearer $PINGPONG_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/pdf" \
--data-binary @case.json \
--output evidence.pdfCheck both the status and Content-Type. An error body can be JSON even when saved under a PDF filename.
Responses and retry handling
200 application/pdf: PDF generated. Inspect the downloaded document.400: required content is missing.413or415: request size or content type is rejected.401/403: key or account access rejected.402: preview or account quota exhausted.429: rate limit reached.503: access validation is unavailable.- The PDF endpoint does not implement an idempotency key. A repeated request can consume quota again. Store the successful result before retrying.
Use the result
The document contains your narrative and evidence index. Upload the underlying records separately as required by your processor. For a form that uses the same exporter, open the PDF form.