---
title: "Query case instances"
method: POST
path: "/cmmn-query/case-instances"
tags: ["Case Instances", "Query"]
---

# Query case instances

`POST /cmmn-query/case-instances`

## Request

- Base URL: `https://developer-docs.flowable.com/cmmn-api`
- URL: `https://developer-docs.flowable.com/cmmn-api/cmmn-query/case-instances`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/flowable/apis/flowable-cmmn-rest-api/docs/cmmn-query/case-instances/post.ts> (a function with typed inputs; its response is checked against the schema)

The request body can contain all possible filters that can be used in the List case instances URL query. On top of these, it’s possible to provide an array of variables to include in the query, with their format described here.

The general paging and sorting query-parameters can be used for this URL.

## Request body

- CaseInstanceQueryRequest
  - `start` integer
  - `size` integer
  - `sort` string
  - `order` string
  - `caseInstanceId` string
  - `caseInstanceIds` string[]
  - `caseDefinitionId` string
  - `caseDefinitionKey` string
  - `caseDefinitionKeyLike` string
  - `caseDefinitionKeyLikeIgnoreCase` string
  - `caseDefinitionKeys` string[]
  - `excludeCaseDefinitionKeys` string[]
  - `caseDefinitionCategory` string
  - `caseDefinitionCategoryLike` string
  - `caseDefinitionCategoryLikeIgnoreCase` string
  - `caseDefinitionName` string
  - `caseDefinitionNameLike` string
  - `caseDefinitionNameLikeIgnoreCase` string
  - `caseBusinessKey` string
  - `caseInstanceName` string
  - `caseInstanceNameLike` string
  - `caseInstanceNameLikeIgnoreCase` string
  - `caseInstanceRootScopeId` string
  - `caseInstanceRootScopeIds` string[]
  - `caseInstanceParentScopeId` string
  - `caseInstanceParentScopeIds` string[]
  - `caseInstanceBusinessKey` string
  - `caseInstanceBusinessKeyLike` string
  - `caseInstanceBusinessKeyLikeIgnoreCase` string
  - `caseInstanceBusinessStatus` string
  - `caseInstanceBusinessStatusLike` string
  - `caseInstanceBusinessStatusLikeIgnoreCase` string
  - `caseInstanceParentId` string
  - `caseInstanceStartedBy` string
  - `caseInstanceStartedBefore` string, date-time
  - `caseInstanceStartedAfter` string, date-time
  - `caseInstanceState` string
  - `involvedUser` string
  - `caseInstanceCallbackId` string
  - `caseInstanceCallbackIds` string[]
  - `caseInstanceCallbackType` string
  - `parentCaseInstanceId` string
  - `parentProcessInstanceId` string
  - `caseInstanceReferenceId` string
  - `caseInstanceReferenceType` string
  - `caseInstanceLastReactivatedBy` string
  - `caseInstanceLastReactivatedBefore` string, date-time
  - `caseInstanceLastReactivatedAfter` string, date-time
  - `includeCaseVariables` boolean
  - `includeCaseVariablesNames` string[]
  - `variables` QueryVariable[]
    - `name` string
    - `operation` 'equals' | 'notEquals' | 'equalsIgnoreCase' | 'notEqualsIgnoreCase' | 'like' | 'likeIgnoreCase' | 'greaterThan' | 'greaterThanOrEquals' | 'lessThan' | 'lessThanOrEquals' | 'exists' | 'notExists'
    - `value` object
    - `type` string
  - `activePlanItemDefinitionId` string
  - `activePlanItemDefinitionIds` string[]
  - `tenantId` string
  - `tenantIdLike` string
  - `tenantIdLikeIgnoreCase` string
  - `withoutTenantId` boolean

## Response `200`

Indicates request was successful and the case instances are returned

- DataResponseCaseInstanceResponse
  - `data` CaseInstanceResponse[]
    - `id` string
    - `name` string
    - `url` string
    - `businessKey` string
    - `businessStatus` string
    - `dueDate` string, date-time
    - `claimTime` string, date-time
    - `claimedBy` string
    - `startTime` string, date-time
    - `startUserId` string
    - `state` string
    - `ended` boolean
    - `caseDefinitionId` string
    - `caseDefinitionUrl` string
    - `caseDefinitionName` string
    - `caseDefinitionDescription` string
    - `parentId` string
    - `callbackId` string
    - `callbackType` string
    - `referenceId` string
    - `referenceType` string
    - `variables` RestVariable[]
      - `name` string: Name of the variable
      - `type` string: Type of the variable.
      - `value` object: Value of the variable.
      - `valueUrl` string
      - `scope` string
    - `tenantId` string
    - `completed` boolean
  - `total` integer
  - `start` integer
  - `sort` string
  - `order` string
  - `size` integer

## Other responses

- `400`: Indicates a parameter was passed in the wrong format . The status-message contains additional information.

---

[API](https://skmtc.dev/flowable/apis/flowable-cmmn-rest-api.md) - [All operations](https://skmtc.dev/flowable/apis/flowable-cmmn-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/flowable/apis/flowable-cmmn-rest-api/revisions/afdfa1fcacd0?raw)
