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

# Introduction

> DropKit GraphQL API Reference - Create and manage drops with a modern GraphQL interface

## Welcome to DropKit GraphQL API

DropKit provides a comprehensive GraphQL API for creating and managing drops (NFTs, tokens, digital collectibles) with built-in gating, payments, and event tracking.

## GraphQL Endpoint

```
https://api.dropkit.co/graphql
```

## Authentication

All GraphQL operations require bearer token authentication via the `Authorization` header:

```
Authorization: Bearer <api_key>
```

Rate limits and project-specific keys are configurable per tenant or creator.

## GraphQL Basics

### Making Queries

Send POST requests to the GraphQL endpoint with your query in the request body:

```bash theme={null}
curl -X POST https://api.dropkit.co/graphql \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "query GetMyDrops { myDrops { id title status claimCount } }"
  }'
```

### Response Format

All GraphQL responses follow a standard format:

```json theme={null}
{
  "data": {
    "myDrops": [
      {
        "id": "drop_abc123",
        "title": "My NFT Collection",
        "status": "ACTIVE",
        "claimCount": 42
      }
    ]
  }
}
```

### Error Handling

GraphQL errors are returned in the `errors` array:

```json theme={null}
{
  "errors": [
    {
      "message": "Drop not found",
      "locations": [{ "line": 2, "column": 3 }],
      "path": ["drop"]
    }
  ],
  "data": {
    "drop": null
  }
}
```

## Core Features

### 🔍 **Powerful Queries**

Fetch exactly the data you need with GraphQL's query system:

```graphql theme={null}
query GetDropDetails {
  drop(id: "drop_abc123") {
    id
    title
    claimedAmount
    maxAmount
    claimRate
    token {
      name
      symbol
      totalSupply
    }
    claims {
      id
      amount
      user {
        username
      }
    }
  }
}
```

### ⚙️ **Token Creation**

Create and deploy fungible tokens with mutations:

```graphql theme={null}
mutation CreateToken {
  createToken(
    input: {
      name: "My Token"
      symbol: "MTK"
      supply: 1000000
      description: "My custom token"
    }
  ) {
    id
    name
    symbol
    status
    address
  }
}
```

### 🎨 **Drop Management**

Create and manage all types of drops:

```graphql theme={null}
mutation CreateDrop {
  createDrop(
    input: {
      title: "My NFT Drop"
      type: TOKEN
      maxAmount: "100000"
      tokenAmount: "100"
      existingTokenId: "token_xyz789"
    }
  ) {
    id
    title
    status
    shortcode
  }
}
```

### 🛡️ **Gating & Eligibility**

Check eligibility and configure gating rules:

```graphql theme={null}
query CheckEligibility {
  checkGatingEligibility(
    input: { dropId: "drop_abc123", walletAddress: "0x123..." }
  ) {
    eligible
    reason
    missingRequirements
  }
}
```

### 💳 **Payment Processing**

Handle payments with intent-based flows:

```graphql theme={null}
mutation CreatePaymentIntent {
  createPaymentIntent(
    input: {
      dropId: "drop_abc123"
      walletAddress: "0x123..."
      paymentMethod: "sui"
      quantity: 2
    }
  ) {
    id
    intentId
    status
    amount
    paymentUrl
  }
}
```

### 📊 **Real-time Data**

Get live blockchain data with computed fields:

```graphql theme={null}
query LiveDropStats {
  drop(id: "drop_abc123") {
    claimedAmount # Live blockchain data
    maxAmount # Live blockchain data
    remainingBalance # Computed field
    tokenBalance # Live token balance
    claimRate # Computed percentage
    isActive # Live status
  }
}
```

## Schema Explorer

Visit our [Schema Explorer](/api-reference/schema-explorer) to browse the complete GraphQL schema interactively, including all available types, queries, and mutations.

## Getting Started

1. **Get your API key** from [app.dropkit.co](https://app.dropkit.co)
2. **Explore the schema** using our interactive schema explorer
3. **Try queries** in your favorite GraphQL client or with curl
4. **Build your integration** using the comprehensive type system

Ready to start? Check out our [Quick Start Guide](/quickstart) for step-by-step examples.
