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

# Set or remove discounts on multiple offers

> Bulk version of the discount endpoint. Eligible offers are processed asynchronously via queue — status `applied` means the job was dispatched, not that the discount is already written to DB.
     *
     * `discount_percent = 0` removes both pending and applied (seller_lk) discounts for the given offer.



## OpenAPI

````yaml /api-docs.json put /api/shop/marketplace/offers/discount/bulk
openapi: 3.0.0
info:
  title: Currency Marketplace API
  description: API documentation for Currency Marketplace
  version: 1.0.0
servers:
  - url: https://skycoach.gg/
    description: API Server
security: []
tags:
  - name: Currency Marketplace
    description: Currency Marketplace
  - name: Offers
    description: Offers
  - name: Offer Credentials
    description: Offer Credentials
  - name: Offer Discount
    description: Offer Discount
paths:
  /api/shop/marketplace/offers/discount/bulk:
    put:
      tags:
        - Offer Discount
      summary: Set or remove discounts on multiple offers
      description: >-
        Bulk version of the discount endpoint. Eligible offers are processed
        asynchronously via queue — status `applied` means the job was
        dispatched, not that the discount is already written to DB.
             *
             * `discount_percent = 0` removes both pending and applied (seller_lk) discounts for the given offer.
      operationId: e16715441246a03032d733477d1cb3ce
      parameters:
        - name: Accept
          in: header
          description: API response format
          required: true
          schema:
            type: string
            default: application/json
            enum:
              - application/json
      requestBody:
        required: true
        content:
          application/json:
            schema:
              required:
                - offers
              properties:
                offers:
                  type: array
                  items:
                    required:
                      - id
                      - discount_percent
                    properties:
                      id:
                        type: integer
                        example: 123
                      discount_percent:
                        description: Discount percentage. 0 = remove discount.
                        type: integer
                        maximum: 40
                        minimum: 0
                        example: 20
                    type: object
                  maxItems: 100
                  minItems: 1
              type: object
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                properties:
                  results:
                    type: array
                    items:
                      properties:
                        id:
                          type: integer
                          example: 123
                        status:
                          description: >-
                            applied = discount queued for immediate application;
                            pending = waiting for 14-day eligibility; removed =
                            discount removed
                          type: string
                          enum:
                            - applied
                            - pending
                            - removed
                          example: pending
                        eligible_at:
                          description: Present only when status = pending
                          type: string
                          format: date-time
                          example: '2026-08-04T00:00:00+00:00'
                          nullable: true
                      type: object
                  errors:
                    type: array
                    items:
                      properties:
                        id:
                          type: integer
                          example: 999
                        reason:
                          type: string
                          example: Offer not found
                      type: object
                type: object
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                type: object
        '422':
          description: Validation error
          content:
            application/json:
              schema:
                properties:
                  message:
                    type: string
                    example: The offers field is required.
                type: object
      security:
        - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.