Search transactions — filtres combinés (where AST + sort).
POST
/v1/billing/me/transactions/search
const url = 'http://localhost:8080/v1/billing/me/transactions/search';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"where":"example","sort":[{"field":"createdAt","dir":"asc"}],"pagination":{"offset":0,"limit":50}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url http://localhost:8080/v1/billing/me/transactions/search \ --header 'Content-Type: application/json' \ --data '{ "where": "example", "sort": [ { "field": "createdAt", "dir": "asc" } ], "pagination": { "offset": 0, "limit": 50 } }'Body {where?, sort?, pagination?}. Cf. docs/development/api-design.md §5.b. Note : la résolution where est limitée aux champs whitelistés (createdAt, id, type, amount). Le filtre tenantId est imposé server-side.
Request Body required
Section intitulée « Request Body required » Media type application/json
object
where
sort
Array<object>
object
field
required
string
dir
required
string
pagination
object
offset
integer
limit
integer
Responses
Section intitulée « Responses »Page de transactions.
Media type application/json
object
status
required
string
code
required
string
data
required
object
items
required
Array<object>
object
id
required
string
type
required
string
amount
required
string
balanceAfter
required
string
serviceKey
required
string | null
resourceId
required
string | null
resourceType
required
string | null
note
required
string | null
createdAt
required
string format: date-time
pagination
required
object
offset
required
integer
limit
required
integer
total
required
integer
hasMore
required
boolean
sort
Array<object>
object
field
required
string
dir
required
string
cache
object
hit
required
boolean
key
string
ageSeconds
integer
expiresAt
string format: date-time
timing
object
totalMs
required
integer
dbMs
integer
externalMs
integer
deprecation
object
sunset
required
string format: date-time
successor
string
note
string
Example
{ "status": "success", "data": { "items": [ { "type": "allocation" } ], "sort": [ { "dir": "asc" } ] }}Requête mal formée (validation_error, invalid_idempotency_key, invalid_sort_field, invalid_filter).
Media type application/json
object
status
required
string
code
required
string
error
required
object
message
string
requestId
required
string
details
Array<object>
object
path
string
code
string
message
string
key
additional properties
Example
{ "status": "error"}Authentification manquante ou invalide.
Media type application/json
object
status
required
string
code
required
string
error
required
object
message
string
requestId
required
string
details
Array<object>
object
path
string
code
string
message
string
key
additional properties
Example
{ "status": "error"}Scope insuffisant (forbidden, no_active_plan, service_disabled_on_plan).
Media type application/json
object
status
required
string
code
required
string
error
required
object
message
string
requestId
required
string
details
Array<object>
object
path
string
code
string
message
string
key
additional properties
Example
{ "status": "error"}Validation métier KO (unsafe_url, invalid_bulk_body).
Media type application/json
object
status
required
string
code
required
string
error
required
object
message
string
requestId
required
string
details
Array<object>
object
path
string
code
string
message
string
key
additional properties
Example
{ "status": "error"}Rate-limit dépassé. Header Retry-After retourné.
Media type application/json
object
status
required
string
code
required
string
error
required
object
message
string
requestId
required
string
details
Array<object>
object
path
string
code
string
message
string
key
additional properties
Example
{ "status": "error"}