# List Contracts — Deel

> List and search all contracts in Deel across IC (independent contractor), EOR (employer of record), and GP (global payroll) types. Use this to find contract IDs, check statuses, or browse the contractor/employee roster. Supports filtering…

- Key: `deel-list-contracts`
- Type: Action (Read-only)
- Version: 0.0.2
- App: Deel (`deel`) — https://pipedream.com/apps/deel.md
- This page (HTML): https://pipedream.com/apps/deel/actions/list-contracts
- Hints: read-only · open-world
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/deel/actions/list-contracts/list-contracts.mjs

## Description

List and search all contracts in Deel across IC (independent contractor), EOR (employer of record), and GP (global payroll) types. Use this to find contract IDs, check statuses, or browse the contractor/employee roster. Supports filtering by search term, status, contract type, team, and country. Returns contract ID, title, type, status, worker name, and start date. [See the documentation](https://developer.deel.com/api/reference/endpoints/contracts/get-contracts)

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `search` | `string` | No | Search by contract title or worker name. |
| `statuses` | `string[]` | No | Filter by contract status. Valid values include pending, active, ended, cancelled. |
| `types` | `string[]` | No | Filter by contract type. Valid values include fixed_rate_contract, pay_as_you_go_contract, milestone_contract, eor_employee, global_payroll_employee. |
| `teamId` | `string` | No | Filter contracts by client team ID. |
| `countries` | `string[]` | No | Filter by worker country. Use ISO 3166-1 alpha-2 codes (e.g., DE, US, GB). |
| `limit` | `integer` | No | Maximum number of contracts to return (default: 50). |
| `afterCursor` | `string` | No | Cursor for pagination. Use the after_cursor value from a previous response to get the next page. |

## 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": "deel",
      },
    },
  },
)

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: "deel-list-contracts",
  arguments: {
    search: "Search",
    statuses: ["Statuses"],
  },
})
```

**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: "deel-list-contracts",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    deel: { authProvisionId: "apn_xxxxxxx" },
    search: "Search",
    statuses: ["Statuses"],
  },
})

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": "deel-list-contracts",
    "configured_props": {
      "deel": { "authProvisionId": "apn_xxxxxxx" },
      "search": "Search",
      "statuses": ["Statuses"]
    }
  }'
```

---

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