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

# 列出产品

> 列出当前组织中已发布、草稿或已归档的产品。

请使用属于目标组织的 API 密钥进行认证。

`GET /v1/products` 仍作为已弃用别名提供相同的查询和响应契约。新集成应使用
`GET /v1/product`。


## OpenAPI

````yaml api-reference/openapi.json GET /v1/product
openapi: 3.0.3
info:
  description: >-
    Stable, organization-scoped read API for merchant backends. Generated from
    the Merchant API implementation.
  title: Anyway Merchant API
  contact: {}
  version: '1.0'
  x-source: anyway-backend-go
servers:
  - url: https://merchant-api-prod.anyway.sh
security: []
paths:
  /v1/product:
    get:
      tags:
        - products
      summary: List products
      description: >-
        Product list shared with Webapp. Returns all statuses by default; use
        status to filter.
      parameters:
        - description: Page number
          name: page
          in: query
          schema:
            type: integer
            default: 1
        - description: Page size
          name: size
          in: query
          schema:
            type: integer
            default: 10
        - description: Search by name
          name: search
          in: query
          schema:
            type: string
        - description: Filter by status
          name: status
          in: query
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/response.ApiResponse-product_PaginatedProductResponse
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/response.ApiResponse-any'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/response.ApiResponse-any'
      security:
        - APIKeyAuth: []
components:
  schemas:
    response.ApiResponse-product_PaginatedProductResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/product.PaginatedProductResponse'
        error:
          $ref: '#/components/schemas/response.ErrorDetail'
        message:
          type: string
        success:
          type: boolean
    response.ApiResponse-any:
      type: object
      properties:
        data: {}
        error:
          $ref: '#/components/schemas/response.ErrorDetail'
        message:
          type: string
        success:
          type: boolean
    product.PaginatedProductResponse:
      type: object
      properties:
        current:
          description: 'Deprecated: use page.'
          type: integer
          deprecated: true
        page:
          type: integer
        pages:
          type: integer
        records:
          type: array
          items:
            $ref: '#/components/schemas/product.ProductResponse'
        size:
          type: integer
        total:
          type: integer
    response.ErrorDetail:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
    product.ProductResponse:
      type: object
      properties:
        createdAt:
          type: string
        description:
          type: string
        id:
          description: 'Deprecated: use productId.'
          type: string
          deprecated: true
        name:
          type: string
        orgId:
          type: string
        paymentLinks:
          type: array
          items:
            $ref: '#/components/schemas/product.PaymentLinkResponse'
        productId:
          type: string
        status:
          type: string
        updatedAt:
          type: string
    product.PaymentLinkResponse:
      type: object
      properties:
        amount:
          type: number
          nullable: true
        createdAt:
          type: string
        currency:
          type: string
        flexibleAmount:
          type: boolean
        isActive:
          type: boolean
        name:
          type: string
        paymentLinkUrl:
          type: string
        pricingId:
          type: string
        pricingType:
          type: string
        provider:
          type: string
  securitySchemes:
    APIKeyAuth:
      description: 'Merchant API key (format: ak_BASE64)'
      type: apiKey
      name: X-API-Key
      in: header

````