openapi: 3.1.0 info: title: Filevine Time Entries API description: > The Time Entries API records billable and non-billable time against a project, including the timer-driven entries captured by Filevine's context-aware timer. Entries carry a user, a project, a duration, an optional billing rate, and a narrative description. They feed invoice generation and staff productivity reports. version: '2.0' contact: name: Filevine API Support url: https://developer.filevine.io/ license: name: Filevine Terms of Service url: https://www.filevine.com/terms-of-service/ servers: - url: https://api.filevine.io description: Filevine API Gateway (US) - url: https://api.filevineapp.ca description: Filevine API Gateway (Canada) security: - BearerAuth: [] tags: - name: TimeEntries description: Billable time tracking. paths: /core/time-entries: get: summary: Filevine List Time Entries description: List time entries across the organization, filtered by user, project, and date range. operationId: listTimeEntries tags: [TimeEntries] parameters: - name: userId in: query schema: { type: integer, format: int64 } - name: projectId in: query schema: { type: integer, format: int64 } - name: from in: query schema: { type: string, format: date } - name: to in: query schema: { type: string, format: date } responses: '200': description: Time entries. content: application/json: schema: { $ref: '#/components/schemas/TimeEntryList' } post: summary: Filevine Create Time Entry description: Record a new time entry against a project. operationId: createTimeEntry tags: [TimeEntries] requestBody: required: true content: application/json: schema: { $ref: '#/components/schemas/CreateTimeEntryRequest' } responses: '201': description: Time entry created. content: application/json: schema: { $ref: '#/components/schemas/TimeEntry' } components: securitySchemes: BearerAuth: type: http scheme: bearer bearerFormat: JWT schemas: TimeEntry: type: object properties: timeEntryId: { type: integer, format: int64 } projectId: { type: integer, format: int64 } userId: { type: integer, format: int64 } date: { type: string, format: date } durationMinutes: { type: integer } billable: { type: boolean } rate: { type: number, format: float } currency: { type: string, default: USD } description: { type: string } createdDate: { type: string, format: date-time } TimeEntryList: type: object properties: items: type: array items: { $ref: '#/components/schemas/TimeEntry' } hasMore: { type: boolean } CreateTimeEntryRequest: type: object required: [projectId, durationMinutes, date] properties: projectId: { type: integer, format: int64 } userId: { type: integer, format: int64 } date: { type: string, format: date } durationMinutes: { type: integer } billable: { type: boolean, default: true } rate: { type: number, format: float } description: { type: string }