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

# On-Time / Late Submission by Location

> Returns per-location on-time and overdue completion percentages for recurring tasks, plus an overall completed-on-time summary. Scoped to the caller's authorized locations. The underlying route requires the CAN_VIEW_REPORTING permission — the API key acts as its default user.

Returns per-location on-time versus overdue completion percentages for recurring tasks, with an overall completed-on-time summary. Filters are wrapped under `filters` and scoped to the caller's authorized locations. Requires the `CAN_VIEW_REPORTING` permission (inherited from the key's default user).


## OpenAPI

````yaml POST /api/v1/ops/reports/tasks/on-time-late-submission-by-location
openapi: 3.1.0
info:
  title: Xenia Team API - On-Time / Late Submission by Location
  description: >-
    Returns the on-time versus overdue completion percentages for recurring
    tasks per location.
  version: 1.0.0
servers:
  - url: https://api.xenia.team
security: []
paths:
  /api/v1/ops/reports/tasks/on-time-late-submission-by-location:
    post:
      tags:
        - Reporting
      summary: On-Time / Late Submission by Location
      description: >-
        Returns per-location on-time and overdue completion percentages for
        recurring tasks, plus an overall completed-on-time summary. Scoped to
        the caller's authorized locations. The underlying route requires the
        CAN_VIEW_REPORTING permission — the API key acts as its default user.
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                filters:
                  type: object
                  properties:
                    dateRange:
                      type: array
                      items:
                        type: string
                        format: date-time
                    locations:
                      type: array
                      items:
                        type: string
                        format: uuid
                    project:
                      type: array
                      items:
                        type: string
                        format: uuid
            example:
              filters:
                dateRange:
                  - '2025-06-01T00:00:00.000Z'
                  - '2025-06-30T23:59:59.999Z'
                locations: []
                project: []
      responses:
        '200':
          description: On-time / late submission data retrieved successfully.
          content:
            application/json:
              example:
                data:
                  charts:
                    - id: 46715d09-1628-4b1a-a12d-f9e0bbcdbc3c
                      onTime: 91.3
                      overdue: 8.7
                      name: Chicago Downtown
                  summary:
                    completedOnTime: 88.42
                meta: {}
        '401':
          description: >-
            Unauthorized - Invalid client credentials, or client does not belong
            to this workspace.
        '403':
          description: 'Forbidden: API key not authorized for this route.'
        '500':
          description: Internal Server Error.
      security:
        - clientKey: []
          clientSecret: []
components:
  securitySchemes:
    clientKey:
      type: apiKey
      in: header
      name: x-client-key
    clientSecret:
      type: apiKey
      in: header
      name: x-client-secret

````