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

# Quickstart

> Get your first Exo resource live in 2-3 minutes.

This guide gives you one fast win: create one Resource and see it live in the Exo API.

## Before you start

* PHP 8.3+
* Laravel 12 or 13

## 2-3 minute setup

<Steps>
  <Step title="Install Exo and run migrations">
    ```bash theme={null}
    composer require exowizz/exo
    php artisan exo:install
    ```
  </Step>

  <Step title="Create an API user and copy the token">
    ```bash theme={null}
    php artisan exo:user
    ```

    <Warning>
      Exo shows the token once. Copy it before closing your terminal.
    </Warning>

    <Note>
      `exo:install` updates your configured local User model for Passport tokens when possible. If it cannot edit the file safely, it prints the exact User model change to make before running `exo:user`.
    </Note>
  </Step>

  <Step title="Generate your first Resource">
    ```bash theme={null}
    php artisan exo:resource ContactResource --model="App\Models\Contact" --triggers=on_create,on_update,on_delete
    ```

    This creates `app/Exo/Resources/ContactResource.php`.
  </Step>

  <Step title="Confirm the Resource is live">
    ```bash theme={null}
    curl -H "Authorization: Bearer YOUR_TOKEN" \
         http://your-app.test/exo-api/resources
    ```

    Expected response:

    ```json theme={null}
    {
      "data": [
        {
          "name": "contact",
          "model": "App\\Models\\Contact",
          "triggers": ["on_create", "on_update", "on_delete"]
        }
      ]
    }
    ```
  </Step>
</Steps>

## What you just unlocked

* A Resource definition for your `Contact` model
* Exo API metadata at `GET /exo-api/resources`
* Trigger wiring for `on_create`, `on_update`, and `on_delete`

## Next step

<Columns cols={2}>
  <Card title="Build your first full Resource" icon="cube" href="/first-resource">
    Add clean transformers, test endpoints, and understand each required Resource method.
  </Card>

  <Card title="Connect triggers to webhooks" icon="bell" href="/webhooks/overview">
    Learn how Resource triggers become webhook deliveries.
  </Card>
</Columns>
