# Fetch Bills — Mews

> Retrieve bills using Mews Connector API. See the documentation

- Key: `mews-fetch-bills`
- Type: Action (Read-only)
- Version: 0.0.1
- App: Mews (`mews`) — https://pipedream.com/apps/mews.md
- This page (HTML): https://pipedream.com/apps/mews/actions/fetch-bills
- Hints: read-only · open-world
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/mews/actions/fetch-bills/fetch-bills.mjs

## Description

Retrieve bills using Mews Connector API. [See the documentation](https://mews-systems.gitbook.io/connector-api/operations/bills#get-all-bills)

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `enterpriseIds` | `string[]` | No | Unique identifiers of the Enterprises. If not specified, the operation returns data for all enterprises within scope of the Access Token. Max 1000 items. Options are loaded from the connected account. |
| `billIds` | `string[]` | No | Unique identifiers (GUIDs) of the Bills. Required if no other filter is provided (max 1000 items). Options are loaded from the connected account. |
| `customerIds` | `string[]` | No | Unique identifiers (GUIDs) of the Customers the bills are issued to, as returned by Fetch Customers (max 1000 items). Options are loaded from the connected account. |
| `issuedStartUtc` | `string` | No | Start of the interval in which the Bill was issued. ISO 8601 format. Eg. 2025-01-01T00:00:00Z |
| `issuedEndUtc` | `string` | No | End of the interval in which the Bill was issued. ISO 8601 format (max 3 months interval). Eg. 2025-01-01T00:00:00Z |
| `paidStartUtc` | `string` | No | Start of the interval in which the Bill was paid. ISO 8601 format. Eg. 2025-01-01T00:00:00Z |
| `paidEndUtc` | `string` | No | End of the interval in which the Bill was paid. ISO 8601 format (max 3 months interval). Eg. 2025-01-01T00:00:00Z |
| `dueStartUtc` | `string` | No | Start of the interval in which the Bill is due to be paid. ISO 8601 format. Eg. 2025-01-01T00:00:00Z |
| `dueEndUtc` | `string` | No | End of the interval in which the Bill is due to be paid. ISO 8601 format (max 3 months interval). Eg. 2025-01-01T00:00:00Z |
| `createdStartUtc` | `string` | No | Start of the interval in which the Bill was created. ISO 8601 format. Eg. 2025-01-01T00:00:00Z |
| `createdEndUtc` | `string` | No | End of the interval in which the Bill was created. ISO 8601 format (max 3 months interval). Eg. 2025-01-01T00:00:00Z |
| `updatedStartUtc` | `string` | No | Start of the interval in which the Bill was updated. ISO 8601 format. Eg. 2025-01-01T00:00:00Z |
| `updatedEndUtc` | `string` | No | End of the interval in which the Bill was updated. ISO 8601 format (max 3 months interval). Eg. 2025-01-01T00:00:00Z |
| `state` | `string` | No | State the bills should be in. If not specified, both Open and Closed bills are returned. |
| `billType` | `string` | No | Type of the bills. If not specified, all types are returned. Receipt is a bill paid in full, Invoice is a bill issued to request payment. |
| `correctionStates` | `string[]` | No | Whether to return regular bills, corrective bills, or both. If Bill IDs are specified, defaults to both, otherwise defaults to Bill. |
| `maxResults` | `integer` | No | Maximum number of records to return (min 1, max 99999). Leave blank to return every matching record. |

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

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: "mews-fetch-bills",
  arguments: {
    enterpriseIds: ["Enterprise IDs"],
    billIds: ["Bill IDs"],
  },
})
```

**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: "mews-fetch-bills",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    mews: { authProvisionId: "apn_xxxxxxx" },
    enterpriseIds: ["Enterprise IDs"],
    billIds: ["Bill IDs"],
  },
})

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": "mews-fetch-bills",
    "configured_props": {
      "mews": { "authProvisionId": "apn_xxxxxxx" },
      "enterpriseIds": ["Enterprise IDs"],
      "billIds": ["Bill IDs"]
    }
  }'
```

---

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