# Duplicate index

- Operation ID: `duplicateIndexV2Get`
- HTTP method: `GET`
- Path: `/search/v2/indices/{indexId}/duplicate`
- [Human-readable API reference](https://hub.synerise.com/api-reference/ai-search#tag/Search-Configuration/operation/duplicateIndexV2Get)

## Self-contained OpenAPI method

The fenced document below contains this method's documentation and all of its local references. It is self-contained; no category or master specification fetch is required.

```yaml
openapi: 3.0.0
info:
  title: Synerise Public API
  version: 1.9.1
paths:
  /search/v2/indices/{indexId}/duplicate:
    get:
      summary: Duplicate index
      description: |
        duplicate index.

        ---

        **API consumers:** <a href="/api-reference/authorization?tag=Authorization&amp;operationId=profileLogin" target="_blank" rel="noopener">Workspace (Business Profile)</a>, <a href="/api-reference/authorization?tag=Authorization&amp;operationId=userLogin" target="_blank" rel="noopener">Synerise User</a>

        **API key permission required:** `ITEMS_SEARCH_CONFIG_SEARCH_CREATE`

        **User role permission required:** `assets_search: create`
      operationId: duplicateIndexV2Get
      tags:
        - Search Configuration
      security:
        - JWT: []
      parameters:
        - in: path
          name: indexId
          required: true
          description: ID of the index
          schema:
            type: string
      responses:
        "200":
          description: Returned newly created duplicate index
          content:
            application/json:
              schema:
                type: object
                description: Details of a single index
                properties:
                  indexId:
                    type: string
                    description: ID of the index
                  indexName:
                    type: string
                    description: Human-friendly name of the index
                  description:
                    type: string
                    description: Description of the index
                  itemsCatalogId:
                    type: string
                    description: ID of the item catalog from which the index will be created
                  language:
                    type: string
                    description: Search language as ISO 639-1 code
                  enabled:
                    type: boolean
                    description: When `true`, the index is enabled and can be queried.
                  ignoreUnavailableItems:
                    type: boolean
                    description: When `true`, unavailable items are not indexed, which makes the search run faster.
                    default: true
                  scoring:
                    description: |
                      Item scoring settings that affect the presentation order of the results.

                      `0` means the lowest importance of a parameter, `1` is the highest importance.
                    type: object
                    properties:
                      pageVisitsPopularity:
                        description: The importance of how often the item page is visited
                        type: number
                        format: float
                        default: 0
                        minimum: 0
                        maximum: 1
                      transactionsPopularity:
                        description: The importance of how often the item is included in transactions
                        type: number
                        format: float
                        default: 0
                        minimum: 0
                        maximum: 1
                      personalized:
                        description: The importance of how relevant a item is to a profile according to the AI model
                        type: number
                        format: float
                        default: 0
                        minimum: 0
                        maximum: 1
                      tieBreaker:
                        description: The importance of lesser phrase matches
                        type: number
                        format: float
                        default: 0
                        minimum: 0
                        maximum: 1
                      matching:
                        description: Controls how many clauses should be present in query
                        oneOf:
                          - type: object
                            description: Indicates number of mandatory clauses
                            properties:
                              type:
                                type: string
                                enum:
                                  - MinimumMatching
                              value:
                                type: integer
                                minimum: 1
                          - type: object
                            description: Indicates number of optional clauses
                            properties:
                              type:
                                type: string
                                enum:
                                  - MaximumNotMatching
                              value:
                                type: integer
                                minimum: 1
                          - type: object
                            description: Any of clauses should match
                            properties:
                              type:
                                type: string
                                enum:
                                  - AnyMatching
                          - type: object
                            description: All clauses should match
                            properties:
                              type:
                                type: string
                                enum:
                                  - AllMatching
                          - type: object
                            description: |
                              Matching that works differently depending on the number of terms in the search query.
                            properties:
                              type:
                                type: string
                                enum:
                                  - AdaptiveMatching
                              termsToMatch:
                                type: number
                                format: float
                                minimum: 0
                                exclusiveMinimum: true
                                maximum: 1
                                exclusiveMaximum: true
                                description: |
                                  Indicates the percentage of all query terms that should be matched.
                                  This matching is done using MinimumMatching with the value set to:
                                  `termsToMatch * n`, where n is a number of all terms in the search query.
                                  **If you define termsToMatch, you can't define termsToSubtract.**
                              termsToSubtract:
                                type: integer
                                minimum: 1
                                default: 1
                                description: |
                                  Indicates a fixed number that should be subtracted from
                                  the number of query terms that should match. This matching is done using
                                  MinimumMatching with the value set to `n - termsToSubtract`, where n is
                                  a number of all terms in the search query.
                                  **If you define termsToSubtract, you can't define termsToMatch.**
                              termsToActivate:
                                type: integer
                                minimum: 1
                                default: 3
                                description: |
                                  Indicates how long (number of words) a search query must be to activate this mechanism.
                                  All queries that are shorter than termsToActivate will use AllMatching.
                      fallbackMatching:
                        description: |
                          Backup matching mode used in cases where the main matching mode
                          (specified in `matching` parameter) does not provide enough results (at least 5)
                        oneOf:
                          - type: object
                            description: Indicates number of mandatory clauses
                            properties:
                              type:
                                type: string
                                enum:
                                  - MinimumMatching
                              value:
                                type: integer
                                minimum: 1
                          - type: object
                            description: Indicates number of optional clauses
                            properties:
                              type:
                                type: string
                                enum:
                                  - MaximumNotMatching
                              value:
                                type: integer
                                minimum: 1
                          - type: object
                            description: Any of clauses should match
                            properties:
                              type:
                                type: string
                                enum:
                                  - AnyMatching
                          - type: object
                            description: |
                              Matching that works differently depending on the number of terms in the search query.
                            properties:
                              type:
                                type: string
                                enum:
                                  - AdaptiveMatching
                              termsToMatch:
                                type: number
                                format: float
                                minimum: 0
                                exclusiveMinimum: true
                                maximum: 1
                                exclusiveMaximum: true
                                description: |
                                  Indicates the percentage of all query terms that should be matched.
                                  This matching is done using MinimumMatching with the value set to:
                                  `termsToMatch * n`, where n is a number of all terms in the search query.
                                  **If you define termsToMatch, you can't define termsToSubtract.**
                              termsToSubtract:
                                type: integer
                                minimum: 1
                                default: 1
                                description: |
                                  Indicates a fixed number that should be subtracted from
                                  the number of query terms that should match. This matching is done using
                                  MinimumMatching with the value set to `n - termsToSubtract`, where n is
                                  a number of all terms in the search query.
                                  **If you define termsToSubtract, you can't define termsToMatch.**
                              termsToActivate:
                                type: integer
                                minimum: 1
                                default: 3
                                description: |
                                  Indicates how long (number of words) a search query must be to activate this mechanism.
                                  All queries that are shorter than termsToActivate will use AllMatching.
                      similarity:
                        description: Defines how matching documents are scored
                        oneOf:
                          - type: object
                            description: Enhanced TF-IDF scoring model
                            properties:
                              type:
                                type: string
                                enum:
                                  - BM25
                              k1:
                                type: number
                                description: Controls non-linear term frequency normalization (saturation)
                                format: float
                                default: 1.2
                                minimum: 0
                                maximum: 10
                              b:
                                type: number
                                description: Controls to what degree document length normalizes tf values
                                format: float
                                default: 0.75
                                minimum: 0
                                maximum: 1
                          - type: object
                            description: Term frequency-inverse document frequency scoring model
                            properties:
                              type:
                                type: string
                                enum:
                                  - IDF
                      crossWorkspaceMode:
                        description: Cross workspace mode configuration
                        type: object
                        required:
                          - enabled
                        properties:
                          enabled:
                            description: When `true`, cross workspace search personalization mode is enabled
                            type: boolean
                  suggestions:
                    type: object
                    description: Controls manner in which suggestions are generated
                    properties:
                      smoothingModel:
                        type: string
                        description: Controls balance weight between infrequent grams and frequent grams
                        enum:
                          - Popularity
                          - Accuracy
                      gramSize:
                        type: integer
                        description: Describes max size of the n-grams in the field
                        default: 3
                        minimum: 1
                        maximum: 10
                      maxErrors:
                        type: integer
                        description: Maximum number of errors for terms to be considered as misspelling in order to for a correction
                        default: 2
                        minimum: 1
                        maximum: 5
                      minWordLength:
                        type: integer
                        description: The minimum length a suggest text term must have in order to be included
                        default: 4
                        minimum: 1
                      useAlways:
                        type: boolean
                        description: Controls is suggestions are used only if no documents match, or always
                        default: false
                  tokenizer:
                    description: Used for tokenizing full text into individual words
                    oneOf:
                      - type: object
                        description: The whitespace tokenizer divides text into terms whenever it encounters any whitespace character
                        properties:
                          type:
                            type: string
                            enum:
                              - Whitespace
                      - type: object
                        description: The standard tokenizer divides text into terms on word boundaries
                        properties:
                          type:
                            type: string
                            enum:
                              - Standard
                      - type: object
                        description: The pattern tokenizer uses a regular expression to either split text into terms whenever it matches a word separator
                        properties:
                          type:
                            type: string
                            enum:
                              - Pattern
                          pattern:
                            type: string
                            example: "[.,;]"
                  analyzers:
                    type: object
                    description: Controls analyzer settings.
                    required:
                      - autocomplete
                    properties:
                      autocomplete:
                        type: string
                        description: The completion method used.
                        enum:
                          - Ngram
                          - EdgeNgram
                          - NgramWithSynonyms
                          - EdgeNgramWithSynonyms
                          - DefaultWithSynonyms
                  attributesWithoutPrefixSearch:
                    type: array
                    description: Searchable attributes which will not be used in a prefix search
                    example:
                      - brand
                      - color
                      - promotion.type
                    items:
                      type: string
                  attributesWithoutTypoTolerance:
                    type: array
                    description: Searchable attributes for which typo tolerance is off
                    example:
                      - itemId
                      - link
                    items:
                      type: string
                  valuesWithoutTypoTolerance:
                    type: array
                    description: Attributes values for which typo tolerance is off
                    example:
                      - Nike
                      - blue
                      - "74997"
                    items:
                      type: string
                  typoToleranceOnNumericValues:
                    type: boolean
                    description: When `true`, typo tolerance is active on numbers
                    default: true
                  searchableAttributes:
                    description: |
                      The attributes that are taken into account as full text search terms
                    type: object
                    properties:
                      fullText:
                        type: array
                        description: The least important parameters
                        example:
                          - brand
                          - color
                          - promotion.type
                        items:
                          type: string
                      fullTextBoosted:
                        type: array
                        description: Medium-importance parameters
                        example:
                          - brand
                          - color
                          - promotion.type
                        items:
                          type: string
                      fullTextStronglyBoosted:
                        type: array
                        description: The most important parameters
                        example:
                          - brand
                          - color
                          - promotion.type
                        items:
                          type: string
                  displayableAttributes:
                    description: Attributes shown in the search results
                    example:
                      - brand
                      - color
                      - promotion.type
                    type: array
                    items:
                      type: string
                  facetableAttributes:
                    description: Attributes for which facets are returned in the search response. By default, all facetable attributes are also filterable and sortable.
                    type: object
                    properties:
                      range:
                        type: array
                        description: Array of range attributes
                        example:
                          - age
                          - customScore.value
                          - salePrice.value
                        default: []
                        items:
                          type: string
                      text:
                        type: array
                        description: Array of text attributes
                        example:
                          - brand
                          - color
                          - promotion.type
                        default: []
                        items:
                          type: string
                      datetime:
                        type: array
                        description: Array of datetime attributes
                        example:
                          - created
                          - attributes.modifiedAt
                        default: []
                        items:
                          type: string
                  filterableAttributes:
                    description: Attributes for which filters can be used
                    type: object
                    properties:
                      range:
                        type: array
                        description: Array of range attributes
                        example:
                          - age
                          - customScore.value
                          - salePrice.value
                        default: []
                        items:
                          type: string
                      text:
                        type: array
                        description: Array of text attributes
                        example:
                          - brand
                          - color
                          - promotion.type
                        default: []
                        items:
                          type: string
                      datetime:
                        type: array
                        description: Array of datetime attributes
                        example:
                          - created
                          - attributes.modifiedAt
                        default: []
                        items:
                          type: string
                  sortableAttributes:
                    description: Attributes using which search results can be sorted
                    type: object
                    properties:
                      range:
                        type: array
                        description: Array of range attributes
                        example:
                          - age
                          - customScore.value
                          - salePrice.value
                        default: []
                        items:
                          type: string
                      text:
                        type: array
                        description: Array of text attributes
                        example:
                          - brand
                          - color
                          - promotion.type
                        default: []
                        items:
                          type: string
                      datetime:
                        type: array
                        description: Array of datetime attributes
                        example:
                          - created
                          - attributes.modifiedAt
                        default: []
                        items:
                          type: string
                  distinctFilterAttributes:
                    description: Attributes for which distinct can be used
                    type: object
                    properties:
                      range:
                        type: array
                        description: Array of range attributes
                        example:
                          - age
                          - customScore.value
                          - salePrice.value
                        default: []
                        items:
                          type: string
                      text:
                        type: array
                        description: Array of text attributes
                        example:
                          - brand
                          - color
                          - promotion.type
                        default: []
                        items:
                          type: string
                      datetime:
                        type: array
                        description: Array of datetime attributes
                        example:
                          - created
                          - attributes.modifiedAt
                        default: []
                        items:
                          type: string
                  recentSearches:
                    type: object
                    description: Recent searches configuration
                    properties:
                      windowSize:
                        description: Amount of recent searches items to be returned
                        type: integer
                        example: 100
                      timeSpan:
                        type: object
                        description: Defines period for which recent searches are to be returned
                        properties:
                          type:
                            description: One of the following time units
                            type: string
                            enum:
                              - YEARS
                              - MONTHS
                              - WEEKS
                              - DAYS
                              - HOURS
                              - MINUTES
                              - SECONDS
                            example: DAYS
                          value:
                            description: Value corresponding with the time unit
                            type: integer
                            example: 30
                  reranking:
                    type: object
                    description: Reranking configuration
                    properties:
                      dynamicReranker:
                        type: object
                        description: Dynamic reranker configuration
                        required:
                          - enabled
                          - numberOfItems
                        properties:
                          enabled:
                            type: boolean
                            description: When `true`, the dynamic reranker is enabled
                          filter:
                            type: string
                            description: Only items that meet this filter will be considered by the reranker
                          numberOfItems:
                            type: integer
                            description: Number of items that can be reranked in search results
                            minimum: 1
                            maximum: 50
                          minNumberOfEvents:
                            type: integer
                            description: If present, items with fewer events than this value will be filtered out from reranking.
                      queryClassification:
                        type: object
                        description: Query classification configuration
                        properties:
                          enabled:
                            type: boolean
                            description: When `true`, the query classification is enabled.
                          actions:
                            type: array
                            description: Search result actions with a minimum reliability level
                            items:
                              type: object
                              properties:
                                action:
                                  type: string
                                  description: |
                                    The action to perform when the reliability level from `minReliabilityLevel` is reached.
                                    - `staticFilter` will apply a static filter to limit the search results to the predicted category.
                                    - `elasticFilter` will apply an elastic filter - if there are not enough results from the predicted category, the AI engine will pick items from other categories to meet the minimum number of results.
                                    - `boosting` will increase the scores of items from the predicted category.

                                    If reliability levels are met for multiple actions, the priority is:
                                    1. static filter
                                    2. elastic filter
                                    3. boosting
                                  enum:
                                    - staticFilter
                                    - elasticFilter
                                    - boosting
                                minReliabilityLevel:
                                  type: string
                                  description: |
                                    For each type of action, you can specify the minimum level required to trigger that action. A reliability level indicates how confident we are that a given prediction is the best choice.
                                  enum:
                                    - certain
                                    - veryHigh
                                    - high
                                    - medium
                                    - low
                          excludedPhrases:
                            type: array
                            description: Phrases that will be excluded from query classification
                            items:
                              type: string
                          excludedCategories:
                            type: array
                            description: Categories that will be excluded from query classification
                            items:
                              type: string
                  optimization:
                    type: object
                    description: Configuration for the search weight optimizer
                    properties:
                      enabled:
                        type: boolean
                        description: Gate for the optimization feature. items-search applies `optimizedWeights` (via `target` or a query-rule target) only when `true`.
                      target:
                        type: string
                        description: |
                          The optimization target for the weight optimizer. Specifies which metric to optimize for.
                          - `ctr` — Click-through rate
                          - `cr` — Conversion rate
                          - `revenue` — Revenue
                          - `ndcg` — Normalized Discounted Cumulative Gain
                          - `margin` — Margin
                        enum:
                          - ctr
                          - cr
                          - revenue
                          - ndcg
                          - margin
                      optimizedWeights:
                        type: object
                        description: Per-target optimization weight configuration, keyed by optimization target (ctr, cr, revenue, ndcg, margin)
                        additionalProperties:
                          type: object
                          description: Optimization weights for a specific target, containing optional base and DRR weights
                          properties:
                            baseWeights:
                              type: object
                              description: Base weight configuration for optimization
                              properties:
                                personalized:
                                  type: number
                                  format: float
                                  description: Weight for personalization factor
                                  minimum: 0
                                  maximum: 5
                                transactionsPopularity:
                                  type: number
                                  format: float
                                  description: Weight for transactions popularity
                                  minimum: 0
                                  maximum: 5
                                pageVisitsPopularity:
                                  type: number
                                  format: float
                                  description: Weight for page visits popularity
                                  minimum: 0
                                  maximum: 5
                                transactions7DaysPopularity:
                                  type: number
                                  format: float
                                  description: Weight for transactions popularity in the last 7 days
                                  minimum: 0
                                  maximum: 5
                                pageVisits7DaysPopularity:
                                  type: number
                                  format: float
                                  description: Weight for page visits popularity in the last 7 days
                                  minimum: 0
                                  maximum: 5
                                revenueBoost:
                                  type: number
                                  format: float
                                  description: Weight for revenue boost factor
                                  minimum: 0
                                  maximum: 5
                                conversionRateBoost:
                                  type: number
                                  format: float
                                  description: Weight for conversion rate boost factor
                                  minimum: 0
                                  maximum: 5
                                fullTextMultipliers:
                                  type: object
                                  description: |
                                    Per-field-tier multipliers applied on top of the default full-text field boosts. Each tier is optional; an absent tier means no change (multiplier 1.0). Scale a tier down to stop it dominating (e.g. a rare description token outscoring a title match) or up to make it decisive.
                                  properties:
                                    stronglyBoosted:
                                      type: number
                                      format: float
                                      description: Multiplier for the strongly-boosted tier (title, brand)
                                      minimum: 0
                                      maximum: 100
                                    boosted:
                                      type: number
                                      format: float
                                      description: Multiplier for the boosted tier (category)
                                      minimum: 0
                                      maximum: 100
                                    normal:
                                      type: number
                                      format: float
                                      description: Multiplier for the normal tier (description, color, itemId)
                                      minimum: 0
                                      maximum: 100
                            drrWeights:
                              type: object
                              description: Dynamic Reranker (DRR) weight configuration for optimization
                              properties:
                                searchDRRWeight:
                                  type: number
                                  format: float
                                  description: Weight for search DRR signal
                                  minimum: 0
                                  maximum: 5
                                listingDRRWeight:
                                  type: number
                                  format: float
                                  description: Weight for listing DRR signal
                                  minimum: 0
                                  maximum: 5
                                clickWeight:
                                  type: number
                                  format: float
                                  description: Weight for click signal
                                  minimum: 0
                                  maximum: 5
                                buyWeight:
                                  type: number
                                  format: float
                                  description: Weight for buy signal
                                  minimum: 0
                                  maximum: 5
                                revenueWeight:
                                  type: number
                                  format: float
                                  description: Weight for revenue signal
                                  minimum: 0
                                  maximum: 5
                  dynamicSynonyms:
                    type: object
                    description: Dynamic synonyms configuration
                    required:
                      - enabled
                      - workflowIntervalDays
                    properties:
                      enabled:
                        type: boolean
                        description: When `true`, dynamic synonyms are enabled
                      workflowIntervalDays:
                        type: integer
                        description: Interval in days between synonym workflow runs
                        minimum: 7
                        maximum: 31
                        example: 14
                      coldStart:
                        type: boolean
                        description: Enables cold start mode for dynamic synonyms. Once enabled, it cannot be disabled. When enabled for the first time, a cold-start-agent resource is created with NOT READY state.
                        default: false
                        example: false
                      autoAcceptThreshold:
                        type: number
                        format: float
                        description: Threshold for automatic synonym acceptance. Must be in [0, 1] range.
                        minimum: 0
                        maximum: 1
                        example: 0.8
                  dynamicFacets:
                    type: object
                    description: Dynamic facets configuration
                    required:
                      - enabled
                      - maxFacets
                    properties:
                      enabled:
                        type: boolean
                        description: When `true`, dynamic facets are enabled.
                      maxFacets:
                        type: integer
                        description: Maximum number of dynamic facets to return. Must be non-negative.
                        minimum: 0
                        example: 10
                      minCoverageThreshold:
                        type: number
                        format: float
                        description: |
                          Minimum coverage threshold for a facet to be included. Must be in [0, 1] range. 
                          Coverage is `M/N`, where:
                          - `M` is the number of occurrences of a facet in the search results.
                          - `N` is the total number of results.
                          Higher coverage values mean that a facet is more relevant.
                        minimum: 0
                        maximum: 1
                        example: 0.1
                      objective:
                        type: string
                        description: Objective used to select dynamic facets.
                        enum:
                          - coverage
                          - popularity
                        example: coverage
                  geoSearch:
                    type: object
                    description: Geo search configuration
                    properties:
                      geoSearchableAttribute:
                        type: string
                        description: |
                          Attribute that contains the geolocation of the product.
                          The attribute's value must be one of the following types:
                          - JSON object with `lat` and `lon` properties
                          - JSON array of objects containing `lat` and `lon` properties
                          - JSON string of format `latitude,longitude`
                          - JSON array of strings of format `latitude,longitude`
                  queryRules:
                    description: Configuration for custom behavior of query rules at the index level.
                    type: object
                    properties:
                      consequencesJoinOperators:
                        type: object
                        description: |
                          Defines how filter consequences from multiple query rules are logically combined.
                          This setting determines whether those filters are joined using the AND or OR operator.
                        properties:
                          standardFilters:
                            type: string
                            description: |
                              Logical operator used to combine standard filters defined in the consequences of multiple query rules.
                              If not specified, the default operator is OR.
                            enum:
                              - AND
                              - OR
                            default: OR
                          elasticFilters:
                            type: string
                            description: |
                              Logical operator used to combine elastic filters defined in the consequences of multiple query rules.
                              If not specified, the default operator is OR.
                            enum:
                              - AND
                              - OR
                            default: OR
                  updatedAt:
                    type: string
                    format: date-time
                    description: Last update time in YYYY-MM-DDThh:mm:ssZ format (ISO 8601, UTC)
                  createdAt:
                    type: string
                    format: date-time
                    description: Creation time in YYYY-MM-DDThh:mm:ssZ format (ISO 8601, UTC)
                  indexType:
                    type: string
                    description: |
                      Purpose of the index. Defaults to `Product` when absent. `Document` enables RAG-style chunked article indexing, where each item's body field is split into passages and indexed as separate documents.
                      Immutable after creation: an update that changes `indexType` (including switching a `Document` index back to `Product` by omitting the field) is rejected. To change the type, create a new index.
                    enum:
                      - Product
                      - Document
                  chunking:
                    type: object
                    description: |
                      Controls how a `Document` index splits each article body into passages. Only meaningful when `indexType=Document`; ignored for `Product` indices. All fields are optional — sensible defaults are applied when omitted.
                    properties:
                      strategy:
                        type: string
                        enum:
                          - section
                        default: section
                        description: |
                          Chunk strategy. `section` = heading-aware sections with nested passages (recommended for RAG).
                      tokenLimit:
                        type: integer
                        minimum: 1
                        default: 512
                        description: Target maximum tokens per chunk. An internal safety ratio keeps chunks comfortably under this budget.
                      overlapTokens:
                        type: integer
                        minimum: 0
                        default: 64
                        description: Tokens of the previous chunk prepended to the next, preserving cross-chunk context for retrieval.
                      minChunkTokens:
                        type: integer
                        minimum: 1
                        default: 16
                        description: Trailing chunks smaller than this fold into the preceding chunk to avoid sub-paragraph noise.
                  documentFields:
                    type: object
                    description: |
                      Field mapping for `Document` indices. Required when `indexType=Document`.
                      Best practice: keep `searchableAttributes` minimal — typically `[title]` only. The article body named by `contentField` must NOT be listed in `searchableAttributes`; doing so duplicates the whole body into the parent search tiers on every chunk and is rejected with a 400.
                    required:
                      - contentField
                    properties:
                      contentField:
                        type: string
                        description: |
                          Item attribute holding the article body to be chunked. Dotted paths are supported for nested fields (e.g. `article.body`). Must reference an existing catalog attribute and must not appear in `searchableAttributes`.
                      titleField:
                        type: string
                        description: Item attribute holding the article title, denormalized onto every chunk for display and ranking. Must exist in the catalog.
                      contentFormat:
                        type: string
                        enum:
                          - Plaintext
                          - Markdown
                          - Html
                        default: Plaintext
                        description: How the body is parsed before chunking. `Markdown` and `Html` preserve structure; `Plaintext` splits on paragraph/sentence boundaries.
                      metadataFields:
                        type: array
                        description: Additional catalog attributes denormalized onto every chunk (e.g. author, publishedAt). Each must exist in the catalog.
                        items:
                          type: string
        "500":
          description: Service not available
          content:
            application/json:
              schema:
                type: object
                properties:
                  timestamp:
                    type: string
                    format: date-time
                    description: Time when the error occurred
                  status:
                    type: integer
                    description: Status code
                  error:
                    type: string
                    description: Summary of the error
                  message:
                    type: string
                    description: Description of the problem
                  path:
                    type: string
                    description: URL of the requested resource
                required:
                  - timestamp
                  - status
                  - message
      x-snr-doc-urls:
        - /api-reference/ai-search#tag/Search-Configuration/operation/duplicateIndexV2Get
      x-codeSamples:
        - lang: cURL
          label: cURL
          source: |-
            curl --request GET \
              --url https://api.synerise.com/search/v2/indices/%7BindexId%7D/duplicate \
              --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
        - lang: Python
          label: Python
          source: |-
            import http.client

            conn = http.client.HTTPSConnection("api.synerise.com")

            headers = { 'Authorization': "Bearer REPLACE_BEARER_TOKEN" }

            conn.request("GET", "/search/v2/indices/%7BindexId%7D/duplicate", headers=headers)

            res = conn.getresponse()
            data = res.read()

            print(data.decode("utf-8"))
        - lang: JavaScript
          label: JavaScript
          source: |-
            const data = null;

            const xhr = new XMLHttpRequest();
            xhr.withCredentials = true;

            xhr.addEventListener("readystatechange", function () {
              if (this.readyState === this.DONE) {
                console.log(this.responseText);
              }
            });

            xhr.open("GET", "https://api.synerise.com/search/v2/indices/%7BindexId%7D/duplicate");
            xhr.setRequestHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN");

            xhr.send(data);
        - lang: Node.js
          label: Node.js
          source: |-
            const http = require("https");

            const options = {
              "method": "GET",
              "hostname": "api.synerise.com",
              "port": null,
              "path": "/search/v2/indices/%7BindexId%7D/duplicate",
              "headers": {
                "Authorization": "Bearer REPLACE_BEARER_TOKEN"
              }
            };

            const req = http.request(options, function (res) {
              const chunks = [];

              res.on("data", function (chunk) {
                chunks.push(chunk);
              });

              res.on("end", function () {
                const body = Buffer.concat(chunks);
                console.log(body.toString());
              });
            });

            req.end();
        - lang: PHP
          label: PHP
          source: |-
            <?php

            $request = new HttpRequest();
            $request->setUrl('https://api.synerise.com/search/v2/indices/%7BindexId%7D/duplicate');
            $request->setMethod(HTTP_METH_GET);

            $request->setHeaders([
              'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'
            ]);

            try {
              $response = $request->send();

              echo $response->getBody();
            } catch (HttpException $ex) {
              echo $ex;
            }
        - lang: Java
          label: Java
          source: |-
            HttpResponse<String> response = Unirest.get("https://api.synerise.com/search/v2/indices/%7BindexId%7D/duplicate")
              .header("Authorization", "Bearer REPLACE_BEARER_TOKEN")
              .asString();
servers:
  - description: Microsoft Azure EU
    url: https://api.synerise.com
  - description: Microsoft Azure USA
    url: https://api.azu.synerise.com
  - description: Google Cloud Platform
    url: https://api.geb.synerise.com
tags:
  - name: Search Configuration
components:
  securitySchemes:
    JWT:
      type: http
      scheme: bearer
      description: |-
        JWT Bearer token. The header looks like this: `Bearer {JWT}`

        Remember to include the space between 'Bearer' and the token.

        Generate a token via the **Authorization** endpoints.
```
