-
- abort-payment-on-terminal
- capture-payment
- filter-payments
- find-payment
- initiate-payment-flow
- list-activity-logs
- list-payment-activities
- list-payments
- list-payments-by-contact
- list-payments-by-terminal
- refund-payment
- request-payment
- resume-payment-on-terminal
- retrieve-refund-performance
- retrieve-sales-performance
- reverse-payment
- start-payment-on-terminal
- void-payment
Sync object metadata
Metadata allows you to store and manage arbitrary JSON data associated with your merchant account.
Keys and Objects
Metadata is organized into objects, each identified by a unique key. The key is a string of your choice that serves as a unique identifier for the metadata record.
Nested Paths
You can use dot-separated paths (e.g., settings.theme or user.profile.id) to update specific parts of a metadata object without overwriting the entire thing.
- If the path does not exist, it will be created.
- If no path is provided, the entire metadata object for the given key is replaced.
Expiration (TTL)
Each metadata record has an expiration date.
- By default, metadata expires after 2 years from its last update.
- You can specify a custom
ttl(Time To Live) in seconds when syncing. - Metadata can be deleted by syncing it with a
ttlof0. - Expired metadata can be reactivated by syncing it again.
Optimistic Locking
To prevent concurrent updates from overwriting each other, you can use the version argument. If provided, the update will only succeed if it matches the current version (lock_version) of the record.
Limits
- Individual metadata records are limited to 4 KB.
- For test accounts, the total size of all metadata records is limited to 10 MB.
key
string
Required. The unique key that identifies the metadata object.
path
string
Optional. Optional dot-separated path within the metadata object to update.
metadata
any
Required. The JSON metadata to store (or value at path).
version
number
Optional. The version number for optimistic locking (lock_version).
ttl
number
Optional. The time to live in seconds. After this duration, the metadata will be considered expired. Maximum allowed is 2 years.
UNHANDLED_ERROR
This error occurs when the server encounters an unexpected internal error that it cannot handle gracefully. This typically happens due to bugs, infrastructure issues, or edge cases that weren't anticipated during development.
INVALID_ARGUMENTS
This error occurs when the request contains invalid or missing parameters. Common cases include missing required fields, or values that don't match the expected format or type.
BAD_VERSION
This error occurs when making requests to an API version that does not exist. This commonly happens when using an outdated SDK or when the API version specified in the request URL is incorrect.
curl "https://api.reservepay.com/merchants/sync-metadata" \
-X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer $(RESERVEPAY_API_KEY)" \
-d '{
"key": "myData",
"metadata": "{\"tags\":[\"a\",\"b\"]}"
}'
