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

# Create a new voucher

> Use this call to create a new voucher



## OpenAPI

````yaml /openapi/voucher.json post /vouchers
openapi: 3.0.0
info:
  version: '1.8'
  title: JTL-Voucher Cloud API
  description: >-
    # Introduction

    Welcome to the JTL Voucher Cloud API documentation.

    Here you will find all information to get started using our API in your
    projects.
  contact:
    name: JTL-Software-GmbH
    url: https://www.jtl-software.com
    email: info@jtl-software.de
servers:
  - url: https://vouchers.api.jtl-software.com/v1
    description: JTL-Voucher Cloud API (Production)
  - url: https://vouchers-sbx.api.jtl-software.com/v1
    description: JTL-Voucher Cloud API (Sandbox)
security:
  - BearerAuth:
      - read
      - read-lists
      - read-secrets
      - use
      - manage
      - update
      - recharge
tags:
  - name: Vouchers
  - name: Reservations
  - name: Charges
  - name: Clients
paths:
  /vouchers:
    post:
      tags:
        - Vouchers
      summary: Create a new voucher
      description: Use this call to create a new voucher
      operationId: create
      requestBody:
        description: Voucher create request body
        required: true
        content:
          application/json:
            schema:
              allOf:
                - allOf:
                    - type: object
                      properties:
                        id:
                          type: string
                          description: >-
                            A unique custom identifier for this voucher (e.g. a
                            sku). Also used for activation of this voucher.
                            (optional, if not set for this voucher it will be
                            auto generated based on the UI regex settings)
                          maxLength: 255
                          example: 4ZH83T0ACUUC14CW
                        client_id:
                          type: string
                          description: id of the client that created this voucher
                          readOnly: true
                          example: da39a3ee5eb28b7392ef5
                        sku:
                          type: string
                          maxLength: 255
                          description: Optional SKU
                          example: AJHS8675FG
                        batch:
                          type: string
                          maxLength: 30
                          description: Optional campaign or grouping identifier
                          example: Winter Campaign
                        amount:
                          type: string
                          minLength: 4
                          maxLength: 9
                          pattern: ^\d+\.\d{2}$
                          description: >
                            Amount in the currency of this voucher. Must be send
                            as string in the following pattern:

                            * Up to five digits before the decimal point

                            * The decimal point (.)

                            * Exactly two digits after the decimal point
                          example: '10.53'
                        currency:
                          type: string
                          description: >-
                            The three-character ISO-4217 currency code -
                            https://en.wikipedia.org/wiki/ISO_4217#Active_codes
                          minLength: 3
                          maxLength: 3
                          example: EUR
                        valid_until:
                          type: string
                          format: RFC3339
                          readOnly: true
                          description: >-
                            Date until which this voucher is valid and can be
                            redeemed. Calculated based on validity_value and
                            validity_interval on activation. This property will
                            be null if the voucher is inactive.
                          example: '2025-07-21T17:32:28+00:00'
                        validity_value:
                          type: integer
                          description: >-
                            Calculates together with validity_interval the date
                            until which this voucher is valid after activation
                            (if not set this property will be defined by the
                            settings in the UI)
                          example: 24
                        validity_interval:
                          type: string
                          enum:
                            - days
                            - weeks
                            - months
                            - years
                          description: >-
                            Calculates together with validity_value the date
                            until which this voucher is valid after activation
                            (if not set this property will be defined by the
                            settings in the UI)
                          example: months
                        status:
                          type: string
                          enum:
                            - active
                            - inactive
                          description: >-
                            The status of this voucher. In general vouchers are
                            inactive when created, and gets activated when
                            payed. Only activated vouchers can be charged.
                          example: active
                        type:
                          type: string
                          enum:
                            - print
                            - digital
                          description: >-
                            Defines if this voucher is printed or digital.
                            Printed vouchers will have the status inactive by
                            default.
                          example: digital
                        taxable:
                          type: boolean
                          description: >-
                            Defines if this voucher is a taxable multi purpose
                            voucher
                          example: true
                          default: false
                        tax_rate:
                          type: string
                          description: >-
                            The tax rate for this voucher (only required when
                            taxable is true)
                          example: '19'
                        order_number:
                          type: string
                          description: An optional order number for this voucher
                          example: Order 66
                        data:
                          type: string
                          description: >-
                            Any additional custom data for this voucher as a
                            JSON string
                          example: '{"foo": "bar"}'
                        created_at:
                          type: string
                          format: RFC3339
                          readOnly: true
                          description: >-
                            created_at - datetime in RFC3339 format, see
                            https://tools.ietf.org/html/rfc3339
                          example: '2017-07-21T17:32:28+00:00'
                        updated_at:
                          type: string
                          format: RFC3339
                          readOnly: true
                          description: >-
                            updated_at - datetime in RFC3339 format, see
                            https://tools.ietf.org/html/rfc3339
                          example: '2017-07-21T17:32:28+00:00'
                    - properties:
                        code:
                          type: string
                          maxLength: 255
                          description: >-
                            A code that must be entered during the ordering
                            process to receive the savings indidcated on the
                            assiciated voucher. (optional, if not set a code for
                            this voucher will be auto generated based on the UI
                            regex settings)
                          example: test
                        pin:
                          type: string
                          maxLength: 255
                          description: >-
                            An additional security feature (covered) on printed
                            vouchers, due to the fact that the code itself must
                            be visible on the outside for activation of the
                            voucher.
                          example: test
              required:
                - amount
                - currency
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      id:
                        type: string
                        description: >-
                          A unique custom identifier for this voucher (e.g. a
                          sku). Also used for activation of this voucher.
                          (optional, if not set for this voucher it will be auto
                          generated based on the UI regex settings)
                        maxLength: 255
                        example: 4ZH83T0ACUUC14CW
                      client_id:
                        type: string
                        description: id of the client that created this voucher
                        readOnly: true
                        example: da39a3ee5eb28b7392ef5
                      sku:
                        type: string
                        maxLength: 255
                        description: Optional SKU
                        example: AJHS8675FG
                      batch:
                        type: string
                        maxLength: 30
                        description: Optional campaign or grouping identifier
                        example: Winter Campaign
                      amount:
                        type: string
                        minLength: 4
                        maxLength: 9
                        pattern: ^\d+\.\d{2}$
                        description: >
                          Amount in the currency of this voucher. Must be send
                          as string in the following pattern:

                          * Up to five digits before the decimal point

                          * The decimal point (.)

                          * Exactly two digits after the decimal point
                        example: '10.53'
                      currency:
                        type: string
                        description: >-
                          The three-character ISO-4217 currency code -
                          https://en.wikipedia.org/wiki/ISO_4217#Active_codes
                        minLength: 3
                        maxLength: 3
                        example: EUR
                      valid_until:
                        type: string
                        format: RFC3339
                        readOnly: true
                        description: >-
                          Date until which this voucher is valid and can be
                          redeemed. Calculated based on validity_value and
                          validity_interval on activation. This property will be
                          null if the voucher is inactive.
                        example: '2025-07-21T17:32:28+00:00'
                      validity_value:
                        type: integer
                        description: >-
                          Calculates together with validity_interval the date
                          until which this voucher is valid after activation (if
                          not set this property will be defined by the settings
                          in the UI)
                        example: 24
                      validity_interval:
                        type: string
                        enum:
                          - days
                          - weeks
                          - months
                          - years
                        description: >-
                          Calculates together with validity_value the date until
                          which this voucher is valid after activation (if not
                          set this property will be defined by the settings in
                          the UI)
                        example: months
                      status:
                        type: string
                        enum:
                          - active
                          - inactive
                        description: >-
                          The status of this voucher. In general vouchers are
                          inactive when created, and gets activated when payed.
                          Only activated vouchers can be charged.
                        example: active
                      type:
                        type: string
                        enum:
                          - print
                          - digital
                        description: >-
                          Defines if this voucher is printed or digital. Printed
                          vouchers will have the status inactive by default.
                        example: digital
                      taxable:
                        type: boolean
                        description: >-
                          Defines if this voucher is a taxable multi purpose
                          voucher
                        example: true
                        default: false
                      tax_rate:
                        type: string
                        description: >-
                          The tax rate for this voucher (only required when
                          taxable is true)
                        example: '19'
                      order_number:
                        type: string
                        description: An optional order number for this voucher
                        example: Order 66
                      data:
                        type: string
                        description: >-
                          Any additional custom data for this voucher as a JSON
                          string
                        example: '{"foo": "bar"}'
                      created_at:
                        type: string
                        format: RFC3339
                        readOnly: true
                        description: >-
                          created_at - datetime in RFC3339 format, see
                          https://tools.ietf.org/html/rfc3339
                        example: '2017-07-21T17:32:28+00:00'
                      updated_at:
                        type: string
                        format: RFC3339
                        readOnly: true
                        description: >-
                          updated_at - datetime in RFC3339 format, see
                          https://tools.ietf.org/html/rfc3339
                        example: '2017-07-21T17:32:28+00:00'
                  - properties:
                      code:
                        type: string
                        maxLength: 255
                        description: >-
                          A code that must be entered during the ordering
                          process to receive the savings indidcated on the
                          assiciated voucher. (optional, if not set a code for
                          this voucher will be auto generated based on the UI
                          regex settings)
                        example: test
                      pin:
                        type: string
                        maxLength: 255
                        description: >-
                          An additional security feature (covered) on printed
                          vouchers, due to the fact that the code itself must be
                          visible on the outside for activation of the voucher.
                        example: test
        '422':
          description: >-
            The request was well-formed but was unable to be followed due to
            semantic errors.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: number
                    description: The HTTP status code
                    default: 422
                  code:
                    type: string
                    description: A unique code for this error
                    example: VOUCHER.CREATE.UNPROCESSABLE_ENTITY
                  message:
                    type: string
                    description: The error message
                    default: The given data was invalid.
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          description: A unique code for this specific validation error
                          example: VOUCHER.CREATE.CURRENCY.VALID_CURRENCY
                        property:
                          type: string
                          description: The property where the validation fails
                          example: currency
                        rule:
                          type: string
                          description: The rule that caused the validation fail
                          example: valid_currency
                        message:
                          type: string
                          description: The validation rule error message
                          example: Currency must be a valid currency code
      security:
        - BearerAuth:
            - manage
components:
  securitySchemes:
    BearerAuth:
      type: oauth2
      description: >
        This API uses OAuth 2 with Client Credentials Flow (see:
        https://www.oauth.com/oauth2-servers/access-tokens/client-credentials).


        > You can request only a subset of specific scopes for your client,
        however the available scopes for each client are defined through the
        client groups in the UI.


        > Within your token request, you can also send the optional parameter
        *client_type* (string with a max length of 32 chars). This value is only
        used for internal statistics.
      flows:
        clientCredentials:
          tokenUrl: https://vouchers.api.jtl-software.com/oauth/token
          scopes:
            read: Read single vouchers
            read-lists: Read voucher lists
            read-secrets: Read secret voucher information like code and pin
            use: Use a voucher (activation, reservation, charge and cancel)
            manage: Create and delete vouchers
            update: Update vouchers
            recharge: Recharge a voucher

````