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

# Clone a Benefit Definition

> A `POST` to the `/benefits/definitions/{definitionId}/clone` endpoint allows your application to clone a specific Benefit Definition.

<Note>
  **Create an exact copy of the specified `definitionId`**

  The `name` will have "\_copy" appended.
  You must specify a new `handle` to use for this clone, int he request body.
</Note>


## OpenAPI

````yaml post /v3/benefits/definitions/{benefitdefinition}/clone
openapi: 3.1.0
info:
  title: Omneo
  version: 0.0.1
servers:
  - url: https://api.{tenant}.getomneo.com/api
    variables:
      tenant:
        default: example
security: []
paths:
  /v3/benefits/definitions/{benefitdefinition}/clone:
    post:
      tags:
        - Benefit Definition
      summary: Clone a Benefit Definition
      description: >-
        A `POST` to the `/benefits/definitions/{definitionId}/clone` endpoint
        allows your application to clone a specific Benefit Definition.
      operationId: benefitDefinition.clone
      parameters:
        - name: benefitdefinition
          in: path
          required: true
          description: The benefitdefinition ID
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CloneBenefitDefinition'
      responses:
        '200':
          description: '`App.Http.Resources.BenefitDefinition`'
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/App.Http.Resources.BenefitDefinition'
                required:
                  - data
        '401':
          $ref: '#/components/responses/AuthenticationException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '422':
          $ref: '#/components/responses/ValidationException'
components:
  schemas:
    CloneBenefitDefinition:
      type: object
      properties:
        name:
          type: string
        handle:
          type: string
      required:
        - handle
      title: CloneBenefitDefinition
    App.Http.Resources.BenefitDefinition:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        handle:
          type: string
        region_id:
          type:
            - integer
            - 'null'
        region:
          type:
            - object
            - 'null'
          properties:
            id:
              type: integer
            name:
              type: string
            handle:
              type: string
          required:
            - id
            - name
            - handle
        currency:
          type:
            - string
            - 'null'
        period:
          type:
            - integer
            - 'null'
        period_type:
          type:
            - string
            - 'null'
        absolute_expiry:
          type:
            - string
            - 'null'
        description:
          type:
            - string
            - 'null'
        internal_notes:
          type:
            - string
            - 'null'
        meta:
          type:
            - array
            - 'null'
          items: {}
        short_description:
          type:
            - string
            - 'null'
        long_description:
          type:
            - string
            - 'null'
        terms_conditions:
          type:
            - string
            - 'null'
        earn_instructions:
          type:
            - string
            - 'null'
        redeem_instructions_store:
          type:
            - string
            - 'null'
        redeem_instructions_online:
          type:
            - string
            - 'null'
        redeem_code_pos:
          type:
            - string
            - 'null'
        redeem_code_online:
          type:
            - string
            - 'null'
        icon:
          type:
            - string
            - 'null'
        image_url:
          type:
            - string
            - 'null'
        max_redemptions:
          type:
            - integer
            - 'null'
        is_extendable:
          type: boolean
        is_assignable:
          type: boolean
        is_reassignable:
          type: boolean
        is_published:
          type: boolean
        is_archived:
          type: boolean
        tags:
          type: array
          items:
            $ref: '#/components/schemas/Tag'
        is_claimable:
          type: boolean
        max_global_redemptions:
          type:
            - integer
            - 'null'
        total_global_redemptions_remaining:
          type:
            - integer
            - 'null'
        total_global_redemptions:
          type: integer
        total_global_created:
          type: integer
        claim_period_start_at:
          type: string
        claim_period_end_at:
          type: string
        claim_condition:
          type:
            - array
            - 'null'
          items: {}
        is_reclaimable:
          type:
            - boolean
            - 'null'
        notify_schedule_offset:
          type:
            - integer
            - 'null'
        notify_issue_offset_days:
          type:
            - integer
            - 'null'
        notify_issue_offset_hour:
          type:
            - integer
            - 'null'
        notify_remind_offset_days:
          type:
            - integer
            - 'null'
        notify_remind_offset_hour:
          type:
            - integer
            - 'null'
        notify_extend_offset_days:
          type:
            - integer
            - 'null'
        notify_extend_offset_hour:
          type:
            - integer
            - 'null'
        remind_target_id:
          type:
            - integer
            - 'null'
        extend_target_id:
          type:
            - integer
            - 'null'
        issue_target_id:
          type:
            - integer
            - 'null'
        end_at:
          type: string
        total_allocations:
          type: 'null'
        total_allocations_remaining:
          type: 'null'
        force_allocation:
          type:
            - boolean
            - 'null'
        created_at:
          type: string
        updated_at:
          type: string
        claim_timeframe:
          type:
            - array
            - 'null'
          items: {}
        view_condition:
          type:
            - array
            - 'null'
          items: {}
        visibility_condition:
          type:
            - array
            - 'null'
          items: {}
        allow_user_redeem:
          type:
            - boolean
            - 'null'
        value:
          type:
            - string
            - 'null'
        type:
          type:
            - string
            - 'null'
        campaign:
          type:
            - string
            - 'null'
        external_id:
          type:
            - string
            - 'null'
        same_campaign_count:
          type: integer
      required:
        - id
        - name
        - handle
        - region_id
        - region
        - currency
        - period
        - period_type
        - absolute_expiry
        - description
        - internal_notes
        - meta
        - short_description
        - long_description
        - terms_conditions
        - earn_instructions
        - redeem_instructions_store
        - redeem_instructions_online
        - redeem_code_pos
        - redeem_code_online
        - icon
        - image_url
        - max_redemptions
        - is_extendable
        - is_assignable
        - is_reassignable
        - is_published
        - is_archived
        - tags
        - is_claimable
        - max_global_redemptions
        - total_global_redemptions_remaining
        - total_global_redemptions
        - total_global_created
        - claim_period_start_at
        - claim_period_end_at
        - claim_condition
        - is_reclaimable
        - notify_schedule_offset
        - notify_issue_offset_days
        - notify_issue_offset_hour
        - notify_remind_offset_days
        - notify_remind_offset_hour
        - notify_extend_offset_days
        - notify_extend_offset_hour
        - remind_target_id
        - extend_target_id
        - issue_target_id
        - end_at
        - total_allocations
        - total_allocations_remaining
        - force_allocation
        - created_at
        - updated_at
        - claim_timeframe
        - view_condition
        - visibility_condition
        - allow_user_redeem
        - value
        - type
        - campaign
        - external_id
        - same_campaign_count
      title: App.Http.Resources.BenefitDefinition
    Tag:
      type: string
      title: Tag
  responses:
    AuthenticationException:
      description: Unauthenticated
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Error overview.
            required:
              - message
    AuthorizationException:
      description: Authorization error
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Error overview.
            required:
              - message
    ModelNotFoundException:
      description: Not found
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Error overview.
            required:
              - message
    ValidationException:
      description: Validation error
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Errors overview.
              errors:
                type: object
                description: A detailed description of each field that failed validation.
                additionalProperties:
                  type: array
                  items:
                    type: string
            required:
              - message
              - errors

````