AfterShip Discoveries API

The Discoveries API from AfterShip — 4 operation(s) for discoveries.

Operations 4

POST /discoveries/recommend Recommend products #
POST /discoveries/suggest Suggest product query #
POST /discoveries/search Search products #
POST /discoveries/tagging Predict product category and tags #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/aftership-discoveries-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

aftership-discoveries-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Overview Discoveries API
  version: '1.0'
  description: '> OAS Schema can be downloaded [here](https://stoplight.io/api/v1/projects/automizely/docs-api-aftership-com-personalization/nodes/reference/api.json?branch=production%252F2025-01&deref=optimizedBundle)

    <div style="visibility:hidden; height: 0">[url](../../docs/quickstart/authentication.md)</div>'
  summary: API Overview
  contact:
    name: AfterShip Support
    url: https://www.aftership.com/contact-us
    email: support@aftership.com
  termsOfService: https://www.aftership.com/terms
servers:
- url: https://api.aftership.com/personalization/2025-01
  description: API Endpoint
security:
- as-api-key: []
tags:
- name: Discoveries
paths:
  /discoveries/recommend:
    parameters:
    - schema:
        type: string
        example: f58a7bc4fb6d4719901906abde0c6f46
      in: header
      name: as-store-id
      required: true
      description: The identifier of your Commerce store
    post:
      summary: Recommend products
      tags:
      - Discoveries
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Recommend_response'
              examples:
                Example 1:
                  value:
                    meta:
                      code: 200
                      type: OK
                      message: Everything worked as expected.
                    data:
                      products:
                      - id: 51e2fb9bc14847c5a82f049558019b12
                        source_id: a5ffb83f38fb4a6f94d33616dea0e6a0
                        variants:
                        - source_id: 893576488aca4967a677194598d7fc95
                      - id: d8192616ec3c41b3805070d653d37aad
                        source_id: 4dcaa564aa85426480d2c4b01df8db56
                        variants:
                        - source_id: 311381827b1243a18a2bdd44ebad1a41
                      - id: b1d821b2e47c430c885ce7ea42073dcb
                        source_id: afc4ee14858b45349c74c66a25ddf54f
                        variants:
                        - source_id: 1ec8af67ca7d417bb056e77858611857
                      - id: 7dfd6d5466004ebaac811c37045f67c4
                        source_id: 793544852ad942ffaee1c15dcf8383f8
                        variants:
                        - source_id: eacce30b115e436296b6e1cbba6c8508
                      - id: 1e09a77a0138425a831266a11727cee1
                        source_id: 00093d19495447a2a082bfe44d75658a
                        variants:
                        - source_id: 00b0a1e329cf4ecc861136ed0ab94fc2
                Example 2:
                  value:
                    meta:
                      code: 200
                      type: OK
                      message: Everything worked as expected.
                    data:
                      products: []
          headers:
            as-api-version:
              schema:
                type: string
                example: 2025-01
              description: The actual API version that serves the request
            as-trace-id:
              schema:
                type: string
                example: 5ae20644d52348a49a897fff5dd314a3
              description: A UUID value without hyphens to trace and debug the request
      operationId: post-discoveries-recommend
      x-stoplight:
        id: nbdlwcnd2zf85
      description: '<div style="visibility:hidden; height: 0">[url](../../docs/quickstart/authentication.md)</div>

        <div style="visibility:hidden; height: 0">[filter key](../../docs/enum/filter_key.md)</div>

        <div style="visibility:hidden; height: 0">[scenarios](../../docs/scenarios/recommendations/best_sellers.md)</div>'
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Recommend_request'
            examples:
              BEST_SELLERS:
                value:
                  type: BEST_SELLERS
                  session_id: 47be3249-c1f4-446d-b652-8749be6ed577
                  include_filters:
                  - tags:Sale
                  exclude_filters:
                  - '!tags:Wood'
                  - '!categories:Furniture'
                  limit: 5
              BOUGHT_TOGETHER:
                value:
                  type: BOUGHT_TOGETHER
                  session_id: 47be3249-c1f4-446d-b652-8749be6ed577
                  include_filters:
                  - tags:Sale
                  exclude_filters:
                  - '!tags:Wood'
                  - '!categories:Furniture'
                  limit: 5
                  products:
                  - id: 51e2fb9bc14847c5a82f049558019b12
                    source_id: a5ffb83f38fb4a6f94d33616dea0e6a0
                    variants:
                    - source_id: 893576488aca4967a677194598d7fc95
              COMPLEMENTS:
                value:
                  type: COMPLEMENTS
                  session_id: 47be3249-c1f4-446d-b652-8749be6ed577
                  include_filters:
                  - tags:Sale
                  exclude_filters:
                  - '!tags:Wood'
                  - '!categories:Furniture'
                  limit: 5
                  products:
                  - id: 51e2fb9bc14847c5a82f049558019b12
                    source_id: a5ffb83f38fb4a6f94d33616dea0e6a0
                    variants:
                    - source_id: 893576488aca4967a677194598d7fc95
              NEW_ARRIVAL:
                value:
                  type: NEW_ARRIVAL
                  session_id: 47be3249-c1f4-446d-b652-8749be6ed577
                  include_filters:
                  - tags:Sale
                  exclude_filters:
                  - '!tags:Wood'
                  - '!categories:Furniture'
                  limit: 5
              RANDOM:
                value:
                  type: RANDOM
                  session_id: 47be3249-c1f4-446d-b652-8749be6ed577
                  include_filters:
                  - tags:Sale
                  exclude_filters:
                  - '!tags:Wood'
                  - '!categories:Furniture'
                  limit: 5
              SIMILAR:
                value:
                  type: SIMILAR
                  session_id: 47be3249-c1f4-446d-b652-8749be6ed577
                  include_filters:
                  - tags:Sale
                  exclude_filters:
                  - '!tags:Wood'
                  - '!categories:Furniture'
                  limit: 5
                  products:
                  - id: 51e2fb9bc14847c5a82f049558019b12
                    source_id: a5ffb83f38fb4a6f94d33616dea0e6a0
                    variants:
                    - source_id: 893576488aca4967a677194598d7fc95
      parameters:
      - schema:
          type: string
          default: application/json
          enum:
          - application/json
        in: header
        name: Content-Type
        description: Content-Type
        required: true
  /discoveries/suggest:
    parameters:
    - schema:
        type: string
        example: f58a7bc4fb6d4719901906abde0c6f46
      in: header
      name: as-store-id
      required: true
      description: The identifier of your Commerce store
    post:
      summary: Suggest product query
      tags:
      - Discoveries
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Suggest_response'
              examples:
                Example 1:
                  value:
                    meta:
                      code: 200
                      type: OK
                      message: Everything worked as expected.
                    data:
                      suggestion:
                        texts:
                        - shirt
                        - shirt for women
                        - shirt dress
                        - shirt design
                        - shirt drawing
          headers:
            as-api-version:
              schema:
                type: string
                example: 2025-01
              description: The actual API version that serves the request
            as-trace-id:
              schema:
                type: string
                example: 5ae20644d52348a49a897fff5dd314a3
              description: A UUID value without hyphens to trace and debug the request
      operationId: post-discoveries-suggest
      x-stoplight:
        id: ffzqphgod1xxr
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Suggest_request'
            examples:
              Example 1:
                value:
                  search: shir
                  session_id: 47be3249-c1f4-446d-b652-8749be6ed577
                  limit: 5
      parameters:
      - schema:
          type: string
          default: application/json
          enum:
          - application/json
        in: header
        name: Content-Type
        description: Content-Type
        required: true
      description: '<div style="visibility:hidden; height: 0">[url](../../docs/quickstart/authentication.md)</div>'
  /discoveries/search:
    parameters:
    - schema:
        type: string
        example: f58a7bc4fb6d4719901906abde0c6f46
      in: header
      name: as-store-id
      required: true
      description: The identifier of your Commerce store
    post:
      summary: Search products
      tags:
      - Discoveries
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Search_response'
              examples:
                Example 1:
                  value:
                    meta:
                      code: 200
                      type: OK
                      message: Everything worked as expected.
                    data:
                      products:
                      - id: f74f8af7578042b0991e104533158ad1
                        source_id: '7962442694953'
                        variants:
                        - source_id: '46493898506537'
                      - id: b8f033102b974f09b519d8e82e17adf1
                        source_id: '7962443317545'
                        variants:
                        - source_id: '46493898572073'
                      faceting:
                        categories:
                          Club & Night Out Dresses: 10
                          Casual Dresses: 20
                          Women's Novelty Clothing: 3
                        tags:
                          womens: 100
                          grade 3: 20
                          short sleeve: 3
                        fit:
                          Fitted: 100
                        color:
                          Red: 10
                          Black: 20
                          White: 20
                        style:
                          Vintage: 100
                        price:
                          '[0,100)': 20
                          '[100,200)': 60
                          '[200,500]': 20
                      pagination:
                        limit: 10
                        page: 1
                        total: 100
          headers:
            as-api-version:
              schema:
                type: string
                example: 2025-01
              description: The actual API version that serves the request
            as-trace-id:
              schema:
                type: string
                example: 5ae20644d52348a49a897fff5dd314a3
              description: A UUID value without hyphens to trace and debug the request
      operationId: post-discoveries-search
      x-stoplight:
        id: f7xesgeobu1tl
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Search_request'
            examples:
              Example 1:
                value:
                  query: dress
                  image_url: https://cdn.shopify.com/s/files/1/0732/5430/6095/products/G5800SE.jpg
                  session_id: 47be3249-c1f4-446d-b652-8749be6ed577
                  faceting:
                  - categories
                  - tags
                  - fit
                  - color
                  - style
                  - price
                  include_filters:
                  - fit:Fitted
                  - style:Vintage
                  exclude_filters:
                  - '!tags:outlet,27/12/2023'
                  - '!categories:jersey'
                  sort: -title
      parameters:
      - schema:
          type: string
          default: application/json
          enum:
          - application/json
        in: header
        name: Content-Type
        description: Content-Type
        required: true
      description: '<div style="visibility:hidden; height: 0">[url](../../docs/quickstart/authentication.md)</div>

        <div style="visibility:hidden; height: 0">[filter key](../../docs/enum/filter_key.md)</div>

        <div style="visibility:hidden; height: 0">[semantic search scenario](../../docs/scenarios/search/semantic_search.md)</div>

        <div style="visibility:hidden; height: 0">[visual search scenario](../../docs/scenarios/search/visual_search.md)</div>'
  /discoveries/tagging:
    parameters:
    - schema:
        type: string
        example: f58a7bc4fb6d4719901906abde0c6f46
      in: header
      name: as-store-id
      description: The identifier of your Commerce store
    post:
      summary: Predict product category and tags
      tags:
      - Discoveries
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Tagging_response'
              examples:
                Example 1:
                  value:
                    meta:
                      code: 200
                      type: OK
                      message: Everything worked as expected.
                    data:
                      predict_category:
                        category: Beauty & Personal Care > Makeup > Eyeshadow
                        confidence_score: 0.92
                      predict_tags:
                      - tag: Edition|Limited Edition
                        confidence_score: 0.7
                      - tag: Age Group|Youth
                        confidence_score: 0.7
                      - tag: Net Weight|0.19 oz.
                        confidence_score: 0.9
                      - tag: Quantity Per Pack|5
                        confidence_score: 0.7
                      - tag: Color|235 Pure Romance
                        confidence_score: 0.9
                      - tag: Alcohol Or Aerosol|Contains Aerosol
                        confidence_score: 0.7
                      - tag: Country Of Origin|US
                        confidence_score: 0.7
                      - tag: Franchise|COVERGIRL
                        confidence_score: 0.9
                      - tag: Makeup Finish|Matte
                        confidence_score: 0.7
                      - tag: Feature|BLENDS EASILY
                        confidence_score: 0.9
                      - tag: Feature|SILKY SHEER FORMULA
                        confidence_score: 0.9
                      - tag: Feature|DOUBLE ENDED APPLICATOR
                        confidence_score: 0.9
                      - tag: Feature|MULTIPLE OPTIONS
                        confidence_score: 0.9
                      - tag: Feature|CRUELTY FREE
                        confidence_score: 0.9
          headers:
            as-api-version:
              schema:
                type: string
                example: 2025-01
              description: The actual API version that serves the request
            as-trace-id:
              schema:
                type: string
                example: 5ae20644d52348a49a897fff5dd314a3
              description: A UUID value without hyphens to trace and debug the request
      operationId: post-discoveries-tagging
      x-stoplight:
        id: g5ageybo3tcqy
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Tagging_request'
      parameters:
      - schema:
          type: string
          default: application/json
          enum:
          - application/json
        in: header
        name: Content-Type
        description: Content-Type
        required: true
      description: '<div style="visibility:hidden; height: 0">[url](../../docs/quickstart/authentication.md)</div>'
