Square Labor API

The Labor API from Square — 11 operation(s) for labor.

Documentation

📖
Documentation
https://developer.squareup.com/docs/payments-overview
📖
APIReference
https://developer.squareup.com/reference/square/payments-api
📖
Documentation
https://developer.squareup.com/docs/orders-api/what-it-does
📖
APIReference
https://developer.squareup.com/reference/square/orders-api
📖
Documentation
https://developer.squareup.com/docs/catalog-api/what-it-does
📖
APIReference
https://developer.squareup.com/reference/square/catalog-api
📖
Documentation
https://developer.squareup.com/docs/inventory-api/what-it-does
📖
APIReference
https://developer.squareup.com/reference/square/inventory-api
📖
Documentation
https://developer.squareup.com/docs/customers
📖
APIReference
https://developer.squareup.com/reference/square/customers-api
📖
Documentation
https://developer.squareup.com/docs/locations-api
📖
APIReference
https://developer.squareup.com/reference/square/locations-api
📖
Documentation
https://developer.squareup.com/docs/team/overview
📖
APIReference
https://developer.squareup.com/reference/square/team-api
📖
Documentation
https://developer.squareup.com/docs/labor-api/what-it-does
📖
APIReference
https://developer.squareup.com/reference/square/labor-api
📖
Documentation
https://developer.squareup.com/docs/bookings-api/what-it-is
📖
APIReference
https://developer.squareup.com/reference/square/bookings-api
📖
Documentation
https://developer.squareup.com/docs/loyalty-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/loyalty-api
📖
Documentation
https://developer.squareup.com/docs/gift-cards/using-gift-cards-api
📖
APIReference
https://developer.squareup.com/reference/square/gift-cards-api
📖
Documentation
https://developer.squareup.com/docs/invoices-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/invoices-api
📖
Documentation
https://developer.squareup.com/docs/subscriptions-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/subscriptions-api
📖
Documentation
https://developer.squareup.com/docs/checkout-api
📖
APIReference
https://developer.squareup.com/reference/square/checkout-api
📖
Documentation
https://developer.squareup.com/docs/terminal-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/terminal-api
📖
Documentation
https://developer.squareup.com/docs/payments-refunds
📖
APIReference
https://developer.squareup.com/reference/square/refunds-api
📖
Documentation
https://developer.squareup.com/docs/disputes-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/disputes-api
📖
Documentation
https://developer.squareup.com/docs/merchants-api
📖
APIReference
https://developer.squareup.com/reference/square/merchants-api
📖
Documentation
https://developer.squareup.com/docs/cards-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/cards-api
📖
Documentation
https://developer.squareup.com/docs/vendors-api/manage-vendors-in-apps
📖
APIReference
https://developer.squareup.com/reference/square/vendors-api
📖
Documentation
https://developer.squareup.com/docs/cashdrawershift-api/reporting
📖
APIReference
https://developer.squareup.com/reference/square/cash-drawers-api
📖
Documentation
https://developer.squareup.com/docs/bank-accounts-api
📖
APIReference
https://developer.squareup.com/reference/square/bank-accounts-api
📖
Documentation
https://developer.squareup.com/docs/payouts-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/payouts-api
📖
Documentation
https://developer.squareup.com/docs/web-payments/apple-pay
📖
APIReference
https://developer.squareup.com/reference/square/apple-pay-api
📖
Documentation
https://developer.squareup.com/docs/sites-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/sites-api
📖
Documentation
https://developer.squareup.com/docs/snippets-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/snippets-api
📖
Documentation
https://developer.squareup.com/docs/oauth-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/oauth-api
📖
Documentation
https://developer.squareup.com/docs/webhooks/overview
📖
APIReference
https://developer.squareup.com/reference/square/webhook-subscriptions-api
📖
Documentation
https://developer.squareup.com/docs/events-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/events-api
📖
Documentation
https://developer.squareup.com/docs/devices-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/devices-api
📖
Documentation
https://developer.squareup.com/docs/customer-groups-api/what-it-does
📖
APIReference
https://developer.squareup.com/reference/square/customer-groups-api
📖
Documentation
https://developer.squareup.com/docs/customer-segments-api/what-it-does
📖
APIReference
https://developer.squareup.com/reference/square/customer-segments-api
📖
Documentation
https://developer.squareup.com/docs/gift-cards/using-gift-card-activities-api
📖
APIReference
https://developer.squareup.com/reference/square/gift-card-activities-api
📖
Documentation
https://developer.squareup.com/docs/customer-custom-attributes-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/customer-custom-attributes-api

