# Delete Client — Clockify

> Deletes a client from a Clockify workspace. This cannot be undone. Clockify only allows deleting archived clients, so this action archives the client first if it isn't already. Use List Clients to find the ID of the client to delete. See…

- Key: `clockify-delete-client`
- Type: Action (Write)
- Version: 0.0.2
- App: Clockify (`clockify`) — https://pipedream.com/apps/clockify.md
- This page (HTML): https://pipedream.com/apps/clockify/actions/delete-client
- Hints: destructive · open-world
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/clockify/actions/delete-client/delete-client.mjs

## Description

Deletes a client from a Clockify workspace. This cannot be undone. Clockify only allows deleting archived clients, so this action archives the client first if it isn't already. Use **List Clients** to find the ID of the client to delete. [See the documentation](https://docs.clockify.me/#tag/Client/operation/deleteClient) and the [update endpoint](https://docs.clockify.me/#tag/Client/operation/updateClient) used for the archive step

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `workspaceId` | `string` | Yes | Identifier of a workspace Options are loaded from the connected account. |
| `clientId` | `string` | Yes | Identifier of a client Options are loaded from the connected account. |

## Run it

**MCP**

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_PROJECT_ID!,
        "x-pd-environment": "production",
        "x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
        "x-pd-app-slug": "clockify",
      },
    },
  },
)

const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)

const { tools } = await mcp.listTools()

// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
  name: "clockify-delete-client",
  arguments: {
    workspaceId: "Workspace",
    clientId: "Client",
  },
})
```

**TypeScript**

```ts
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "clockify-delete-client",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    clockify: { authProvisionId: "apn_xxxxxxx" },
    workspaceId: "Workspace",
    clientId: "Client",
  },
})

console.log(result)
```

**cURL**

```bash
curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
  -H "Content-Type: application/json" \
  -H "X-PD-Environment: production" \
  -H "Authorization: Bearer {access_token}" \
  -d '{
    "external_user_id": "{external_user_id}",
    "id": "clockify-delete-client",
    "configured_props": {
      "clockify": { "authProvisionId": "apn_xxxxxxx" },
      "workspaceId": "Workspace",
      "clientId": "Client"
    }
  }'
```

---

- App: https://pipedream.com/apps/clockify.md · All apps: https://pipedream.com/apps
