# query offers

`GET https://api.suger.cloud/org/{orgId}/offer/query`

Query offers with filtering, sorting, and pagination using CRUD query language. Supports complex filters, sorting by multiple fields, and pagination.

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `orgId` | path | string | yes | Organization ID |
| `page_size` | query | integer | no | Number of items per page (default 20, max 1000) |
| `page_number` | query | integer | no | Page number (default 1) |
| `fields` | query | string | no | Comma-separated fields to return (e.g., 'id,name,status'). Dot notation supported for JSONB paths (e.g., 'info.awsResaleAuthorizationId'). |
| `q` | query | string | no | LISP-style filter expression (e.g., '(= status \ |
| `s` | query | string | no | Sort fields: 'field:asc,field2:desc' or '-field,field2' format (e.g., 'creation_time:desc,name:asc' or '-creation_time,name') |
| `search` | query | string | no | Free-text substring search (case-insensitive, max 256 chars) over name, buyer name, product name, external_id, product_id, buyer_id, partner, service, offer_type, status, sub_status, currency, commit amount, expiry date, CRM opportunity/deal IDs, billing accounts, and AWS/Azure/GCP account IDs. Comma-separated terms are AND-combined (max 8 terms; more returns 400). Combines with q filters and s sort. |

## Responses

### 200 — Paginated list of offers

Content-Type: `application/json` · Schema: `crud.ListBaseResponse-orm_WorkloadOffer`

### 400 — Bad request error

Content-Type: `application/json`

### 500 — Internal server error

Content-Type: `application/json`

---

Interactive API reference: https://doc.suger.io/api/