Specifications

Other Resources

OpenAPI Specification

square-labor-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: '2.0'
  title: Square ApplePay Labor API
  description: 'Supercharge Square for sellers of every size. Our entire connected commerce platform  from elegant hardware to a rich suite of Square APIs  is yours to build with. Whether youre developing an app or composing a bespoke solution, this is the place to make it happen. '
  termsOfService: https://connect.squareup.com/tos
  contact:
    name: Square Developer Platform
    email: developers@squareup.com
    url: https://squareup.com/developers
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  externalDocs:
    description: 'Read the official documentation here:'
    url: https://docs.connect.squareup.com/
  x-server-configuration:
    default-environment: production
    default-server: default
    environments:
    - name: production
      servers:
      - name: default
        url: https://connect.squareup.com
    - name: sandbox
      servers:
      - name: default
        url: https://connect.squareupsandbox.com
    - name: custom
      servers:
      - name: default
        url: '{custom_url}'
    parameters:
    - name: custom_url
      description: Sets the base URL requests are made to. Defaults to `https://connect.squareup.com`
      type: string
      example: https://connect.squareup.com
  x-square-generic-error-codes:
  - ACCESS_TOKEN_EXPIRED
  - ACCESS_TOKEN_REVOKED
  - API_VERSION_INCOMPATIBLE
  - APPLICATION_DISABLED
  - ARRAY_EMPTY
  - ARRAY_LENGTH_TOO_LONG
  - ARRAY_LENGTH_TOO_SHORT
  - BAD_CERTIFICATE
  - BAD_GATEWAY
  - BAD_REQUEST
  - CONFLICT
  - CONFLICTING_PARAMETERS
  - CURRENCY_MISMATCH
  - EXPECTED_ARRAY
  - EXPECTED_BASE64_ENCODED_BYTE_ARRAY
  - EXPECTED_BOOLEAN
  - EXPECTED_FLOAT
  - EXPECTED_INTEGER
  - EXPECTED_JSON_BODY
  - EXPECTED_MAP
  - EXPECTED_OBJECT
  - EXPECTED_STRING
  - FORBIDDEN
  - GATEWAY_TIMEOUT
  - GONE
  - IDEMPOTENCY_KEY_REUSED
  - INCORRECT_TYPE
  - INSUFFICIENT_SCOPES
  - INTERNAL_SERVER_ERROR
  - INVALID_ARRAY_VALUE
  - INVALID_CONTENT_TYPE
  - INVALID_CURSOR
  - INVALID_ENUM_VALUE
  - INVALID_FORM_VALUE
  - INVALID_SORT_ORDER
  - INVALID_SQUARE_VERSION_FORMAT
  - INVALID_TIME
  - INVALID_TIME_RANGE
  - INVALID_VALUE
  - LOCATION_MISMATCH
  - MAP_KEY_LENGTH_TOO_LONG
  - MAP_KEY_LENGTH_TOO_SHORT
  - MERCHANT_SUBSCRIPTION_NOT_FOUND
  - METHOD_NOT_ALLOWED
  - MISSING_REQUIRED_PARAMETER
  - NOT_ACCEPTABLE
  - NOT_FOUND
  - NOT_IMPLEMENTED
  - NO_FIELDS_SET
  - RATE_LIMITED
  - REQUEST_ENTITY_TOO_LARGE
  - REQUEST_TIMEOUT
  - SANDBOX_NOT_SUPPORTED
  - SERVICE_UNAVAILABLE
  - TOO_MANY_MAP_ENTRIES
  - UNAUTHORIZED
  - UNEXPECTED_VALUE
  - UNKNOWN_BODY_PARAMETER
  - UNKNOWN_QUERY_PARAMETER
  - UNPROCESSABLE_ENTITY
  - UNSUPPORTED_MEDIA_TYPE
  - V1_ACCESS_TOKEN
  - V1_APPLICATION
  - VALUE_EMPTY
  - VALUE_REGEX_MISMATCH
  - VALUE_TOO_HIGH
  - VALUE_TOO_LONG
  - VALUE_TOO_LOW
  - VALUE_TOO_SHORT
