# Zip

```json
{
  "name": "Zip",
  "slug": "zip",
  "url": "https://composio.dev/toolkits/zip",
  "markdown_url": "https://composio.dev/toolkits/zip.md",
  "logo_url": "https://logos.composio.dev/api/zip",
  "categories": [
    "finance & accounting"
  ],
  "is_composio_managed": false,
  "updated_at": "2026-11-12T05:37:36.302Z"
}
```

![Zip logo](https://logos.composio.dev/api/zip)

## Description

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Zip MCP or direct API to manage purchase requests, track approvals, look up suppliers, and review spend through natural language.

## Summary

Zip is an AI procurement orchestration platform for managing purchasing, approvals, suppliers, contracts, invoices, and spend.
It helps teams control procurement from intake to payment in one connected workflow.

## Categories

- finance & accounting

## Toolkit Details

- Tools: 161

## Images

- Logo: https://logos.composio.dev/api/zip

## Authentication

- **Api Key**
  - Type: `api_key`
  - Description: Api Key authentication for Zip.
  - Setup:
    - Configure Api Key credentials for Zip.
    - Use the credentials when creating an auth config in Composio.

## Suggested Prompts

- List recent Zip purchase requests
- Track pending Zip approval workflows
- Find suppliers linked to active contracts

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `ZIP_ARCHIVE_ITEM_RECEIPT` | Archive an item receipt | Archive an item receipt. Archives a submitted receipt or return, the same way archiving works in Zip. An archived receipt no longer counts toward three-way match, and allocation to matched bills runs again without it. Fails if the receipt backs a bill that has already been paid. This is a status change, not a delete. On success, the archived item receipt is returned. |
| `ZIP_CREATE_ADDRESS` | Create address | Create a vendor or company address in Zip from structured address fields. |
| `ZIP_CREATE_COMMENT` | Create a comment | Create a comment or reply to an existing comment on Zip's request details page (RDP). |
| `ZIP_CREATE_DELEGATION` | Create a delegation | Create a delegation. Create an out-of-office delegation. The delegator's approval responsibilities will be transferred to the delegate for the specified date range. Only one active (unexpired) delegation is allowed per delegator. Circular delegations (A delegates to B who delegates back to A) are not allowed. |
| `ZIP_CREATE_DEPARTMENT` | Create a department | Create a department in Zip with its name, display name, active status, and visibility settings. |
| `ZIP_CREATE_E_INVOICE` | Create an invoice from e-invoice XML | Create an invoice from an e-invoice payload. Send XML with `application/xml` or `text/xml`, or send the documented JSON form with `application/json` when supplying an optional PDF. Set `provider` only for invoices processed through Zip's billable provider agreement, and set `jurisdiction=FR` only with explicit France routing context; neither value is inferred from the payload. |
| `ZIP_CREATE_EXPENSE_CATEGORY` | Create an expense category | Create an expense category in Zip with its accounting and active-status fields. |
| `ZIP_CREATE_GL_CODE` | Create GL code | Create a GL account in Zip. |
| `ZIP_CREATE_INVOICE` | Create an invoice | Create an invoice. Creates a new draft bill invoice with the specified details and initializes its approval workflow. The invoice can optionally be matched to one or more purchase orders by providing either purchase_order_ids or purchase_order_numbers. On success, the created invoice is returned. |
| `ZIP_CREATE_INVOICE_LINE_ITEMS` | Add invoice line items | Add multiple line items to an existing bill invoice by invoice ID. |
| `ZIP_CREATE_ITEM_ACCOUNT` | Create item account | Create an item-account lookup record in Zip from the supplied account fields. |
| `ZIP_CREATE_ITEM_RECEIPT` | Create an item receipt | Create an item receipt. Creates a receipt or a return against one purchase order, already submitted. Each line must name a line on that purchase order that requires receiving, at most once, with quantity for a quantity line or total_amount for an amount line. Allocation to matched bills runs after the receipt is saved, as it does for receipts submitted in Zip. Purchase orders that receive in an ERP are rejected. On success, the created item receipt is returned. |
| `ZIP_CREATE_LOCATION` | Create location | Create a company location in Zip with a name and status. |
| `ZIP_CREATE_LOOKUP` | Create look up type | Create a lookup type in Zip. |
| `ZIP_CREATE_LOOKUP_OPTION` | Create a lookup option | Create a lookup option in Zip. |
| `ZIP_CREATE_PRODUCT` | Create a product | Create a product in Zip with its required name and optional product metadata. |
| `ZIP_CREATE_QUEUE` | Create main queue | Create a main approval queue in Zip. |
| `ZIP_CREATE_RISK_ASSESSMENT` | Create a risk assessment | Record a completed or canceled risk assessment performed outside Zip. |
| `ZIP_CREATE_ROLE` | Create a role | Create an organization role in Zip. |
| `ZIP_CREATE_SAVING_LINE_ITEM` | Create a saving line item | Add a saving line item to an existing Zip purchase request. |
| `ZIP_CREATE_SUBQUEUE_BY_MAIN_QUEUE_ID` | Create subqueue | Create subqueue. Creates a subqueue on a main queue by ID. |
| `ZIP_CREATE_SUBSIDIARY` | Create a subsidiary | Create an organization subsidiary in Zip. |
| `ZIP_CREATE_TAX_CODE` | Create a tax code | Create a tax code in Zip with its name, type, active status, and accounting fields. |
| `ZIP_CREATE_USER` | Create a user | Create a user in Zip; this API operation requires a Zip Premier subscription. |
| `ZIP_CREATE_VENDOR_CONTACT` | Create vendor contact | Create a contact for a vendor in Zip. |
| `ZIP_CREATE_VENDOR_CREDIT` | Create a vendor credit | Create a vendor credit. Creates a new uncoded vendor credit with the specified details and initializes its approval workflow. On success, the created vendor credit is returned. This endpoint must be enabled for your organization. |
| `ZIP_CREATE_VENDOR_CREDIT_LINE_ITEMS` | Add vendor credit line items | Add multiple line items to an existing Zip vendor credit; this endpoint must be enabled for the organization. |
| `ZIP_CREATE_VENDOR_ITEM` | Create a vendor item | Create a vendor item in Zip from the supplied item fields. |
| `ZIP_CREATE_VENDOR_ITEM_GROUP` | Create a vendor item group | Create a vendor item group in Zip from the supplied group fields. |
| `ZIP_CREATE_VENDOR_SITE` | Create a vendor site | Create a vendor site in Zip with the supplied site attributes. |
| `ZIP_DEACTIVATE_USER` | Deactivates user by ID | Destructive, high-impact operation that deactivates a Zip user's access and may require reassignment of their work; it does not delete the user record. Verify the user ID before calling. |
| `ZIP_DELETE_COMMENT` | Delete a comment | Delete a Zip comment by its GUID on behalf of the specified user. |
| `ZIP_DELETE_DELEGATION` | Delete a delegation | Delete a delegation. Soft-delete a delegation by setting its end date to yesterday. This is the same operation as the "End Now" and "Delete" actions in the Zip UI. The delegation's status will become EXPIRED and any currently delegated approvals will be reassigned back to the original delegator. |
| `ZIP_DELETE_DEPARTMENT_BY_ID` | Delete department by ID | Delete a single department from Zip by ID. |
| `ZIP_DELETE_EXPENSE_CATEGORY_BY_ID` | Delete expense category by ID | Delete an expense category from Zip so it can no longer be used for expense classification. |
| `ZIP_DELETE_LOCATION_BY_ID` | Delete location by ID | Delete a company location from Zip by ID. |
| `ZIP_DELETE_LOOKUP_BY_ID` | Delete lookup by ID | Delete a Zip lookup type by ID. |
| `ZIP_DELETE_LOOKUP_OPTION_BY_ID` | Delete lookup option by ID | Delete a Zip lookup option by ID. |
| `ZIP_DELETE_OPTION_FILTER_RULE` | Delete an option filter rule by rule ID | Delete a Zip option filter rule by its client-provided rule ID. |
| `ZIP_DELETE_QUEUE_BY_ID` | Delete queue by Id | Delete a main queue or subqueue from Zip by queue ID. |
| `ZIP_DELETE_ROLE_BY_ID` | Delete role by ID | Delete a single organization role from Zip by ID. |
| `ZIP_DELETE_SAVING_LINE_ITEM` | Delete a saving line item | Delete the purchase-request saving line item identified by `saving_line_item_id`. |
| `ZIP_DELETE_SUBSIDIARY_BY_ID` | Delete subsidiary by ID | Delete a single organization subsidiary from Zip by ID. |
| `ZIP_DELETE_TAX_CODE_BY_ID` | Delete tax code by ID | Delete a tax code from Zip by ID so it is no longer available for tax classification. |
| `ZIP_DELETE_VENDOR_BY_ID` | Delete vendor by ID | Delete a single vendor from Zip by vendor ID. |
| `ZIP_GET_AGENT_SESSION_BY_ID` | Get agent session by ID | Get metadata for an agent session when Superagents is enabled. |
| `ZIP_GET_AGREEMENT_BY_ID` | Get agreement by ID | Retrieve one Zip agreement when its `agreement_id` is already known. |
| `ZIP_GET_AMORTIZATION_SCHEDULE_BY_ID` | Get amortization schedule by ID | Retrieve one Zip amortization schedule when its `amortization_schedule_id` is already known. |
| `ZIP_GET_CHANGE_ORDER_BY_ID` | Get a change order by ID | Get a change order by ID. Returns the changed header fields and created, deleted, and updated purchase order lines for a change order. |
| `ZIP_GET_DELEGATION` | Get a delegation by ID | Retrieve one out-of-office approval delegation from Zip by ID. |
| `ZIP_GET_DEPARTMENT_BY_ID` | Get department by ID | Retrieve one Zip department and its organization settings by ID. |
| `ZIP_GET_DOCUMENT_BY_ID` | Get document by ID | Download a Zip document as a PDF file reference. |
| `ZIP_GET_EXPENSE_CATEGORY_BY_ID` | Get expense category by ID | Retrieve one Zip expense category and its accounting settings by ID. |
| `ZIP_GET_GL_CODE_BY_ID` | Get GL code by ID | Retrieve a GL account lookup from Zip by ID. |
| `ZIP_GET_INVOICE_BY_ID` | Get invoice by ID | Get invoice by ID. Retrieves a single bill invoice by its ID, including its custom attributes and line items with their attributes. Use the line_items_count_only parameter to return just the line item count instead of the full line items array for better performance. |
| `ZIP_GET_INVOICE_CXML` | Get invoice cXML | Get invoice cXML. Retrieves the raw cXML payload for a punchout invoice. Returns the most recent cXML message associated with the invoice. |
| `ZIP_GET_ITEM_ACCOUNT_BY_ID` | Get item account by ID | Retrieve one Zip item-account lookup record when its `item_account_id` is already known. |
| `ZIP_GET_ITEM_RECEIPT_BY_ID` | Get an item receipt by ID | Retrieve one Zip item receipt when its `item_receipt_id` is already known. |
| `ZIP_GET_LOOKUP_BY_ID` | Get lookup by ID | Retrieve a Zip lookup type by ID. |
| `ZIP_GET_LOOKUP_OPTION_BY_ID` | Get lookup option by ID | Retrieve a Zip lookup option by ID. |
| `ZIP_GET_OPTION_FILTER_RULE` | Get an option filter rule by rule ID | Retrieve a Zip option filter rule by its client-provided rule ID. |
| `ZIP_GET_PAYMENT_METHOD_BY_ID` | Get payment method by ID | Retrieve a Zip payment method by ID, optionally including sensitive or deleted data. |
| `ZIP_GET_PAYMENT_TERMS_BY_ID` | Get payment terms by ID | Retrieve one Zip payment-terms record when its `payment_terms_id` is already known. |
| `ZIP_GET_PAYOUT_BY_ID` | Get payout by ID | Retrieve a single Zip payout by payout ID. |
| `ZIP_GET_PRODUCTS_BY_IDS` | Get products by IDs | Retrieve multiple Zip product records in one call from a list of product IDs. |
| `ZIP_GET_PURCHASE_ORDER_BY_ID` | Get a purchase order by ID | Retrieve one Zip purchase order when its `purchase_order_id` is already known. |
| `ZIP_GET_QUEUE_BY_ID` | Get queue by ID | Retrieve a main queue or subqueue from Zip by queue ID. |
| `ZIP_GET_REQUEST_BY_ID` | Get a single purchase request | Retrieve a single Zip purchase request by request ID. |
| `ZIP_GET_REQUEST_QUESTIONNAIRE_RESPONSES` | Get a request' questionnaire responses | Retrieve questionnaire responses for a Zip purchase request by request ID. |
| `ZIP_GET_RISK_ASSESSMENT_BY_ID` | Get risk assessment by ID | Retrieve one Zip risk assessment by ID. |
| `ZIP_GET_RISK_ASSESSMENT_SCHEMA` | Get risk assessment fields schema | List the active custom fields on Zip risk assessments. |
| `ZIP_GET_ROLE_BY_ID` | Get role by ID | Retrieve one organization role from Zip by ID. |
| `ZIP_GET_SAVING_LINE_ITEM_BY_ID` | Get saving line item by ID | Retrieve one purchase-request saving line item when its `saving_line_item_id` is already known. |
| `ZIP_GET_SUBSIDIARY_BY_ID` | Get subsidiary by ID | Retrieve one organization subsidiary from Zip by ID. |
| `ZIP_GET_TAX_CODE` | Get a tax code | Retrieve one Zip tax code and its tax-classification settings by ID. |
| `ZIP_GET_USER_BY_ID` | Get user by ID | Retrieve one Zip user and their organization assignments by ID. |
| `ZIP_GET_USER_GROUP_BY_ID` | Get user group by ID | Retrieve one Zip user group by ID. |
| `ZIP_GET_VENDOR_BY_ID` | Get vendor by ID | Retrieve a single Zip vendor by vendor ID, optionally including risk tiers, assessments, and findings when Risk Orchestration is enabled. |
| `ZIP_GET_VENDOR_CREDIT_BY_ID` | Get vendor credit by ID | Retrieve a single Zip vendor credit by vendor-credit ID. |
| `ZIP_GET_VENDOR_ITEM_GROUPS_BY_IDS` | Get vendor item groups by IDs | Retrieve multiple Zip vendor item groups by their IDs. |
| `ZIP_GET_VENDOR_ITEMS_BY_IDS` | Get vendor items by IDs | Retrieve multiple Zip vendor items by their IDs. |
| `ZIP_GET_VENDOR_SITE_BY_ID` | Get vendor site by ID | Retrieve a single Zip vendor site by site ID. |
| `ZIP_LIST_AGENT_SESSION_MESSAGES` | List messages in an agent session | List messages in an agent session in chronological order. |
| `ZIP_LIST_AGENT_SESSIONS` | List agent sessions | List one page of agent sessions for a company with Superagents enabled. |
| `ZIP_LIST_CHANGE_ORDERS` | List change orders | List change orders. Returns submitted change orders with their changed header fields and created, deleted, and updated purchase order lines. A change order is included even when the selected field groups contain no changes. Results are returned in pages of up to 50. |
| `ZIP_LIST_CURRENCIES` | List currencies | List currencies supported by the connected Zip company. |
| `ZIP_LIST_ENGAGEMENTS` | List engagements | List one page of the company's active and inactive Zip engagements. |
| `ZIP_LIST_LINE_ITEMS` | Get line items | Get line items. Query an invoice's line items with filters and pagination. Results are ordered by created_at in ascending order (oldest first). |
| `ZIP_LIST_PURCHASE_CATEGORIES` | Get all available purchase categories | List all purchase categories defined in the company's Zip settings. |
| `ZIP_LIST_RISK_ASSESSMENTS` | List risk assessments | List the company's risk assessments, optionally filtered by vendor. |
| `ZIP_LIST_RISK_LEVELS` | List risk levels | List the company's risk tiers from highest to lowest risk. |
| `ZIP_LIST_VENDOR_PAYMENT_METHODS` | List vendor payment methods | Retrieve a vendor's payment methods, optionally including sensitive or deleted records and filtering by status. |
| `ZIP_LIST_VENDOR_ROLES` | Get vendor roles | List one page of vendor roles configured for the authenticated organization. This beta feature requires vendor-role listing to be enabled; use returned role IDs when assigning or removing vendor owners. |
| `ZIP_LIST_WORKFLOW_ATTRIBUTES` | Get Workflow Attributes | Get Workflow Attributes. Get a schema of configurable attributes given a Zip workflow ID. |
| `ZIP_LIST_WORKFLOWS` | Get Workflows | Get Workflows. Fetch a list of request workflows configured for the company. |
| `ZIP_SEARCH_AGREEMENTS` | Search agreements | Search one page of Zip agreements using vendor, subsidiary, or department filters. |
| `ZIP_SEARCH_AMORTIZATION_SCHEDULES` | Search amortization schedules | Search one page of Zip amortization schedules by active status or name. |
| `ZIP_SEARCH_APPROVALS` | Search approvals | Search one page of approvals by request, approval status, node type, date range, or request type; optionally include neighboring approval nodes. |
| `ZIP_SEARCH_AUDIT_LOGS` | Search audit trail logs | Search one page of Zip audit trail events; export requires Zip Premier. |
| `ZIP_SEARCH_CATALOG` | Search catalog | Search for vendor items and vendor item groups in the Zip catalog. |
| `ZIP_SEARCH_COMMENTS` | Search comments | Search comments belonging to a purchase requisition, optionally filtered by request GUID. |
| `ZIP_SEARCH_DELEGATIONS` | Search delegations | Search delegations. Search delegations with optional filters. Returns delegations for the authenticated organization. Use delegator_email or delegate_email to find delegations for a specific user. Use is_active to filter current vs expired delegations. |
| `ZIP_SEARCH_DEPARTMENTS` | Search departments | Search departments. Multiple search filters can be provided. |
| `ZIP_SEARCH_EXPENSE_CATEGORIES` | Search expense categories | Search Zip expense categories using documented filters. |
| `ZIP_SEARCH_GL_CODES` | Search GL codes | Search GL accounts in Zip and return one page of results. |
| `ZIP_SEARCH_INVOICES` | Search invoices | Search one page of invoices by creation, update, approval, amount, invoice number, status, vendor, or upload source; optionally return IDs or line-item counts only. |
| `ZIP_SEARCH_ITEM_ACCOUNTS` | Search item accounts | Search item accounts in Zip by name, active status, or external ID. |
| `ZIP_SEARCH_ITEM_RECEIPTS` | Search item receipts | Search one page of Zip item receipts by created time, updated time, or receipt status. |
| `ZIP_SEARCH_LOCATIONS` | Search locations | Search Zip company locations by name or status and return one page of results. |
| `ZIP_SEARCH_LOOKUP_OPTIONS` | Search lookup options | Search Zip lookup options and return one page of results. |
| `ZIP_SEARCH_LOOKUPS` | Search look up types | Search Zip lookup types and return one page of results. |
| `ZIP_SEARCH_PAYMENT_TERMS` | Search payment terms | Search payment terms in Zip and return one page of results. |
| `ZIP_SEARCH_PURCHASE_ORDERS` | Search purchase orders | Search one page of Zip purchase orders by PO or request number, status, requester, department, dates, open amount, or vendor. |
| `ZIP_SEARCH_REQUESTS` | Search requests | Search one page of Zip requests by request details, requester, department, vendor, status, type, priority, or date range, with optional sorting and custom attributes. |
| `ZIP_SEARCH_ROLES` | Search roles | Search Zip organization roles by name and return one page of results. |
| `ZIP_SEARCH_SAVING_LINE_ITEMS` | Search saving line items by field filters | Search one page of purchase-request saving line items. Filter by custom field GUID or by saving_line_item_type, recognition_frequency, recognition_start_date, or recognition_end_date. |
| `ZIP_SEARCH_SUBSIDIARIES` | Search subsidiaries | Search subsidiaries. Multiple search filters can be provided. |
| `ZIP_SEARCH_TAX_CODES` | Search tax codes | Search Zip tax codes and return one page of results. |
| `ZIP_SEARCH_USER_GROUPS` | Search user groups | Search user groups. Multiple search filters can be provided. |
| `ZIP_SEARCH_USERS` | Search users | Search users. Multiple search filters can be provided. |
| `ZIP_SEARCH_VENDOR_CREDITS` | Search vendor credits | Search one page of Zip vendor credits by credit invoice number, with optional creation/update sorting. |
| `ZIP_SEARCH_VENDORS` | Search vendors | Search one page of vendors by name, status, update time, subsidiary, or department; optionally include custom attributes and risk data. |
| `ZIP_SEND_BILL_INVOICE_FOR_APPROVAL` | Send a bill invoice for approval | Send a bill invoice for approval. Validates a draft bill invoice and submits it for approval. The invoice is validated for completeness, then transitioned into the approval workflow. On success, the updated invoice is returned with its new status. |
| `ZIP_SEND_VENDOR_CREDIT_FOR_APPROVAL` | Send a vendor credit for approval | Send a vendor credit for approval. Validates an uncoded vendor credit and submits it for approval. The credit is validated for completeness, then transitioned into the approval workflow (or logged as available when approvals are not configured). On success, the updated vendor credit is returned with its new status. This endpoint must be enabled for your organization. |
| `ZIP_UPDATE_DELEGATION` | Update a delegation | Update a delegation. Update an existing delegation. All fields are optional but at least one must be provided. Changing the delegate triggers a circular delegation check. Changing dates or timezone recalculates the start/end timestamps. |
| `ZIP_UPDATE_DEPARTMENT_BY_ID` | Update department by ID | Update a Zip department's name, display name, active status, or visibility by ID. |
| `ZIP_UPDATE_EXPENSE_CATEGORY_BY_ID` | Update expense category by ID | Update a Zip expense category's accounting or active-status fields by ID. |
| `ZIP_UPDATE_GL_CODE_BY_ID` | Update GL code by ID | Update a GL account in Zip by ID. |
| `ZIP_UPDATE_INVOICE_HEADER` | Update invoice header information | Update invoice header information. Updates header-level fields on a bill invoice such as vendor, subsidiary, currency, dates, amounts, description, and custom attributes. The invoice can also be matched to purchase orders by providing purchase_order_ids or purchase_order_numbers. On success, the updated invoice is returned. |
| `ZIP_UPDATE_INVOICE_LINE_ITEM` | Update invoice line item | Update the supplied fields on one invoice line item by invoice and line-item IDs. |
| `ZIP_UPDATE_INVOICE_PAID_STATUS` | Update an invoice's paid status. | High-impact, irreversible operation that marks a bill invoice paid and creates its payout. Verify the invoice ID and payment state before calling. |
| `ZIP_UPDATE_ITEM_RECEIPT` | Update an item receipt | Update an item receipt. Edits a submitted receipt or return. Fields left out keep their values. line_items, when sent, replaces the receipt's lines under the same rules as create: a line already on the receipt is updated in place, a new PO line is added, and a line left out is removed. Allocation to matched bills runs again after the edit is saved. The receipt type, number and purchase order don't change. On success, the updated item receipt is returned. |
| `ZIP_UPDATE_LOCATION` | Update a location. | Update a Zip company location's name or status by ID. |
| `ZIP_UPDATE_LOOKUP_BY_ID` | Update lookup by ID | Update a Zip lookup type by ID. |
| `ZIP_UPDATE_LOOKUP_OPTION` | Update a lookup option | Update a Zip lookup option by ID. |
| `ZIP_UPDATE_PAYMENT_METHOD_BY_ID` | Update payment method by ID | Update external identifiers or custom fields on a Zip payment method. |
| `ZIP_UPDATE_PRODUCT_BY_ID` | Update product by ID | Update a Zip product's name or metadata by product ID. |
| `ZIP_UPDATE_PURCHASE_ORDER_STATUSES` | Update purchase order statuses | High-impact, irreversible bulk operation that cancels, closes, or soft-closes up to 50 purchase orders. Verify every purchase order ID and target status before calling. |
| `ZIP_UPDATE_QUEUE_BY_ID` | Update queue by ID | Update queue by ID. Updates a main queue or a subqueue by ID. |
| `ZIP_UPDATE_REQUEST_BY_ID` | Update a single purchase request | Update the supplied fields on a single Zip purchase request by request ID. |
| `ZIP_UPDATE_REQUEST_LINE_ITEMS_BY_ID` | Update the line items of a purchase request | Update the line items of a purchase request. Update the line items of a single purchase request, given the request ID. |
| `ZIP_UPDATE_REQUEST_STATUS_BY_ID` | Update a request's status (reject or cancel). | Update a request's status (reject or cancel). Reject or cancel a request. The transition is terminal and closes the approval chain. Bills and payout groups have their own cancel flows and are not supported. |
| `ZIP_UPDATE_ROLE_BY_ID` | Update role by ID | Destructive, high-impact operation that changes an organization role and can alter users' access. Verify the role ID and permission impact before calling. |
| `ZIP_UPDATE_SAVING_LINE_ITEM` | Update a saving line item | Partially update a Zip saving line item; omitted fields remain unchanged. |
| `ZIP_UPDATE_SUBSIDIARY_BY_ID` | Update subsidiary by ID | Update an organization subsidiary in Zip by ID. |
| `ZIP_UPDATE_TAX_CODE` | Update a tax code | Partially update a Zip tax code's name, type, active status, or accounting fields by ID. |
| `ZIP_UPDATE_USER_BY_ID` | Update user by ID | Update a single Zip user by ID; this API operation requires a Zip Premier subscription. |
| `ZIP_UPDATE_USER_GROUP_BY_ID` | Update user group by ID | Update user group by ID. Update the description of a single user group by ID. |
| `ZIP_UPDATE_VENDOR_BY_ID` | Update vendor by ID | Update the supplied fields on a single Zip vendor by vendor ID. |
| `ZIP_UPDATE_VENDOR_CREDIT_HEADER` | Update vendor credit header information | Update vendor credit header information. Updates header-level fields on a vendor credit such as vendor, subsidiary, currency, dates, amounts, description, and custom attributes. On success, the updated vendor credit is returned. This endpoint must be enabled for your organization. When the credit is already coded, only a limited set of header fields can be updated. |
| `ZIP_UPDATE_VENDOR_CREDIT_LINE_ITEM` | Update a vendor credit line item | Update a line item on a Zip vendor credit; this endpoint must be enabled, and coded credits allow only a limited field set. |
| `ZIP_UPDATE_VENDOR_ITEM_BY_ID` | Update vendor item by ID | Update the supplied fields on a Zip vendor item by item ID. |
| `ZIP_UPDATE_VENDOR_ITEM_GROUP_BY_ID` | Update vendor item group by ID | Update the supplied fields on a Zip vendor item group by group ID. |
| `ZIP_UPDATE_VENDOR_SITE_BY_ID` | Update vendor site by ID | Update the supplied fields on a Zip vendor site by site ID. |
| `ZIP_UPLOAD_DOCUMENT` | Upload a document | Upload a document to Zip using multipart form data. |
| `ZIP_UPSERT_BUDGET` | Upsert budget | Create or update a Zip budget using its period and dimensions. |
| `ZIP_UPSERT_BUDGET_ACTUAL` | Upsert budget actual | Create or update a Zip budget actual using its date and dimensions. |
| `ZIP_UPSERT_CURRENCIES` | Upsert currencies | Add currencies to the connected Zip company's supported list; existing currencies not included in the request remain supported. |
| `ZIP_UPSERT_OPTION_FILTER_RULE` | Create or update an option filter rule | Create or update a Zip option filter rule by client-provided rule ID. Option values are matched by their raw, untranslated names. |
| `ZIP_UPSERT_OPTION_FILTER_RULES_BATCH` | Create or update option filter rules in a batch | Atomically create or update 1 to 100 Zip option filter rules. The entire batch is rejected if any item fails validation. |
| `ZIP_UPSERT_VENDOR` | Upsert vendor keyed by external id | Upsert vendor keyed by external id. Create or update a vendor given an external ID. |

## Supported Triggers

None listed.

## Installation and MCP Setup

### Path 1: SDK Installation

#### Path 1, Step 1: Install Composio

Install the Composio SDK, the OpenAI provider, and the OpenAI SDK
```python
pip install composio composio_openai openai
```

```typescript
npm install @composio/core @composio/openai openai
```

#### Path 1, Step 2: Create a Composio session

Initialize Composio with the OpenAI Responses provider and create a session scoped to Zip
```python
import json
from openai import OpenAI
from composio import Composio
from composio_openai import OpenAIResponsesProvider

composio = Composio(provider=OpenAIResponsesProvider())
client = OpenAI()

session = composio.create(user_id="your-user-id", toolkits=["zip"])
tools = session.tools()
```

```typescript
import OpenAI from "openai";
import { Composio } from "@composio/core";
import { OpenAIResponsesProvider } from "@composio/openai";

const composio = new Composio({ provider: new OpenAIResponsesProvider() });
const client = new OpenAI();

const session = await composio.create("your-user-id", { toolkits: ["zip"] });
const tools = await session.tools();
```

#### Path 1, Step 3: Run Zip tools with your agent

Send a request, execute the Zip tool calls through the session, and print the final answer
```python
response = client.responses.create(
    model="gpt-5.6-sol",
    tools=tools,
    input=[{"role": "user", "content": "List my five most recent purchase requests in Zip"}],
)

while True:
    tool_calls = [o for o in response.output if o.type == "function_call"]
    if not tool_calls:
        break
    results = composio.provider.handle_tool_calls(response=response, session=session)
    response = client.responses.create(
        model="gpt-5.6-sol",
        tools=tools,
        previous_response_id=response.id,
        input=[
            {"type": "function_call_output", "call_id": call.call_id, "output": json.dumps(results[i])}
            for i, call in enumerate(tool_calls)
        ],
    )

print(response.output_text)
```

```typescript
let response = await client.responses.create({
  model: "gpt-5.6-sol",
  tools,
  input: [{ role: "user", content: "List my five most recent purchase requests in Zip" }],
});

while (response.output.some((o) => o.type === "function_call")) {
  const outputs = await composio.provider.handleToolCalls(session, response.output);
  response = await client.responses.create({
    model: "gpt-5.6-sol",
    tools,
    previous_response_id: response.id,
    input: outputs,
  });
}

console.log(response.output_text);
```

### Path 2: MCP Server Setup

#### Path 2, Step 1: Install Composio

Install the Composio SDK and your agent framework
```python
pip install composio claude-agent-sdk
```

```typescript
npm install @composio/core ai @ai-sdk/mcp @ai-sdk/openai
```

#### Path 2, Step 2: Create a session with MCP enabled

Create a session scoped to Zip and read its MCP URL and headers
```python
from composio import Composio

composio = Composio()
session = composio.create(user_id="your-user-id", toolkits=["zip"], mcp=True)
```

```typescript
import { Composio } from "@composio/core";

const composio = new Composio();
const { mcp } = await composio.create("your-user-id", {
  toolkits: ["zip"],
  mcp: true,
});
```

#### Path 2, Step 3: Connect your agent to the MCP server

Pass the session's MCP URL and headers to your agent and run a Zip request
```python
import asyncio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions, AssistantMessage, TextBlock

options = ClaudeAgentOptions(
    mcp_servers={
        "composio": {
            "type": "http",
            "url": session.mcp.url,
            "headers": session.mcp.headers,
        }
    },
    system_prompt="You are a helpful assistant with access to Zip tools.",
    tools=[],
    allowed_tools=["mcp__composio__*"],
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query("List my five most recent purchase requests in Zip")
        async for message in client.receive_response():
            if isinstance(message, AssistantMessage):
                for block in message.content:
                    if isinstance(block, TextBlock):
                        print(block.text)

asyncio.run(main())
```

```typescript
import { createMCPClient } from "@ai-sdk/mcp";
import { openai } from "@ai-sdk/openai";
import { generateText, stepCountIs } from "ai";

const client = await createMCPClient({
  transport: { type: "http", url: mcp.url, headers: mcp.headers },
});

const { text } = await generateText({
  model: openai("gpt-5.6-sol"),
  tools: await client.tools(),
  prompt: "List my five most recent purchase requests in Zip",
  stopWhen: stepCountIs(10),
});

console.log(text);
await client.close();
```

## Why Use Composio?

### 1. AI Native Zip Integration

- Supports both Zip MCP and direct API based integrations
- Structured, LLM-friendly schemas for reliable tool execution
- Rich coverage for reading, writing, and querying your Zip data

### 2. Managed Auth

- Built-in API key handling with secure storage and request authentication
- Central place to manage, scope, and revoke Zip access
- Per user and per environment credentials instead of hard-coded keys

### 3. Agent Optimized Design

- Tools are tuned using real error and success rates to improve reliability over time
- Comprehensive execution logs so you always know what ran, when, and on whose behalf

### 4. Enterprise Grade Security

- Fine-grained RBAC so you control which agents and users can access Zip
- Scoped, least privilege access to Zip resources
- Full audit trail of agent actions to support review and compliance

## Use Zip with any AI Agent Framework

Choose a framework you want to connect Zip with:

- [ChatGPT](https://composio.dev/toolkits/zip/framework/chatgpt)
- [Claude Cowork](https://composio.dev/toolkits/zip/framework/claude-cowork)
- [Hermes](https://composio.dev/toolkits/zip/framework/hermes-agent)
- [Atomic Agent](https://composio.dev/toolkits/zip/framework/atomic-agent)

## Related Toolkits

- [Stripe](https://composio.dev/toolkits/stripe) - Stripe is a global online payments platform offering APIs for managing payments, customers, and subscriptions. Trusted by businesses for secure, efficient, and scalable payment processing worldwide.
- [44API](https://composio.dev/toolkits/44api) - 44API is an API service for validating VAT and tax identifiers and returning company details. Use it to verify business tax data and manage account IP whitelists quickly.
- [Airwallex](https://composio.dev/toolkits/airwallex) - Airwallex is a global financial platform providing business accounts, payments, payouts, FX, and cards. Built to simplify cross-border payments and streamline financial operations for businesses.
- [Aiwyn Tax MCP](https://composio.dev/toolkits/aiwyn_tax_mcp) - Aiwyn Tax MCP is a tax estimation service powered by Aiwyn's federal and state tax engine. It helps teams estimate tax outcomes without building tax calculation logic from scratch.
- [Alpaca](https://composio.dev/toolkits/alpaca) - Alpaca is a stock and crypto trading platform for commission-free trading, real-time market data, and algorithmic strategies. Use it to build brokerage apps, trading bots, and portfolio workflows with market connectivity.
- [Alpha vantage](https://composio.dev/toolkits/alpha_vantage) - Alpha Vantage is a financial data platform offering real-time and historical stock market APIs. Get instant, reliable access to equities, forex, and technical analysis data for smarter trading decisions.
- [Altoviz](https://composio.dev/toolkits/altoviz) - Altoviz is a cloud-based billing and invoicing platform for businesses. It streamlines online payments, expense tracking, and customizable invoice management.
- [Benzinga](https://composio.dev/toolkits/benzinga) - Benzinga provides real-time financial news and data APIs for market coverage. It helps you track breaking news and actionable market insights instantly.
- [bexio](https://composio.dev/toolkits/bexio) - bexio is a Swiss business management platform for accounting, invoicing, contacts, projects, banking, expenses, and payroll. It brings core business operations into one connected workspace.
- [Bigdata.com MCP](https://composio.dev/toolkits/bigdata_com_mcp) - Bigdata.com MCP provides grounded access to financial news, transcripts, filings, and entity intelligence. Ideal for building research workflows and generating timely market insights.
- [Billsby](https://composio.dev/toolkits/billsby) - Billsby is a subscription billing platform for managing customers, subscriptions, invoices, products, plans, usage counters, add-ons, and allowances. It helps SaaS and subscription teams automate billing operations without building complex billing logic from scratch.
- [Brex](https://composio.dev/toolkits/brex) - Brex provides corporate credit cards and spend management tailored for startups and tech businesses. It helps optimize company cash flow, streamline accounting, and accelerate business growth.
- [Cashfree](https://composio.dev/toolkits/cashfree_payments_mcp) - Cashfree is a merchant payments platform that handles collection, payouts, subscriptions, settlements, refunds, and identity verification. Simplifies merchant money lifecycle management with unified, API-driven workflows.
- [Chaser](https://composio.dev/toolkits/chaser) - Chaser is accounts receivable automation software that sends invoice reminders and helps businesses get paid faster. It streamlines the collections process to save time and improve cash flow.
- [Clarity AI MCP](https://composio.dev/toolkits/clarity_ai_mcp) - Clarity AI MCP is an MCP toolkit for simulating SFDR 2.0 fund classifications from a fund name, ISIN, or CUSIP. Use it to tap Clarity AI disclosure data and modeling without building custom sustainability-data workflows.
- [Clientary](https://composio.dev/toolkits/clientary) - Clientary is a platform for managing clients, invoices, projects, proposals, and more. It streamlines client work and saves you serious admin time.
- [Coinbase](https://composio.dev/toolkits/coinbase) - Coinbase is a platform for buying, selling, and storing cryptocurrency. It makes exchanging and managing crypto simple and secure for everyone.
- [Coinbase Agents MCP](https://composio.dev/toolkits/coinbase_agents_mcp) - Coinbase Agents MCP is Coinbase's managed toolkit exposing accounts, portfolios, orders, fills, and market data. Use it to let authorized agents inspect holdings, execute trades, perform transfers, and handle payments.
- [Coinbase Wallet MCP](https://composio.dev/toolkits/coinbase_wallet_mcp) - Coinbase Wallet MCP is Coinbase's wallet service for interacting with onchain accounts. Use it to give agents secure, structured access to inspect wallets and request onchain actions.
- [Coinranking](https://composio.dev/toolkits/coinranking) - Coinranking is a comprehensive cryptocurrency market data platform offering access to real-time coin prices, market caps, and historical data. Get accurate, up-to-date stats for thousands of digital assets in one place.

## Frequently Asked Questions

### Do I need my own developer credentials to use Zip with Composio?

Yes, Zip requires you to configure your own API key. Once set up, Composio handles secure credential storage and API request handling for you.

### Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. [Learn more](https://docs.composio.dev/tool-router/overview).

### Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. [Learn more](https://trust.composio.dev).

### What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
