# Get commissions summary

## OpenAPI Specification

```yaml
openapi: 3.0.1
info:
  title: ''
  description: ''
  version: 1.0.0
paths:
  /api/rest/commissions/shop/{shopId}:
    get:
      summary: Get commissions summary
      deprecated: false
      description: >-
        Retrieve commissions summary with sales metrics and labour hours for
        staff members
      operationId: getCommissionsSummary
      tags:
        - Commissions
        - commissions-api
      parameters:
        - name: shopId
          in: path
          description: Shop ID (internal ID or Shopify shop name)
          required: true
          example: ''
          schema:
            type: string
        - name: from
          in: query
          description: Start date (UTC ISO format)
          required: true
          schema:
            type: string
            format: date-time
        - name: to
          in: query
          description: End date (UTC ISO format)
          required: true
          schema:
            type: string
            format: date-time
        - name: personnelIds
          in: query
          description: Filter by personnel IDs (comma-separated)
          required: false
          schema:
            type: string
        - name: locationIds
          in: query
          description: Filter by Shopify location IDs (comma-separated)
          required: false
          schema:
            type: string
        - name: limit
          in: query
          description: Max number of items to return (default 10 when pagination used)
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 100
        - name: offset
          in: query
          description: Number of items to skip (default 0)
          required: false
          schema:
            type: integer
            minimum: 0
      responses:
        '200':
          description: Successfully retrieved commissions summary
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    examples:
                      - true
                  data:
                    type: object
                    description: >-
                      When paginated: results, count, limit, offset, previous,
                      next, total. When not: staffs, total.
                    properties:
                      results:
                        type: array
                        description: Staff commission data (when paginated)
                        items:
                          type: object
                          properties:
                            id:
                              type: number
                              description: Staff ID (Personnel ID)
                            name:
                              type: string
                            salesCount:
                              type: number
                              description: Total number of sales
                            grossSales:
                              type: number
                              description: Total gross sales amount
                            averageAmountPerSale:
                              type: number
                              description: Average sale amount
                            salesAmountPerLabourHour:
                              type: number
                              description: Sales per hour worked
                            commission:
                              type: number
                              description: Total commission earned
                          x-apidog-orders:
                            - id
                            - name
                            - salesCount
                            - grossSales
                            - averageAmountPerSale
                            - salesAmountPerLabourHour
                            - commission
                      staffs:
                        type: array
                        description: Staff commission data (when not paginated)
                        items:
                          type: object
                          properties:
                            id:
                              type: number
                            name:
                              type: string
                            salesCount:
                              type: number
                            grossSales:
                              type: number
                            averageAmountPerSale:
                              type: number
                            salesAmountPerLabourHour:
                              type: number
                            commission:
                              type: number
                          x-apidog-orders:
                            - id
                            - name
                            - salesCount
                            - grossSales
                            - averageAmountPerSale
                            - salesAmountPerLabourHour
                            - commission
                      count:
                        type: number
                        description: Total count (paginated)
                      limit:
                        type: number
                        description: Page size (paginated)
                      offset:
                        type: number
                        description: Items skipped (paginated)
                      previous:
                        type: object
                        description: Previous cursor (paginated)
                        x-apidog-orders: []
                        nullable: true
                      next:
                        type: object
                        description: Next cursor (paginated)
                        x-apidog-orders: []
                        nullable: true
                      total:
                        type: object
                        properties:
                          totalSalesCount:
                            type: number
                          totalGrossSales:
                            type: number
                          totalAvgAmountPerSale:
                            type: number
                          totalSalesAmountPerLabourHour:
                            type: number
                          totalCommission:
                            type: number
                        x-apidog-orders:
                          - totalSalesCount
                          - totalGrossSales
                          - totalAvgAmountPerSale
                          - totalSalesAmountPerLabourHour
                          - totalCommission
                    x-apidog-orders:
                      - results
                      - staffs
                      - count
                      - limit
                      - offset
                      - previous
                      - next
                      - total
                x-apidog-orders:
                  - success
                  - data
          headers: {}
          x-apidog-name: ''
        '400':
          description: Bad Request
          headers: {}
          x-apidog-name: ''
        '401':
          description: Unauthorized
          headers: {}
          x-apidog-name: ''
        '403':
          description: Forbidden
          headers: {}
          x-apidog-name: ''
        '404':
          description: Not Found
          headers: {}
          x-apidog-name: ''
        '429':
          description: Rate Limit Exceeded
          headers: {}
          x-apidog-name: ''
      security: []
      x-apidog-folder: Commissions
      x-apidog-status: released
      x-run-in-apidog: https://app.apidog.com/web/project/763618/apis/api-33094547-run
components:
  schemas: {}
  securitySchemes: {}
servers: []
security: []

```
