Developers

Search for documents

Dev

Statements

Operations related to statements

All endpoints require a JWT Bearer token in the Authorization header; most also require an API key in the X-API-KEY header.

GET /v1/statements/{id}

Get a specific statement by ID

Parameters

Name

In

Type

Required

Description

id

path

string

Yes

The _id field

selectFields

query

string

No

Choose specific fields to include in the response (comma-separated). If provided, excludeFields will be ignored.

excludeFields

query

string

No

Exclude specific fields from the response (comma-separated).

populateOptions

query

string

No

Include related data in query results using a JSON object.

Responses

Status

Description

200

Statement details retrieved successfully

GET /v1/statements

Get a list of statements with pagination

Parameters

Name

In

Type

Required

Description

limit

query

integer

Yes

Maximum number of records to return. Starts from 1 to 1000.

page

query

integer

Yes

Page number to retrieve, starting from 0.

selectFields

query

string

No

Choose specific fields to include in the response (comma-separated). If provided, excludeFields will be ignored.

excludeFields

query

string

No

Exclude specific fields from the response (comma-separated).

filter

query

string

No

JSON object representing filter criteria in MongoDB Query Language (MQL) format.

sort

query

string

No

JSON object representing sort criteria in MongoDB Query Language (MQL) format.

populateOptions

query

string

No

Include related data in query results using a JSON object.

Responses

Status

Description

200

Successfully retrieved a paginated list of statements.

The following endpoint is served from https://payments.valpay.com.

PATCH /v1/statements/{id}

Update a statement record by _id

Parameters

Name

In

Type

Required

Description

id

path

string

Yes

MongoDB _id

Request body (required)

Field

Type

Required

Description

paymentType

string (enum)

No

Type of payment One of: api, manual

feesPaid

boolean

No

Whether the fees have been paid

Responses

Status

Description

200

Statement updated successfully

Response schema (2xx)

Field

Type

Required

Description

data

object

No


message

string

No

Success message

Examples
GET /v1/statements
curl "https://api.valpay.com/v1/statements?limit=10&page=0&sort=%7B%22createdAt%22%3A-1%7D" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "X-API-KEY: YOUR_API_KEY"
curl "https://api.valpay.com/v1/statements?limit=10&page=0&sort=%7B%22createdAt%22%3A-1%7D" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "X-API-KEY: YOUR_API_KEY"
curl "https://api.valpay.com/v1/statements?limit=10&page=0&sort=%7B%22createdAt%22%3A-1%7D" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "X-API-KEY: YOUR_API_KEY"

Response 200 (illustrative):

{
  "data": [
    {
      "_id": "665f1e2a9c8b4a0012d3e4c2",
      "merchantId": "665f1e2a9c8b4a0012d3e4f5",
      "period": "2026-05",
      "paymentType": "api",
      "feesPaid": true
    }
  ],
  "total": 12,
  "page": 0,
  "limit": 10
}
{
  "data": [
    {
      "_id": "665f1e2a9c8b4a0012d3e4c2",
      "merchantId": "665f1e2a9c8b4a0012d3e4f5",
      "period": "2026-05",
      "paymentType": "api",
      "feesPaid": true
    }
  ],
  "total": 12,
  "page": 0,
  "limit": 10
}
{
  "data": [
    {
      "_id": "665f1e2a9c8b4a0012d3e4c2",
      "merchantId": "665f1e2a9c8b4a0012d3e4f5",
      "period": "2026-05",
      "paymentType": "api",
      "feesPaid": true
    }
  ],
  "total": 12,
  "page": 0,
  "limit": 10
}
PATCH /v1/statements/{id}
curl -X PATCH https://payments.valpay.com/v1/statements/665f1e2a9c8b4a0012d3e4c2 \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "X-API-KEY: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "feesPaid": true
  }'
curl -X PATCH https://payments.valpay.com/v1/statements/665f1e2a9c8b4a0012d3e4c2 \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "X-API-KEY: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "feesPaid": true
  }'
curl -X PATCH https://payments.valpay.com/v1/statements/665f1e2a9c8b4a0012d3e4c2 \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "X-API-KEY: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "feesPaid": true
  }'

Response 200: the updated statement record.

Try it out
POST