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

# Retrieve galleries

> Returns a list of galleries for a brand.



## OpenAPI

````yaml api-reference/library-openapi.json GET /brands/{brand_id}/galleries
openapi: 3.0.2
info:
  contact:
    email: support@dashsocial.com
    name: Dash Social
    url: https://dashsocial.com
  description: Manage media, galleries, products, and more in the Dash Social platform.
  license:
    name: Commercial
    url: https://dashsocial.com/terms
  title: Dash Social Library Backend Service
  version: '1.0'
  x-logo:
    altText: Dash Social logo
    href: https://developer.dashsocial.com
    url: https://developer.dashsocial.com/assets/logo.svg
servers:
  - url: https://library-backend.dashsocial.com
security:
  - BearerAuth: []
tags:
  - description: Endpoints responsible for administrative actions.
    name: Admin
  - description: Endpoint(s) for working with affiliate links in campaigns
    name: AffiliateLinks
  - description: Endpoints responsible for managing AI alternative ads.
    name: AiAlternativeAds
  - description: Endpoints responsible for managing AI alternative media.
    name: AiAlternativeMedia
  - description: Endpoints responsible for fetching AI alternative media for a brand.
    name: BrandAiAlternativeMedia
  - description: Endpoints responsible for creating, reading, and updating campaigns.
    name: Campaign
  - description: Endpoints responsible for bulk campaigns actions for many brands.
    name: CampaignBulk
  - description: Endpoints for campaign benchmarks.
    name: CampaignBenchmarks
  - description: CRUD endpoint for comparing campaigns
    name: Campaign Comparison
  - description: Endpoints responsible for searching for competitors
    name: Competitors
  - description: Endpoints relating to content automations
    name: Content Automations
  - description: Endpoints relating to content automations across organizations
    name: Content Automations Cross Organization
  - description: Endpoints for content rights management.
    name: ContentRights
  - description: Endpoints relating to brand media content tags.
    name: BrandMediaContentTags
  - description: Endpoints relating to content tags.
    name: ContentTags
  - description: Endpoints relating to custom metrics
    name: Custom Metrics
  - description: Endpoints relating to segment clusters tags
    name: SegmentClusterTags
  - description: Endpoints relating to segment clusters tag associations
    name: SegmentClusterTagAssociations
  - description: Retrieve competitors for a channel
    name: CompetitorsSearch
  - description: Endpoints responsible for creating, reading, and updating galleries.
    name: Gallery
  - description: Public endpoints responsible for reading galleries
    name: PublicGallery
  - description: Endpoints responsible for gallery tags operations.
    name: GalleryTags
  - description: Endpoints relating to content automations.
    name: ContentContentAutomations
  - description: >-
      Endpoints responsible for starting, continuing, and reading gallery
      transfers
    name: GalleryTransfer
  - description: Endpoints to fetch Google Analytics data for brands
    name: GoogleAnalytics
  - description: Endpoints responsible for processing media (mostly superseded by v2).
    name: MediaV1
  - description: Endpoints responsible for searching for media
    name: MediaSearch
  - description: >-
      Endpoints responsible for creating, reading, updating a single piece of
      media.
    name: Single Media
  - description: Endpoints responsible for creating, reading, and updating media.
    name: Media
  - description: Endpoints responsible for query aggregated media timeseries metrics.
    name: MediaTimeseriesMetrics
  - description: Public endpoints responsible for reading media
    name: PublicMedia
  - description: Endpoints responsible for creating, reading, and updating products.
    name: Product
  - description: Public endpoints responsible for reading products.
    name: PublicProduct
  - description: >-
      Endpoints responsible for creating, reading, and updating Product
      Catalogs.
    name: Product Catalog
  - description: Endpoints responsible for creating, reading, and updating Product Feeds.
    name: Product Feed
  - description: Report generation
    name: Reports
  - description: Endpoints responsible for fetching Open Graph metadata.
    name: URL Metadata
  - description: UTM Settings, preset values and encoding/decoding of scheduler posts
    name: UTMSettings
  - description: Endpoints for video generation usage.
    name: VideoGeneration
