Skip to main content

PaymentFilterDTO

Payment filter request body. Every field is optional; all of them are combined with AND, and a list filter is ignored when empty.

Several fields were renamed when the filter was extended. The old names still work and are marked deprecated below; when an old and a new name are sent together they are merged — lists are unioned, and for a time bound the narrower value wins (the greater lower bound, the smaller upper bound).

pageint32

Page number, 1-based.

Possible values: >= 1

Default value: 1
Example: 1
sizeint32

Page size (min 1, max 100).

Possible values: >= 1 and <= 100

Default value: 10
Example: 20
orders object

Sort order. Each key is a sort field — ID, NUMBER, AMOUNT, TIMESTAMP, CREATED_TIMESTAMP, CANCELED_TIMESTAMP, TYPE or BASE (see PaymentOrderField) — and each value a direction. Keys are applied in the order they appear in the JSON object. Unless ID is one of the keys, a trailing ID DESC tie-breaker is appended so paging stays stable. Omit (or send {}) to sort by ID DESC only.

property name*string

Possible values: [ASC, DESC]

searchstring

Case-insensitive partial match on the payment number or its note.

Example: PAY-2024
idsint64[]

Filter by payment IDs — useful for bulk re-sync.

Example: [10001,10002]
basesPaymentBase[]

Filter by payment source (optional).

Possible values: [CONTRACT, SURCHARGE, CLIENT, BOOKING, CASHBACK]

Example: ["CONTRACT","BOOKING"]
typesPaymentType[]

Filter by payment method (optional).

Possible values: [CARD, CASH, TRANSFER, BALANCE, BANK, PAYME, MY_UZCARD, UZUM, PAYLOV, UYSOT_PAY, ATMOS, OTHERS, CUSTOM, CASHBACK, CLICK]

Example: ["CASH","CARD"]
debitsPaymentDebit[]

Filter by direction — income or outcome. Replaces the single-valued debit.

Possible values: [INCOME, OUTCOME]

Example: ["INCOME"]
amountFromdouble

Minimum payment amount (inclusive, optional).

Possible values: >= 0

Example: 1000000
amountTodouble

Maximum payment amount (inclusive, optional).

Possible values: >= 0

Example: 50000000
timestampFromint64

Payment date lower bound (inclusive), epoch seconds. Replaces start.

Example: 1700000000
timestampToint64

Payment date upper bound (inclusive), epoch seconds. Replaces finish.

Example: 1750000000
createdTimestampFromint64

System-entry date lower bound (inclusive), epoch seconds — the cursor to continue from when syncing incrementally. Replaces createdStart.

Example: 1700000000
createdTimestampToint64

System-entry date upper bound (inclusive), epoch seconds. Replaces createdFinish.

Example: 1750000000
currencyIdsint32[]

Filter by currency IDs (optional).

Example: [1,2]
contractIdsint64[]

Filter by contract IDs — for CONTRACT / SURCHARGE payments. Replaces contractId.

Example: [1409]
clientIdsint64[]

