﻿# Quick Start

> Simmit is in beta. See [Beta](/docs/beta) for what's currently being calibrated, including queue and cold-start behavior.

By the end of this short guide, you'll have submitted a SimC job via the REST API.

## Prerequisites

You'll need a **Secret Key** to authenticate any API request. To get one, [create a client](/clients) and then create a new key.

## Submit a SimC job

A `job` is a request to run a SimC profile through SimulationCraft. Submit one with an HTTP POST and any valid SimC profile:

**Node.js**

```javascript
const secretKey = process.env.SIMMIT_SECRET_KEY

const simcProfile = `warlock=Voidly
spec=affliction
load_default_gear=1
load_default_talents=1`

async function submitJob() {
  const response = await fetch(
    // Choose latest, nightly, or weekly simc build
    'https://api.simmit.com/v1/simc/jobs?channel=nightly',
    {
      method: 'POST',
      headers: {
        Authorization: `Bearer ${secretKey}`,
        // Can be set to 'application/json' to send a JSON body
        'Content-Type': 'text/plain'
      },
      body: simcProfile
    }
  )

  if (!response.ok) {
    throw new Error(`Submit failed: ${response.statusText}`)
  }

  const { id, links } = await response.json()
  console.log('Submitted simc job:', { id, links })
}

await submitJob()
```

**curl**

```bash
# Save your simc profile to profile.simc in the current directory, e.g.:
#   warlock=Voidly
#   spec=affliction
#   load_default_gear=1
#   load_default_talents=1
#
# Build and runtime options go on the query string.
curl -X POST "https://api.simmit.com/v1/simc/jobs?channel=latest" \
  -H "Authorization: Bearer $SIMMIT_SECRET_KEY" \
  -H "Content-Type: text/plain" \
  --data-binary @profile.simc
```

> A successful submission returns a `{ links }` object. `links.share` is a hosted page for the job that you can open in a browser; reload it once the job is done to see the full result.
>
>

>
> For full request and response details, and more code examples, see [Submit Sim Job](/docs/learning/simc-job-submit).

## Job Queue & Status

Once submitted, Simmit runs SimulationCraft as soon as compute is available. Your job may wait in the queue, wait for a new server to come online, or start running immediately. See [Queue & Expectations](/docs/api/queue-expectations) for what to expect during this stage.

Poll the status endpoint to see estimated time in queue, the SimC progress percent while running, or a tail of recent SimC log lines. See [Sim Job Status](/docs/learning/simc-job-status).

## Job Results

Once a job is terminal, fetch the result endpoint for summary metrics, runtime info, and downloadable artifacts. See [Sim Job Results](/docs/learning/simc-job-results).

---

_HTML version: https://simmit.com/docs/getting-started/quick-start · Full docs index: https://simmit.com/llms.txt_
