Skip to main content
Glama
client.service.ts•2.3 kB
import { ClockifyApiClient } from '../client.js'; import type { ClockifyClient } from '../../types/index.js'; export class ClientService { constructor(private client: ClockifyApiClient) {} async getAllClients( workspaceId: string, options?: { name?: string; archived?: boolean; page?: number; 'page-size'?: number; sortColumn?: string; sortOrder?: 'ASCENDING' | 'DESCENDING'; } ): Promise<ClockifyClient[]> { return this.client.get<ClockifyClient[]>(`/workspaces/${workspaceId}/clients`, options); } async getClientById(workspaceId: string, clientId: string): Promise<ClockifyClient> { return this.client.get<ClockifyClient>(`/workspaces/${workspaceId}/clients/${clientId}`); } async createClient( workspaceId: string, data: { name: string; address?: string; note?: string; email?: string; } ): Promise<ClockifyClient> { return this.client.post<ClockifyClient>(`/workspaces/${workspaceId}/clients`, data); } async updateClient( workspaceId: string, clientId: string, data: { name?: string; address?: string; note?: string; email?: string; archived?: boolean; } ): Promise<ClockifyClient> { return this.client.put<ClockifyClient>(`/workspaces/${workspaceId}/clients/${clientId}`, data); } async deleteClient(workspaceId: string, clientId: string): Promise<void> { return this.client.delete(`/workspaces/${workspaceId}/clients/${clientId}`); } async archiveClient(workspaceId: string, clientId: string): Promise<ClockifyClient> { return this.updateClient(workspaceId, clientId, { archived: true }); } async unarchiveClient(workspaceId: string, clientId: string): Promise<ClockifyClient> { return this.updateClient(workspaceId, clientId, { archived: false }); } async findClientByName(workspaceId: string, name: string): Promise<ClockifyClient[]> { return this.getAllClients(workspaceId, { name }); } async getActiveClients(workspaceId: string): Promise<ClockifyClient[]> { return this.getAllClients(workspaceId, { archived: false }); } async getArchivedClients(workspaceId: string): Promise<ClockifyClient[]> { return this.getAllClients(workspaceId, { archived: true }); } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hongkongkiwi/clockify-master-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server