Filter by payer client IDs (the response's payerId). Replaces clientId.

Example: [3001]
bookingIdsint64[]

Filter by booking IDs — for BOOKING payments. Replaces bookingId.

Example: [512]
createdByIdsint32[]

Filter by the employee who created the payment.

Example: [42]
canceledByIdsint32[]

Filter by the employee who cancelled the payment.

Example: [5]
branchIdsint32[]

Filter by branch IDs (optional).

Example: [1,2]
houseIdsint32[]

Filter by house (residential complex) IDs (optional).

Example: [1,2]
buildingIdsint32[]

Filter by building IDs (optional).

Example: [10,11]
mortgagebooleannullable

true — only mortgage payments, false — only non-mortgage ones. null (omit) — don't filter.

Example: true
paymentViewPaymentViewStatus

Payment visibility filter for POST /v1/open-api/payment/filter.

  • ALL — All payments (default)
  • ACTIVE — Only active (non-cancelled) payments
  • CANCELLED — Only cancelled payments

Possible values: [ALL, ACTIVE, CANCELLED]

Example: ALL
customFields object[]

Conditions on the payment's custom fields — see GET /v1/open-api/payment-field for the company's field definitions. Each entry becomes its own condition (AND between entries), while the values inside one entry are OR-ed.

  • Array [
  • customFieldIdint64required

    CRM custom field ID to filter on. Required.

    Example: 42
    typeCustomFieldType

    Field type, decides how the condition is interpreted. Defaults to TEXT.

    Possible values: [TEXT, EXTENDED_TEXT, DATE, SELECT, MULTI_SELECT, RADIO, TOGGLE_SWITCH, URL, TAG, LOCATION, COUNTER, ADDRESS, EMPLOYEE, FILE, NUMBER]

    Default value: TEXT
    Example: SELECT
    valuesstring[]

    Values to match (OR between them). Used for every type except NUMBER, and ignored when hasValue is sent. For ADDRESS send comma-separated Uzbek place names (see the description above).

    Example: ["VIP"]
    numberStartnumber

    Lower bound for NUMBER fields (inclusive). Defaults to 0 when omitted.

    Example: 1000
    numberFinishnumber

    Upper bound for NUMBER fields (inclusive). Unbounded when omitted.

    Example: 5000
    currencyIdint64

    Restrict a NUMBER condition to one currency (optional). When omitted, any currency matches.

    Example: 24
    hasValueboolean

    Presence check. true → the lead has any value for this field, false → it has none. Overrides values / numberStart / numberFinish / currencyId.

    Example: true
  • ]
  • debitPaymentDebitdeprecated

    Single-valued direction filter. Use debits instead; if both are sent they are merged.

    Possible values: [INCOME, OUTCOME]

    Example: INCOME
    startint64deprecated

    Payment date lower bound (epoch seconds). Use timestampFrom instead.

    Example: 1700000000
    finishint64deprecated

    Payment date upper bound (epoch seconds). Use timestampTo instead.

    Example: 1750000000
    createdStartint64deprecated

    System-entry date lower bound (epoch seconds). Use createdTimestampFrom instead.

    Example: 1700000000
    createdFinishint64deprecated

    System-entry date upper bound (epoch seconds). Use createdTimestampTo instead.

    Example: 1750000000
    contractIdint64deprecated

    Filter by a single contract ID. Use contractIds instead.

    Example: 1409
    clientIdint64deprecated

    Filter by a single client ID. Use clientIds instead.

    Example: 3001
    bookingIdint64deprecated

    Filter by a single booking ID. Use bookingIds instead.

    Example: 512
    fields objectdeprecated

    Plain custom-field equality filter: each key is a payment custom field ID and each value the exact value it must have; all pairs are combined with AND. Use customFields instead — it covers ranges, presence checks and address matching.

    property name*string
    PaymentFilterDTO
    {
    "page": 1,
    "size": 20,
    "orders": {
    "TIMESTAMP": "DESC"
    },
    "search": "PAY-2024",
    "ids": [
    10001,
    10002
    ],
    "bases": [
    "CONTRACT",
    "BOOKING"
    ],
    "types": [
    "CASH",
    "CARD"
    ],
    "debits": [
    "INCOME"
    ],
    "amountFrom": 1000000,
    "amountTo": 50000000,
    "timestampFrom": 1700000000,
    "timestampTo": 1750000000,
    "createdTimestampFrom": 1700000000,
    "createdTimestampTo": 1750000000,
    "currencyIds": [
    1,
    2
    ],
    "contractIds": [
    1409
    ],
    "clientIds": [
    3001
    ],
    "bookingIds": [
    512
    ],
    "createdByIds": [
    42
    ],
    "canceledByIds": [
    5
    ],
    "branchIds": [
    1,
    2
    ],
    "houseIds": [
    1,
    2
    ],
    "buildingIds": [
    10,
    11
    ],
    "mortgage": true,
    "paymentView": "ALL",
    "customFields": [
    {
    "customFieldId": 42,
    "type": "SELECT",
    "values": [
    "VIP"
    ],
    "numberStart": 1000,
    "numberFinish": 5000,
    "currencyId": 24,
    "hasValue": true
    }
    ]
    }