Skip to main content
Version: 2019-05-29 (Current)

Search charges

Search and filter charges to find transactions by description, metadata, card details, customer information, and more. The Search API provides powerful full-text search capabilities across all charges.


๐Ÿ”‘API Credentials

Request Parametersโ€‹

Required - 1 fieldRequired Parameters
โ–ผ
`scope`STRING(required)
Search scope. Must be set to "charge" to search charges.
Example:"charge"
Values:charge
Recommended - 2 fieldsRecommended Parameters
โ–ผ
`query`STRING(optional)
Search query string. Searches across charge description, metadata, card details (last 4 digits, brand, bank), and customer information. Supports multiple words (AND logic) and partial matches.
Example:"order 1234"
`filters`OBJECT(optional)
Filter criteria to narrow search results. Common filters include status, currency, amount, capture, paid, and created date ranges.
Example:{"status":"successful","currency":"thb","paid":true}
Additional - 3 fieldsAdditional Parameters

Responsesโ€‹

200

Successful search

Search completed successfully. Returns a search result object with matching charges in the data array.

Response includes:
  • data - Array of charge objects matching the search criteria
  • total - Total number of results matching the search
  • total_pages - Number of pages available
  • page - Current page number
  • per_page - Number of results per page
  • order - Sort order applied (chronological or reverse_chronological)

400

Bad request

Request validation failed. Check the error message for details.

Common causes:
  • Missing required scope parameter
  • Invalid page number (below 1)
  • Invalid per_page value (above 100 or below 1)
  • Malformed filters object

401

Unauthorized

Authentication failed. Invalid or missing API key.

Common causes:
  • Missing Authorization header
  • Invalid secret key
  • Using public key instead of secret key
  • Incorrect HTTP Basic Auth format

422

Invalid scope

Invalid search scope provided.

Common causes:
  • Scope parameter is not "charge"
  • Invalid scope value

Code samplesโ€‹

curl https://api.omise.co/search \
-u skey_test_5xuy4w91xqz7d1w9u0t: \
-d "scope=charge" \
-d "query=order 1234" \
-d "filters[status]=successful" \
-d "filters[currency]=thb"

Error and result codesโ€‹

Common Error Codesโ€‹

CodeDescriptionResolution
bad_requestMissing or invalid parametersCheck that scope is provided and parameters are valid
authentication_failureInvalid API keyVerify your secret key is correct
invalid_scopeInvalid search scopeEnsure scope is set to "charge"

Search Filter Optionsโ€‹

FilterTypeDescription
statusstringCharge status (pending, successful, failed, expired, reversed)
currencystringCurrency code (thb, jpy, sgd, myr, usd, etc.)
amountintegerExact amount in smallest currency unit
capturebooleanWhether charge is captured (true/false)
paidbooleanWhether charge is paid (true/false)
createdobjectDate range filter (e.g., {gte: '2025-01-01', lte: '2025-01-31'})

Try it outโ€‹

Required - 1 fields
โ–ผ
Recommended - 2 fields
Additional - 3 fields