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

# Get Creation



## OpenAPI

````yaml /openapi.json get /api/v1/brands/{brand_id}/creative/creations/{creation_id}
openapi: 3.1.0
info:
  title: AITasker
  version: 0.1.0
servers: []
security: []
paths:
  /api/v1/brands/{brand_id}/creative/creations/{creation_id}:
    get:
      tags:
        - Brand Creative
        - Brand Creative
      summary: Get Creation
      operationId: >-
        get_creation_api_v1_brands__brand_id__creative_creations__creation_id__get
      parameters:
        - name: brand_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Brand Id
        - name: creation_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Creation Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreationDetail'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
components:
  schemas:
    CreationDetail:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        flow:
          type: string
          title: Flow
        status:
          type: string
          title: Status
        source_type:
          type: string
          title: Source Type
        source_label:
          anyOf:
            - type: string
            - type: 'null'
          title: Source Label
        aspect_ratio:
          anyOf:
            - type: string
            - type: 'null'
          title: Aspect Ratio
        platform:
          anyOf:
            - type: string
            - type: 'null'
          title: Platform
        asset_count:
          type: integer
          title: Asset Count
          default: 0
        preview_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Preview Url
        archived_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Archived At
        created_at:
          type: string
          format: date-time
          title: Created At
        completed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Completed At
        assets:
          items:
            $ref: '#/components/schemas/CreationAssetResponse'
          type: array
          title: Assets
        error:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Error
        provenance:
          anyOf:
            - $ref: '#/components/schemas/CreativeProvenance'
            - type: 'null'
      type: object
      required:
        - id
        - flow
        - status
        - source_type
        - created_at
      title: CreationDetail
      description: A run plus every variant.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    CreationAssetResponse:
      properties:
        variant_index:
          type: integer
          title: Variant Index
        kind:
          type: string
          title: Kind
        role:
          anyOf:
            - type: string
            - type: 'null'
          title: Role
        status:
          type: string
          title: Status
        url:
          anyOf:
            - type: string
            - type: 'null'
          title: Url
        download_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Download Url
        width:
          anyOf:
            - type: integer
            - type: 'null'
          title: Width
        height:
          anyOf:
            - type: integer
            - type: 'null'
          title: Height
        duration_s:
          anyOf:
            - type: number
            - type: 'null'
          title: Duration S
        completed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Completed At
      type: object
      required:
        - variant_index
        - kind
        - status
      title: CreationAssetResponse
      description: One rendered variant with distinct preview and attachment URLs.
    CreativeProvenance:
      properties:
        version:
          type: string
          title: Version
        flow:
          type: string
          title: Flow
        evidence_kind:
          type: string
          title: Evidence Kind
        borrows:
          items:
            $ref: '#/components/schemas/CreativeProvenancePattern'
          type: array
          title: Borrows
        counters:
          items:
            $ref: '#/components/schemas/CreativeProvenancePattern'
          type: array
          title: Counters
        source_label:
          anyOf:
            - type: string
            - type: 'null'
          title: Source Label
        source_format:
          anyOf:
            - type: string
            - type: 'null'
          title: Source Format
        descends_from:
          anyOf:
            - $ref: '#/components/schemas/CreativeProvenanceLineage'
            - type: 'null'
        evidence_scope:
          additionalProperties:
            type: integer
          type: object
          title: Evidence Scope
        portfolio_gap:
          anyOf:
            - $ref: '#/components/schemas/CreativeProvenanceGap'
            - type: 'null'
      type: object
      required:
        - version
        - flow
        - evidence_kind
      title: CreativeProvenance
      description: |-
        The citation on a generated creative.

        Absent sections are ABSENT, never hedged — a cohort has no lineage, and
        only a remix teardown carries departures the source ad did not take.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    CreativeProvenancePattern:
      properties:
        aspect:
          type: string
          title: Aspect
        pattern:
          type: string
          title: Pattern
      type: object
      required:
        - aspect
        - pattern
      title: CreativeProvenancePattern
      description: >-
        One competitor pattern the run borrows from or counters.


        `pattern` is a redacted PHRASE. It reaches the client having already
        been

        through `discovered_sources.redact_brand_names` on the way into the
        brief,

        and nothing between there and here re-reads the advertiser row — so a

        competitor's name cannot appear in it. `aspect` names which axis the
        phrase

        describes (`hook` / `offer` / `cta` / `craft` / `theme` / `format` /

        `angle`) and is presentation vocabulary, not a closed DB enum.
    CreativeProvenanceLineage:
      properties:
        ad_id:
          type: string
          format: uuid
          title: Ad Id
        is_top_ad:
          type: boolean
          title: Is Top Ad
          default: false
        top_ad_rank:
          anyOf:
            - type: integer
            - type: 'null'
          title: Top Ad Rank
      type: object
      required:
        - ad_id
      title: CreativeProvenanceLineage
      description: |-
        Which single ad the creative descends from.

        Only a remix has one — a board or a group is a cohort. `is_top_ad` and
        `top_ad_rank` are the ad library's OWN winner vocabulary
        (`AdLibraryAd.is_top_ad` / `top_ad_rank`), deliberately not a new one.
        The `ad_id` is safe to return: the user picked that ad out of their own
        library to start the run.
    CreativeProvenanceGap:
      properties:
        id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Id
        label:
          type: string
          title: Label
      type: object
      required:
        - label
      title: CreativeProvenanceGap
      description: >-
        The portfolio gap this creative fills.


        Reserved. Portfolio-gap-as-generation-input is a separate feature that
        has

        not shipped, so nothing writes this today and the field is absent on
        every

        live row. It is typed here because provenance is JSONB: the PR that
        ships

        that feature writes the key and needs no migration.
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer

````