Skip to content

List renewals

GET
/api/renewals
curl --request GET \
--url 'http://localhost:3000/api/renewals?page=1&sort=name&order=asc' \
--cookie session=<session>
page
integer
default: 1 >= 1

Page number (1-based)

pageSize
integer
>= 1 <= 10000

Rows per page. Omitted = full table, capped at 10000.

search
string

Case-insensitive substring match across name

sort
string
Allowed values: name createdAt

Sort column

order
string
Allowed values: asc desc

Sort direction

Success

Media type application/json
object
data
required
Array<object>
object
id
required
string format: uuid
name
required
string
vendorId
string format: uuid
nullable
contractId
string format: uuid
nullable
renewalDate
string
nullable
amount
string
nullable
status
string
nullable
notes
string
nullable
createdAt
required
string format: date-time
updatedAt
required
string format: date-time
total
required
integer
page
required
integer
pageSize
required
integer
hasMore
required
boolean
Example generated
{
"data": [
{
"id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"name": "example",
"vendorId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"contractId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"renewalDate": "example",
"amount": "example",
"status": "example",
"notes": "example",
"createdAt": "2026-04-15T12:00:00Z",
"updatedAt": "2026-04-15T12:00:00Z"
}
],
"total": 1,
"page": 1,
"pageSize": 1,
"hasMore": true
}

Invalid filter param

Media type application/json
object
error
required
string
Example
{
"error": "Not found"
}

Not authenticated

Media type application/json
object
error
required
string
Example
{
"error": "Not found"
}