Skip to main content
GET
List pay-in sessions
Coming soon — not yet available. Hosted pay-in sessions are documented ahead of launch. Until they’re enabled for your company, creating one is refused with 400 no-suitable-provider. To receive fiat today, use a virtual bank account.
Requires scope: manage:pay-in-sessions — see Required scopes. Returns the account’s pay-in sessions from persisted state — the provider is never called. Use it for a deposits view, or to recover a session whose callbackUrl notification was missed.
A session is an initiation-only record. It stops at PAYMENT_RECEIVED; the conversion and crypto credit are a separate pay-in. Don’t wait for a “completed” session status — there is none.
To poll for changes, sort updatedAt descending and read only the first page, sized above your expected change volume. from/to bound createdAt, so there is no “changed since” filter.

Authorizations

FlowClient Credentials
Token URL
https://login-staging.venly.io/auth/realms/VenlyFinance/protocol/openid-connect/token

Headers

x-tenant-id
string<uuid>

Which tenant the request is scoped to, among those your token grants. Omit it when the token grants exactly one tenant; it is required when the token grants more than one. A supplied value must exactly match a tenant the token grants.

Absent when required, blank, malformed, or naming a tenant the token does not grant — each gets the same generic 403 forbidden, which reveals neither whether a tenant exists nor which ones you may use. Send the header once: a repeated header is rejected the same way.

Example:

"3fa85f64-5717-4562-b3fc-2c963f66afa6"

Path Parameters

accountId
string<uuid>
required

Unique account identifier

Query Parameters

status
enum<string>

Filter by session status Status of a fiat-to-crypto pay-in session. A session is an initiation-only record: it tracks the fiat payment being initiated, not its settlement. On the happy path it terminates at PAYMENT_RECEIVED; conversion and the crypto credit are tracked as a pay-in. There is deliberately no "completed" value — CONVERTING, MINTING and COMPLETED were removed in 1.8.0.

  • CREATED — persisted, not yet handed to the provider
  • PENDING_PAYMENT — awaiting the payer to complete the fiat payment
  • PAYMENT_RECEIVED — fiat payment confirmed. Terminal on the happy path
  • FAILED — the session could not be initiated or the payment failed
  • EXPIRED — the session passed expiresAt unpaid
  • CANCELLED — cancelled before payment
  • REFUNDING — a refund of the received fiat is in progress
  • REFUNDED — the received fiat was refunded
Available options:
CREATED,
PENDING_PAYMENT,
PAYMENT_RECEIVED,
FAILED,
EXPIRED,
CANCELLED,
REFUNDING,
REFUNDED
from
string<date-time>

Lower bound on createdAt, inclusive (ISO-8601 instant)

to
string<date-time>

Upper bound on createdAt, exclusive (ISO-8601 instant)

page
integer<int32>
default:1

Page number (1-based indexing)

Required range: x >= 1
size
integer<int32>
default:100

Number of items per page

Required range: x >= 1
sortOn
enum<string>

createdAt or updatedAt. Omitted means createdAt descending.

Available options:
createdAt,
updatedAt
sortOrder
enum<string>
default:DESC

Sort direction. Applied only together with sortOn — on its own it is ignored and the default ordering (createdAt descending) is used, so ?sortOrder=ASC alone does not reverse a list.

Available options:
ASC,
DESC

Response

A page of pay-in sessions. A page beyond the last one is an empty result, not an error.

success
boolean

Indicates whether the request was successful

result
object[]
pagination
object

Pagination metadata (top-level sibling of result)