Skip to content

[CRD-1915] feat: document chargeback file and evidence-type endpoints - #127

Open
ezerozen wants to merge 3 commits into
mainfrom
feat/chargeback-file-endpoints
Open

[CRD-1915] feat: document chargeback file and evidence-type endpoints#127
ezerozen wants to merge 3 commits into
mainfrom
feat/chargeback-file-endpoints

Conversation

@ezerozen

Copy link
Copy Markdown
Contributor

Summary

  • Documents 4 previously-undocumented bo-chargeback gateway endpoints under /charges/{charge_id}/chargebacks/{chargeback_id}:
    • GET /files (getChargebackFiles)
    • GET /files/{file_id} (getChargebackFile)
    • POST /files/batch (uploadChargebackFilesBatch)
    • GET /evidence-types (getChargebackEvidenceTypes)
  • Adds new schemas (chargeback_evidence_file_response, chargeback_files_batch_response, chargeback_evidence_type_response) matching the actual Go response structs (gateway.UploadFileResponse, gateway.UploadBatchResponse, gateway.EvidenceTypeItem) — distinct from the pre-existing chargeback_response/chargeback_file_response schemas, which model a different (payments-api) shape.
  • Adds reusable path params (charge_id, chargeback_id, file_id) and a new 400.yml error resource (previously missing, needed since some business errors map to 400).
  • The existing single-file POST /files upload endpoint is intentionally left undocumented — out of scope for this change.

Test plan

  • All new/edited YAML validated for syntax
  • All $ref paths verified to resolve
  • make merge run via Docker — regenerated _build/api.yaml cleanly with no generator errors (initial additionalProperties multipart schema was replaced with explicit per-evidence-type properties after the generator flagged it as unsupported)
  • openapi-generator-cli validate -i api.yaml — passes (only pre-existing unrelated warning: unused event_types model)
  • Confirmed no forbidden auto-generated schema name patterns introduced

🤖 Generated with Claude Code

https://claude.ai/code/session_012862o2cEy3JbDvcNcG2sYb

Adds GET /files, GET /files/{file_id}, POST /files/batch, and GET
/evidence-types under /charges/{charge_id}/chargebacks/{chargeback_id},
matching bo-chargeback's gateway routes, which were previously undocumented.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_012862o2cEy3JbDvcNcG2sYb
@atlantis-conekta

Copy link
Copy Markdown
Error: This repo is not allowlisted for Atlantis.

@ezerozen
ezerozen marked this pull request as draft August 19, 2026 18:48
Removes the unprecedented root Chargebacks tag entry (only Subscriptions
domains get one), corrects the 400 error example's type/code to match
bo-chargeback's actual error_handler.go mapping, and extracts the batch
upload's multipart requestBody into requestBodies/chargebacks/ to match
how every other non-trivial request body in this repo is organized.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_012862o2cEy3JbDvcNcG2sYb
@ezerozen
ezerozen marked this pull request as ready for review August 20, 2026 17:17
@atlantis-conekta

Copy link
Copy Markdown
Error: This repo is not allowlisted for Atlantis.

@ezerozen ezerozen changed the title feat: document chargeback file and evidence-type endpoints [CRD-1915] feat: document chargeback file and evidence-type endpoints Aug 20, 2026
@ezerozen
ezerozen requested a review from fcarrero August 20, 2026 17:18
Comment thread schemas/chargebacks/chargeback_evidence_type_response.yml Outdated
The 16-value evidence type enum was duplicated across
chargeback_evidence_file_response and chargeback_evidence_type_response;
extracted to chargeback_evidence_type.yml and referenced via $ref from
both, per review feedback from @fcarrero on PR #127.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_012862o2cEy3JbDvcNcG2sYb
@ezerozen
ezerozen requested a review from fcarrero August 20, 2026 17:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants