> ## 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.

# Add Reward Definition

> A `POST` to the `/rewards/definitions` endpoint allows your application to create a Reward Definition.



## OpenAPI

````yaml post /v3/rewards/definitions
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/rewards/definitions:
    post:
      tags:
        - Reward Definition
      summary: Add Reward Definition
      description: >-
        A `POST` to the `/rewards/definitions` endpoint allows your application
        to create a Reward Definition.
      operationId: rewards.definitions.store
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StoreRewardDefinition'
      responses:
        '200':
          description: '`RewardDefinition`'
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/RewardDefinition'
                required:
                  - data
        '401':
          $ref: '#/components/responses/AuthenticationException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
        '422':
          $ref: '#/components/responses/ValidationException'
components:
  schemas:
    StoreRewardDefinition:
      type: object
      properties:
        name:
          type: string
        handle:
          type: string
        region_id:
          type:
            - integer
            - 'null'
        currency:
          type:
            - string
            - 'null'
          pattern: ^[A-Z]+$
        value:
          type: number
        max_value:
          type:
            - number
            - 'null'
        type:
          type: string
          enum:
            - activation
            - anniversary
            - birthday
            - bonus
            - campaign
            - customer-service
            - reactivation
            - spend
            - staff
            - system-adjustment
            - tier
            - achievement
            - status
            - points
            - referral
            - other
        period:
          type: integer
        period_type:
          type: string
          enum:
            - days
            - weeks
            - months
            - years
            - absolute_date
            - absolute_week
            - absolute_month
        absolute_expiry:
          type:
            - string
            - 'null'
        description:
          type:
            - string
            - 'null'
        short_description:
          type:
            - string
            - 'null'
        long_description:
          type:
            - string
            - 'null'
        terms_conditions:
          type:
            - string
            - 'null'
        earn_instructions:
          type:
            - string
            - 'null'
        icon:
          type:
            - string
            - 'null'
          format: uri
        image_url:
          type:
            - string
            - 'null'
          format: uri
        notify_issue_offset:
          type:
            - integer
            - 'null'
        notify_expiry_offset:
          type:
            - integer
            - 'null'
        issue_target_id:
          type:
            - integer
            - 'null'
        expiry_target_id:
          type:
            - integer
            - 'null'
        extend_target_id:
          type:
            - integer
            - 'null'
        internal_notes:
          type:
            - string
            - 'null'
        is_assignable:
          type:
            - boolean
            - 'null'
        is_published:
          type:
            - boolean
            - 'null'
        is_reassignable:
          type:
            - boolean
            - 'null'
        is_extendable:
          type:
            - boolean
            - 'null'
        extend_days:
          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'
        tags:
          type: array
          items:
            type: string
      required:
        - name
        - handle
        - value
        - type
        - period
      title: StoreRewardDefinition
    RewardDefinition:
      type: object
      properties:
        id:
          type: integer
        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'
        short_description:
          type:
            - string
            - 'null'
        long_description:
          type:
            - string
            - 'null'
        terms_conditions:
          type:
            - string
            - 'null'
        earn_instructions:
          type:
            - string
            - 'null'
        icon:
          type:
            - string
            - 'null'
        image_url:
          type:
            - string
            - 'null'
        issue_target_id:
          type:
            - integer
            - 'null'
        expiry_target_id:
          type:
            - integer
            - 'null'
        extend_target_id:
          type:
            - integer
            - 'null'
        notify_issue_offset:
          type:
            - integer
            - 'null'
        notify_expiry_offset:
          type:
            - integer
            - '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'
        internal_notes:
          type:
            - string
            - 'null'
        type:
          type:
            - string
            - 'null'
        value:
          type: number
        max_value:
          type:
            - number
            - 'null'
        is_extendable:
          type: boolean
        is_assignable:
          type: boolean
        is_reassignable:
          type: boolean
        is_published:
          type: boolean
        extend_days:
          type:
            - integer
            - 'null'
        tags:
          type: array
          items:
            $ref: '#/components/schemas/Tag'
        created_at:
          type: string
        updated_at:
          type: string
      required:
        - id
        - name
        - handle
        - region_id
        - region
        - currency
        - period
        - period_type
        - absolute_expiry
        - description
        - short_description
        - long_description
        - terms_conditions
        - earn_instructions
        - icon
        - image_url
        - issue_target_id
        - expiry_target_id
        - extend_target_id
        - notify_issue_offset
        - notify_expiry_offset
        - 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
        - internal_notes
        - type
        - value
        - max_value
        - is_extendable
        - is_assignable
        - is_reassignable
        - is_published
        - extend_days
        - tags
        - created_at
        - updated_at
      title: RewardDefinition
    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
    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

````