openapi: 3.0.3
info:
  title: TM Next-Gen - Task execution (APIGEE)
  description: |
    OpenAPI APIGEE mirror of `next-gen-swagger/task-execution/next-gen-task-execution-api.yaml` — paths and components resolve from
    that file via `$ref` (same operations as Pulse deployment, different base URLs).

    **APIGEE-only:** send `api_key` (API key) in addition to `X-reflexis-csrf-token-X` (session token).
    Clients often send `Origin` and `Referer` matching the gateway host.

    Companion APIGEE specs: `mywork/next-gen-mywork-apigee-api.yaml` (app config, broadcasts, user notes, recent tabs),
    `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: MyWorkConfig
    description: Unified MyWork configuration (feed, calendar, attachment, filter, refresh settings)
  - name: MyWorkCalendar
    description: Calendar and Gantt feed data; leadership calendar
  - name: MyWorkFeeds
    description: Feed retrieval, cluster feeds, feed detail fragments, feed notes, unified feed details, survey
  - name: MyWorkComments
    description: Messaging / comment threads — list, create, reply, close, read-status, transfer
  - name: MyWorkFeedActions
    description: Feed status, reassignment, claim, favorites, RTM actions

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-task-execution-api.yaml#/components/securitySchemes/AuthTokenHeader
  parameters:
    FeedKeyUnderscore:
      $ref: ./next-gen-task-execution-api.yaml#/components/parameters/FeedKeyUnderscore
    FeedKeyHyphen:
      $ref: ./next-gen-task-execution-api.yaml#/components/parameters/FeedKeyHyphen
    NotesId:
      $ref: ./next-gen-task-execution-api.yaml#/components/parameters/NotesId
    ClusterId:
      $ref: ./next-gen-task-execution-api.yaml#/components/parameters/ClusterId
    RetrieveType:
      $ref: ./next-gen-task-execution-api.yaml#/components/parameters/RetrieveType
  schemas:
    JsonObject:
      $ref: ./next-gen-task-execution-api.yaml#/components/schemas/JsonObject
    JsonResponse:
      $ref: ./next-gen-task-execution-api.yaml#/components/schemas/JsonResponse
    ErrorResponse:
      $ref: ./next-gen-task-execution-api.yaml#/components/schemas/ErrorResponse

paths:
  /task/v1/calendar:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1calendar
  /task/v1/calendar/leadership:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1calendar~1leadership
  /task/v1/config/list:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1config~1list
  /task/v1/feeds/{retrieve-type}:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1feeds~1{retrieve-type}
  /task/v1/feeds/list/tasks:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1feeds~1list~1tasks
  /task/v1/feeds/{cluster_id}/cluster-list:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1feeds~1{cluster_id}~1cluster-list
  /task/v1/feeds/{feed_key}/key-attributes:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1feeds~1{feed_key}~1key-attributes
  /task/v1/feeds/{feed_key}/history:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1feeds~1{feed_key}~1history
  /task/v1/feeds/{feed_key}/pre-requisites:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1feeds~1{feed_key}~1pre-requisites
  /task/v1/feeds/{feed_key}/content:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1feeds~1{feed_key}~1content
  /task/v1/feeds/{feed_key}/notes:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1feeds~1{feed_key}~1notes
  /task/v1/feeds/{feed_key}/notes/{notes_id}:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1feeds~1{feed_key}~1notes~1{notes_id}
  /task/v1/feeds/{feed_key}/details:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1feeds~1{feed_key}~1details
  /task/v1/feeds/{feed_key}/survey:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1feeds~1{feed_key}~1survey
  /task/v1/comments/configs:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1comments~1configs
  /task/v1/comments/list:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1comments~1list
  /task/v1/comments/list/latest:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1comments~1list~1latest
  /task/v1/comments/list/unread:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1comments~1list~1unread
  /task/v1/comments/list/unread/count:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1comments~1list~1unread~1count
  /task/v1/comments/add:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1comments~1add
  /task/v1/comments/reply:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1comments~1reply
  /task/v1/comments/close:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1comments~1close
  /task/v1/comments/unread/update:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1comments~1unread~1update
  /task/v1/comments/transfer:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1comments~1transfer
  /task/v1/comments/unread/count:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1comments~1unread~1count
  /task/v1/actions/{feed-key}/list:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1actions~1{feed-key}~1list
  /task/v1/actions/{feed-key}/status-buttons:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1actions~1{feed-key}~1status-buttons
  /task/v1/actions/{feed-key}/updated-feed:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1actions~1{feed-key}~1updated-feed
  /task/v1/actions/{feed-key}/reassign:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1actions~1{feed-key}~1reassign
  /task/v1/actions/{feed-key}/status:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1actions~1{feed-key}~1status
  /task/v1/actions/{feed-key}/suggested-date:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1actions~1{feed-key}~1suggested-date
  /task/v1/actions/{feed-key}/watch-flag:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1actions~1{feed-key}~1watch-flag
  /task/v1/actions/{feed-key}/attributes:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1actions~1{feed-key}~1attributes
  /task/v1/actions/{feed-key}/predecessors:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1actions~1{feed-key}~1predecessors
  /task/v1/actions/{feed-key}/reassign-feed:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1actions~1{feed-key}~1reassign-feed
  /task/v1/actions/{feed-key}/v2/reassign:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1actions~1{feed-key}~1v2~1reassign
  /task/v1/actions/{feed-key}/monitor:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1actions~1{feed-key}~1monitor
  /task/v1/actions/{feed-key}/claim:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1actions~1{feed-key}~1claim
  /task/v1/actions/{feed-key}/feed:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1actions~1{feed-key}~1feed
  /task/v1/actions/{feed-key}/task:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1actions~1{feed-key}~1task
  /task/v1/actions/{feed-key}/v2/task:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1actions~1{feed-key}~1v2~1task
  /task/v1/actions/{feed-key}/mark-favorite:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1actions~1{feed-key}~1mark-favorite
  /task/v1/actions/{feed-key}/unmark-favorite:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1actions~1{feed-key}~1unmark-favorite
  /task/v1/actions/{feed-key}/viewed:
    $ref: ./next-gen-task-execution-api.yaml#/paths/~1task~1v1~1actions~1{feed-key}~1viewed
