---
title: "POST /entity-types/query/multi"
method: POST
path: "/entity-types/query/multi"
tags: ["Graph", "EntityType"]
---

# POST /entity-types/query/multi

`POST /entity-types/query/multi`

## Headers

- `X-Authenticated-User-Actor-Id` string, uuid, required

## Request body

- GetClosedMultiEntityTypesParams
  - `entityTypeIds` array[], required
    - VersionedUrl[]
  - `includeResolved` 'resolved' | 'resolvedWithDataTypeChildren'
  - `temporalAxes` union, required — Defines the two possible combinations of pinned/variable temporal axes that are used in queries that return [`Subgraph`]s. The [`VariableTemporalAxisUnresolved`] is optionally bounded, in the absence of provided bounds an inclusive bound at the timestamp at point of resolving is assumed. [`Subgraph`]: crate::subgraph::Subgraph
    - object
      - `pinned` object, required
        - `axis` 'transactionTime', required — Time axis for the transaction time. This is used as the generic argument to time-related structs and can be used as tag value.
        - `timestamp` string, date-time, nullable, required
      - `variable` object, required
        - `axis` 'decisionTime', required — Time axis for the decision time. This is used as the generic argument to time-related structs and can be used as tag value.
        - `interval` UnresolvedRightBoundedTemporalInterval, required
          - `end` union, required
            - object
              - …
            - object
              - …
          - `start` union, required
            - object
              - …
            - object
              - …
            - object
              - …
    - object
      - `pinned` object, required
        - `axis` 'decisionTime', required — Time axis for the decision time. This is used as the generic argument to time-related structs and can be used as tag value.
        - `timestamp` string, date-time, nullable, required
      - `variable` object, required
        - `axis` 'transactionTime', required — Time axis for the transaction time. This is used as the generic argument to time-related structs and can be used as tag value.
        - `interval` UnresolvedRightBoundedTemporalInterval, required
          - `end` union, required
            - object
              - …
            - object
              - …
          - `start` union, required
            - object
              - …
            - object
              - …
            - object
              - …

## Response `200`

Gets a list of multi-entity types that satisfy the given query. A multi-entity type is the combination of multiple entity types.

- GetClosedMultiEntityTypesResponse
  - `definitions` EntityTypeResolveDefinitions
    - `dataTypes` object, required
    - `entityTypes` object, required
    - `propertyTypes` object, required
  - `entityTypes` object, required

## Other responses

- `422` — Provided query is invalid
- `500` — Store error occurred

## Changes

- **2026-06-25** `d94249d1f3aa` — 1 warning
  - the `entityTypeIds/items/items/` request property's maxLength was set to `2048`
- **2025-09-24** `93216723a7ab` — 1 breaking
  - the request property `includeResolved` became not nullable
- **2025-04-24** `ccac01e6aad0` — 1 breaking, 1 info
  - the `definitions/allOf[#/components/schemas/EntityTypeResolveDefinitions]/dataTypes/additionalProperties/parents/items/` response property's maxLength was unset from `2048` for the response status `200`
  - the request property `includeResolved` became nullable

[Change history](https://skmtc.dev/hashintel/apis/graph/changes/entity-types/query/multi/post.md)

---

[API](https://skmtc.dev/hashintel/apis/graph.md) · [All operations](https://skmtc.dev/hashintel/apis/graph/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/hashintel/graph/revisions/ba95e69ddba8/schema)
