Repository navigation
deprecate(issuing): deprecate the update-card headers and make the revoke and suspend request optional - #256
Conversation
🟢 Risk Classification: LOWApproval route: AI Auto-Approval Classification reasons
Operational gates
Files analysed: 4 wall-e 2026.06.19-02 · policy |
🔬 Debug — why this classification?Each reason code emitted by the classifier, its source clause in the AI in SDLC Control Framework, and what it means.
Kinds:
See issue #3 for the proposal to formalise this map as Appendix A of the standards doc. wall-e 2026.06.19-02 · debug |
There was a problem hiding this comment.
✅ Auto-approved — this PR meets all Low-risk criteria.
All checks passed, no unresolved comments, and the change classification is:
no_low_class_matchedprod_source_modified2.2.6_logical_extension:The change only adds deprecation warnings, makes existing request bodies optional with None defaults, and adds docstring comments — all within existing code paths and abstractions without new endpoints, persisted data, auth changes, or external integrations.
wall-e 2026.06.19-02 · policy 6b4ce2b3b45a…
🟢 Risk Classification: LOWApproval route: AI Auto-Approval Classification reasons
Operational gates
Files analysed: 6 wall-e 2026.06.19-02 · policy |
🔬 Debug — why this classification?Each reason code emitted by the classifier, its source clause in the AI in SDLC Control Framework, and what it means.
Kinds:
See issue #3 for the proposal to formalise this map as Appendix A of the standards doc. wall-e 2026.06.19-02 · debug |
There was a problem hiding this comment.
✅ Auto-approved — this PR meets all Low-risk criteria.
All checks passed, no unresolved comments, and the change classification is:
no_low_class_matchedprod_source_modified2.2.6_logical_extension:The change only adds deprecation warnings to existing method signatures, makes existing request bodies optional (defaulting to None), and updates docstrings—no new endpoints, persisted data, auth changes, external integrations, or new code paths are introduced.
wall-e 2026.06.19-02 · policy 6b4ce2b3b45a…
🟢 Risk Classification: LOWApproval route: AI Auto-Approval Classification reasons
Operational gates
Files analysed: 6 wall-e 2026.06.19-02 · policy |
🔬 Debug — why this classification?Each reason code emitted by the classifier, its source clause in the AI in SDLC Control Framework, and what it means.
Kinds:
See issue #3 for the proposal to formalise this map as Appendix A of the standards doc. wall-e 2026.06.19-02 · debug |
There was a problem hiding this comment.
✅ Auto-approved — this PR meets all Low-risk criteria.
All checks passed, no unresolved comments, and the change classification is:
no_low_class_matchedprod_source_modified2.2.6_logical_extension:The change only adds deprecation warnings to existing method signatures, makes existing request body parameters optional (defaulting to None with no body sent), and adds docstring documentation—all within existing code paths, endpoints, and abstractions without new integrations, persisted data, auth changes, or new external calls.
wall-e 2026.06.19-02 · policy 6b4ce2b3b45a…
…voke and suspend request optional The API no longer documents the return-encrypted-cvv and Encryption-Key headers on the update card operation, so CardUpdateHeaders and the headers argument of update_card are deprecated. They keep working when set and emit a DeprecationWarning; removal is planned for the next major version. The revoke and suspend request bodies are optional in the API, so revoke_card and suspend_card now accept no request and send no body in that case.
… update card fields Add serialization tests for the revoke and suspend requests, document the update card status, scheduled revocation date and metadata fields from the specification, assert the deprecation warning in the header wire tests and replace the tests that still described the encrypted CVV behaviour.
c4b8fdc to
0e198ef
Compare
🟢 Risk Classification: LOWApproval route: AI Auto-Approval Classification reasons
Operational gates
Files analysed: 6 wall-e 2026.06.19-02 · policy |
🔬 Debug — why this classification?Each reason code emitted by the classifier, its source clause in the AI in SDLC Control Framework, and what it means.
Kinds:
See issue #3 for the proposal to formalise this map as Appendix A of the standards doc. wall-e 2026.06.19-02 · debug |
|



Summary
The API no longer documents the
return-encrypted-cvvandEncryption-Keyrequest headers on the update card operation, and the revoke and suspend request bodies are optional. This deprecates the headers (they keep working when set) and letsrevoke_cardandsuspend_cardbe called without a request.Verified against the sandbox: update card with and without the deprecated headers (200 both, the API ignores the headers), and suspend and revoke without a request (200, card ends suspended and revoked).
Changes
checkout_sdk/issuing/cards.pyCardUpdateHeaders: deprecation note in the docstring.RevokeRequest,SuspendRequest: documented as optional bodies,reasondoc comments with the enum values.checkout_sdk/issuing/issuing_client.pyIssuingClient.update_card: theheadersargument is deprecated; passing it emits aDeprecationWarning. Headers are still sent unchanged.IssuingClient.revoke_card,IssuingClient.suspend_card: the request now defaults toNone; when omitted no body is sent.tests/issuing/issuing_client_test.py: warning asserted when headers are passed and absent otherwise; revoke and suspend without a request.tests/issuing/card_update_headers_wire_test.py: revoke and suspend without a request send no body on the wire.API Reference
Breaking changes
None. Passing headers to
update_cardnow emits aDeprecationWarning; the new defaults keep existing calls compatible. The deprecated members are planned for removal in the next major version.README
No changes needed: the README does not document these operations.