# Queries

Use this page when you already know which read operation you need and want the exact public query surface of the Luxonis Hub
GraphQL control API. Each supported query has its own section so you can link directly to it.

> **Public query surface**
> The public root query type is `PublicQuery`. Most operational queries are available under `team { ... }`.

## About queries

Every GraphQL schema has a root query type. In Luxonis Hub, the public root query type is `PublicQuery`.

Use this page to:

 * check whether a field is part of the supported public surface
 * confirm the exact argument names and types
 * link directly to one query field from guides or changelog entries

If you need input object details such as `DevicesFilterInput` or `EventSnapFilterInput`, continue to
[Schema](https://docs.luxonis.com/cloud/api/reference/control-api/schema.md) or inspect the live schema through introspection.

## status

Return a basic API status string.

Path: `status`

Type: `String!`

## publicApp

Fetch one public app by ID.

Path: `publicApp`

Type: `AppDetail`

### Arguments for `publicApp`

 * `appId` (`ID!`): ID of the public app to fetch.

## publicApps

List public apps with cursor pagination.

Path: `publicApps`

Type: `AppConnection!`

### Arguments for `publicApps`

 * `after` (`String`): Return items after the specified cursor.
 * `first` (`Int`): Return the first n items from the list.
 * `orderBy` (`AppOrderBy`): Sort order for returned apps.

## team

Enter the authenticated team-scoped query surface.

Path: `team`

Type: `TeamScopedQueries!`

All remaining query sections on this page are nested under `team` and use the path `team.<field>`.

## adoptKey

Fetch one adopt key by ID.

Path: `team.adoptKey`

Type: `TeamAdoptKey`

### Arguments for `adoptKey`

 * `adoptKeyId` (`ID!`): ID of the adopt key to fetch.

## adoptKeys

List adopt keys for the authenticated team.

Path: `team.adoptKeys`

Type: `TeamAdoptKeyConnection!`

### Arguments for `adoptKeys`

 * `after` (`String`): Return items after the specified cursor.
 * `first` (`Int`): Return the first n items from the list.
 * `orderBy` (`TeamAdoptKeyOrderBy`): Sort order for returned adopt keys.

## app

Fetch one app visible to the team by ID.

Path: `team.app`

Type: `AppDetail`

### Arguments for `app`

 * `appId` (`ID!`): ID of the app to fetch.

## appRelease

Fetch one app release by ID.

Path: `team.appRelease`

Type: `AppReleaseWithDetail`

### Arguments for `appRelease`

 * `appReleaseId` (`ID!`): ID of the app release to fetch.

## apps

List apps visible to the team.

Path: `team.apps`

Type: `AppConnection!`

### Arguments for `apps`

 * `after` (`String`): Return items after the specified cursor.
 * `filter` (`AppsFilterInput`): Filter options for the returned apps.
 * `first` (`Int`): Return the first n items from the list.
 * `orderBy` (`AppOrderBy`): Sort order for returned apps.

## device

Fetch one device by ID.

Path: `team.device`

Type: `DeviceWithDetail`

### Arguments for `device`

 * `deviceId` (`ID!`): ID of the device to fetch.

## deviceApp

Fetch one installed device app by ID.

Path: `team.deviceApp`

Type: `DeviceAppDetail`

### Arguments for `deviceApp`

 * `id` (`ID!`): ID of the installed device app to fetch.

## deviceApps

List installed device apps for one device.

Path: `team.deviceApps`

Type: `DeviceAppConnection!`

### Arguments for `deviceApps`

 * `after` (`String`): Return items after the specified cursor.
 * `deviceId` (`ID!`): ID of the device whose installed apps you want to list.
 * `first` (`Int`): Return the first n items from the list.
 * `orderBy` (`DeviceAppOrderBy`): Sort order for returned device apps.

## deviceGroup

Find a single device group by its ID.

Path: `team.deviceGroup`

Type: `DeviceGroup`

### Arguments for `deviceGroup`

 * `id` (`ID!`): ID of the device group to fetch.

## deviceGroups

Find device groups with cursor pagination.

Path: `team.deviceGroups`

Type: `DeviceGroupConnection!`

### Arguments for `deviceGroups`

 * `after` (`String`): Return items after the specified cursor.
 * `first` (`Int`): Return the first n items from the list.
 * `orderBy` (`DeviceGroupOrderBy`): Sort order for returned device groups.

## deviceUpgrades

List upgrade records for one device.

Path: `team.deviceUpgrades`

Type: `DeviceUpgradeConnection!`

### Arguments for `deviceUpgrades`

 * `after` (`String`): Return items after the specified cursor.
 * `filter` (`DeviceUpgradeFilterInput!`): Filter options for the returned upgrade records.
 * `first` (`Int`): Return the first n items from the list.
 * `orderBy` (`DeviceUpgradeOrderBy`): Sort order for returned upgrade records.

## devices

Find devices based on criteria.

Path: `team.devices`

Type: `DeviceConnection!`

### Arguments for `devices`

 * `after` (`String`): Return items after the specified cursor.
 * `filter` (`DevicesFilterInput`): Filter options for the returned devices.
 * `first` (`Int`): Return the first n items from the list.
 * `orderBy` (`DeviceOrderBy`): Sort order for returned devices.

## eventFile

Fetch one stored event file by ID.

Path: `team.eventFile`

Type: `EventFile`

### Arguments for `eventFile`

 * `fileId` (`ID!`): ID of the event file to fetch.

## snap

Fetch one event snap by ID.

Path: `team.snap`

Type: `EventSnap`

### Arguments for `snap`

 * `snapId` (`ID!`): ID of the event snap to fetch.

## snaps

List event snaps based on criteria.

Path: `team.snaps`

Type: `EventSnapConnection!`

### Arguments for `snaps`

 * `after` (`String`): Return items after the specified cursor.
 * `filter` (`EventSnapFilterInput`): Filter options for the returned snaps.
 * `first` (`Int`): Return the first n items from the list.
 * `orderBy` (`EventSnapOrderBy`): Sort order for returned snaps.

## snapsExtrasKeyValues

Return observed values for one extras key across matching snaps.

Path: `team.snapsExtrasKeyValues`

Type: `[String!]!`

### Arguments for `snapsExtrasKeyValues`

 * `input` (`SnapsExtrasKeyValuesInput!`): Search options for the extras index.
 * `key` (`String!`): Extras key whose values you want to list.

## snapsExtrasKeys

Return observed extras keys across matching snaps.

Path: `team.snapsExtrasKeys`

Type: `[String!]!`

### Arguments for `snapsExtrasKeys`

 * `input` (`SnapsExtrasKeysInput!`): Search options for the extras index.

## snapsTags

Return observed tags across matching snaps.

Path: `team.snapsTags`

Type: `[String!]!`

### Arguments for `snapsTags`

 * `input` (`SnapsTagsInput!`): Search options for the tag index.

## Related docs

### Schema

Inspect the live schema endpoint, SDL workflow, and introspection options.

[Schema](https://docs.luxonis.com/cloud/api/reference/control-api/schema.md)

### Types

Inspect the public object and connection types returned by the control API.

[Types](https://docs.luxonis.com/cloud/api/reference/control-api/types.md)

### Mutations

Switch to the supported public write operations for the same API surface.

[Mutations](https://docs.luxonis.com/cloud/api/reference/control-api/mutations.md)

### About GraphQL

Return to request shape, authentication, and public API boundaries.

[About GraphQL](https://docs.luxonis.com/cloud/api/graphql.md)
