Back to Home

Documentation

Everything you need to know to get the most out of DiscountFlow. Find guides, tutorials, and API references.

Quick Start
API References
FAQs
API References
/
API Endpoints
/
Approval Requests

Approval Requests

Returns a paginated list of approval requests. Supports optional filters on status, customer name, sales region, request type, and date range.

approvalRequests

Returns a paginated list of approval requests. Supports optional filters on status, customer name, sales region, request type, and date range.

Method

POST

Path

/graphql

Authentication

Bearer Token

Request Body Schema

Content-type: application/json

Variables

NameTypeRequiredDescription
filter.statusStringOptionalExact match (e.g. "pending", "approved", "denied")
filter.customer_nameStringOptionalPartial match on customer name
filter.sales_regionStringOptionalExact match on sales region
filter.request_typeStringOptionalExact match on request type
filter.request_date_fromDateOptionalRequests on or after this date (Y-m-d)
filter.request_date_toDateOptionalRequests on or before this date (Y-m-d)
firstIntOptionalItems per page. Default: 15
pageIntOptionalPage number. Default: 1

Example Payload

{
  "query": "query ($filter: ApprovalRequestFilterInput, $first: Int, $page: Int) { approvalRequests(filter: $filter, first: $first, page: $page) { data { id sales_contact request_type request_date sales_region customer_name project_name account_number status created_at updated_at opportunities { id partnumber quote_quantity requested_price approved_price status } } paginatorInfo { currentPage lastPage total } } }",
  "variables": {
    "filter": {
      "status": "pending",
      "customer_name": "Acme"
    },
    "first": 10,
    "page": 1
  }
}

Response

Returns a paginated list of ApprovalRequest objects, each including nested opportunities (line items).

Example Response

{
  "data": {
    "approvalRequests": {
      "data": [
        {
          "id": "01JNQX4KZB7WNVR3MPXT6A0010",
          "sales_contact": "John Smith",
          "request_type": "standard",
          "request_date": "2026-03-24",
          "sales_region": "NA",
          "customer_name": "Acme Corp",
          "project_name": "Q2 Expansion",
          "account_number": "ACME-001",
          "status": "pending",
          "created_at": "2026-03-24 10:00:00",
          "updated_at": "2026-03-24 10:00:00",
          "opportunities": [
            {
              "id": "01JNQX4KZB7WNVR3MPXT6A0011",
              "partnumber": "ABC-001",
              "quote_quantity": 100,
              "requested_price": 85.0,
              "approved_price": null,
              "status": "pending"
            }
          ]
        }
      ],
      "paginatorInfo": {
        "currentPage": 1,
        "lastPage": 3,
        "total": 34
      }
    }
  }
}

Errors

Example Response

{
  "errors": [
    {
      "message": "Unauthenticated."
    }
  ]
}