servers:
- url: https://connect.squareup.com
  variables: {}
tags:
- name: Labor
paths:
  /v2/labor/break-types:
    get:
      tags:
      - Labor
      summary: Square List Break Types
      operationId: ListBreakTypes
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: Returns a paginated list of `BreakType` instances for a business.
      x-release-status: PUBLIC
      security:
      - oauth2:
        - TIMECARDS_SETTINGS_READ
      parameters:
      - name: location_id
        description: 'Filter the returned `BreakType` results to only those that are associated with the

          specified location.'
        schema:
          type: string
        in: query
        required: false
      - name: limit
        description: 'The maximum number of `BreakType` results to return per page. The number can range between 1

          and 200. The default is 200.'
        schema:
          type: integer
        in: query
        required: false
      - name: cursor
        description: A pointer to the next page of `BreakType` results to fetch.
        schema:
          type: string
        in: query
        required: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListBreakTypesResponse'
    post:
      tags:
      - Labor
      summary: Square Create Break Type
      operationId: CreateBreakType
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: 'Creates a new `BreakType`.


        A `BreakType` is a template for creating `Break` objects.

        You must provide the following values in your request to this

        endpoint:


        - `location_id`

        - `break_name`

        - `expected_duration`

        - `is_paid`


        You can only have three `BreakType` instances per location. If you attempt to add a fourth

        `BreakType` for a location, an `INVALID_REQUEST_ERROR` "Exceeded limit of 3 breaks per location."

        is returned.'
      x-release-status: PUBLIC
      security:
      - oauth2:
        - TIMECARDS_SETTINGS_WRITE
      parameters: []
      requestBody:
        required: true
        description: 'An object containing the fields to POST for the request.


          See the corresponding object definition for field details.'
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateBreakTypeRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateBreakTypeResponse'
  /v2/labor/break-types/{id}:
    delete:
      tags:
      - Labor
      summary: Square Delete Break Type
      operationId: DeleteBreakType
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: 'Deletes an existing `BreakType`.


        A `BreakType` can be deleted even if it is referenced from a `Shift`.'
      x-release-status: PUBLIC
      security:
      - oauth2:
        - TIMECARDS_SETTINGS_WRITE
      parameters:
      - name: id
        description: The UUID for the `BreakType` being deleted.
        schema:
          type: string
        in: path
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteBreakTypeResponse'
    get:
      tags:
      - Labor
      summary: Square Get Break Type
      operationId: GetBreakType
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: Returns a single `BreakType` specified by `id`.
      x-release-status: PUBLIC
      security:
      - oauth2:
        - TIMECARDS_SETTINGS_READ
      parameters:
      - name: id
        description: The UUID for the `BreakType` being retrieved.
        schema:
          type: string
        in: path
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetBreakTypeResponse'
    put:
      tags:
      - Labor
      summary: Square Update Break Type
      operationId: UpdateBreakType
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: Updates an existing `BreakType`.
      x-release-status: PUBLIC
      security:
      - oauth2:
        - TIMECARDS_SETTINGS_WRITE
        - TIMECARDS_SETTINGS_READ
      parameters:
      - name: id
        description: ' The UUID for the `BreakType` being updated.'
        schema:
          type: string
        in: path
        required: true
      requestBody:
        required: true
        description: 'An object containing the fields to POST for the request.


          See the corresponding object definition for field details.'
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateBreakTypeRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateBreakTypeResponse'
  /v2/labor/employee-wages:
    get:
      tags:
      - Labor
      summary: Square List Employee Wages
      operationId: ListEmployeeWages
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: Returns a paginated list of `EmployeeWage` instances for a business.
      x-release-status: DEPRECATED
      deprecated: true
      x-deprecation:
        deprecationDate: '2020-08-26'
        retirementDate: TBD
        replacedBy: ListTeamMemberWages
        guideUrl: https://developer.squareup.com/docs/labor-api/migrate-to-teams
      security:
      - oauth2:
        - EMPLOYEES_READ
      parameters:
      - name: employee_id
        description: Filter the returned wages to only those that are associated with the specified employee.
        schema:
          type: string
        in: query
        required: false
      - name: limit
        description: 'The maximum number of `EmployeeWage` results to return per page. The number can range between

          1 and 200. The default is 200.'
        schema:
          type: integer
        in: query
        required: false
      - name: cursor
        description: A pointer to the next page of `EmployeeWage` results to fetch.
        schema:
          type: string
        in: query
        required: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListEmployeeWagesResponse'
  /v2/labor/employee-wages/{id}:
    get:
      tags:
      - Labor
      summary: Square Get Employee Wage
      operationId: GetEmployeeWage
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: Returns a single `EmployeeWage` specified by `id`.
      x-release-status: DEPRECATED
      deprecated: true
      x-deprecation:
        deprecationDate: '2020-08-26'
        retirementDate: TBD
        replacedBy: GetTeamMemberWage
        guideUrl: https://developer.squareup.com/docs/labor-api/migrate-to-teams
      security:
      - oauth2:
        - EMPLOYEES_READ
      parameters:
      - name: id
        description: The UUID for the `EmployeeWage` being retrieved.
        schema:
          type: string
        in: path
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetEmployeeWageResponse'
  /v2/labor/shifts:
    post:
      tags:
      - Labor
      summary: Square Create Shift
      operationId: CreateShift
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: 'Creates a new `Shift`.


        A `Shift` represents a complete workday for a single team member.

        You must provide the following values in your request to this

        endpoint:


        - `location_id`

        - `team_member_id`

        - `start_at`


        An attempt to create a new `Shift` can result in a `BAD_REQUEST` error when:

        - The `status` of the new `Shift` is `OPEN` and the team member has another

        shift with an `OPEN` status.

        - The `start_at` date is in the future.

        - The `start_at` or `end_at` date overlaps another shift for the same team member.

        - The `Break` instances are set in the request and a break `start_at`

        is before the `Shift.start_at`, a break `end_at` is after

        the `Shift.end_at`, or both.'
      x-release-status: PUBLIC
      security:
      - oauth2:
        - TIMECARDS_WRITE
      parameters: []
      requestBody:
        required: true
        description: 'An object containing the fields to POST for the request.


          See the corresponding object definition for field details.'
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateShiftRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateShiftResponse'
  /v2/labor/shifts/search:
    post:
      tags:
      - Labor
      summary: Square Search Shifts
      operationId: SearchShifts
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: 'Returns a paginated list of `Shift` records for a business.

        The list to be returned can be filtered by:

        - Location IDs

        - Team member IDs

        - Shift status (`OPEN` or `CLOSED`)

        - Shift start

        - Shift end

        - Workday details


        The list can be sorted by:

        - `START_AT`

        - `END_AT`

        - `CREATED_AT`

        - `UPDATED_AT`'
      x-release-status: PUBLIC
      security:
      - oauth2:
        - TIMECARDS_READ
      parameters: []
      requestBody:
        required: true
        description: 'An object containing the fields to POST for the request.


          See the corresponding object definition for field details.'
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchShiftsRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchShiftsResponse'
  /v2/labor/shifts/{id}:
    delete:
      tags:
      - Labor
      summary: Square Delete Shift
      operationId: DeleteShift
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: Deletes a `Shift`.
      x-release-status: PUBLIC
      security:
      - oauth2:
        - TIMECARDS_WRITE
      parameters:
      - name: id
        description: The UUID for the `Shift` being deleted.
        schema:
          type: string
        in: path
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteShiftResponse'
    get:
      tags:
      - Labor
      summary: Square Get Shift
      operationId: GetShift
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: Returns a single `Shift` specified by `id`.
      x-release-status: PUBLIC
      security:
      - oauth2:
        - TIMECARDS_READ
      parameters:
      - name: id
        description: The UUID for the `Shift` being retrieved.
        schema:
          type: string
        in: path
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetShiftResponse'
    put:
      tags:
      - Labor
      summary: Square Update Shift
      operationId: UpdateShift
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: 'Updates an existing `Shift`.


        When adding a `Break` to a `Shift`, any earlier `Break` instances in the `Shift` have

        the `end_at` property set to a valid RFC-3339 datetime string.


        When closing a `Shift`, all `Break` instances in the `Shift` must be complete with `end_at`

        set on each `Break`.'
      x-release-status: PUBLIC
      security:
      - oauth2:
        - TIMECARDS_WRITE
        - TIMECARDS_READ
      parameters:
      - name: id
        description: The ID of the object being updated.
        schema:
          type: string
        in: path
        required: true
      requestBody:
        required: true
        description: 'An object containing the fields to POST for the request.


          See the corresponding object definition for field details.'
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateShiftRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateShiftResponse'
  /v2/labor/team-member-wages:
    get:
      tags:
      - Labor
      summary: Square List Team Member Wages
      operationId: ListTeamMemberWages
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: Returns a paginated list of `TeamMemberWage` instances for a business.
      x-release-status: PUBLIC
      security:
      - oauth2:
        - EMPLOYEES_READ
      parameters:
      - name: team_member_id
        description: 'Filter the returned wages to only those that are associated with the

          specified team member.'
        schema:
          type: string
        in: query
        required: false
      - name: limit
        description: 'The maximum number of `TeamMemberWage` results to return per page. The number can range between

          1 and 200. The default is 200.'
        schema:
          type: integer
        in: query
        required: false
      - name: cursor
        description: A pointer to the next page of `EmployeeWage` results to fetch.
        schema:
          type: string
        in: query
        required: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListTeamMemberWagesResponse'
  /v2/labor/team-member-wages/{id}:
    get:
      tags:
      - Labor
      summary: Square Get Team Member Wage
      operationId: GetTeamMemberWage
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: Returns a single `TeamMemberWage` specified by `id`.
      x-release-status: PUBLIC
      security:
      - oauth2:
        - EMPLOYEES_READ
      parameters:
      - name: id
        description: The UUID for the `TeamMemberWage` being retrieved.
        schema:
          type: string
        in: path
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetTeamMemberWageResponse'
  /v2/labor/workweek-configs:
    get:
      tags:
      - Labor
      summary: Square List Workweek Configs
      operationId: ListWorkweekConfigs
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: Returns a list of `WorkweekConfig` instances for a business.
      x-release-status: PUBLIC
      security:
      - oauth2:
        - TIMECARDS_SETTINGS_READ
      parameters:
      - name: limit
        description: The maximum number of `WorkweekConfigs` results to return per page.
        schema:
          type: integer
        in: query
        required: false
      - name: cursor
        description: A pointer to the next page of `WorkweekConfig` results to fetch.
        schema:
          type: string
        in: query
        required: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListWorkweekConfigsResponse'
  /v2/labor/workweek-configs/{id}:
    put:
      tags:
      - Labor
      summary: Square Update Workweek Config
      operationId: UpdateWorkweekConfig
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: Updates a `WorkweekConfig`.
      x-release-status: PUBLIC
      security:
      - oauth2:
        - TIMECARDS_SETTINGS_WRITE
        - TIMECARDS_SETTINGS_READ
      parameters:
      - name: id
        description: The UUID for the `WorkweekConfig` object being updated.
        schema:
          type: string
        in: path
        required: true
      requestBody:
        required: true
        description: 'An object containing the fields to POST for the request.


          See the corresponding object definition for field details.'
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateWorkweekConfigRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateWorkweekConfigResponse'
components:
  schemas:
    Break:
      type: object
      description: A record of an employee's break during a shift.
      x-release-status: PUBLIC
      required:
      - start_at
      - break_type_id
      - name
      - expected_duration
      - is_paid
      properties:
        id:
          type: string
          description: The UUID for this object.
        start_at:
          type: string
          description: 'RFC 3339; follows the same timezone information as `Shift`. Precision up to

            the minute is respected; seconds are truncated.'
          minLength: 1
        end_at:
          type: string
          description: 'RFC 3339; follows the same timezone information as `Shift`. Precision up to

            the minute is respected; seconds are truncated.'
          nullable: true
        break_type_id:
          type: string
          description: The `BreakType` that this `Break` was templated on.
          minLength: 1
        name:
          type: string
          description: A human-readable name.
          minLength: 1
        expected_duration:
          type: string
          description: 'Format: RFC-3339 P[n]Y[n]M[n]DT[n]H[n]M[n]S. The expected length of

            the break.'
          minLength: 1
        is_paid:
          type: boolean
          description: 'Whether this break counts towards time worked for compensation

            purposes.'
    ListTeamMemberWagesResponse:
      type: object
      description: 'The response to a request for a set of `TeamMemberWage` objects. The response contains

        a set of `TeamMemberWage` objects.'
      x-release-status: PUBLIC
      properties:
        team_member_wages:
          type: array
          items:
            $ref: '#/components/schemas/TeamMemberWage'
          description: A page of `TeamMemberWage` results.
        cursor:
          type: string
          description: 'The value supplied in the subsequent request to fetch the next page

            of `TeamMemberWage` results.'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
          description: Any errors that occurred during the request.
      example:
        cursor: 2fofTniCgT0yIPAq26kmk0YyFQJZfbWkh73OOnlTHmTAx13NgED
        team_member_wages:
        - hourly_rate:
            amount: 3250
            currency: USD
          id: pXS3qCv7BERPnEGedM4S8mhm
          job_id: jxJNN6eCJsLrhg5UFJrDWDGE
          team_member_id: 33fJchumvVdJwxV0H6L9
          tip_eligible: false
          title: Manager
        - hourly_rate:
            amount: 2600
            currency: USD
          id: rZduCkzYDUVL3ovh1sQgbue6
          job_id: gcbz15vKGnMKmaWJJ152kjim
          team_member_id: 33fJchumvVdJwxV0H6L9
          tip_eligible: true
          title: Cook
        - hourly_rate:
            amount: 1600
            currency: USD
          id: FxLbs5KpPUHa8wyt5ctjubDX
          job_id: FzbJAtt9qEWncK1BWgVCxQ6M
          team_member_id: 33fJchumvVdJwxV0H6L9
          tip_eligible: true
          title: Barista
        - hourly_rate:
            amount: 1700
            currency: USD
          id: vD1wCgijMDR3cX5TPnu7VXto
          job_id: N4YKVLzFj3oGtNocqoYHYpW3
          team_member_id: 33fJchumvVdJwxV0H6L9
          tip_eligible: true
          title: Cashier
    WorkweekConfig:
      type: object
      description: 'Sets the day of the week and hour of the day that a business starts a

        workweek. This is used to calculate overtime pay.'
      x-release-status: PUBLIC
      required:
      - start_of_week
      - start_of_day_local_time
      properties:
        id:
          type: string
          description: The UUID for this object.
        start_of_week:
          $ref: '#/components/schemas/Weekday'
          description: 'The day of the week on which a business week starts for

            compensation purposes.

            See [Weekday](#type-weekday) for possible values'
        start_of_day_local_time:
          type: string
          description: 'The local time at which a business week starts. Represented as a

            string in `HH:MM` format (`HH:MM:SS` is also accepted, but seconds are

            truncated).'
          minLength: 1
        version:
          type: integer
          description: 'Used for resolving concurrency issues. The request fails if the version

            provided does not match the server version at the time of the request. If not provided,

            Square executes a blind write; potentially overwriting data from another

            write.'
        created_at:
          type: string
          description: A read-only timestamp in RFC 3339 format; presented in UTC.
          readOnly: true
        updated_at:
          type: string
          description: A read-only timestamp in RFC 3339 format; presented in UTC.
          readOnly: true
    ShiftSort:
      type: object
      description: Sets the sort order of search results.
      x-release-status: PUBLIC
      properties:
        field:
          $ref: '#/components/schemas/ShiftSortField'
          description: 'The field to sort on.

            See [ShiftSortField](#type-shiftsortfield) for possible values'
          nullable: true
        order:
          $ref: '#/components/schemas/SortOrder'
          description: 'The order in which results are returned. Defaults to DESC.

            See [SortOrder](#type-sortorder) for possible values'
          nullable: true
    UpdateShiftResponse:
      type: object
      description: 'The response to a request to update a `Shift`. The response contains

        the updated `Shift` object and might contain a set of `Error` objects if

        the request resulted in errors.'
      x-release-status: PUBLIC
      properties:
        shift:
          $ref: '#/components/schemas/Shift'
          description: The updated `Shift`.
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
          description: Any errors that occurred during the request.
      example:
        shift:
          breaks:
          - break_type_id: REGS1EQR1TPZ5
            end_at: '2019-01-25T06:16:00-05:00'
            expected_duration: PT5M
            id: X7GAQYVVRRG6P
            is_paid: true
            name: Tea Break
            start_at: '2019-01-25T06:11:00-05:00'
          created_at: '2019-02-28T00:39:02Z'
          declared_cash_tip_money:
            amount: 500
            currency: USD
          employee_id: ormj0jJJZ5OZIzxrZYJI
          end_at: '2019-01-25T13:11:00-05:00'
          id: K0YH4CV5462JB
          location_id: PAA1RJZZKXBFG
          start_at: '2019-01-25T03:11:00-05:00'
          status: CLOSED
          team_member_id: ormj0jJJZ5OZIzxrZYJI
          timezone: America/New_York
          updated_at: '2019-02-28T00:42:41Z'
          version: 2
          wage:
            hourly_rate:
              amount: 1500
              currency: USD
            job_id: dZtrPh5GSDGugyXGByesVp51
            tip_eligible: true
            title: Bartender
    ErrorCategory:
      type: string
      enum:
      - API_ERROR
      - AUTHENTICATION_ERROR
      - INVALID_REQUEST_ERROR
      - RATE_LIMIT_ERROR
      - PAYMENT_METHOD_ERROR
      - REFUND_ERROR
      - MERCHANT_SUBSCRIPTION_ERROR
      - EXTERNAL_VENDOR_ERROR
      x-enum-elements:
      - name: API_ERROR
        description: An error occurred with the Connect API itself.
      - name: AUTHENTICATION_ERROR
        description: 'An authentication error occurred. Most commonly, the request had

          a missing, malformed, or otherwise invalid `Authorization` header.'
      - name: INVALID_REQUEST_ERROR
        description: 'The request was invalid. Most commonly, a required parameter was

          missing, or a provided parameter had an invalid value.'
      - name: RATE_LIMIT_ERROR
        description: 'Your application reached the Square API rate limit. You might receive this error if your application sends a high number of requests

          to Square APIs in a short period of time.


          Your application should monitor responses for `429 RATE_LIMITED` errors and use a retry mechanism with an [exponential backoff](https://en.wikipedia.org/wiki/Exponential_backoff)

          schedule to resend the requests at an increasingly slower rate. It is also a good practice to use a randomized delay (jitter) in your retry schedule.'
      - name: PAYMENT_METHOD_ERROR
        description: 'An error occurred while processing a payment method. Most commonly,

          the details of the payment method were invalid (such as a card''s CVV

          or expiration date).'
      - name: REFUND_ERROR
        description: An error occurred while attempting to process a refund.
      - name: MERCHANT_SUBSCRIPTION_ERROR
        description: An error occurred when checking a merchant subscription status
      - name: EXTERNAL_VENDOR_ERROR
        description: An error that is returned from an external vendor's API
      description: 'Indicates which high-level category of error has occurred during a

        request to the Connect API.'
      x-release-status: PUBLIC
    ErrorCode:
      type: string
      enum:
      - INTERNAL_SERVER_ERROR
      - UNAUTHORIZED
      - ACCESS_TOKEN_EXPIRED
      - ACCESS_TOKEN_REVOKED
      - CLIENT_DISABLED
      - FORBIDDEN
      - INSUFFICIENT_SCOPES
      - APPLICATION_DISABLED
      - V1_APPLICATION
      - V1_ACCESS_TOKEN
      - CARD_PROCESSING_NOT_ENABLED
      - MERCHANT_SUBSCRIPTION_NOT_FOUND
      - BAD_REQUEST
      - MISSING_REQUIRED_PARAMETER
      - INCORRECT_TYPE
      - INVALID_TIME
      - INVALID_TIME_RANGE
      - INVALID_VALUE
      - INVALID_CURSOR
      - UNKNOWN_QUERY_PARAMETER
      - CONFLICTING_PARAMETERS
      - EXPECTED_JSON_BODY
      - INVALID_SORT_ORDER
      - VALUE_REGEX_MISMATCH
      - VALUE_TOO_SHORT
      - VALUE_TOO_LONG
      - VALUE_TOO_LOW
      - VALUE_TOO_HIGH
      - VALUE_EMPTY
      - ARRAY_LENGTH_TOO_LONG
      - ARRAY_LENGTH_TOO_SHORT
      - ARRAY_EMPTY
      - EXPECTED_BOOLEAN
      - EXPECTED_INTEGER
      - EXPECTED_FLOAT
      - EXPECTED_STRING
      - EXPECTED_OBJECT
      - EXPECTED_ARRAY
      - EXPECTED_MAP
      - EXPECTED_BASE64_ENCODED_BYTE_ARRAY
      - INVALID_ARRAY_VALUE
      - INVALID_ENUM_VALUE
      - INVALID_CONTENT_TYPE
      - INVALID_FORM_VALUE
      - CUSTOMER_NOT_FOUND
      - ONE_INSTRUMENT_EXPECTED
      - NO_FIELDS_SET
      - TOO_MANY_MAP_ENTRIES
      - MAP_KEY_LENGTH_TOO_SHORT
      - MAP_KEY_LENGTH_TOO_LONG
      - CUSTOMER_MISSING_NAME
      - CUSTOMER_MISSING_EMAIL
      - INVALID_PAUSE_LENGTH
      - INVALID_DATE
      - UNSUPPORTED_COUNTRY
      - UNSUPPORTED_CURRENCY
      - APPLE_TTP_PIN_TOKEN
      - CARD_EXPIRED
      - INVALID_EXPIRATION
      - INVALID_EXPIRATION_YEAR
      - INVALID_EXPIRATION_DATE
      - UNSUPPORTED_CARD_BRAND
      - UNSUPPORTED_ENTRY_METHOD
      - INVALID_ENCRYPTED_CARD
      - INVALID_CARD
      - PAYMENT_AMOUNT_MISMATCH
      - GENERIC_DECLINE
      - CVV_FAILURE
      - ADDRESS_VERIFICATION_FAILURE
      - INVALID_ACCOUNT
      - CURRENCY_MISMATCH
      - INSUFFICIENT_FUNDS
      - INSUFFICIENT_PERMISSIONS
      - CARDHOLDER_INSUFFICIENT_PERMISSIONS
      - INVALID_LOCATION
      - TRANSACTION_LIMIT
      - VOICE_FAILURE
      - PAN_FAILURE
      - EXPIRATION_FAILURE
      - CARD_NOT_SUPPORTED
      - INVALID_PIN
      - MISSING_PIN
      - MISSING_ACCOUNT_TYPE
      - INVALID_POSTAL_CODE
      - INVALID_FEES
      - MANUALLY_ENTERED_PAYMENT_NOT_SUPPORTED
      - PAYMENT_LIMIT_EXCEEDED
      - GIFT_CARD_AVAILABLE_AMOUNT
      - ACCOUNT_UNUSABLE
      - BUYER_REFUSED_PAYMENT
      - DELAYED_TRANSACTION_EXPIRED
      - DELAYED_TRANSACTION_CANCELED
      - DELAYED_TRANSACTION_CAPTURED
      - DELAYED_TRANSACTION_FAILED
      - CARD_TOKEN_EXPIRED
      - CARD_TOKEN_USED
      - AMOUNT_TOO_HIGH
      - UNSUPPORTED_INSTRUMENT_TYPE
      - REFUND_AMOUNT_INVALID
      - REFUND_ALREADY_PENDING
      - PAYMENT_NOT_REFUNDABLE
      - PAYMENT_NOT_REFUNDABLE_DUE_TO_DISPUTE
      - REFUND_DECLINED

# --- truncated at 32 KB (122 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/square/refs/heads/main/openapi/square-labor-api-openapi.yml