components:
  schemas:
    Recommend_request:
      title: RecommendRequest
      x-stoplight:
        id: 65lf99vvyab9h
      type: object
      required:
      - type
      properties:
        type:
          $ref: '#/components/schemas/Recommend_type'
          x-stoplight:
            id: q17knw21q1vnt
        session_id:
          type: string
          x-stoplight:
            id: 1tauiauuzijju
          description: Session unique identifier. It is recommended to use this [package](https://www.npmjs.com/package/uuid) to generate UUID.
          example: 47be3249-c1f4-446d-b652-8749be6ed577
        include_filters:
          type: array
          x-stoplight:
            id: imh868o3anvim
          description: 'Include products that correspond to the specified attribute. For the supported filter key, please refer to the [filter key](../../docs/enum/filter_key.md), and for the format of the filter, please refer to the following examples:

            - Conjunctive filtering: ["tags:Sale", "categories:Furniture"] means tags contain any of (''Sale'') and categories contain any of (''Furniture'')

            - Disjunctive filtering: ["tags:Sofa,Couch,Bed"] means tags contain any of (''Sofa'', ''Couch'', ''Bed'')'
          items:
            x-stoplight:
              id: dg810n9d1rntl
            type: string
            example: tags:Sale
        exclude_filters:
          type: array
          x-stoplight:
            id: 95pfws20jfob0
          description: 'Exclude products that correspond to the specified attribute. For the supported filter key, please refer to the [filter key](../../docs/enum/filter_key.md), and for the format of the filter, please refer to the following examples:

            - Conjunctive filtering: ["!tags:Sale", "!categories:Furniture"] means tags not contain any of (''Sale'') and categories not contain any of (''Furniture'')

            - Disjunctive filtering: ["!tags:Sofa,Couch,Bed"] means tags not contain any of (''Sofa'', ''Couch'', ''Bed'')'
          items:
            x-stoplight:
              id: dlsczajr3929r
            type: string
            example: '!categories:Furniture'
        limit:
          type: number
          x-stoplight:
            id: pz6betphrp9rh
          description: The number of products each page contains.
          default: 10
          maximum: 100
          example: 1
        products:
          type: array
          x-stoplight:
            id: 86vh5e4mogrgv
          description: This parameter is required for `BOUGHT_TOGETHER`, `COMPLEMENTS`, and `SIMILAR` types. For the meaning of products in different scenarios, please refer to [scenarios](../../docs/scenarios/recommendations/best_sellers.md).
          items:
            $ref: '#/components/schemas/Partial_product'
            x-stoplight:
              id: d9z7q7pp2cpg9
      description: ''
    Tagging_platform:
      x-stoplight:
        id: bik2lfr0jimzb
      title: TaggingPlatform
      enum:
      - TTS
      - Walmart
      - AfterShip
      description: Target e-commerce platform. The classification system of the platform will be used for prediction.
    Search_request:
      title: SearchRequest
      x-stoplight:
        id: n5odwp633zoq3
      type: object
      properties:
        session_id:
          type: string
          x-stoplight:
            id: xauqk3a834vnj
          description: Session unique identifier. It is recommended to use this [package](https://www.npmjs.com/package/uuid) to generate UUID.
          example: 47be3249-c1f4-446d-b652-8749be6ed577
        query:
          type: string
          x-stoplight:
            id: 23ih46ozoyuzf
          description: The search query. This parameter is required for the [semantic search scenario](../../docs/scenarios/search/semantic_search.md).
          example: dress
        image_url:
          type: string
          x-stoplight:
            id: fps0ngtfs57wv
          description: 'URL of the image. This parameter is required for the [visual search scenario](../../docs/scenarios/search/visual_search.md). Note: Either `image_url` or `image_base64` must be provided, but not both.'
          example: https://websites.am-static.com/assets/brands/logo/aftership.svg
        image_base64:
          type: string
          x-stoplight:
            id: j8puyvj8ckblq
          description: 'Base64-encoded image data. This parameter is required for the [visual search scenario](../../docs/scenarios/search/visual_search.md). Note: Either `image_url` or `image_base64` must be provided, but not both.'
          example: /9j/4AAQSkZJRgABAQ...
        include_filters:
          type: array
          x-stoplight:
            id: 2wr81f6lukscf
          description: 'Include products that correspond to the specified attribute. For the supported filter key, please refer to the [filter key](../../docs/enum/filter_key.md), and for the format of the filter, please refer to the following examples:

            - Conjunctive filtering: ["tags:Sale", "price:[48,56)"] means tags contain any of (''Sale'') and price greater than or equal to 48 and less than 56

            - Disjunctive filtering: ["tags:Sofa,Couch,Bed"] means tags contain any of (''Sofa'', ''Couch'', ''Bed'')'
          items:
            x-stoplight:
              id: 9h2gcylnczlkg
            type: string
            example: tags:Sale
        exclude_filters:
          type: array
          x-stoplight:
            id: dihcqlcd6o43h
          description: 'Exclude products that correspond to the specified attribute. For the supported filter key, please refer to the [filter key](../../docs/enum/filter_key.md), and for the format of the filter, please refer to the following examples:

            - Conjunctive filtering: ["!tags:Sale", "!categories:Furniture"] means tags not contain any of (''Sale'') and categories not contain any of (''Furniture'')

            - Disjunctive filtering: ["!tags:Sofa,Couch,Bed"] means tags not contain any of (''Sofa'', ''Couch'', ''Bed'')'
          items:
            x-stoplight:
              id: rdqz816hn0g77
            type: string
            example: '!categories:Furniture'
        faceting:
          type: array
          x-stoplight:
            id: 60ulwjjjzwqkd
          description: To apply multiple filters along certain discrete attributes or facets of the overall data collection. Selecting fewer facets for aggregation may help improve retrieval speed. For supported facets, please refer to [filter key](../../docs/enum/filter_key.md).
          example: tags,categories
          items:
            x-stoplight:
              id: b8vcytv0gf3n7
            type: string
            example: tags
        sort:
          type: string
          x-stoplight:
            id: ll74ms4pqc80n
          description: 'To specify sort order based on attribute values of the requested resource instances, and for multiple sort attributes, separate the sort attributes by commas (`,`) in the "sort" request parameter.

            - Ascending order: For example, use `+relevance` to control the returned products to be sorted in **ascending order of the relevance**.

            - Dscending order: For example, use `-price,-relevance` to control the returned products to be sorted in **descending order of the price**, and within each group of products with the same `price`, products are sorted in **descending order of the relevance** attribute.

            Support sort attributes: `relevance`, `title`, `price`, `created_at`, `updated_at`

            '
          default: -relevance
          example: -relevance
        page:
          type: number
          x-stoplight:
            id: zmxxhjtgkyau2
          description: The page to query. Maximum page number is bounded by total number of queried products.
          default: 1
          example: 1
          minimum: 1
          maximum: 1000
        limit:
          type: number
          x-stoplight:
            id: hhvhs9p7clpa0
          description: The number of products each page contains.
          default: 10
          maximum: 100
          example: 20
      examples:
      - session_id: 47be3249-c1f4-446d-b652-8749be6ed577
        query: dress
        image_url: https://websites.am-static.com/assets/brands/logo/aftership.svg
        image_base64: /9j/4AAQSkZJRgABAQ...
        include_filters:
        - tags:Sale
        exclude_filters:
        - '!categories:Furniture'
        faceting: tags,categories
        sort: -relevance
        page: 1
        limit: 20
    Tagging_request:
      title: TaggingRequest
      x-stoplight:
        id: u55it5gfc2076
      type: object
      required:
      - product
      - platform
      properties:
        product:
          $ref: '#/components/schemas/Tagging_product'
          x-stoplight:
            id: 15awqw2p3a68o
        platform:
          $ref: '#/components/schemas/Tagging_platform'
          x-stoplight:
            id: bik2lfr0jimzb
    Pagination.v1:
      x-stoplight:
        id: 9hqb9poi6rpo9
      title: Pagination
      type: object
      description: ''
      required:
      - limit
      - page
      - total
      properties:
        limit:
          type: number
          x-stoplight:
            id: ohdu6ql6x3rmf
          example: 100
          default: 10
          minimum: 1
          maximum: 100
        page:
          type: number
          x-stoplight:
            id: gz7ap10xaxw5s
          example: 1
          default: 1
          maximum: 1000
        total:
          type: number
          x-stoplight:
            id: s5srwn7j8b9mj
          example: 100
    Tagging_response:
      title: TaggingResponse
      x-stoplight:
        id: 2fh77f38s16yr
      type: object
      properties:
        meta:
          $ref: '#/components/schemas/Meta.v1'
          x-stoplight:
            id: 8iu7kxnz3yttb
        data:
          type: object
          x-stoplight:
            id: 783yix4byf0xf
          properties:
            predict_category:
              $ref: '#/components/schemas/Predict_categories'
              x-stoplight:
                id: 80ar3hy4llmxd
            predict_tags:
              type: array
              x-stoplight:
                id: 29235ja7u6m12
              items:
                $ref: '#/components/schemas/Predict_tags'
                x-stoplight:
                  id: f7yf0iz8y2ves
    Suggest_request:
      title: SuggestRequest
      x-stoplight:
        id: 0335tnzocslwv
      type: object
      required:
      - query
      properties:
        query:
          type: string
          x-stoplight:
            id: fxaj0ftvmvdt9
          description: The search query.
          example: shir
        session_id:
          type: string
          x-stoplight:
            id: 9d92wxs978zdq
          description: Session unique identifier. It is recommended to use this [package](https://www.npmjs.com/package/uuid) to generate UUID.
          example: 47be3249-c1f4-446d-b652-8749be6ed577
        limit:
          type: number
          x-stoplight:
            id: pag4271bn8h5o
          description: The number of suggestions each page contains.
          default: 10
          maximum: 20
          example: 5
    Meta.v1:
      x-stoplight:
        id: 2sv02c3cjwlkg
      title: Meta
      type: object
      examples:
      - code: 200
        type: OK
        message: Everything worked as expected.
      required:
      - code
      properties:
        code:
          type: number
          example: 200
          description: A 1 to 5-digit integer that represents the status of the request.
          x-stoplight:
            id: y17kqny5tj8br
        message:
          type: string
          description: A human-readable string message that gives a short description to the specific meta code.
          x-stoplight:
            id: hd5r8ha2s2ptd
        type:
          type: string
          enum:
          - OK
          - BadRequest
          - Unauthorized
          - Forbidden
          - NotFound
          - UnprocessableEntity
          - TooManyRequests
          - InternalError
          description: A human-readable short string which is the type of HTTP status, e.g. `OK` for a 200 HTTP status, or `BadRequest` for a 400 HTTP status.
          x-stoplight:
            id: l3mnpcga6n3rg
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error.v1'
    Error.v1:
      type: object
      title: Error
      examples:
      - path: includeFilters
        info: The include_filters field only supports tags, categories
      additionalProperties: false
      x-tags:
      - Envelope
      properties:
        code:
          type: number
          description: A 1 to 5-digit integer that represents the status of the request.
        path:
          type: string
          description: JSON path of the request object where the error happens.
        info:
          type: string
          description: The verbal description of the error that was detected in the request JSON at the specified JSON path.
    Search_response:
      title: SearchResponse
      x-stoplight:
        id: niecbi8x11f4i
      type: object
      properties:
        meta:
          $ref: '#/components/schemas/Meta.v1'
          x-stoplight:
            id: 2sv02c3cjwlkg
        data:
          type: object
          x-stoplight:
            id: qijbxdk7qsdlw
          required:
          - products
          - pagination
          properties:
            products:
              type: array
              x-stoplight:
                id: w7rtjnkgre71h
              items:
                $ref: '#/components/schemas/Partial_product'
                x-stoplight:
                  id: wn6dslcrz2y5k
            faceting:
              x-stoplight:
                id: yd3fqiywz1p1r
              type: object
              additionalProperties:
                x-stoplight:
                  id: w5l6dhiy08lqk
                type: object
            pagination:
              $ref: '#/components/schemas/Pagination.v1'
              x-stoplight:
                id: 9hqb9poi6rpo9
    Suggest_response:
      title: SuggestResponse
      x-stoplight:
        id: 8y07dc4bs8ize
      type: object
      properties:
        meta:
          $ref: '#/components/schemas/Meta.v1'
          x-stoplight:
            id: bb2u900ifaw18
        data:
          type: object
          x-stoplight:
            id: cn07ag00tv6l7
          properties:
            suggestion:
              type: object
              x-stoplight:
                id: czuf5e0xqz58p
              description: Suggestion object.
              properties:
                texts:
                  type: array
                  x-stoplight:
                    id: dxhb12hqeplt1
                  description: Search text suggestions.
                  items:
                    x-stoplight:
                      id: jj1ydm9oxwm0a
                    type: string
                    example: shirt
    Recommend_type:
      x-stoplight:
        id: q17knw21q1vnt
      title: RecommendType
      enum:
      - BEST_SELLERS
      - BOUGHT_TOGETHER
      - RANDOM
      - NEW_ARRIVAL
      - COMPLEMENTS
      - SIMILAR
      description: Default algorithm configuration type.
    Recommend_response:
      title: RecommendResponse
      x-stoplight:
        id: 2lrbrrm8m4nib
      type: object
      properties:
        meta:
          $ref: '#/components/schemas/Meta.v1'
          x-stoplight:
            id: 8rdxq41ji46au
        data:
          type: object
          x-stoplight:
            id: 6l84iyt6uale0
          properties:
            products:
              type: array
              x-stoplight:
                id: ogy96bv76fj9v
              items:
                $ref: '#/compon

# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/aftership/refs/heads/main/openapi/aftership-discoveries-api-openapi.yml