paths:
  /brands/{brand_id}/galleries:
    parameters:
      - description: The Dash Social assigned ID of the brand.
        in: path
        name: brand_id
        required: true
        schema:
          minimum: 0
          type: integer
    get:
      tags:
        - Gallery
      summary: Retrieve galleries
      description: Returns a list of galleries for a brand.
      parameters:
        - description: Comma-separated list of IDs to return.
          explode: false
          in: query
          name: ids
          required: false
          schema:
            items:
              type: integer
            type: array
          style: form
        - description: Number of results to return in a single response.
          in: query
          name: limit
          required: false
          schema:
            default: 100
            maximum: 1000
            minimum: 0
            type: integer
        - description: The offset of the first result to be returned.
          in: query
          name: offset
          required: false
          schema:
            default: 0
            minimum: 0
            type: integer
        - description: The Dash Social assigned ID of the brand.
          in: query
          name: brand_id
          required: false
          schema:
            nullable: true
            type: integer
        - description: Limits the galleries returned to this type.
          in: query
          name: type
          required: false
          schema:
            enum:
              - instagram
              - INSTAGRAM
              - instagram_likeshop
              - INSTAGRAM_LIKESHOP
              - pinterest
              - PINTEREST
              - library
              - LIBRARY
              - instagram_story
              - INSTAGRAM_STORY
              - instagram_story_narrative
              - INSTAGRAM_STORY_NARRATIVE
              - tiktok
              - TIKTOK
              - tiktok_likeshop
              - TIKTOK_LIKESHOP
              - facebook
              - FACEBOOK
              - twitter
              - TWITTER
              - youtube
              - YOUTUBE
              - linkedin
              - LINKEDIN
              - threads
              - THREADS
              - snapchat
              - SNAPCHAT
              - null
            nullable: true
            type: string
        - description: Limits the galleries returned to types in this list
          explode: false
          in: query
          name: types
          required: false
          schema:
            items:
              enum:
                - INSTAGRAM
                - INSTAGRAM_LIKESHOP
                - PINTEREST
                - LIBRARY
                - INSTAGRAM_STORY
                - INSTAGRAM_STORY_NARRATIVE
                - TIKTOK
                - TIKTOK_LIKESHOP
                - FACEBOOK
                - TWITTER
                - YOUTUBE
                - LINKEDIN
                - THREADS
                - SNAPCHAT
              type: string
            type: array
          style: form
        - description: Limits the galleries returned to be not have smaller size
          in: query
          name: min_size
          required: false
          schema:
            nullable: true
            type: integer
        - description: Search for galleries based on name using wildcards
          in: query
          name: search
          required: false
          schema:
            default: null
            nullable: true
            type: string
        - description: Media filter order. "-" means in a desc order.
          in: query
          name: sort
          required: false
          schema:
            enum:
              - CREATED
              - PUBLISHED_AT
              - UPDATED
              - NAME
              - LIBRARY_TRAFFIC
              - PINTEREST_TRAFFIC
              - INSTAGRAM_EFFECTIVENESS
              - INSTAGRAM_EFFECTIVENESS_ENGAGEMENTS
              - INSTAGRAM_REACH
              - INSTAGRAM_AVG_REACH
              - INSTAGRAM_ENGAGEMENT
              - INSTAGRAM_TOTAL_COMMENTS
              - INSTAGRAM_TOTAL_LIKES
              - IG_STORY_AVG_REACH
              - IG_STORY_AVG_IMPRESSIONS
              - IG_STORY_AVG_VIEWS
              - IG_STORY_AVG_EXIT_RATE
              - IG_STORY_AVG_COMPLETION_RATE
              - IG_STORY_AVG_EXIT_RATE_VIEWS
              - IG_STORY_AVG_COMPLETION_RATE_VIEWS
              - IG_STORY_SWIPE_UPS
              - TOTAL_ENGAGEMENT
              - TOTAL_CLICKS
              - TOTAL_SAVES
              - TOTAL_IMPRESSIONS
              - TOTAL_CLOSEUPS
              - TOTAL_COMMENTS
              - TIKTOK_AVG_ENGAGEMENT_RATE
              - TIKTOK_AVG_RETENTION_RATE
              - TIKTOK_AVG_VIDEO_VIEWS
              - TIKTOK_TOTAL_REACH
              - TIKTOK_TOTAL_VIDEO_VIEWS
              - FACEBOOK_AVG_EFFECTIVENESS
              - FACEBOOK_AVG_ENGAGEMENT_RATE
              - FACEBOOK_AVG_REACH
              - FACEBOOK_TOTAL_IMPRESSIONS
              - FACEBOOK_TOTAL_ENGAGEMENTS
              - FACEBOOK_AVG_PAID_AND_ORGANIC_EFFECTIVENESS_V2
              - FACEBOOK_AVG_PAID_AND_ORGANIC_ENGAGEMENT_RATE_V2
              - FACEBOOK_AVG_PAID_AND_ORGANIC_REACH_V2
              - FACEBOOK_TOTAL_PAID_AND_ORGANIC_VIEWS
              - FACEBOOK_TOTAL_PAID_AND_ORGANIC_ENGAGEMENTS_V2
              - TWITTER_AVG_ENGAGEMENT_RATE
              - TWITTER_IMPRESSIONS
              - TWITTER_LIKES
              - TWITTER_RETWEETS
              - TWITTER_TOTAL_ENGAGEMENTS
              - YOUTUBE_AVG_VIEW_DURATION
              - YOUTUBE_SUBSCRIBERS
              - YOUTUBE_TOTAL_ENGAGEMENTS
              - YOUTUBE_TOTAL_VIDEO_VIEWS
              - YOUTUBE_TOTAL_WATCH_TIME
              - LINKEDIN_TOTAL_IMPRESSIONS
              - LINKEDIN_AVG_UNIQUE_IMPRESSIONS
              - LINKEDIN_TOTAL_LIKES
              - LINKEDIN_AVG_ENGAGEMENT_RATE
              - LINKEDIN_AVG_CLICK_THROUGH_RATE
              - THREADS_TOTAL_VIEWS
              - THREADS_TOTAL_LIKES
              - THREADS_TOTAL_REPLIES
              - THREADS_TOTAL_ENGAGEMENTS
              - THREADS_AVG_ENGAGEMENT_RATE
              - SNAPCHAT_AVG_ENGAGEMENT_RATE
              - SNAPCHAT_TOTAL_ENGAGEMENTS
              - SNAPCHAT_TOTAL_VIEWS
              - SNAPCHAT_TOTAL_VIEWERS
              - SNAPCHAT_AVG_VIEW_TIME
              - '-CREATED'
              - '-PUBLISHED_AT'
              - '-UPDATED'
              - '-NAME'
              - '-LIBRARY_TRAFFIC'
              - '-PINTEREST_TRAFFIC'
              - '-INSTAGRAM_EFFECTIVENESS'
              - '-INSTAGRAM_EFFECTIVENESS_ENGAGEMENTS'
              - '-INSTAGRAM_REACH'
              - '-INSTAGRAM_AVG_REACH'
              - '-INSTAGRAM_ENGAGEMENT'
              - '-INSTAGRAM_TOTAL_COMMENTS'
              - '-INSTAGRAM_TOTAL_LIKES'
              - '-IG_STORY_AVG_REACH'
              - '-IG_STORY_AVG_IMPRESSIONS'
              - '-IG_STORY_AVG_VIEWS'
              - '-IG_STORY_AVG_EXIT_RATE'
              - '-IG_STORY_AVG_COMPLETION_RATE'
              - '-IG_STORY_AVG_EXIT_RATE_VIEWS'
              - '-IG_STORY_AVG_COMPLETION_RATE_VIEWS'
              - '-IG_STORY_SWIPE_UPS'
              - '-TOTAL_ENGAGEMENT'
              - '-TOTAL_CLICKS'
              - '-TOTAL_SAVES'
              - '-TOTAL_IMPRESSIONS'
              - '-TOTAL_CLOSEUPS'
              - '-TOTAL_COMMENTS'
              - '-TIKTOK_AVG_ENGAGEMENT_RATE'
              - '-TIKTOK_AVG_RETENTION_RATE'
              - '-TIKTOK_AVG_VIDEO_VIEWS'
              - '-TIKTOK_TOTAL_REACH'
              - '-TIKTOK_TOTAL_VIDEO_VIEWS'
              - '-FACEBOOK_AVG_EFFECTIVENESS'
              - '-FACEBOOK_AVG_ENGAGEMENT_RATE'
              - '-FACEBOOK_AVG_REACH'
              - '-FACEBOOK_TOTAL_IMPRESSIONS'
              - '-FACEBOOK_TOTAL_ENGAGEMENTS'
              - '-FACEBOOK_AVG_PAID_AND_ORGANIC_EFFECTIVENESS_V2'
              - '-FACEBOOK_AVG_PAID_AND_ORGANIC_ENGAGEMENT_RATE_V2'
              - '-FACEBOOK_AVG_PAID_AND_ORGANIC_REACH_V2'
              - '-FACEBOOK_TOTAL_PAID_AND_ORGANIC_VIEWS'
              - '-FACEBOOK_TOTAL_PAID_AND_ORGANIC_ENGAGEMENTS_V2'
              - '-TWITTER_AVG_ENGAGEMENT_RATE'
              - '-TWITTER_IMPRESSIONS'
              - '-TWITTER_LIKES'
              - '-TWITTER_RETWEETS'
              - '-TWITTER_TOTAL_ENGAGEMENTS'
              - '-YOUTUBE_AVG_VIEW_DURATION'
              - '-YOUTUBE_SUBSCRIBERS'
              - '-YOUTUBE_TOTAL_ENGAGEMENTS'
              - '-YOUTUBE_TOTAL_VIDEO_VIEWS'
              - '-YOUTUBE_TOTAL_WATCH_TIME'
              - '-LINKEDIN_TOTAL_IMPRESSIONS'
              - '-LINKEDIN_AVG_UNIQUE_IMPRESSIONS'
              - '-LINKEDIN_TOTAL_LIKES'
              - '-LINKEDIN_AVG_ENGAGEMENT_RATE'
              - '-LINKEDIN_AVG_CLICK_THROUGH_RATE'
              - '-THREADS_TOTAL_VIEWS'
              - '-THREADS_TOTAL_LIKES'
              - '-THREADS_TOTAL_REPLIES'
              - '-THREADS_TOTAL_ENGAGEMENTS'
              - '-THREADS_AVG_ENGAGEMENT_RATE'
              - '-SNAPCHAT_AVG_ENGAGEMENT_RATE'
              - '-SNAPCHAT_TOTAL_ENGAGEMENTS'
              - '-SNAPCHAT_TOTAL_VIEWS'
              - '-SNAPCHAT_TOTAL_VIEWERS'
              - '-SNAPCHAT_AVG_VIEW_TIME'
            type: string
        - description: List of tags used to limit galleries returned.
          explode: false
          in: query
          name: tags
          required: false
          schema:
            items:
              type: integer
            type: array
          style: form
        - description: >-
            Determines if all or any of the tags are used when searching for
            galleries.
          in: query
          name: tags_filter_type
          required: false
          schema:
            default: OR
            enum:
              - and
              - AND
              - or
              - OR
            type: string
        - description: Returns a list of summary gallery objects.
          in: query
          name: summary
          required: false
          schema:
            type: boolean
        - description: Filter live galleries.
          in: query
          name: live
          required: false
          schema:
            default: null
            nullable: true
            type: integer
        - description: Filter Shoppable galleries.
          in: query
          name: spirit_gallery_enabled
          required: false
          schema:
            default: null
            nullable: true
            type: integer
        - description: A formatted datetime string in UTC.
          in: query
          name: start_date
          required: false
          schema:
            default: null
            example: '2019-12-01'
            nullable: true
            pattern: ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(Z|((\+|-)\d{2}:\d{2})))?$
            type: string
        - description: A formatted datetime string in UTC.
          in: query
          name: end_date
          required: false
          schema:
            default: null
            example: '2019-12-12'
            nullable: true
            pattern: ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(Z|((\+|-)\d{2}:\d{2})))?$
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Galleries'
          description: OK
        '422':
          $ref: '#/components/responses/UNPROCESSABLE_ENTITY'
        default:
          $ref: '#/components/responses/DEFAULT_ERROR'
