---
title: "Get AI Copywriter generation status"
method: GET
path: "/v1/niches/{nicheId}/ai-copywriter/{generationId}"
tags: ["v1"]
---

# Get AI Copywriter generation status

`GET /v1/niches/{nicheId}/ai-copywriter/{generationId}`

## Request

- Base URL: `https://api.datadive.tools`
- URL: `https://api.datadive.tools/v1/niches/{nicheId}/ai-copywriter/{generationId}`
- Auth: API key in header `x-api-key`

Retrieves the status of an advanced-AI listing generation started via POST /v1/niches/:nicheId/ai-copywriter. Returns different schemas based on state: generating (in progress), complete (with the generated listing), or failed (with an error). Poll this endpoint until the generation completes.

## Path parameters

- `nicheId` string, required
- `generationId` string, required

## Response `200`

- union
  - AiListingGenerationGeneratingResponseDto
    - `generationId` string, required: Unique identifier of the generation attempt
    - `status` 'generating' | 'complete' | 'failed', required: Current status: generating (in progress), complete (result available), or failed (generation errored)
  - AiListingGenerationCompleteResponseDto
    - `generationId` string, required: Unique identifier of the generation attempt
    - `status` 'generating' | 'complete' | 'failed', required: Current status: generating (in progress), complete (result available), or failed (generation errored)
    - `result` AiListingGenerationResultDto, required
      - `rankingJuice` object, required: Ranking Juice metrics for the generated listing (value + per-field contribution).
      - `title` string, required: Generated product title
      - `itemHighlights` string, required: Item highlights, if generated
      - `bullets` string[], required: Generated bullet points
      - `description` string, required: Generated product description
      - `methodology_breakdown` object: Methodology breakdown of the generation, when produced by the model
  - AiListingGenerationFailedResponseDto
    - `generationId` string, required: Unique identifier of the generation attempt
    - `status` 'generating' | 'complete' | 'failed', required: Current status: generating (in progress), complete (result available), or failed (generation errored)
    - `error` string, required: Human-readable error describing why the generation failed

## Other responses

- `400`: Invalid generationId
- `401`: Api key is invalid
- `403`: Unauthorized to access the resource
- `404`: AI listing generation not found
- `429`: Rate limit exceeded, either the per-client-IP limit or the per-API-key limit for this endpoint.
- `500`: Internal error

---

[API](https://skmtc.dev/datadive/apis/data-dive-developer-apis.md) - [All operations](https://skmtc.dev/datadive/apis/data-dive-developer-apis/llms.txt) - [OpenAPI document](https://skmtc.dev/datadive/apis/data-dive-developer-apis/revisions/94c025cac171?raw)
