Developers

OPDC API Documentation

The OPDC API exposes secure, opinionated endpoints for working with Sage 100 Contractor data. Explore endpoints, view request and response schemas, and test calls directly from the docs.

Query Example — Parts

Retrieve parts matching one or more part numbers, including child records, using the v2 nested filter syntax.

Endpoint

POSThttps://{your-opdc-host}/api/v2/query/part

Headers

x-api-key: {your-api-key}
Content-Type: application/json

Request Body

{
  "selectFields": ["partNumber", "description", "unitCost"],
  "withChildren": true,
  "filters": {
    "and": [
      {
        "match": {
          "field": "partNumber",
          "operator": "in",
          "values": ["PIPE-001", "VALVE-200"]
        }
      }
    ]
  }
}

Response

{
  "message": "Success",
  "page": 1,
  "response": [
    {
      "partNumber": "PIPE-001",
      "description": "PVC Pipe 4\"",
      "unitCost": 12.50
    }
  ],
  "responseType": "part"
}

Supported Filter Operators

OperatorDescriptionExample ValueNotes
=Equal to"PIPE-001"Exact match
!=Not equal to"PIPE-001"Excludes exact match
>Greater than100Numeric or date fields
<Less than100Numeric or date fields
>=Greater than or equal50Inclusive lower bound
<=Less than or equal50Inclusive upper bound
LIKEPattern match"PIPE%"Use % as wildcard
NOT LIKENegated pattern match"PIPE%"Excludes pattern matches
INMatches any value in list["A","B"]Use values array instead of value