Appfire · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the 7pace Timetracker for Jira REST API v2

8 actions 8 updates update extends openapi/appfire-7pace-timetracker-v2-openapi-original.yml
Generated by API Evangelist Written by API Evangelist tooling for Appfire's API. It is a proposal applied on top of the contract, not a document Appfire publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-notex-apievangelist-providerx-apievangelist-productx-apievangelist-spec-sourcex-apievangelist-harvestedx-authenticationx-conventionsx-errors

Targets 6

$.info
$.servers
$.components.schemas.ProblemDetails
$.paths['/api/v2/worklogs'].get
$.paths['/api/v2/worklogs/views/incrementalChanges'].get
$.paths['/api/v2/worklogs'].post

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the 7pace Timetracker for Jira REST API v2
  version: 1.0.0
x-generated: '2026-08-06'
x-method: generated
x-source: openapi/appfire-7pace-timetracker-v2-openapi-original.yml
extends: openapi/appfire-7pace-timetracker-v2-openapi-original.yml
actions:
- target: $.info
  update:
    x-apievangelist-provider: appfire
    x-apievangelist-product: 7pace Timetracker for Jira
    x-apievangelist-spec-source: https://timehubjra.7pace.com/swagger/v2.yml
    x-apievangelist-harvested: '2026-08-06'
- target: $.info
  update:
    x-authentication: authentication/appfire-authentication.yml
    x-conventions: conventions/appfire-conventions.yml
    x-errors: errors/appfire-problem-types.yml
    x-lifecycle: lifecycle/appfire-lifecycle.yml
    x-data-model: data-model/appfire-data-model.yml
- target: $.servers
  update:
    x-apievangelist-note: >-
      The document declares `url: /` (relative). The production host for 7pace Timetracker for Jira is
      https://timehubjra.7pace.com, which is what apis.yml records as the baseURL.
- target: $.info
  update:
    x-missing-operation-ids: true
    x-apievangelist-note: >-
      No operation in this document declares an operationId. Generated clients and MCP tool bindings
      therefore have no stable handle per operation and must key off METHOD + path. Adding operationIds
      is the single highest-value contract fix in this spec.
    x-idempotency: none
- target: $.components.schemas.ProblemDetails
  update:
    x-apievangelist-note: >-
      This schema is declared but referenced by no response in the document. Wiring it into the 4xx/5xx
      responses (with media type application/problem+json) would make this API RFC 9457 conformant.
- target: $.paths['/api/v2/worklogs'].get
  update:
    x-pagination: {style: cursor, request: [before, after], response: pageInfo}
- target: $.paths['/api/v2/worklogs/views/incrementalChanges'].get
  update:
    x-apievangelist-note: >-
      The sync endpoint — returns deleted worklogs too (ChangedWorklog.isDeleted). This is the correct
      source for keeping an external system in step, not the plain worklogs list.
- target: $.paths['/api/v2/worklogs'].post
  update:
    x-apievangelist-note: >-
      Write operation with no idempotency key; a retried create after a network timeout can double-log
      time. Reconcile with the incrementalChanges feed rather than blind-retrying.