# 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)
