openapi: 3.0.3
info:
  title: TM Next-Gen - MyWork (APIGEE)
  description: |
    OpenAPI APIGEE mirror of `next-gen-swagger/mywork/next-gen-mywork-api.yaml` — application config, broadcasts,
    user calendar notes, and recent tabs. Paths resolve from that file via `$ref`.

    **APIGEE-only:** send `api_key` (API key) in addition to `X-reflexis-csrf-token-X` (session token).

    Companion specs: `task-execution/next-gen-task-execution-apigee-api.yaml` (remaining task execution routes),
    `walk-execution/next-gen-walk-execution-apigee-api.yaml` (walk execution).
  version: 1.0.0
  contact:
    name: API Support
    email: noreply@zebra.com

servers:
  - url: https://dev-api.zebra.com
    description: Dev APIGEE
  - url: https://stage-api.zebra.com
    description: Stage APIGEE
  - url: https://test-api.zebra.com
    description: Test APIGEE
  - url: https://api.zebra.com
    description: Prod APIGEE

tags:
  - name: MyWorkAppConfig
    description: Application-level configuration (modules, holidays, translations, quick-links)
  - name: MyWorkBroadcasts
    description: Broadcast messages and private broadcast notes
  - name: MyWorkNotes
    description: Per-user calendar notes
  - name: MyWorkRecentTabs
    description: Recently opened navigation tabs

security:
  - ApiKeyHeader: []
    AuthTokenHeader: []

components:
  securitySchemes:
    ApiKeyHeader:
      type: apiKey
      in: header
      name: api_key
      description: APIGEE API key header validated by VerifyAPIKey policy.
    AuthTokenHeader:
      $ref: ./next-gen-mywork-api.yaml#/components/securitySchemes/AuthTokenHeader
  parameters:
    BroadcastId:
      $ref: ./next-gen-mywork-api.yaml#/components/parameters/BroadcastId
  schemas:
    JsonObject:
      $ref: ./next-gen-mywork-api.yaml#/components/schemas/JsonObject
    JsonResponse:
      $ref: ./next-gen-mywork-api.yaml#/components/schemas/JsonResponse
    ErrorResponse:
      $ref: ./next-gen-mywork-api.yaml#/components/schemas/ErrorResponse

paths:
  /mywork/v1/app-config:
    $ref: ./next-gen-mywork-api.yaml#/paths/~1mywork~1v1~1app-config
  /mywork/v1/broadcasts/list:
    $ref: ./next-gen-mywork-api.yaml#/paths/~1mywork~1v1~1broadcasts~1list
  /mywork/v1/broadcasts/{broadcast_id}/notes:
    $ref: ./next-gen-mywork-api.yaml#/paths/~1mywork~1v1~1broadcasts~1{broadcast_id}~1notes
  /mywork/v1/notes/configs:
    $ref: ./next-gen-mywork-api.yaml#/paths/~1mywork~1v1~1notes~1configs
  /mywork/v1/notes:
    $ref: ./next-gen-mywork-api.yaml#/paths/~1mywork~1v1~1notes
  /mywork/v1/recent-tabs/update:
    $ref: ./next-gen-mywork-api.yaml#/paths/~1mywork~1v1~1recent-tabs~1update
