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

# 생성 상태 조회

> 생성 작업의 상태를 반환하는 엔드포인트입니다.

## GET /generate/{jobId}

생성 작업의 현재 상태를 반환합니다. 진행 중인 작업 모니터링이나 완료 후 세부 확인에 사용합니다.

### 경로 매개변수

<ParamField path="jobId" type="string" required>
  조회할 생성 작업 ID입니다.
</ParamField>

### 응답

<ResponseField name="id" type="string">
  생성 작업 고유 식별자입니다.
</ResponseField>

<ResponseField name="siteId" type="string">
  생성 중인 사이트 ID입니다.
</ResponseField>

<ResponseField name="status" type="string">
  현재 상태: `pending`, `processing`, `completed`, 또는 `failed`입니다.
</ResponseField>

<ResponseField name="progress" type="number">
  진행률(0–100)입니다.
</ResponseField>

<ResponseField name="url" type="string">
  파일을 생성한 대상 URL입니다.
</ResponseField>

<ResponseField name="options" type="object">
  사용된 생성 옵션입니다.

  <Expandable title="options 속성">
    <ResponseField name="maxUrls" type="number">
      처리한 최대 URL 수입니다.
    </ResponseField>

    <ResponseField name="showFullText" type="boolean">
      전체 텍스트 포함 여부입니다.
    </ResponseField>

    <ResponseField name="generationMethod" type="string">
      사용한 방식: `simple` 또는 `enhanced`입니다.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="fileUrl" type="string">
  완료 시 생성 파일 URL입니다.
</ResponseField>

<ResponseField name="fullTextUrl" type="string">
  완료 시 전체 텍스트 버전 URL입니다.
</ResponseField>

<ResponseField name="error" type="string">
  실패 시 오류 메시지입니다.
</ResponseField>

<ResponseField name="createdAt" type="string">
  작업 생성 시각(ISO 8601)입니다.
</ResponseField>

<ResponseField name="completedAt" type="string">
  완료 시각(ISO 8601)입니다.
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET https://api.llmgenerator.com/api/v1/generate/550e8400-e29b-41d4-a716-446655440000 \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

  ```javascript Node.js theme={null}
  const response = await fetch(
    'https://api.llmgenerator.com/api/v1/generate/550e8400-e29b-41d4-a716-446655440000',
    {
      headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
    }
  );

  const status = await response.json();
  ```
</RequestExample>

<ResponseExample>
  ```json Processing theme={null}
  {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "siteId": "site_abc123",
    "status": "processing",
    "progress": 45,
    "url": "https://example.com",
    "options": {
      "maxUrls": 50,
      "showFullText": true,
      "generationMethod": "enhanced"
    },
    "fileUrl": null,
    "fullTextUrl": null,
    "error": null,
    "createdAt": "2026-01-20T10:00:00.000Z",
    "completedAt": null
  }
  ```

  ```json Completed theme={null}
  {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "siteId": "site_abc123",
    "status": "completed",
    "progress": 100,
    "url": "https://example.com",
    "options": {
      "maxUrls": 50,
      "showFullText": true,
      "generationMethod": "enhanced"
    },
    "fileUrl": "https://api.llmgenerator.com/api/v1/file/site_abc123",
    "fullTextUrl": "https://api.llmgenerator.com/api/v1/file/site_abc123?full=true",
    "error": null,
    "createdAt": "2026-01-20T10:00:00.000Z",
    "completedAt": "2026-01-20T10:05:00.000Z"
  }
  ```

  ```json Failed theme={null}
  {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "siteId": "site_abc123",
    "status": "failed",
    "progress": 0,
    "url": "https://example.com",
    "options": {
      "maxUrls": 50,
      "showFullText": false,
      "generationMethod": "simple"
    },
    "fileUrl": null,
    "fullTextUrl": null,
    "error": "Failed to fetch sitemap: 404 Not Found",
    "createdAt": "2026-01-20T10:00:00.000Z",
    "completedAt": "2026-01-20T10:00:30.000Z"
  }
  ```
</ResponseExample>
