Appfire Worklogs API

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

Operations 14

GET /api/v1/worklogs Get a list of worklogs
POST /api/v1/worklogs Create a worklog
PUT /api/v1/worklogs/{worklogId} Update a worklog
DELETE /api/v1/worklogs/{worklogId} Delete a worklog
GET /api/v1/worklogs/changes Get a list of all worklogs, including deleted worklogs.
POST /api/v1/worklogs/migrated Create a migrated worklog
DELETE /api/v1/worklogs/migrated/{worklogId} Delete a migrated worklog
GET /api/v2/worklogs Get a list of worklogs
POST /api/v2/worklogs Create a worklog
PUT /api/v2/worklogs/{worklogId} Update a worklog
DELETE /api/v2/worklogs/{worklogId} Delete a worklog
GET /api/v2/worklogs/views/incrementalChanges Get a list of all worklogs, including deleted worklogs.
POST /api/v2/worklogs/migrated Create a migrated worklog
DELETE /api/v2/worklogs/migrated/{worklogId} Delete a migrated worklog

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/appfire-worklogs-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

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