Aller au contenu

Search transactions — filtres combinés (where AST + sort).

POST
/v1/billing/me/transactions/search
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.

Media type application/json
object
where
sort
Array<object>
object
field
required
string
Allowed values: createdAt id type amount
dir
required
string
Allowed values: asc desc
pagination
object
offset
integer
0
limit
integer
default: 50 >= 1 <= 200

Page de transactions.

Media type application/json
object
status
required
string
Allowed value: success
code
required
string
data
required
object
items
required
Array<object>
object
id
required
string
type
required
string
Allowed values: allocation adjustment debit refund subscription_debit
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
> 0
total
required
integer
hasMore
required
boolean
sort
Array<object>
object
field
required
string
dir
required
string
Allowed values: asc desc
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
Allowed value: error
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
Allowed value: error
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
Allowed value: error
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
Allowed value: error
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
Allowed value: error
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"
}