> ## Documentation Index
> Fetch the complete documentation index at: https://docs.optisigns.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Get started with the OptiSigns GraphQL API in minutes

## Get Started

Start integrating with OptiSigns API by following these simple steps:

### 1. Access the GraphQL IDE

<Accordion icon="code" title="Using the GraphQL IDE">
  The fastest way to explore and test the API is through our web-based GraphQL
  IDE: `bash https://graphql-gateway.optisigns.com/graphql ` This
  interactive environment allows you to: - Write and test queries - Explore
  available schema - View real-time results
</Accordion>

### 2. Authentication

<Accordion icon="key" title="Setting up Authentication">
  1. Get your API key from the [account
     settings](https://app.optisigns.com/account-setting) or follow the
     instructions on the [Generate API
     Key](https://app.optisigns.com/generate-api-key) page. 2. Include the API key
     in your request headers 3. All API requests require authentication
</Accordion>

## Core API Operations

### Query Operations

<AccordionGroup>
  <Accordion icon="display" title="List All Devices">
    Fetch all devices in your account:

    ```graphql
    query{
      devices (query : {}) {
        page{
          edges{
            cursor,
            node{
              _id,
              deviceName,
              UUID,
              pairingCode,
              currentType,
              currentAssetId,
              currentPlaylistId,
              localAppVersion,
            }
          }
        }
      }
    }
    ```

    **Example Response:**

    ```json
    {
      "data": {
        "devices": {
          "page": {
            "edges": [
              {
                "cursor": "YXJyYXljb2luZW50aW9uOjA=",
                "node": {
                  "_id": "G158712f0e404274e7300e7f",
                  "deviceName": "TOMATO",
                  "UUID": "c1af1246-d1c8-3e7c-a04b-9914579f5342",
                  "pairingCode": "5MMESU",
                  "currentType": "asset",
                  "currentAssetId": "TQ7d4Nc4kZhjwF29F",
                  "currentPlaylistId": null,
                  "localAppVersion": "5.5.8"
                }
              }
            ]
          }
        }
      }
    }
    ```
  </Accordion>

  <Accordion icon="photo-film" title="Fetch Specific Assets">
    Retrieve asset details by filename:

    ```graphql
    query{
      assets (query : {originalFileName:"Sample Image 1.JPG"}) {
        page{
          edges{
            cursor,
            node{
              _id,
              appType,
              fileType,
              name,
              filename
            }
          }
        }
      }
    }
    ```

    **Example Response:**

    ```json
    {
      "data": {
        "assets": {
          "page": {
            "edges": [
              {
                "cursor": "YXJyYXljb2luZW50aW9uOjA=",
                "node": {
                  "_id": "fAzD64mkENvCtde3p",
                  "appType": null,
                  "fileType": "image",
                  "name": null,
                  "filename": "Sample Image 1.JPG"
                }
              }
            ]
          }
        }
      }
    }
    ```
  </Accordion>
</AccordionGroup>

## Next Steps

<CardGroup>
  <Card title="API Reference" icon="book-open" href="/api-reference">
    Explore the complete API schema and operations
  </Card>

  {" "}

  <Card title="Device Management" icon="desktop" href="/devices">
    Learn about device control and monitoring
  </Card>

  {" "}

  <Card title="Content Management" icon="photo-film" href="/content">
    Manage digital signage content and playlists
  </Card>

  <Card title="Best Practices" icon="stars" href="/best-practices">
    Tips for optimal API integration
  </Card>
</CardGroup>
