Back to API docs

apigetproposals JSON request body proposals and templates

POST /api/getproposals lists proposals, filters them, or returns one proposal by id or url. POST /api/getproposal remains available for detailed legacy single lookup.

Fields

key
string, required

Your API key.

id, url
optional single lookup

When provided, returns one proposal instead of a paginated list.

templates_only
boolean, optional

When true, filters to proposal templates where type == 4.

deleted, type, status, author, owner, client, code, search
optional filters

Search checks proposal name, client, code, contact person, and URL.

date_from, date_to
date strings, optional

Filter by the proposal created field.

include or expand
comma string or array, optional

Supported values: client, entries, views, or all. Client data is included by default. You can also use include_entries and include_views booleans. Display settings such as showgroup and selectoff are returned in a settings object (showgroup also at top level). selectoff: 1 means parent SELECT! buttons are hidden. Entry selectable on a parent row does not mean SELECT! is hidden. tunc is a company setting and is not a proposal settings key. There is no showvat / showtax field; the public VAT line is omitted when all rates are 0%.

page, step, orderby, order
optional pagination and sorting

step is capped at 100. Allowed order fields include id, nr, name, client, status, type, created, deadline, created_at, and updated_at.

List example

{
  "key": "YOUR_API_KEY",
  "status": 2,
  "include": "client",
  "page": 1,
  "step": 20
}

Templates-only example

{
  "key": "YOUR_API_KEY",
  "templates_only": true,
  "orderby": "name",
  "order": "asc"
}

Single expanded example

{
  "key": "YOUR_API_KEY",
  "id": 456,
  "expand": "client,entries,views"
}

Response shape

{
  "status": "ok",
  "data": [
    {
      "id": 456,
      "name": "Example proposal",
      "type": 0,
      "public_url": "https://example.com/offer/generated-url",
      "showgroup": 1,
      "settings": { "showgroup": 1, "selectoff": 0 },
      "client_data": { "id": 123, "name": "Example UAB", "meta": {} }
    }
  ],
  "page": 1,
  "pages": 1,
  "count": 1
}
Use /api/createproposalfromtemplate to create a proposal from a template id with client/contact data.