---
title: "Get an atomization"
method: GET
path: "/atomizations/{id}"
tags: ["Atomizations"]
---

# Get an atomization

`GET /atomizations/{id}`

## Request

- Base URL: `https://next.frase.io/api/v1`
- URL: `https://next.frase.io/api/v1/atomizations/{id}`
- Auth: API key in header `X-API-KEY`

Returns one atomization, including the generated `data` payload and any `assets`. Requires the `read:atomize` scope. The lookup is organization-scoped, so an id belonging to another organization is indistinguishable from a missing one and returns 404 `not_found`. While `status` is `generating` the `data` object is empty and `assets` is an empty array — poll this endpoint until `status` leaves `generating`.

## Path parameters

- `id` string, uuid, required

## Response `200`

The atomization

- object
  - `data` object
    - `id` string, uuid
    - `content_id` string, uuid
    - `organization_id` string, uuid
    - `type` 'linkedin_carousel' | 'twitter_thread' | 'newsletter' | 'instagram_carousel'
    - `status` 'draft' | 'generating' | 'review' | 'published' | 'archived'
    - `data` object: The generated payload. Free-form JSON whose shape depends on `type` (for example a `linkedin_carousel` carries `title`, `hookSlide`, `contentSlides`, `ctaSlide`; a `twitter_thread` carries `hookTweet`, `contentTweets`, `ctaTweet`; a `newsletter` carries `subjectLine`, `preheader`, `greeting`, `intro`, `keyPoints`, `callToAction`, `signoff` and an optional `psLine`; an `instagram_carousel` adds `caption` and `hashtags`). Empty object until generation finishes.
    - `assets` unknown[], nullable: Generated assets (images, PDFs). Empty array until generation produces any.
      - unknown
    - `published_at` string, date-time, nullable
    - `published_url` string, nullable
    - `created_at` string, date-time
    - `updated_at` string, date-time

## Other responses

- `400`: Validation failed
- `401`: Authentication failed
- `403`: The API key lacks the `read:atomize` scope (`insufficient_scope`), the caller's IP is not allow-listed (`ip_not_allowed`), or the organization's subscription/trial is no longer active.
- `404`: Resource not found
- `429`: Rate limit exceeded
- `500`: The lookup failed.

---

[API](https://skmtc.dev/frase/apis/frase-api.md) · [All operations](https://skmtc.dev/frase/apis/frase-api/llms.txt) · [OpenAPI document](https://skmtc.dev/frase/apis/frase-api/revisions/7fb75d89f7a4?raw)
