Optimizations

Optimizations are AI-generated improvements to product content. Each optimization follows a lifecycle: pending, approved or rejected, then applied or reverted.

The optimization model

The optimization model contains the AI-generated content suggestions, their status in the approval workflow, and the rationale behind each change.

Properties

  • Name
    id
    Type
    string
    Description
  • Name
    product_id
    Type
    string
    Description
  • Name
    product_title
    Type
    string
    Description
  • Name
    field
    Type
    string
    Description
  • Name
    status
    Type
    string
    Description
  • Name
    score_before
    Type
    integer
    Description
  • Name
    score_after
    Type
    integer
    Description
  • Name
    approved_at
    Type
    string
    Description
  • Name
    applied_at
    Type
    string
    Description
  • Name
    reverted_at
    Type
    string
    Description
  • Name
    created_at
    Type
    string
    Description
  • Name
    updated_at
    Type
    string
    Description
  • Name
    original_content
    Type
    string
    Description
  • Name
    optimized_content
    Type
    string
    Description
  • Name
    rejection_reason
    Type
    string
    Description
  • Name
    shopify_error
    Type
    string
    Description
  • Name
    image_shopify_id
    Type
    integer
    Description
  • Name
    approved_by_name
    Type
    string
    Description

Optimizations follow a strict status machine: pending → approved → applied or pending → rejected. Applied optimizations can be reverted.


GET /v1/optimizations

List optimizations

Returns a paginated list of optimizations

Optional parameters

  • Name
    page
    Type
    integer
    Description
  • Name
    per_page
    Type
    integer
    Description
  • Name
    status
    Type
    string
    Description
    One of pending, approved, rejected, applied, reverted.
  • Name
    field
    Type
    string
    Description
    One of title, description, alt_text, meta_title, meta_description, tags, product_type, og_title, og_description.
  • Name
    product_id
    Type
    string
    Description
  • Name
    since
    Type
    string
    Description

Request

GET /v1/optimizations
curl -G \
  https://beaconed.ai/api/v1/optimizations \
  -H "Authorization: Bearer {token}"

GET /v1/optimizations/{id}

Get an optimization

Returns detailed information about an optimization

Request

GET /v1/optimizations/{id}
curl https://beaconed.ai/api/v1/optimizations/{id} \
  -H "Authorization: Bearer {token}"

POST /v1/optimizations/{id}/approval

Approve an optimization

Approves a pending optimization

Request

POST /v1/optimizations/{id}/approval
curl -X POST \
  https://beaconed.ai/api/v1/optimizations/{id}/approval \
  -H "Authorization: Bearer {token}"

POST /v1/optimizations/{id}/rejection

Reject an optimization

Rejects a pending optimization

Optional attributes

  • Name
    reason
    Type
    string
    Description
    Reason for rejection

Request

POST /v1/optimizations/{id}/rejection
curl -X POST \
  https://beaconed.ai/api/v1/optimizations/{id}/rejection \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"reason": "Content does not match brand voice"}'

POST /v1/optimizations/{id}/application

Apply an optimization

Pushes an approved optimization to Shopify

Request

POST /v1/optimizations/{id}/application
curl -X POST \
  https://beaconed.ai/api/v1/optimizations/{id}/application \
  -H "Authorization: Bearer {token}"

POST /v1/optimizations/{id}/reversion

Revert an optimization

Reverts an applied optimization back to original content

Request

POST /v1/optimizations/{id}/reversion
curl -X POST \
  https://beaconed.ai/api/v1/optimizations/{id}/reversion \
  -H "Authorization: Bearer {token}"