Appfire Worklogs API

The Worklogs API from Appfire — 10 operation(s) for worklogs.

OpenAPI Specification

appfire-worklogs-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Appfire Worklogs API
  version: '1.0'
  description: 'Operations tagged Worklogs across 2 of this provider''s published API definitions: appfire-7pace-timetracker-v1-openapi-original.yml, appfire-7pace-timetracker-v2-openapi-original.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: /
  description: Production API
security:
- bearer: []
tags:
- name: Worklogs
paths:
  /api/v1/worklogs:
    servers:
    - url: /
      description: Production API
    get:
      summary: Get a list of worklogs
      description: Returns a paginated list of worklogs with filters.
      parameters:
      - name: before
        in: query
        schema:
          type: string
        description: Cursor for pagination. Returns results before the specified cursor.
      - name: after
        in: query
        schema:
          type: string
        description: Cursor for pagination. Returns results after the specified cursor.
      - name: externalItemId
        in: query
        schema:
          type: array
          items:
            type: string
        description: Accepts a single string or array.
      - name: assigneeId
        in: query
        schema:
          type: array
          items:
            type: string
        description: Accepts a single string or array.
      - name: authorId
        in: query
        schema:
          type: array
          items:
            type: string
        description: Accepts a single string or array.
      - name: startedAt.start
        in: query
        schema:
          type: string
          format: date-time
        description: Filters worklogs that logged time starting after the specified date.
      - name: startedAt.end
        in: query
        schema:
          type: string
          format: date-time
        description: Filters worklogs that logged time starting before the specified date.
      - name: editedAt.start
        in: query
        schema:
          type: string
          format: date-time
        description: Filters worklogs that were updated after the specified date.
      - name: editedAt.end
        in: query
        schema:
          type: string
          format: date-time
        description: Filters worklogs that were updated before the specified date.
      - name: createdAt.start
        in: query
        schema:
          type: string
          format: date-time
        description: Filters worklogs that were created after the specified date.
      - name: createdAt.end
        in: query
        schema:
          type: string
          format: date-time
        description: Filters worklogs that were created before the specified date.
      responses:
        '200':
          description: A list of worklogs.
          content:
            application/json:
              schema:
                type: object
                properties:
                  result:
                    type: array
                    items:
                      $ref: '#/components/schemas/Worklog'
                  _links:
                    type: object
                    properties:
                      self:
                        type: object
                        properties:
                          href:
                            type: string
                      prev:
                        type: object
                        properties:
                          href:
                            type: string
                      next:
                        type: object
                        properties:
                          href:
                            type: string
                  pageInfo:
                    $ref: '#/components/schemas/PageInfo'
        '400':
          description: Error response for invalid filters.
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                  title:
                    type: string
                  detail:
                    type: string
                  traceId:
                    type: string
      tags:
      - Worklogs
    post:
      summary: Create a worklog
      description: Creates a worklog.
      requestBody:
        description: Worklog object to create
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorklogRequest'
      responses:
        '200':
          description: Worklog created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorklogResponse'
        '400':
          description: Worklog cannot be created, invalid request body.
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                  title:
                    type: string
                  detail:
                    type: string
                  traceId:
                    type: string
        '401':
          description: Unauthorized access. This indicates a problem with Authorization. Ensure apitoken is valid, and you are setting Authorization header to Bearer {apitoken}
        '403':
          description: Forbidden. The user does not have permission to create a worklog for the provided assigneeId.
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                  title:
                    type: string
                  detail:
                    type: string
                  traceId:
                    type: string
        '404':
          description: The referenced worklog or assignee was not found.
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                  title:
                    type: string
                  detail:
                    type: string
                  traceId:
                    type: string
        '500':
          description: Internal server error.
      tags:
      - Worklogs
  /api/v1/worklogs/{worklogId}:
    servers:
    - url: /
      description: Production API
    put:
      summary: Update a worklog
      description: Updates a worklog by its Id.
      parameters:
      - name: worklogId
        in: path
        required: true
        schema:
          type: string
        description: The Id of the worklog to update.
      requestBody:
        description: Worklog object to update
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorklogRequest'
      responses:
        '200':
          description: Worklog updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorklogResponse'
        '400':
          description: Worklog cannot be updated - passed worklog ID or request body is invalid.
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                  title:
                    type: string
                  detail:
                    type: string
                  traceId:
                    type: string
        '401':
          description: Unauthorized access. This indicates a problem with Authorization. Ensure apitoken is valid, and you are setting Authorization header to Bearer {apitoken}
        '403':
          description: Forbidden. The user associated with the apitoken does not have permission to update this worklog.
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                  title:
                    type: string
                  detail:
                    type: string
                  traceId:
                    type: string
        '404':
          description: Worklog not found.
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                  title:
                    type: string
                  detail:
                    type: string
                  traceId:
                    type: string
        '500':
          description: Internal server error.
      tags:
      - Worklogs
    delete:
      summary: Delete a worklog
      description: Deletes a worklog by its ID.
      parameters:
      - name: worklogId
        in: path
        required: true
        schema:
          type: string
        description: The ID of the worklog to delete.
      responses:
        '204':
          description: Worklog deleted successfully.
        '401':
          description: Unauthorized access. This indicates a problem with Authorization. Ensure apitoken is valid, and you are setting Authorization header to Bearer {apitoken}
        '403':
          description: Forbidden. The submitting user does not have permission to delete this worklog.
        '404':
          description: Worklog not found.
      tags:
      - Worklogs
  /api/v1/worklogs/changes:
    servers:
    - url: /
      description: Production API
    get:
      summary: Get a list of all worklogs, including deleted worklogs.
      description: To get a change list, use parameters editedAt.start and editedAt.end to return a list of all changes during the specified timeframe. All other filters can be used in combination. Use returned worklog field isDeleted to identify deleted worklogs.
      parameters:
      - name: before
        in: query
        schema:
          type: string
        description: Cursor for pagination. Returns results before the specified cursor.
      - name: after
        in: query
        schema:
          type: string
        description: Cursor for pagination. Returns results after the specified cursor.
      - name: externalItemId
        in: query
        schema:
          type: array
          items:
            type: string
        description: Accepts a single string or array.
      - name: assigneeId
        in: query
        schema:
          type: array
          items:
            type: string
        description: Accepts a single string or array.
      - name: authorId
        in: query
        schema:
          type: array
          items:
            type: string
        description: Accepts a single string or array.
      - name: startedAt.start
        in: query
        schema:
          type: string
          format: date-time
        description: Filters worklogs that logged time starting after the specified date.
      - name: startedAt.end
        in: query
        schema:
          type: string
          format: date-time
        description: Filters worklogs that logged time starting before the specified date.
      - name: editedAt.start
        in: query
        schema:
          type: string
          format: date-time
        description: Filters worklogs that were updated after the specified date.
      - name: editedAt.end
        in: query
        schema:
          type: string
          format: date-time
        description: Filters worklogs that were updated before the specified date.
      - name: createdAt.start
        in: query
        schema:
          type: string
          format: date-time
        description: Filters worklogs that were created after the specified date.
      - name: createdAt.end
        in: query
        schema:
          type: string
          format: date-time
        description: Filters worklogs that were created before the specified date.
      responses:
        '200':
          description: A list of worklogs.
          content:
            application/json:
              schema:
                type: object
                properties:
                  result:
                    type: array
                    items:
                      $ref: '#/components/schemas/ChangedWorklog'
                  _links:
                    type: object
                    properties:
                      self:
                        type: object
                        properties:
                          href:
                            type: string
                      prev:
                        type: object
                        properties:
                          href:
                            type: string
                      next:
                        type: object
                        properties:
                          href:
                            type: string
                  pageInfo:
                    $ref: '#/components/schemas/PageInfo'
        '400':
          description: Error response for invalid filters.
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                  title:
                    type: string
                  detail:
                    type: string
                  traceId:
                    type: string
      tags:
      - Worklogs
  /api/v1/worklogs/migrated:
    servers:
    - url: /
      description: Production API
    post:
      summary: Create a migrated worklog
      description: Creates a migrated worklog. Requires ADMIN permission (Manage 7pace settings and assign roles to users). Migrated worklogs bypass tracking-details, locked-date, and closed-item validations, and are not synchronized to Jira.
      requestBody:
        description: Worklog object to create as migrated
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorklogRequest'
      responses:
        '200':
          description: Migrated worklog created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorklogResponse'
        '400':
          description: Worklog cannot be created, invalid request body.
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                  title:
                    type: string
                  detail:
                    type: string
                  traceId:
                    type: string
        '401':
          description: Unauthorized access. This indicates a problem with Authorization. Ensure apitoken is valid, and you are setting Authorization header to Bearer {apitoken}
        '403':
          description: Forbidden. The user does not have permission to create migrated worklogs.
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                  title:
                    type: string
                  detail:
                    type: string
                  traceId:
                    type: string
        '404':
          description: The referenced worklog or assignee was not found.
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                  title:
                    type: string
                  detail:
                    type: string
                  traceId:
                    type: string
        '500':
          description: Internal server error.
      tags:
      - Worklogs
  /api/v1/worklogs/migrated/{worklogId}:
    servers:
    - url: /
      description: Production API
    delete:
      summary: Delete a migrated worklog
      description: Deletes a migrated worklog by its ID. Requires ADMIN permission (Manage 7pace settings and assign roles to users).
      parameters:
      - name: worklogId
        in: path
        required: true
        schema:
          type: string
        description: The ID of the migrated worklog to delete.
      responses:
        '204':
          description: Migrated worklog deleted successfully.
        '400':
          description: The worklog is not migrated.
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                  title:
                    type: string
                  detail:
                    type: string
                  traceId:
                    type: string
        '401':
          description: Unauthorized access. This indicates a problem with Authorization. Ensure apitoken is valid, and you are setting Authorization header to Bearer {apitoken}
        '403':
          description: Forbidden. The user does not have permission to delete migrated worklogs.
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                  title:
                    type: string
                  detail:
                    type: string
                  traceId:
                    type: string
        '404':
          description: Worklog not found.
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                  title:
                    type: string
                  detail:
                    type: string
                  traceId:
                    type: string
        '500':
          description: Internal server error.
      tags:
      - Worklogs
  /api/v2/worklogs:
    servers:
    - url: /
      description: Production API
    get:
      summary: Get a list of worklogs
      description: Returns a paginated list of worklogs with filters.
      parameters:
      - name: before
        in: query
        schema:
          type: string
        description: Cursor for pagination. Returns results before the specified cursor.
      - name: after
        in: query
        schema:
          type: string
        description: Cursor for pagination. Returns results after the specified cursor.
      - name: externalItemId
        in: query
        schema:
          type: array
          items:
            type: string
        description: Accepts a single string or array.
      - name: assigneeId
        in: query
        schema:
          type: array
          items:
            type: string
        description: Accepts a single string or array.
      - name: authorId
        in: query
        schema:
          type: array
          items:
            type: string
        description: Accepts a single string or array.
      - name: startedAt.start
        in: query
        schema:
          type: string
          format: date-time
        description: Filters worklogs that logged time starting after the specified date.
      - name: startedAt.end
        in: query
        schema:
          type: string
          format: date-time
        description: Filters worklogs that logged time starting before the specified date.
      - name: editedAt.start
        in: query
        schema:
          type: string
          format: date-time
        description: Filters worklogs that were updated after the specified date.
      - name: editedAt.end
        in: query
        schema:
          type: string
          format: date-time
        description: Filters worklogs that were updated before the specified date.
      - name: createdAt.start
        in: query
        schema:
          type: string
          format: date-time
        description: Filters worklogs that were created after the specified date.
      - name: createdAt.end
        in: query
        schema:
          type: string
          format: date-time
        description: Filters worklogs that were created before the specified date.
      responses:
        '200':
          description: A list of worklogs.
          content:
            application/json:
              schema:
                type: object
                properties:
                  result:
                    type: array
                    items:
                      $ref: '#/components/schemas/Worklog_2'
                  _links:
                    type: object
                    properties:
                      self:
                        type: object
                        properties:
                          href:
                            type: string
                      prev:
                        type: object
                        properties:
                          href:
                            type: string
                      next:
                        type: object
                        properties:
                          href:
                            type: string
                  pageInfo:
                    $ref: '#/components/schemas/PageInfo'
        '400':
          description: Error response for invalid filters.
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                  title:
                    type: string
                  detail:
                    type: string
                  traceId:
                    type: string
      tags:
      - Worklogs
    post:
      summary: Create a worklog
      description: Creates a worklog.
      requestBody:
        description: Worklog object to create
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorklogRequest_2'
      responses:
        '200':
          description: Worklog created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorklogResponse'
        '400':
          description: Worklog cannot be created, invalid request body.
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                  title:
                    type: string
                  detail:
                    type: string
                  traceId:
                    type: string
        '401':
          description: Unauthorized access. This indicates a problem with Authorization. Ensure apitoken is valid, and you are setting Authorization header to Bearer {apitoken}
        '403':
          description: Forbidden. The user does not have permission to create a worklog for the provided assigneeId.
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                  title:
                    type: string
                  detail:
                    type: string
                  traceId:
                    type: string
        '404':
          description: The referenced worklog or assignee was not found.
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                  title:
                    type: string
                  detail:
                    type: string
                  traceId:
                    type: string
        '500':
          description: Internal server error.
      tags:
      - Worklogs
  /api/v2/worklogs/{worklogId}:
    servers:
    - url: /
      description: Production API
    put:
      summary: Update a worklog
      description: Updates a worklog by its Id.
      parameters:
      - name: worklogId
        in: path
        required: true
        schema:
          type: string
        description: The Id of the worklog to update.
      requestBody:
        description: Worklog object to update
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorklogRequest_2'
      responses:
        '200':
          description: Worklog updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorklogResponse'
        '400':
          description: Worklog cannot be updated - passed worklog ID or request body is invalid.
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                  title:
                    type: string
                  detail:
                    type: string
                  traceId:
                    type: string
        '401':
          description: Unauthorized access. This indicates a problem with Authorization. Ensure apitoken is valid, and you are setting Authorization header to Bearer {apitoken}
        '403':
          description: Forbidden. The user associated with the apitoken does not have permission to update this worklog.
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                  title:
                    type: string
                  detail:
                    type: string
                  traceId:
                    type: string
        '404':
          description: Worklog not found.
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                  title:
                    type: string
                  detail:
                    type: string
                  traceId:
                    type: string
        '500':
          description: Internal server error.
      tags:
      - Worklogs
    delete:
      summary: Delete a worklog
      description: Deletes a worklog by its ID.
      parameters:
      - name: worklogId
        in: path
        required: true
        schema:
          type: string
        description: The ID of the worklog to delete.
      responses:
        '204':
          description: Worklog deleted successfully.
        '401':
          description: Unauthorized access. This indicates a problem with Authorization. Ensure apitoken is valid, and you are setting Authorization header to Bearer {apitoken}
        '403':
          description: Forbidden. The submitting user does not have permission to delete this worklog.
        '404':
          description: Worklog not found.
      tags:
      - Worklogs
  /api/v2/worklogs/views/incrementalChanges:
    servers:
    - url: /
      description: Production API
    get:
      summary: Get a list of all worklogs, including deleted worklogs.
      description: To get a change list, use parameters editedAt.start and editedAt.end to return a list of all changes during the specified timeframe. All other filters can be used in combination. Use returned worklog field isDeleted to identify deleted worklogs.
      parameters:
      - name: before
        in: query
        schema:
          type: string
        description: Cursor for pagination. Returns results before the specified cursor.
      - name: after
        in: query
        schema:
          type: string
        description: Cursor for pagination. Returns results after the specified cursor.
      - name: externalItemId
        in: query
        schema:
          type: array
          items:
            type: string
        description: Accepts a single string or array.
      - name: assigneeId
        in: query
        schema:
          type: array
          items:
            type: string
        description: Accepts a single string or array.
      - name: authorId
        in: query
        schema:
          type: array
          items:
            type: string
        description: Accepts a single string or array.
      - name: startedAt.start
        in: query
        schema:
          type: string
          format: date-time
        description: Filters worklogs that logged time starting after the specified date.
      - name: startedAt.end
        in: query
        schema:
          type: string
          format: date-time
        description: Filters worklogs that logged time starting before the specified date.
      - name: editedAt.start
        in: query
        schema:
          type: string
          format: date-time
        description: Filters worklogs that were updated after the specified date.
      - name: editedAt.end
        in: query
        schema:
          type: string
          format: date-time
        description: Filters worklogs that were updated before the specified date.
      - name: createdAt.start
        in: query
        schema:
          type: string
          format: date-time
        description: Filters worklogs that were created after the specified date.
      - name: createdAt.end
        in: query
        schema:
          type: string
          format: date-time
        description: Filters worklogs that were created before the specified date.
      responses:
        '200':
          description: A list of worklogs.
          content:
            application/json:
              schema:
                type: object
                properties:
                  result:
                    type: array
                    items:
                      $ref: '#/components/schemas/ChangedWorklog_2'
                  _links:
                    type: object
                    properties:
                      self:
                        type: object
                        properties:
                          href:
                            type: string
                      prev:
                        type: object
                        properties:
                          href:
                            type: string
                      next:
                        type: object
                        properties:
                          href:
                            type: string
                  pageInfo:
                    $ref: '#/components/schemas/PageInfo'
        '400':
          description: Error response for invalid filters.
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                  title:
                    type: string
                  detail:
                    type: string
                  traceId:
                    type: string
      tags:
      - Worklogs
  /api/v2/worklogs/migrated:
    servers:
    - url: /
      description: Production API
    post:
      summary: Create a migrated worklog
      description: Creates a migrated worklog. Requires ADMIN permission (Manage 7pace settings and assign roles to users). Migrated worklogs bypass tracking-details, locked-date, and closed-item validations, and are not synchronized to Jira.
      requestBody:
        description: Worklog object to create as migrated
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorklogRequest_2'
      responses:
        '200':
          description: Migrated worklog created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorklogResponse'
        '400':
          description: Worklog cannot be created, invalid request body.
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                  title:
                    type: string
                  detail:
                    type: string
             

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