---
title: "Retrieve a list of PSD mockups"
method: GET
path: "/api/v1/mockups"
tags: ["PSD mockups"]
deprecated: true
---

# Retrieve a list of PSD mockups

`GET /api/v1/mockups`

## Request

- Base URL: `https://api.sudomock.com`
- URL: `https://api.sudomock.com/api/v1/mockups`
- Auth: API key in header `x-api-key`

> **Deprecated.**

List your mockups, with pagination, filtering and sorting.

## Query parameters

- `limit` integer: Number of mockups to return (1-100)
- `offset` integer: Number of mockups to skip
- `name` string: Filter mockups by name (case-insensitive contains)
- `created_after` string, date-time: Filter mockups created after this date (ISO 8601)
- `created_before` string, date-time: Filter mockups created before this date (ISO 8601)
- `sort` string: Field to sort by
- `order` string: Sort order

## Response `200`

Successful Response

- MockupListResponse: List response wrapper for GET /api/v1/psd-mockups
  - `success` boolean: Always true on a successful response.
  - `data` MockupListData, required: Typed data payload for mockup list response
    - `mockups` UploadResponseData[], required: List of mockup templates
      - `uuid` string, required: Unique identifier for the mockup
      - `name` string, required: Name of the mockup
      - `thumbnail` string: Main thumbnail URL (720px width). Empty string if generation failed.
      - `width` integer, nullable: Always populated after successful upload. Represents original PSD canvas width in pixels.
      - `height` integer, nullable: Always populated after successful upload. Represents original PSD canvas height in pixels.
      - `smart_objects` SmartObjectResponse[], required: List of smart objects in the PSD
        - `uuid` string, required: Unique identifier for the smart object
        - `name` string, required: Display name of the smart object
        - `size` Size, required: Width and height in pixels.
          - `width` integer, required: Width in pixels
          - `height` integer, required: Height in pixels
        - `position` Position, required: Bounding box in pixels, relative to the frame that contains it.
          - `x` integer, required: Left edge in pixels, relative to the containing frame (top-left origin).
          - `y` integer, required: Top edge in pixels, relative to the containing frame (top-left origin).
          - `width` integer, required: Width in pixels
          - `height` integer, required: Height in pixels
        - `print_area_presets` PrintAreaPreset[], required: Print area preset configurations
          - `uuid` string, required: Unique identifier for the preset
          - `name` string, required: Name of the preset (e.g., 'Default')
          - `thumbnails` ThumbnailSize[]: Thumbnail previews of the preset
            - `width` integer, required: Thumbnail width in pixels
            - `url` string, required: Public URL to the thumbnail image
          - `size` Size, required: Width and height in pixels.
            - `width` integer, required: Width in pixels
            - `height` integer, required: Height in pixels
          - `position` Position, required: Bounding box in pixels, relative to the frame that contains it.
            - `x` integer, required: Left edge in pixels, relative to the containing frame (top-left origin).
            - `y` integer, required: Top edge in pixels, relative to the containing frame (top-left origin).
            - `width` integer, required: Width in pixels
            - `height` integer, required: Height in pixels
        - `layer_name` string, nullable: Original PSD layer name
        - `quad` array[], nullable: Four display coordinates for the editable area, in the same frame as position. Only available on Scale tier plans (null on Free/Starter/Pro).
          - number[]
        - `blend_mode` string, nullable: The blend mode this smart object layer carries in the PSD, lowercase (e.g. 'normal', 'multiply', 'soft_light'). Null in the mockup list; request a single mockup to read it.
        - `instance_count` integer, nullable: Number of PSD layers this input drives (smart object instancing); null/1 = single layer
        - `smart_objects` SmartObjectResponse[]: Smart objects inside this smart object's own contents, in layer order. Fill any of them by UUID in the same render, like a top-level one. Left out when there are none.
        - `text_layers` TextLayer[]: Text layers inside this smart object's own contents, in layer order. Edit any of them by UUID in the same render, like a top-level one. Left out when there are none.
          - `uuid` string, required: Unique identifier for the text layer
          - `name` string, required: Name of the text layer
          - `text_content` string, nullable: Current text content of the layer
          - `font_postscript_name` string, nullable: PostScript name of the font used by this layer
          - `font_size` number, nullable: Effective font size in pixels at the PSD's native resolution
          - `color` string, nullable: Text color as hex (e.g. #FFFFFF)
          - `font_available` boolean, nullable: Whether the layer's font is available for editable rendering. When false, edits render with a default font unless a font is supplied.
          - `is_editable` boolean: Whether this layer's text can be replaced at render time
          - `segment_count` integer: Number of styled segments in this layer. 1 = single-style (edit with 'text'); 2+ = styled segments (edit with 'segments', each segment keeps its own styling)
          - `segments` TextSegment[], nullable: The layer's styled segments, present when segment_count > 1. Override any subset by index at render time; omitted segments keep their original text.
            - `index` integer, required: Stable segment position within the layer (0-based)
            - `text` string: The segment's current text
            - `font_postscript_name` string, nullable: PostScript name of the segment's font
            - `font_size` number, nullable: Segment font size in pixels at the PSD's native resolution
            - `color` string, nullable: Segment text color as hex (e.g. #FFFFFF)
          - `visible` boolean, nullable: Whether the layer is shown by default in the source file. A hidden layer can still be targeted; its text then renders. Null when unknown (older mockups).
          - `has_stroke_effect` boolean: Whether this text layer has at least one outline of its own.
          - `stroke_count` integer: Number of outlines owned by this text layer, in front-to-back stroke_color order.
          - `has_color_overlay` boolean: Whether the layer's visible color comes from a color effect. When true, a color override changes that effect's color.
          - `has_clipped_artwork` boolean, nullable: Whether some content in the design is clipped to this layer's letters. When true, replacing this text also re-shapes that clipped content to the new letters. Null when it could not be determined for this mockup.
          - `suggested_edit_together` string[], nullable: UUIDs of other text layers that carry the same text stacked with this one, such as a fill plus an outline copy. Sending the same replacement text to all of them keeps the design consistent. Advisory only: each layer is still edited on its own by UUID, never linked automatically. Null when it could not be determined.
          - `enclosing_group_layers` string[], nullable: UUIDs of enclosing group layers whose outlines also affect this text layer, nearest first. Advisory only: each group is edited separately through group_layers. Null when it could not be determined.
      - `text_layers` TextLayer[]: Text layers detected in the PSD. Editable layers accept text replacement at render time.
        - `uuid` string, required: Unique identifier for the text layer
        - `name` string, required: Name of the text layer
        - `text_content` string, nullable: Current text content of the layer
        - `font_postscript_name` string, nullable: PostScript name of the font used by this layer
        - `font_size` number, nullable: Effective font size in pixels at the PSD's native resolution
        - `color` string, nullable: Text color as hex (e.g. #FFFFFF)
        - `font_available` boolean, nullable: Whether the layer's font is available for editable rendering. When false, edits render with a default font unless a font is supplied.
        - `is_editable` boolean: Whether this layer's text can be replaced at render time
        - `segment_count` integer: Number of styled segments in this layer. 1 = single-style (edit with 'text'); 2+ = styled segments (edit with 'segments', each segment keeps its own styling)
        - `segments` TextSegment[], nullable: The layer's styled segments, present when segment_count > 1. Override any subset by index at render time; omitted segments keep their original text.
          - `index` integer, required: Stable segment position within the layer (0-based)
          - `text` string: The segment's current text
          - `font_postscript_name` string, nullable: PostScript name of the segment's font
          - `font_size` number, nullable: Segment font size in pixels at the PSD's native resolution
          - `color` string, nullable: Segment text color as hex (e.g. #FFFFFF)
        - `visible` boolean, nullable: Whether the layer is shown by default in the source file. A hidden layer can still be targeted; its text then renders. Null when unknown (older mockups).
        - `has_stroke_effect` boolean: Whether this text layer has at least one outline of its own.
        - `stroke_count` integer: Number of outlines owned by this text layer, in front-to-back stroke_color order.
        - `has_color_overlay` boolean: Whether the layer's visible color comes from a color effect. When true, a color override changes that effect's color.
        - `has_clipped_artwork` boolean, nullable: Whether some content in the design is clipped to this layer's letters. When true, replacing this text also re-shapes that clipped content to the new letters. Null when it could not be determined for this mockup.
        - `suggested_edit_together` string[], nullable: UUIDs of other text layers that carry the same text stacked with this one, such as a fill plus an outline copy. Sending the same replacement text to all of them keeps the design consistent. Advisory only: each layer is still edited on its own by UUID, never linked automatically. Null when it could not be determined.
        - `enclosing_group_layers` string[], nullable: UUIDs of enclosing group layers whose outlines also affect this text layer, nearest first. Advisory only: each group is edited separately through group_layers. Null when it could not be determined.
      - `group_layers` GroupLayer[]: Group layers whose outlines can be recolored. Changing a group outline affects everything inside that group; groups not listed keep their authored effects.
        - `uuid` string, required: Unique identifier for the group layer
        - `name` string, required: Name of the group layer
        - `has_stroke_effect` boolean: Whether the group has at least one outline of its own
        - `stroke_count` integer, required: Number of outlines owned by this group, in front-to-back stroke_color order
      - `collections` unknown[]: Reserved for future use. Currently always empty.
        - unknown
      - `thumbnails` ThumbnailSize[]: Array of thumbnail URLs at different sizes
        - `width` integer, required: Thumbnail width in pixels
        - `url` string, required: Public URL to the thumbnail image
    - `total` integer, required: Total number of mockups matching filters
    - `limit` integer, required: Results per page
    - `offset` integer, required: Pagination offset

---

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