Integrate Worktivity seamlessly into your applications with our comprehensive REST API. Access time tracking, employee monitoring, productivity insights, and more with clear documentation and code examples in multiple languages.
Explore all endpoints interactively with our Swagger UI documentation.
Open Swagger DocumentationGet available enum values for DateFilter, Status, Role, and other enum fields used in API requests.
/Definition/ListEnumsGet all available enum values including DateFilter, Status, Role, ProjectStatus, TaskStatus, and other enum types used throughout the API. Enum values are returned as integer mappings.
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
x_api_key | string | query | Yes | Your API authentication key |
curl -X POST "https://open-api.useworktivity.com/Definition/ListEnums?x_api_key=YOUR_API_KEY"{
"Success": true,
"Message": "Operation completed successfully",
"Data": {
"DateFilters": [
{
"Value": 0,
"Name": "Today"
},
{
"Value": 1,
"Name": "Yesterday"
},
{
"Value": 2,
"Name": "ThisWeek"
},
{
"Value": 3,
"Name": "LastWeek"
},
{
"Value": 4,
"Name": "ThisMonth"
},
{
"Value": 5,
"Name": "LastMonth"
},
{
"Value": 6,
"Name": "Custom"
}
],
"Roles": [
{
"Value": 0,
"Name": "Admin"
},
{
"Value": 1,
"Name": "Manager"
},
{
"Value": 2,
"Name": "Employee"
}
],
"Statuses": [
{
"Value": 0,
"Name": "Pending"
},
{
"Value": 1,
"Name": "Approved"
},
{
"Value": 2,
"Name": "Rejected"
}
]
}
}All API requests require authentication using an API key.
https://open-api.useworktivity.comQuery Parameter: x_api_key5/sec • 100/min • 1000/hourInclude your API key in every request as a query parameter:
curl -X POST "https://open-api.useworktivity.com/Employee/List?x_api_key=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"Page": 1,
"PageSize": 50,
"SearchText": "john",
"TeamId": "team-id-optional",
"IncludeBlocked": false
}'{
"Success": true,
"Message": "Operation completed successfully",
"Data": {},
"ValidationErrors": null
}{
"Success": false,
"Message": "Error description",
"Data": null,
"ValidationErrors": [
{
"Key": "Email",
"Value": "Email is required"
},
{
"Key": "Name",
"Value": "Name must be at least 3 characters"
}
]
}Manage employees, track settings, and handle invitations.
/Employee/ListGet a list of all employees in your organization.
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
x_api_key | string | query | Yes | Your API authentication key |
Page | number | body | No | Page number (default: 1) |
PageSize | number | body | No | Items per page (default: 50, max: 100) |
SearchText | string | body | No | Search text to filter employees by name or email |
TeamId | string | body | No | Filter by team ID (empty for all teams) |
IncludeBlocked | boolean | body | No | Include blocked employees (default: false) |
{
"Page": 1,
"PageSize": 50,
"SearchText": "john",
"TeamId": "team-id-optional",
"IncludeBlocked": false
}curl -X POST "https://open-api.useworktivity.com/Employee/List?x_api_key=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"Page": 1,
"PageSize": 50,
"SearchText": "john",
"TeamId": "team-id-optional",
"IncludeBlocked": false
}'{
"Success": true,
"Message": "Operation completed successfully",
"Data": {
"Items": [
{
"Id": "employee-id-123",
"Name": "John Doe",
"Email": "john.doe@example.com",
"IsActive": true,
"CreatedAt": "2024-01-15T10:30:00Z"
}
],
"TotalCount": 1,
"Page": 1,
"PageSize": 50
}
}/Employee/CreateCreate a new employee and send them an invitation.
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
x_api_key | string | query | Yes | Your API authentication key |
Name | string | body | Yes | Employee full name |
Email | string | body | Yes | Employee email address |
TeamId | string | body | Yes | Team ID to assign employee to |
Role | string | body | Yes | Employee role (use Definition/ListEnums to get available roles) |
HourlyRate | number | body | No | Hourly pay rate for the employee |
{
"Name": "Jane Smith",
"Email": "jane.smith@example.com",
"TeamId": "team-id-1",
"Role": "Employee",
"HourlyRate": 25
}curl -X POST "https://open-api.useworktivity.com/Employee/Create?x_api_key=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"Name": "Jane Smith",
"Email": "jane.smith@example.com",
"TeamId": "team-id-1",
"Role": "Employee",
"HourlyRate": 25
}'{
"Success": true,
"Message": "Employee created successfully",
"Data": {
"Id": "employee-id-456",
"Name": "Jane Smith",
"Email": "jane.smith@example.com"
}
}/Employee/UpdateUpdate employee information and settings.
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
x_api_key | string | query | Yes | Your API authentication key |
Id | string | body | Yes | Employee ID to update |
Name | string | body | Yes | Employee full name |
Email | string | body | Yes | Employee email address |
TeamId | string | body | Yes | Team ID to assign employee to |
Role | string | body | Yes | Employee role (use Definition/ListEnums to get available roles) |
HourlyRate | number | body | Yes | Hourly pay rate for the employee |
IsActive | boolean | body | Yes | Whether the employee is active |
{
"Id": "employee-id-123",
"Name": "John Doe Updated",
"Email": "john.updated@example.com",
"TeamId": "team-id-1",
"Role": "Employee",
"HourlyRate": 30,
"IsActive": true
}curl -X POST "https://open-api.useworktivity.com/Employee/Update?x_api_key=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"Id": "employee-id-123",
"Name": "John Doe Updated",
"Email": "john.updated@example.com",
"TeamId": "team-id-1",
"Role": "Employee",
"HourlyRate": 30,
"IsActive": true
}'{
"Success": true,
"Message": "Employee updated successfully",
"Data": {
"Id": "employee-id-123",
"Name": "John Doe Updated"
}
}/Employee/DeleteDelete an employee from your organization.
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
x_api_key | string | query | Yes | Your API authentication key |
Id | string | body | Yes | Employee ID to delete |
{
"Id": "employee-id-123"
}curl -X POST "https://open-api.useworktivity.com/Employee/Delete?x_api_key=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"Id": "employee-id-123"
}'{
"Success": true,
"Message": "Employee deleted successfully",
"Data": null
}Retrieve timesheets, time entries, and activity logs.
/Timesheet/ListGet timesheet data with filtering options for date range, employees, and projects.
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
x_api_key | string | query | Yes | Your API authentication key |
DateFilter | enum | body | No | Date filter enum (integer). Use Definition/ListEnums endpoint to get available enum values |
StartDate | string | body | No | Start date for custom range (ISO 8601 format) |
EndDate | string | body | No | End date for custom range (ISO 8601 format) |
EmployeeId | string | body | No | Filter by employee ID (empty for all) |
ProjectId | string | body | No | Filter by project ID (empty for all) |
Page | number | body | No | Page number (default: 1) |
PageSize | number | body | No | Items per page (default: 50, max: 100) |
{
"DateFilter": "ThisMonth",
"StartDate": "2024-01-01T00:00:00Z",
"EndDate": "2024-01-31T23:59:59Z",
"EmployeeId": "",
"ProjectId": "",
"Page": 1,
"PageSize": 50
}curl -X POST "https://open-api.useworktivity.com/Timesheet/List?x_api_key=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"DateFilter": "ThisMonth",
"StartDate": "2024-01-01T00:00:00Z",
"EndDate": "2024-01-31T23:59:59Z",
"EmployeeId": "",
"ProjectId": "",
"Page": 1,
"PageSize": 50
}'{
"Success": true,
"Message": "Operation completed successfully",
"Data": {
"Items": [
{
"EmployeeId": "employee-id-123",
"EmployeeName": "John Doe",
"Date": "2024-01-15",
"TotalHours": 8.5,
"ProjectHours": [
{
"ProjectId": "project-id-1",
"ProjectName": "Website Redesign",
"Hours": 6
}
]
}
],
"TotalCount": 1,
"Page": 1,
"PageSize": 50
}
}/TimeEntry/ListGet detailed time entries with approval status and notes.
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
x_api_key | string | query | Yes | Your API authentication key |
DateFilter | enum | body | No | Date filter enum (integer). Use Definition/ListEnums endpoint to get available enum values |
EmployeeId | string | body | No | Filter by employee ID (empty for all) |
ProjectId | string | body | No | Filter by project ID (empty for all) |
Status | enum | body | No | Filter by status enum (integer). Use Definition/ListEnums endpoint to get available enum values |
Page | number | body | No | Page number (default: 1) |
PageSize | number | body | No | Items per page (default: 50, max: 100) |
{
"DateFilter": "Today",
"EmployeeId": "",
"ProjectId": "",
"Status": "All",
"Page": 1,
"PageSize": 50
}curl -X POST "https://open-api.useworktivity.com/TimeEntry/List?x_api_key=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"DateFilter": "Today",
"EmployeeId": "",
"ProjectId": "",
"Status": "All",
"Page": 1,
"PageSize": 50
}'{
"Success": true,
"Message": "Operation completed successfully",
"Data": {
"Items": [
{
"Id": "entry-id-123",
"EmployeeId": "employee-id-123",
"ProjectId": "project-id-1",
"StartTime": "2024-01-15T09:00:00Z",
"EndTime": "2024-01-15T17:00:00Z",
"Duration": 28800,
"Description": "Working on API documentation",
"Status": "Approved"
}
],
"TotalCount": 1
}
}/ActivityLogs/ListGet employee activity logs including app usage, websites, screenshots, and productivity metrics.
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
x_api_key | string | query | Yes | Your API authentication key |
DateFilter | enum | body | No | Date filter enum (integer). Use Definition/ListEnums endpoint to get available enum values |
EmployeeId | string | body | No | Filter by employee ID (empty for all) |
HasScreenshot | boolean | body | No | Filter by screenshots available (true/false) |
Page | number | body | No | Page number (default: 1) |
PageSize | number | body | No | Items per page (default: 50, max: 100) |
{
"DateFilter": "Today",
"EmployeeId": "employee-id-optional",
"HasScreenshot": true,
"Page": 1,
"PageSize": 50
}curl -X POST "https://open-api.useworktivity.com/ActivityLogs/List?x_api_key=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"DateFilter": "Today",
"EmployeeId": "employee-id-optional",
"HasScreenshot": true,
"Page": 1,
"PageSize": 50
}'{
"Success": true,
"Message": "Operation completed successfully",
"Data": {
"Items": [
{
"Id": "log-id-123",
"EmployeeId": "employee-id-123",
"Timestamp": "2024-01-15T14:30:00Z",
"Applications": [
{
"Name": "Visual Studio Code",
"Duration": 1800,
"IsProductive": true
}
],
"Websites": [
{
"Url": "https://github.com",
"Domain": "github.com",
"Duration": 900
}
],
"ScreenshotUrl": "https://cdn.useworktivity.com/screenshots/...",
"ProductivityScore": 85,
"KeyboardActivity": 1200,
"MouseActivity": 800
}
],
"TotalCount": 1,
"Page": 1,
"PageSize": 50
}
}Manage projects, tasks, customers, and team assignments.
/Project/ListGet a list of all projects with their details and status.
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
x_api_key | string | query | Yes | Your API authentication key |
Page | number | body | No | Page number (default: 1) |
PageSize | number | body | No | Items per page (default: 50, max: 100) |
SearchTerm | string | body | No | Search term to filter projects |
{
"Page": 1,
"PageSize": 50,
"SearchTerm": ""
}curl -X POST "https://open-api.useworktivity.com/Project/List?x_api_key=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"Page": 1,
"PageSize": 50,
"SearchTerm": ""
}'{
"Success": true,
"Message": "Operation completed successfully",
"Data": {
"Items": [
{
"Id": "project-id-1",
"Name": "Website Redesign",
"Description": "Complete redesign of company website",
"CustomerId": "customer-id-1",
"Status": "InProgress",
"CreatedAt": "2024-01-01T00:00:00Z"
}
],
"TotalCount": 1
}
}/Project/AddUpdateProjectCreate a new project or update an existing one.
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
x_api_key | string | query | Yes | Your API authentication key |
Id | string | body | No | Project ID (empty for new project) |
Name | string | body | Yes | Project name |
Description | string | body | No | Project description |
CustomerId | string | body | No | Customer ID for the project |
TeamIds | array | body | No | Array of team IDs assigned to project |
Status | string | body | No | Project status (NotStarted, InProgress, Completed, OnHold) |
{
"Id": "",
"Name": "New Project",
"Description": "Project description",
"CustomerId": "customer-id-1",
"TeamIds": [
"team-id-1"
],
"Status": "NotStarted"
}curl -X POST "https://open-api.useworktivity.com/Project/AddUpdateProject?x_api_key=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"Id": "",
"Name": "New Project",
"Description": "Project description",
"CustomerId": "customer-id-1",
"TeamIds": [
"team-id-1"
],
"Status": "NotStarted"
}'{
"Success": true,
"Message": "Project created successfully",
"Data": {
"Id": "project-id-new",
"Name": "New Project"
}
}/Project/ListTasksGet all tasks for a specific project.
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
x_api_key | string | query | Yes | Your API authentication key |
ProjectId | string | body | Yes | Project ID to get tasks for |
Page | number | body | No | Page number (default: 1) |
PageSize | number | body | No | Items per page (default: 50, max: 100) |
{
"ProjectId": "project-id-1",
"Page": 1,
"PageSize": 50
}curl -X POST "https://open-api.useworktivity.com/Project/ListTasks?x_api_key=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"ProjectId": "project-id-1",
"Page": 1,
"PageSize": 50
}'{
"Success": true,
"Message": "Operation completed successfully",
"Data": {
"Items": [
{
"Id": "task-id-1",
"Title": "Design homepage",
"Description": "Create initial design mockups",
"Status": "InProgress",
"Priority": "High",
"AssigneeIds": [
"employee-id-123"
],
"DueDate": "2024-01-20T00:00:00Z"
}
],
"TotalCount": 1
}
}/Project/AddUpdateTaskCreate a new task or update an existing one within a project.
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
x_api_key | string | query | Yes | Your API authentication key |
Id | string | body | No | Task ID (empty for new task) |
ProjectId | string | body | Yes | Project ID to create task in |
Title | string | body | Yes | Task title |
Description | string | body | No | Task description |
Status | string | body | No | Task status (NotStarted, InProgress, Completed, OnHold) |
Priority | string | body | No | Task priority (Low, Medium, High, Critical) |
AssigneeIds | array | body | No | Array of employee IDs assigned to task |
DueDate | string | body | No | Task due date (ISO 8601 format) |
{
"Id": "",
"ProjectId": "project-id-1",
"Title": "New Task",
"Description": "Task description",
"Status": "NotStarted",
"Priority": "Medium",
"AssigneeIds": [
"employee-id-123"
],
"DueDate": "2024-01-25T00:00:00Z"
}curl -X POST "https://open-api.useworktivity.com/Project/AddUpdateTask?x_api_key=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"Id": "",
"ProjectId": "project-id-1",
"Title": "New Task",
"Description": "Task description",
"Status": "NotStarted",
"Priority": "Medium",
"AssigneeIds": [
"employee-id-123"
],
"DueDate": "2024-01-25T00:00:00Z"
}'{
"Success": true,
"Message": "Task created successfully",
"Data": {
"Id": "task-id-new",
"Title": "New Task"
}
}Get productivity insights, work times, and application usage analytics.
/Insights/ProductivityGet productivity insights and analytics for employees or teams.
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
x_api_key | string | query | Yes | Your API authentication key |
DateFilter | enum | body | No | Date filter enum (integer). Use Definition/ListEnums endpoint to get available enum values |
EmployeeId | string | body | No | Filter by employee ID (empty for all) |
TeamId | string | body | No | Filter by team ID (empty for all) |
{
"DateFilter": "ThisMonth",
"EmployeeId": "",
"TeamId": ""
}curl -X POST "https://open-api.useworktivity.com/Insights/Productivity?x_api_key=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"DateFilter": "ThisMonth",
"EmployeeId": "",
"TeamId": ""
}'{
"Success": true,
"Message": "Operation completed successfully",
"Data": {
"AverageProductivityScore": 78.5,
"TotalActiveTime": 14400,
"TotalIdleTime": 3600,
"Employees": [
{
"EmployeeId": "employee-id-123",
"EmployeeName": "John Doe",
"ProductivityScore": 85,
"ActiveTime": 28800,
"IdleTime": 1800
}
]
}
}/Insights/WorkTimesGet work time statistics and analysis.
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
x_api_key | string | query | Yes | Your API authentication key |
DateFilter | enum | body | No | Date filter enum (integer). Use Definition/ListEnums endpoint to get available enum values |
EmployeeId | string | body | No | Filter by employee ID (empty for all) |
TeamId | string | body | No | Filter by team ID (empty for all) |
{
"DateFilter": "ThisWeek",
"EmployeeId": "",
"TeamId": ""
}curl -X POST "https://open-api.useworktivity.com/Insights/WorkTimes?x_api_key=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"DateFilter": "ThisWeek",
"EmployeeId": "",
"TeamId": ""
}'{
"Success": true,
"Message": "Operation completed successfully",
"Data": {
"TotalHours": 160.5,
"AverageHoursPerDay": 8,
"DailyBreakdown": [
{
"Date": "2024-01-15",
"Hours": 8.5,
"EmployeeCount": 3
}
]
}
}/Insights/AppsSummaryGet a summary of application usage across employees or teams.
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
x_api_key | string | query | Yes | Your API authentication key |
DateFilter | enum | body | No | Date filter enum (integer). Use Definition/ListEnums endpoint to get available enum values |
EmployeeId | string | body | No | Filter by employee ID (empty for all) |
TeamId | string | body | No | Filter by team ID (empty for all) |
Page | number | body | No | Page number (default: 1) |
PageSize | number | body | No | Items per page (default: 50, max: 100) |
{
"DateFilter": "ThisMonth",
"EmployeeId": "",
"TeamId": "",
"Page": 1,
"PageSize": 50
}curl -X POST "https://open-api.useworktivity.com/Insights/AppsSummary?x_api_key=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"DateFilter": "ThisMonth",
"EmployeeId": "",
"TeamId": "",
"Page": 1,
"PageSize": 50
}'{
"Success": true,
"Message": "Operation completed successfully",
"Data": {
"Items": [
{
"ApplicationName": "Visual Studio Code",
"TotalUsage": 72000,
"UsagePercentage": 35.5,
"IsProductive": true,
"UserCount": 5
}
],
"TotalCount": 1
}
}Retrieve and manage screenshots and timelapse videos.
/Screenshots/ListGet screenshots captured during work sessions with filtering options.
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
x_api_key | string | query | Yes | Your API authentication key |
DateFilter | enum | body | No | Date filter enum (integer). Use Definition/ListEnums endpoint to get available enum values |
EmployeeId | string | body | No | Filter by employee ID (empty for all) |
Page | number | body | No | Page number (default: 1) |
PageSize | number | body | No | Items per page (default: 50, max: 100) |
{
"DateFilter": "Today",
"EmployeeId": "employee-id-123",
"Page": 1,
"PageSize": 50
}curl -X POST "https://open-api.useworktivity.com/Screenshots/List?x_api_key=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"DateFilter": "Today",
"EmployeeId": "employee-id-123",
"Page": 1,
"PageSize": 50
}'{
"Success": true,
"Message": "Operation completed successfully",
"Data": {
"Items": [
{
"Id": "screenshot-id-123",
"EmployeeId": "employee-id-123",
"EmployeeName": "John Doe",
"Url": "https://cdn.useworktivity.com/screenshots/...",
"ThumbnailUrl": "https://cdn.useworktivity.com/screenshots/thumbnails/...",
"Timestamp": "2024-01-15T14:30:00Z",
"ProductivityScore": 85
}
],
"TotalCount": 1
}
}/TimelapseVideos/ListGet timelapse videos created from screenshot sequences.
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
x_api_key | string | query | Yes | Your API authentication key |
DateFilter | enum | body | No | Date filter enum (integer). Use Definition/ListEnums endpoint to get available enum values |
EmployeeId | string | body | No | Filter by employee ID (empty for all) |
Page | number | body | No | Page number (default: 1) |
PageSize | number | body | No | Items per page (default: 20, max: 100) |
{
"DateFilter": "ThisWeek",
"EmployeeId": "employee-id-123",
"Page": 1,
"PageSize": 20
}curl -X POST "https://open-api.useworktivity.com/TimelapseVideos/List?x_api_key=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"DateFilter": "ThisWeek",
"EmployeeId": "employee-id-123",
"Page": 1,
"PageSize": 20
}'{
"Success": true,
"Message": "Operation completed successfully",
"Data": {
"Items": [
{
"Id": "video-id-123",
"EmployeeId": "employee-id-123",
"EmployeeName": "John Doe",
"VideoUrl": "https://cdn.useworktivity.com/videos/...",
"ThumbnailUrl": "https://cdn.useworktivity.com/videos/thumbnails/...",
"Date": "2024-01-15",
"Duration": 3600,
"ScreenshotCount": 120
}
],
"TotalCount": 1
}
}Calculate payroll, manage invoices, and track costs.
/CostManagement/PayrollCalculate payroll for employees based on work hours and pay rates.
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
x_api_key | string | query | Yes | Your API authentication key |
DateFilter | enum | body | No | Date filter enum (integer). Use Definition/ListEnums endpoint to get available enum values |
StartDate | string | body | No | Start date for custom range (ISO 8601 format) |
EndDate | string | body | No | End date for custom range (ISO 8601 format) |
EmployeeId | string | body | No | Filter by employee ID (empty for all) |
TeamId | string | body | No | Filter by team ID (empty for all) |
IncludePaid | boolean | body | No | Include already paid periods (default: false) |
{
"DateFilter": "ThisMonth",
"StartDate": "2024-01-01T00:00:00Z",
"EndDate": "2024-01-31T23:59:59Z",
"EmployeeId": "",
"TeamId": "",
"IncludePaid": false
}curl -X POST "https://open-api.useworktivity.com/CostManagement/Payroll?x_api_key=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"DateFilter": "ThisMonth",
"StartDate": "2024-01-01T00:00:00Z",
"EndDate": "2024-01-31T23:59:59Z",
"EmployeeId": "",
"TeamId": "",
"IncludePaid": false
}'{
"Success": true,
"Message": "Operation completed successfully",
"Data": {
"Items": [
{
"EmployeeId": "employee-id-123",
"EmployeeName": "John Doe",
"TotalHours": 160,
"HourlyRate": 25,
"TotalAmount": 4000,
"PaidAmount": 0,
"UnpaidAmount": 4000
}
],
"TotalAmount": 4000,
"TotalPaid": 0,
"TotalUnpaid": 4000
}
}/CostManagement/ListInvoicesGet a list of invoices with their status and details.
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
x_api_key | string | query | Yes | Your API authentication key |
Page | number | body | No | Page number (default: 1) |
PageSize | number | body | No | Items per page (default: 50, max: 100) |
Status | enum | body | No | Filter by status enum (integer). Use Definition/ListEnums endpoint to get available enum values |
{
"Page": 1,
"PageSize": 50,
"Status": "All"
}curl -X POST "https://open-api.useworktivity.com/CostManagement/ListInvoices?x_api_key=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"Page": 1,
"PageSize": 50,
"Status": "All"
}'{
"Success": true,
"Message": "Operation completed successfully",
"Data": {
"Items": [
{
"Id": "invoice-id-123",
"InvoiceNumber": "INV-2024-001",
"CustomerId": "customer-id-1",
"CustomerName": "ABC Company",
"Amount": 5000,
"Status": "Sent",
"DueDate": "2024-02-15T00:00:00Z",
"CreatedAt": "2024-01-15T00:00:00Z"
}
],
"TotalCount": 1
}
}No credit card required