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

# Get list of credentials for offer

> Available only for offers with `credential_system_type_id = 3` (MULTIPLE / credential-mode).
     *
     * `credential_system_type_id` is the authoritative delivery-mode field. Values: 1 = No Credentials (manual delivery via chat),
     * 2 = Single (deprecated — coerced to MULTIPLE on write), 3 = Multiple.



## OpenAPI

````yaml /api-docs.json get /api/shop/marketplace/offers/{offerId}/credentials
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
paths:
  /api/shop/marketplace/offers/{offerId}/credentials:
    get:
      tags:
        - Offer Credentials
      summary: Get list of credentials for offer
      description: >-
        Available only for offers with `credential_system_type_id = 3` (MULTIPLE
        / credential-mode).
             *
             * `credential_system_type_id` is the authoritative delivery-mode field. Values: 1 = No Credentials (manual delivery via chat),
             * 2 = Single (deprecated — coerced to MULTIPLE on write), 3 = Multiple.
      operationId: 95103829519d7741423f2c5085891ff7
      parameters:
        - name: Accept
          in: header
          description: API response format
          required: true
          schema:
            type: string
            default: application/json
            enum:
              - application/json
        - name: offerId
          in: path
          required: true
          schema:
            type: integer
            example: 123
        - name: status
          in: query
          description: >-
            Filter by credential status. Omitted or `all` returns both active
            and sold credentials.
                 *
                 **Possible values:**
                 *
                 * - **active**: Credential is active and available for sale
                 * - **sold**: Credential was sold (stays available via the API after the sale)
                 * - **all** (default): No filtering
                 *
                 * Legacy numeric values are still accepted: `1` = `active`, `2` = `sold`.
          schema:
            type: string
            default: all
            enum:
              - all
              - active
              - sold
            example: sold
        - name: perPage
          in: query
          description: Page size, max 100. The legacy `per_page` alias is still accepted.
          schema:
            type: integer
            default: 20
            maximum: 100
            minimum: 1
            example: 20
        - name: page
          in: query
          schema:
            type: integer
            example: 1
        - name: search
          in: query
          schema:
            type: string
      responses:
        '200':
          description: Success. Returns paginated list of credentials.
          content:
            application/json:
              schema:
                properties:
                  current_page:
                    type: integer
                    example: 1
                  data:
                    type: array
                    items:
                      properties:
                        id:
                          type: integer
                          example: 1
                        login:
                          type: string
                          example: user@example.com
                        email:
                          type: string
                          example: user@example.com
                        is_2fa_active:
                          type: boolean
                          example: false
                        comment:
                          type: string
                          example: Some comment
                        status:
                          type: integer
                          example: 1
                        created_at:
                          type: string
                          format: date-time
                        updated_at:
                          type: string
                          format: date-time
                      type: object
                  last_page:
                    type: integer
                    example: 5
                  per_page:
                    type: integer
                    example: 20
                  total:
                    type: integer
                    example: 100
                type: object
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                type: object
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                properties:
                  message:
                    type: string
                    example: Forbidden.
                type: object
        '404':
          description: Offer not found
          content:
            application/json:
              schema: {}
              example:
                message: Not found
      security:
        - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````