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

# List payment links with context-aware access control

> List payment links with context-aware access control



## OpenAPI

````yaml /api-reference/openapi.json get /api/v1/payment-links
openapi: 3.1.0
info:
  title: Quidkey API
  version: 1.0.0
  description: API documentation for Quidkey Core Services
servers:
  - url: https://core.quidkey.com
    description: Production
security: []
paths:
  /api/v1/payment-links:
    get:
      tags:
        - Payment Links
      summary: List payment links with context-aware access control
      description: List payment links with context-aware access control
      parameters:
        - name: page
          in: query
          required: false
          schema:
            minimum: 1
            default: 1
            description: Page number (1-based)
            examples:
              - 1
              - 2
              - 3
            type: integer
          description: Page number (1-based)
        - name: limit
          in: query
          required: false
          schema:
            minimum: 1
            maximum: 100
            default: 25
            description: Number of items per page (max 100)
            examples:
              - 10
              - 25
              - 50
            type: integer
          description: Number of items per page (max 100)
        - name: sort
          in: query
          required: false
          schema:
            description: Sort field and direction (e.g., "created_at:desc", "amount:asc")
            examples:
              - created_at:desc
              - amount:asc
              - updated_at:desc
            type: string
          description: Sort field and direction (e.g., "created_at:desc", "amount:asc")
        - name: status
          in: query
          required: false
          schema:
            enum:
              - active
              - used
              - expired
              - cancelled
            description: Payment link status
            type: string
          description: Payment link status
        - name: merchant_id
          in: query
          required: false
          schema:
            format: uuid
            description: Filter by merchant ID (admin/partner only)
            type: string
          description: Filter by merchant ID (admin/partner only)
        - name: search
          in: query
          required: false
          schema:
            description: Search by payment reference or order ID
            type: string
          description: Search by payment reference or order ID
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/paymentLink_ListResponse'
              example:
                success: true
                pagination:
                  total: 150
                  page: 1
                  limit: 25
                  totalPages: 6
                  hasNextPage: true
                  hasPreviousPage: false
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/shared_Error401'
              example:
                success: false
                error:
                  message: Invalid input provided
      security:
        - bearerAuth: []
components:
  schemas:
    paymentLink_ListResponse:
      title: Payment Link List Response
      description: Paginated response with metadata
      additionalProperties: false
      type: object
      required:
        - success
        - data
        - pagination
      properties:
        success:
          description: Indicates if the request was successful
          examples:
            - true
          type: boolean
        data:
          type: array
          items:
            type: object
            required:
              - id
              - merchant
              - amount
              - currency
              - payment_reference
              - order_id
              - status
              - link_type
              - views_count
              - first_viewed_at
              - expires_at
              - created_at
              - transaction_id
            properties:
              id:
                format: uuid
                type: string
              merchant:
                type: object
                required:
                  - id
                  - brand_name
                properties:
                  id:
                    format: uuid
                    type: string
                  brand_name:
                    type: string
              amount:
                description: Amount in decimal format (e.g. "10.00")
                type: string
              currency:
                description: Currency code (ISO 4217)
                type: string
              payment_reference:
                type: string
              order_id:
                anyOf:
                  - type: string
                  - type: 'null'
              status:
                enum:
                  - active
                  - used
                  - expired
                  - cancelled
                description: Payment link status
                type: string
              link_type:
                enum:
                  - single_use
                  - reusable
                type: string
              views_count:
                type: integer
              first_viewed_at:
                anyOf:
                  - format: date-time
                    type: string
                  - type: 'null'
              expires_at:
                format: date-time
                type: string
              created_at:
                format: date-time
                type: string
              transaction_id:
                anyOf:
                  - format: uuid
                    type: string
                  - type: 'null'
        pagination:
          title: Pagination Metadata
          description: Metadata for paginated responses
          additionalProperties: false
          type: object
          required:
            - total
            - page
            - limit
            - totalPages
            - hasNextPage
            - hasPreviousPage
          properties:
            total:
              description: Total number of items
              examples:
                - 150
              type: integer
            page:
              description: Current page number
              examples:
                - 1
              type: integer
            limit:
              description: Number of items per page
              examples:
                - 25
              type: integer
            totalPages:
              description: Total number of pages
              examples:
                - 6
              type: integer
            hasNextPage:
              description: Whether there is a next page
              examples:
                - true
              type: boolean
            hasPreviousPage:
              description: Whether there is a previous page
              examples:
                - false
              type: boolean
    shared_Error401:
      title: Unauthorized Error
      description: 401 Unauthorized Error Response
      type: object
      required:
        - success
        - error
      properties:
        success:
          description: Always false for error responses
          examples:
            - false
          const: false
          type: boolean
        error:
          type: object
          required:
            - code
            - message
          properties:
            code:
              allOf:
                - description: Error code for the specific error type
                  examples:
                    - INVALID_INPUT
                  type: string
                - const: UNAUTHORIZED
                  type: string
            message:
              description: Human-readable error message
              examples:
                - Invalid input provided
              type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````