components:
  schemas:
    Galleries:
      properties:
        data:
          items:
            $ref: '#/components/schemas/Gallery'
          type: array
        paging:
          $ref: '#/components/schemas/PagingData'
      type: object
    Gallery:
      properties:
        additional_stats:
          readOnly: true
          type: object
        brand_id:
          type: integer
        created_at:
          format: date-time
          type: string
        custom_content:
          allOf:
            - $ref: '#/components/schemas/GalleryCustomContent'
          description: Custom Gallery content such as banner or pinned media
          nullable: true
          readOnly: true
        description:
          maxLength: 2000
          nullable: true
          type: string
        extra_csv_data:
          nullable: true
        fb_avg_effectiveness:
          nullable: true
          type: number
        fb_avg_engagement_rate:
          nullable: true
          type: number
        fb_avg_paid_and_organic_effectiveness_v2:
          nullable: true
          type: number
        fb_avg_paid_and_organic_engagement_rate_v2:
          nullable: true
          type: number
        fb_avg_paid_and_organic_reach_v2:
          nullable: true
          type: number
        fb_avg_reach:
          nullable: true
          type: number
        fb_total_engagements:
          nullable: true
          type: integer
        fb_total_impressions:
          nullable: true
          type: integer
        fb_total_paid_and_organic_engagements_v2:
          nullable: true
          type: integer
        fb_total_paid_and_organic_views:
          nullable: true
          type: integer
        gallery_distribution:
          allOf:
            - $ref: '#/components/schemas/GalleryDistribution'
          readOnly: true
        gallery_size:
          nullable: true
          type: integer
        gallery_stats_updated:
          format: date-time
          nullable: true
          type: string
        gallery_type:
          default: LIBRARY
          description: Type of gallery.
          enum:
            - instagram
            - INSTAGRAM
            - instagram_likeshop
            - INSTAGRAM_LIKESHOP
            - pinterest
            - PINTEREST
            - library
            - LIBRARY
            - instagram_story
            - INSTAGRAM_STORY
            - instagram_story_narrative
            - INSTAGRAM_STORY_NARRATIVE
            - tiktok
            - TIKTOK
            - tiktok_likeshop
            - TIKTOK_LIKESHOP
            - facebook
            - FACEBOOK
            - twitter
            - TWITTER
            - youtube
            - YOUTUBE
            - linkedin
            - LINKEDIN
            - threads
            - THREADS
            - snapchat
            - SNAPCHAT
          type: string
        id:
          type: integer
        ig_story_avg_completion_rate:
          readOnly: true
          type: number
        ig_story_avg_completion_rate_views:
          readOnly: true
          type: number
        ig_story_avg_exit_rate:
          nullable: true
          type: number
        ig_story_avg_exit_rate_views:
          nullable: true
          type: number
        ig_story_avg_impressions:
          readOnly: true
          type: number
        ig_story_avg_reach:
          readOnly: true
          type: number
        ig_story_avg_views:
          readOnly: true
          type: number
        ig_story_narrative_time_range:
          allOf:
            - $ref: '#/components/schemas/TimeRange'
          readOnly: true
        ig_story_swipe_ups:
          readOnly: true
          type: integer
        ig_story_total_impressions:
          nullable: true
          type: integer
        ig_story_total_reach:
          nullable: true
          type: integer
        ig_story_total_replies:
          nullable: true
          type: integer
        ig_story_total_views:
          nullable: true
          type: integer
        instagram_avg_effectiveness:
          nullable: true
          type: number
        instagram_avg_effectiveness_engagements:
          nullable: true
          type: number
        instagram_avg_engagement:
          nullable: true
          type: number
        instagram_avg_reach:
          nullable: true
          type: integer
        instagram_total_comments:
          nullable: true
          type: integer
        instagram_total_likes:
          nullable: true
          type: integer
        instagram_total_reach:
          nullable: true
          type: integer
        label:
          maxLength: 256
          type: string
        latest_media:
          items:
            $ref: '#/components/schemas/MediaPreview'
          type: array
        latest_media_published_at:
          format: date-time
          nullable: true
          type: string
        library_total_clicks:
          nullable: true
          type: integer
        library_total_high_performing_photos:
          nullable: true
          type: integer
        library_total_low_performing_photos:
          nullable: true
          type: integer
        library_total_top_performing_photos:
          nullable: true
          type: integer
        library_total_views:
          nullable: true
          type: integer
        linkedin_avg_click_through_rate:
          nullable: true
          type: number
        linkedin_avg_engagement_rate:
          nullable: true
          type: number
        linkedin_avg_unique_impressions:
          nullable: true
          type: number
        linkedin_total_impressions:
          nullable: true
          type: integer
        linkedin_total_likes:
          nullable: true
          type: integer
        live:
          nullable: true
          type: integer
        name:
          maxLength: 256
          type: string
        pinterest_avg_engagement_rate:
          nullable: true
          type: number
        pinterest_total_clicks:
          nullable: true
          type: integer
        pinterest_total_closeups:
          nullable: true
          type: integer
        pinterest_total_comments:
          nullable: true
          type: integer
        pinterest_total_impressions:
          nullable: true
          type: integer
        pinterest_total_saves:
          nullable: true
          type: integer
        pinterest_total_video_views:
          nullable: true
          type: integer
        pinterest_total_visits:
          nullable: true
          type: integer
        settings:
          nullable: true
          type: object
        snapchat_avg_engagement_rate:
          nullable: true
          type: number
        snapchat_avg_view_time:
          nullable: true
          type: number
        snapchat_total_engagements:
          nullable: true
          type: integer
        snapchat_total_viewers:
          nullable: true
          type: integer
        snapchat_total_views:
          nullable: true
          type: integer
        spirit_gallery_enabled:
          type: integer
        tags:
          description: List of gallery tags.
          items:
            $ref: '#/components/schemas/GalleryTags'
          type: array
        threads_avg_engagement_rate:
          nullable: true
          type: number
        threads_total_engagements:
          nullable: true
          type: integer
        threads_total_likes:
          nullable: true
          type: integer
        threads_total_replies:
          nullable: true
          type: integer
        threads_total_views:
          nullable: true
          type: integer
        tiktok_avg_engagement_rate:
          nullable: true
          type: number
        tiktok_avg_retention_rate:
          nullable: true
          type: number
        tiktok_avg_video_views:
          nullable: true
          type: number
        tiktok_total_reach:
          nullable: true
          type: integer
        tiktok_total_video_views:
          nullable: true
          type: integer
        twitter_avg_engagement_rate:
          nullable: true
          type: number
        twitter_impressions:
          nullable: true
          type: integer
        twitter_likes:
          nullable: true
          type: integer
        twitter_retweets:
          nullable: true
          type: integer
        twitter_total_engagements:
          nullable: true
          type: integer
        updated_at:
          format: date-time
          type: string
        youtube_avg_view_duration:
          nullable: true
          type: number
        youtube_subscribers:
          nullable: true
          type: integer
        youtube_total_engagements:
          nullable: true
          type: integer
        youtube_total_video_views:
          nullable: true
          type: integer
        youtube_total_watch_time:
          nullable: true
          type: integer
      required:
        - brand_id
        - name
      type: object
    PagingData:
      properties:
        count:
          description: Number of records in the current page.
          type: integer
        next:
          description: URL to the next page of data.
          format: url
          nullable: true
          type: string
        previous:
          description: URL to the previous page of data.
          format: url
          nullable: true
          type: string
      type: object
    Error:
      properties:
        code:
          description: Error code
          type: integer
        errors:
          description: Errors
          type: object
        message:
          description: Error message
          type: string
        status:
          description: Error name
          type: string
      type: object
    GalleryCustomContent:
      properties:
        banner:
          allOf:
            - $ref: '#/components/schemas/GalleryMedia'
          description: Gallery Media that serves as a banner image
          nullable: true
        pinned:
          description: List of Gallery Media that serves as pinned content.
          items:
            $ref: '#/components/schemas/GalleryMedia'
          nullable: true
          type: array
      type: object
    GalleryDistribution:
      properties:
        competitive_post_count:
          type: integer
        owned_post_count:
          type: integer
      type: object
    TimeRange:
      properties:
        end:
          default: null
          description: Time range start timestamp in UTC.
          example: '2019-12-01T00:00:00+00:00'
          format: date-time
          nullable: true
          type: string
        start:
          default: null
          description: Time range start timestamp in UTC.
          example: '2019-12-01T00:00:00+00:00'
          format: date-time
          nullable: true
          type: string
      type: object
    MediaPreview:
      properties:
        image_url:
          type: string
      required:
        - image_url
      type: object
    GalleryTags:
      properties:
        color:
          maxLength: 9
          type: string
        created_at:
          format: date-time
          type: string
        id:
          type: integer
        name:
          maxLength: 64
          type: string
        updated_at:
          format: date-time
          type: string
      required:
        - color
        - name
      type: object
    GalleryMedia:
      properties:
        brand_media_type:
          type: string
        can_publish_within:
          allOf:
            - $ref: '#/components/schemas/DateTimeRange'
          readOnly: true
        clicks:
          type: integer
        created_at:
          format: date-time
          type: string
        id:
          type: integer
        media:
          $ref: '#/components/schemas/Media'
        order:
          type: number
        products:
          items:
            $ref: '#/components/schemas/GalleryMediaProduct'
          type: array
        updated_at:
          format: date-time
          type: string
      type: object
    DateTimeRange:
      properties:
        end:
          type: string
        start:
          type: string
      required:
        - end
        - start
      type: object
    Media:
      properties:
        created_at:
          format: date-time
          type: string
        duration: {}
        frame_rate: {}
        id:
          type: integer
        image_sizes: {}
        media_group:
          nullable: true
          type: integer
        notes:
          readOnly: true
          type: string
        original_height:
          nullable: true
          type: integer
        original_width:
          nullable: true
          type: integer
        predictions:
          readOnly: true
        source:
          enum:
            - instagram
            - INSTAGRAM
            - instagram_story
            - INSTAGRAM_STORY
            - pinterest
            - PINTEREST
            - facebook
            - FACEBOOK
            - tiktok
            - TIKTOK
            - tiktok_ad
            - TIKTOK_AD
            - twitter
            - TWITTER
            - youtube
            - YOUTUBE
            - linkedin
            - LINKEDIN
            - threads
            - THREADS
            - snapchat
            - SNAPCHAT
            - upload
            - UPLOAD
            - editor
            - EDITOR
            - ai_generation
            - AI_GENERATION
          type: string
        source_created_at:
          default: '2026-04-10T14:57:59.977494'
          format: date-time
          type: string
        source_data:
          readOnly: true
        source_id:
          type: string
        tags:
          items:
            $ref: '#/components/schemas/MediaTag'
          type: array
        thumbnail_url:
          type: string
          writeOnly: true
        type:
          readOnly: true
          type: string
        updated_at:
          format: date-time
          type: string
        url:
          type: string
          writeOnly: true
        urls: {}
        video_sizes: {}
      required:
        - source
        - source_id
      type: object
    GalleryMediaProduct:
      properties:
        archived:
          description: Whether the product is archived.
          type: boolean
        clicks:
          description: Clicks of the product for this media.
          type: integer
        created_at:
          format: date-time
          type: string
        description:
          description: Description of the product.
          type: string
        id:
          description: ID of the object.
          readOnly: true
          type: integer
        image_url:
          description: Image URL of the product.
          type: string
        product_groups:
          items:
            $ref: '#/components/schemas/ProductGroup'
          type: array
        product_overrides:
          items:
            $ref: '#/components/schemas/ProductOverride'
          type: array
        source_id:
          description: Source ID of the product (SKU or brand's product ID).
          type: string
        title:
          description: Title of the product.
          type: string
        updated_at:
          format: date-time
          type: string
        url:
          description: URL of the product.
          type: string
        x:
          description: X coordinate of the product displayed in this media.
          type: number
        'y':
          description: Y coordinate of the product displayed in this media.
          type: number
      type: object
    MediaTag:
      properties:
        brand_id:
          type: integer
        created_at:
          format: date-time
          type: string
        id:
          type: integer
        name:
          maxLength: 20
          type: string
        updated_at:
          format: date-time
          type: string
      required:
        - brand_id
        - name
      type: object
    ProductGroup:
      properties:
        country_code:
          type: string
        created_at:
          format: date-time
          type: string
        description:
          type: string
        image_url:
          type: string
        source_id:
          type: string
        title:
          type: string
        url:
          type: string
      type: object
    ProductOverride:
      properties:
        availability:
          type: string
        brand_id:
          type: integer
        created_at:
          format: date-time
          type: string
        currency_code:
          maxLength: 3
          nullable: true
          type: string
        description:
          nullable: true
          type: string
        id:
          type: integer
        image_url:
          maxLength: 750
          nullable: true
          type: string
        last_updated_by_product_feed_at:
          format: date-time
          nullable: true
          type: string
        original_url:
          maxLength: 750
          nullable: true
          type: string
        override:
          maxLength: 5
          type: string
        price:
          maxLength: 50
          nullable: true
          type: string
        source_id:
          maxLength: 70
          type: string
        title:
          maxLength: 512
          nullable: true
          type: string
        updated_at:
          format: date-time
          type: string
        url:
          maxLength: 750
          nullable: true
          type: string
      required:
        - brand_id
        - override
        - source_id
      type: object
  responses:
    UNPROCESSABLE_ENTITY:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
      description: Unprocessable Entity
    DEFAULT_ERROR:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
      description: Default error response
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API key from Dash Social developer settings

````