Conversation
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Adds documentation for the Travel Rule API so integrators can retrieve pending request details and submit the required information to proceed with withdrawals.
Changes:
- Added a new Travel Rule documentation page with endpoint descriptions.
- Included example
curlrequests and example JSON response includingformSchema. - Documented request/response expectations and basic authorization/ownership notes.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| <aside class="notice"> | ||
| Requires a valid user authentication token. | ||
| </aside> | ||
| <aside class="notice"> | ||
| The <code>:requestForInformationId</code> must be owned by the authenticated user. A <a href="#errors">404 HTTP error</a> is returned otherwise. | ||
| </aside> |
There was a problem hiding this comment.
Both notices mention authentication/authorization but the docs don’t specify the expected error codes for common failure modes (e.g., missing/invalid token likely 401, valid token but not owner likely 404 as stated). Consider explicitly documenting the expected status codes per case to reduce integration ambiguity (and keep it consistent between GET and POST sections).
| -X POST \ | ||
| -H "Authorization: Bearer <token>" \ | ||
| -H "Content-Type: application/json" \ | ||
| -d '{ "beneficiaryAccountNumber": "0x1234abcd", "beneficiaryAddress": "123 Main St", "beneficiaryCountry": "US", "beneficiaryName": "Jane Doe" }' |
There was a problem hiding this comment.
The POST example uses a beneficiaryAccountNumber value that looks like a crypto address (0x...), which may confuse integrators if the field is meant to be an account number distinct from an address (especially since there is also beneficiaryAddress). Consider adjusting the example values to clearly differentiate these fields (e.g., a numeric/IBAN-style account number vs. a postal address), or rename/clarify the field meaning in the schema description if beneficiaryAccountNumber can indeed be an on-chain address.
| -d '{ "beneficiaryAccountNumber": "0x1234abcd", "beneficiaryAddress": "123 Main St", "beneficiaryCountry": "US", "beneficiaryName": "Jane Doe" }' | |
| -d '{ "beneficiaryAccountNumber": "ACC-123456789", "beneficiaryAddress": "123 Main St", "beneficiaryCountry": "US", "beneficiaryName": "Jane Doe" }' |
| ------------- | ----------- | ||
| amount | The transaction amount that triggered the travel rule requirement. | ||
| currency | The currency of the transaction. | ||
| formSchema | A JSON Schema object describing the fields the user must provide via the [Submit Travel Rule Information](#submit-travel-rule-information) endpoint. |
There was a problem hiding this comment.
It’s unclear which JSON Schema dialect/version formSchema follows (draft-04/draft-07/2019-09, etc.). Since validators and tooling differ by draft, consider stating the schema version used (e.g., via $schema or in prose) or explicitly noting that the returned schema is compatible with a specific draft.
a061307 to
b696cc8
Compare
b696cc8 to
0589c9e
Compare
Add Travel Rule documentation
https://uphold.atlassian.net/browse/BKO-6717
https://uphold.atlassian.net/browse/BKO-6718