# Zip MCP connector

The Zip connector brings your purchase requests, approvals, vendors, departments, users and roles into Claude, ChatGPT, Cursor and the Elaichi Agent, so people can ask about spend and keep Zip records current from the tools they already use.

Source: https://elaichi.ai/connectors/zip/

## Facts

| | |
| --- | --- |
| Application | Zip |
| Category | Spend Management |
| AI tools | 131 |
| Authentication | Connects with an API key |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 131 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Zip is connected

- Which Zip requests are waiting on approval this week?
- List Zip vendors added in the last 30 days.
- Summarize open Zip requests by requester and amount.

## Connect Zip in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Zip.
2. Optionally set Share with, then press Connect.
3. Paste a Zip API key. One person generates a token in Zip and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Zip tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Zip to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect Zip to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect Zip to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Zip to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Zip tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Zip through Elaichi

### See where a purchase request is stuck

Procurement. Ask which Zip requests are still waiting and who has not approved yet, then follow up with the right person before the deadline slips.

### Review pending approvals before month end

Finance. Pull the list of open approvals in Zip and check which ones will land in this period's numbers, without opening each request one by one.

### Keep vendor records accurate

Procurement. Add a new supplier to Zip after a sourcing call, or correct a vendor's details when their contact or payment information changes.

### Update a request after a scope change

Operations. When a team asks for more licenses or a different quantity, update the Zip request so the approvers see the real figures.

### Set up and offboard Zip users

IT. Create a Zip account for a new hire, assign their role, and deactivate the account the day someone leaves the company.

### Keep departments and roles tidy

Finance. Add a department when the org chart changes, rename one after a reorganization, and adjust which roles exist in Zip so requests route to the right approvers.

## Frequently asked questions

### How do I connect Zip to Claude?

Connecting Zip to Claude takes two steps. First, connect Zip in Elaichi by pasting in an API key from your Zip account, there is no OAuth application to register and no client ID or secret to generate. Then open Claude, go to Customize, then Connectors, then Add, and paste the endpoint https://api.elaichi.ai/mcp. Claude signs you in through Elaichi and Zip is ready to use.

### Does Zip work with ChatGPT and Cursor as well as Claude?

Yes. Once Zip is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client and the Elaichi Agent. You connect Zip once and every client your team uses picks it up.

### What can an AI agent actually do with my Zip data?

An agent connected to Zip can list open approvals and purchase requests, look up a single request or vendor, and update a request when the details change. It can also create and update vendors, users, departments and roles, and deactivate a user when someone leaves. Because Zip exposes a large set of actions, short concrete asks such as "show me requests waiting on finance" work better than long, multi-part sentences.

### Does connecting Zip give the AI access to every request and approval in the company?

No. Every call to Zip runs inside the access of the person who signed in, so an agent sees the requests, approvals and vendors that person could already see in Zip. Elaichi can narrow that access further with restrictions, but it can never widen it beyond what Zip itself allows that person.

### Can my team share one Zip connection?

Yes. One person connects Zip in Elaichi and shares the connection with a team, and nobody else ever handles the API key. Each teammate still signs in as themselves, so every request update or vendor change is logged under their own name in the audit log.

### Can I stop an agent from deleting or changing things in Zip?

Yes. Restrictions in Elaichi work per action, so you can allow reading Zip requests and approvals while blocking vendor deletion, user deactivation or any other change. A blocked action is never advertised to Claude, ChatGPT, Cursor or any other client, so no prompt can reach it.

### What happens to a Zip connection when someone leaves?

Offboarding a person in Elaichi ends their access to Zip through every connected client at once. If they had shared a Zip connection with a team, it keeps working for everyone else. Disconnecting Zip once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client at the same time.

## All 131 Zip tools

Every tool below is callable through https://api.elaichi.ai/mcp once Zip is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all Zip approvals** (List). Search and list approvals in Zip that match a set of filters. Returns approval node records including id, name, status, display_status, node_type, config_type, start_time, complete_time, due_date, sla_hours, assignee, tasks, request, queue, stage, created_at, and updated_at.
- **List all Zip users** (List). Search Zip users using optional filters. Returns per record: id, email, is_active, first_name, last_name, department, subsidiary, manager, roles, queues, groups, external_data, and attributes.
- **Get single Zip user by ID** (Get). Get a single Zip user by id. Returns: id, openapi, info, servers, security, paths, components. Required: id.
- **Create a Zip user** (Create). Create a new Zip user. Returns the created user including id, email, is_active, first_name, last_name, department, subsidiary, manager, roles, queues, groups, external_data, and attributes.
- **Update a Zip user by ID** (Update). Update a Zip user by id. Returns the updated user including id, email, is_active, first_name, last_name, department, subsidiary, manager, roles, queues, groups, external_data, and attributes. Required: id.
- **Zip users deactivate** (Deactivate). Deactivate a Zip user by user_id. Returns the deactivated user including id, email, is_active, first_name, last_name, department, subsidiary, manager, roles, queues, groups, external_data, and attributes. Required: user_id.
- **List all Zip vendors** (List). Search vendors in Zip matching the given criteria. Returns a list of vendor records; each record includes id, name, status, created_at, updated_at, external_id, address, contacts, categories, and owners.
- **Get single Zip vendor by ID** (Get). Get a single vendor in Zip by id. Returns the full vendor object including id, name, status, created_at, updated_at, external_id, address, contacts, legal_name, categories, and owners. Required: id.
- **Create a Zip vendor** (Create). Create or update (upsert) a vendor in Zip keyed by external_id. Returns the created or updated vendor object including id, name, status, created_at, updated_at, external_id, address, contacts, and owners. Required: data.external_id.
- **Update a Zip vendor by ID** (Update). Update a single vendor in Zip by id. Returns the updated vendor object including id, name, status, created_at, updated_at, external_id, address, contacts, and owners. Required: id.
- **Delete a Zip vendor by ID** (Delete). Delete a single vendor in Zip by id. Returns the deleted vendor object including id, name, status, external_id, updated_at, address, and contacts. Required: id.
- **List all Zip requests** (List). Search Zip requests based on various filter and sort parameters, returning up to 30 results per page. Returns per record: id, name, status, request_type, priority, amount_usd, vendor, requester, department, payment_method, price_detail, created_at, and updated_at.
- **Get single Zip request by ID** (Get). Get a single Zip purchase request by id. Returns the full request object including id, name, status, request_type, priority, amount_usd, vendor, requester, department, payment_method, price_detail, purchase_order, created_at, and updated_at. Required: id.
- **Update a Zip request by ID** (Update). Update a Zip request by id. Returns the updated request object including id, name, status, request_type, priority, amount_usd, vendor, requester, department, payment_method, price_detail, purchase_order, created_at, and updated_at. Required: id.
- **List all Zip departments** (List). List departments in Zip with optional search filters. Returns: id, name, display_name, is_active, hide_in_zip, created_at, updated_at, external_ids, external_data.
- **Get single Zip department by ID** (Get). Get a single Zip department by id. Returns the department object including id, name, display_name, is_active, hide_in_zip, created_at, updated_at, and external_data. Required: id.
- **Create a Zip department** (Create). Create a new department in Zip. Returns the created department object including id, name, display_name, is_active, hide_in_zip, created_at, updated_at, and external_data.
- **Update a Zip department by ID** (Update). Update a Zip department by id. Returns the updated department object including id, name, display_name, is_active, hide_in_zip, created_at, updated_at, and external_data. Required: id.
- **Delete a Zip department by ID** (Delete). Delete a Zip department by id. Returns an empty 204 response on success. Required: id.
- **List all Zip roles** (List). Search and list roles in Zip. Returns each role's id and name. Optionally filter by name or control sort order with sort_by and sort_order.
- **Get single Zip role by ID** (Get). Get a single Zip role by id. Returns: id, name, openapi, info, servers, security, paths, components. Required: id.
- **Create a Zip role** (Create). Create a new role in Zip. Returns: id, name, openapi, info, servers, security, paths, components.
- **Update a Zip role by ID** (Update). Update a Zip role by id. Returns: id, name, openapi, info, servers, security, paths, components. Required: id.
- **Delete a Zip role by ID** (Delete). Delete a Zip role by id. Returns an empty 204 response on success. Required: id.
- **List all Zip invoices** (List). List and search Zip invoices using optional filters. Returns invoice records including id, invoice_number, status, vendor, subsidiary, purchase_orders, line_items, erp_sync_status, and applied_vendor_credits. Supports filtering by status, vendor_id, invoice_number, date ranges (created, updated, approved), invoice amount, and upload_source.
- **Get single Zip invoice by ID** (Get). Get a single Zip invoice by id. Returns the full invoice object including id, invoice_number, status, vendor, subsidiary, purchase_orders, line_items, erp_sync_status, applied_vendor_credits, and exception_tasks. Required: id.
- **Create a Zip invoice** (Create). Create a new invoice in Zip. Returns the created invoice object including id, invoice_number, status, vendor, subsidiary, purchase_orders, line_items, and erp_sync_status.
- **Update a Zip invoice by ID** (Update). Update header-level fields on a Zip bill invoice by id, including due_date, invoice_date, and coded invoice flags. The invoice can also be matched to purchase orders by providing purchase_order_ids or purchase_order_numbers. Returns the updated invoice including id, invoice_number, status, vendor, subsidiary, erp_sync_status, and line_items. Required: id.
- **Zip invoices submit** (Action). Submit a Zip bill invoice for approval. Validates the draft invoice for completeness, then transitions it into the approval workflow. Returns the updated invoice including id, invoice_number, status, vendor, subsidiary, erp_sync_status, and line_items. Required: invoice_id.
- **Zip invoices update paid status** (Update). Update the paid status of a Zip invoice, marking it as PAID or UNPAID. Returns the updated invoice object including id, invoice_number, status, vendor, subsidiary, purchase_orders, and line_items. Required: invoice_id, data.new_status; when marking as PAID, data.paid_on_date and data.currency are also required.
- **List all Zip invoice line items** (List). List invoice line items in Zip. Returns: id, description, quantity, rate, billed_amount, received_amount, line_number, tax_amount, shipping_amount, misc_amount, total, pre_tax_total, currency, start_date, end_date, start_date_iso, end_date_iso, line_type, line_type_name, secondary_line_type, department, expense_category, gl_code, item_account, location, tax_codes, vendor_item, attributes,…
- **Create a Zip invoice line item** (Create). Add one or more line items to a Zip invoice. Returns: list. Required: invoice_id.
- **Update a Zip invoice line item by ID** (Update). Update an existing invoice line item in Zip. Returns the updated line item including id, description, rate, quantity, total, line_type, department, expense_category, gl_code, and other fields. Required: invoice_id, id.
- **List all Zip purchase orders** (List). List and search purchase orders in Zip using optional filters on creation date, update date, open amount, and vendor. Returns one record per purchase order including id, po_number, total_amount, total_amount_usd, currency, status, vendor, created_at, updated_at, payment_method, payment_frequency, and billing/tax amounts.
- **Get single Zip purchase order by ID** (Get). Get a single Zip purchase order by id. Returns the full purchase order object including id, po_number, total_amount, total_amount_usd, currency, status, vendor, payment_method, payment_frequency, created_at, updated_at, and all billing and tax amounts. Required: id.
- **List all Zip agreements** (List). Search and list agreements in Zip. Returns agreement records including agreement_number, name, agreement_status, currency, amount, start_date, end_date, renewal_status, attachments, original_request, child_requests, purchase_orders, and renewal_stakeholder_queues. Optionally filter by vendor_id, subsidiary_id, or department_id.
- **Get single Zip agreement by ID** (Get). Get a single Zip agreement by id. Returns the full agreement object including agreement_number, name, agreement_status, currency, amount, start_date, end_date, renewal_status, attachments, original_request, child_requests, purchase_orders, and renewal_stakeholder_queues. Required: id.
- **List all Zip vendor credits** (List). Search vendor credits in Zip, optionally filtered by credit invoice number. Returns vendor credit records including id, credit_number, currency, vendor, subsidiary, amount, applied_invoices, and line_items.
- **Get single Zip vendor credit by ID** (Get). Get a single vendor credit in Zip by id. Returns the vendor credit including id, credit_number, currency, vendor, subsidiary, amount, applied_invoices, and line_items. Required: id.
- **Create a Zip vendor credit** (Create). Create a new vendor credit in Zip. Returns the created vendor credit including id, credit_number, currency, vendor, subsidiary, amount, and line_items. Required: vendor_id, subsidiary_id, currency.
- **Update a Zip vendor credit by ID** (Update). Update the header information of a vendor credit in Zip by id. Returns the updated vendor credit including id, credit_number, currency, vendor, subsidiary, amount, and line_items. Required: id.
- **Zip vendor credits submit** (Action). Submit a vendor credit for approval in Zip. Returns the submitted vendor credit including id and credit_invoice_number. Required: vendor_credit_id.
- **Update a Zip vendor credit line item by ID** (Update). Update a vendor credit line item in Zip by id. Returns the updated line item including id, description, quantity, rate, line_type, currency, total, and coding fields such as department, expense_category, gl_code, and location. Required: vendor_credit_id, id.
- **List all Zip locations** (List). Search Zip locations, optionally filtering by name. Returns a list of location objects including id, name, status, created_at, updated_at, and external_data.
- **Create a Zip location** (Create). Create a new location in Zip. Returns the created location object including id, name, status, created_at, and updated_at.
- **Update a Zip location by ID** (Update). Update an existing Zip location by id, modifying its name and/or status via a data wrapper. Returns the updated location object including id, name, status, created_at, and updated_at. Required: id.
- **Delete a Zip location by ID** (Delete). Delete a Zip location by id. Returns an empty 204 response on success. Required: id.
- **List all Zip subsidiaries** (List). List subsidiaries in Zip, optionally filtered by name or active status. Returns per record: id, name, display_name, is_active, created_at, updated_at, external_data, and address.
- **Get single Zip subsidiary by ID** (Get). Get a single Zip subsidiary by id. Returns the subsidiary record including id, name, display_name, is_active, created_at, updated_at, address, and external_data. Required: id.
- **Create a Zip subsidiary** (Create). Create a new subsidiary in Zip. Returns the created subsidiary including id, name, display_name, is_active, created_at, updated_at, external_data, and address.
- **Update a Zip subsidiary by ID** (Update). Update a Zip subsidiary by id. Returns the updated subsidiary including id, name, display_name, is_active, created_at, updated_at, external_data, and address. Required: id.
- **Delete a Zip subsidiary by ID** (Delete). Delete a Zip subsidiary by id. Returns an empty 204 response on success. Required: id.
- **List all Zip gl codes** (List). Search and list GL accounts in Zip. Supports optional filters by name and active status. Returns: id, created_at, updated_at, name, currency, active, subsidiaries, external_id, external_data, account_type, account_sub_type, account_number, source.
- **Get single Zip gl code by ID** (Get). Get a single GL account by id in Zip. Returns: name, key, show_in_zip, lookup, openapi, info, servers, security, paths, components. Required: id.
- **Create a Zip gl code** (Create). Create a new GL account in Zip. Returns: id, created_at, updated_at, name, currency, active, subsidiaries, external_id, external_data, account_type, account_sub_type, account_number, source, openapi, info, servers, security, paths, components.
- **Update a Zip gl code by ID** (Update). Update an existing GL account by id in Zip. Returns: id, created_at, updated_at, name, currency, active, subsidiaries, external_id, external_data, account_type, account_sub_type, account_number, source, openapi, info, servers, security, paths, components. Required: id.
- **List all Zip expense categories** (List). List all expense categories in Zip. Returns: id, name, description, active, gl_code_id, subsidiary_ids, source.
- **Get single Zip expense category by ID** (Get). Get a single expense category by id in Zip. Returns: id, created_at, updated_at, name, description, source, active, external_data, gl_code, subsidiaries, openapi, info, servers, security, paths, components. Required: id.
- **Create a Zip expense category** (Create). Create a new expense category in Zip. Returns the created category object including id, name, description, active, source, gl_code, subsidiaries, created_at, updated_at, and external_data.
- **Update a Zip expense category by ID** (Update). Update an expense category by id in Zip. Returns: id, name, description, active, gl_code_id, subsidiary_ids, source, openapi, info, servers, security, paths, components. Required: id.
- **Delete a Zip expense category by ID** (Delete). Delete a single expense category by id in Zip. Returns an empty 204 response on success. Required: id.
- **List all Zip tax codes** (List). Search and list tax codes in Zip with optional filters on name, active status, or tax code type. Returns: id, created_at, updated_at, display_name, name, description, active, rate, country, city, county, state, tax_code_type, external_id, external_data.
- **Get single Zip tax code by ID** (Get). Get a single Zip tax code by id. Returns: id, created_at, updated_at, display_name, name, description, active, rate, country, city, county, state, tax_code_type, external_id, external_data, openapi, info, servers, security, paths, components. Required: id.
- **Create a Zip tax code** (Create). Create a new tax code in Zip. Returns the created tax code object including id, name, display_name, active, rate, tax_code_type, country, state, city, county, description, created_at, updated_at, and external_data.
- **Update a Zip tax code by ID** (Update). Update an existing Zip tax code by id. Returns the updated tax code object including id, name, display_name, active, rate, tax_code_type, country, state, city, county, description, created_at, updated_at, and external_data. Required: id.
- **Delete a Zip tax code by ID** (Delete). Delete a Zip tax code by id. Returns an empty 204 response on success. Required: id.
- **Create a Zip vendor contact** (Create). Create a vendor contact in Zip for a specific vendor. Returns the created contact object including id, vendor_id, first_name, last_name, email, title, phone, and phone_country. Required: vendor_id, first_name, last_name, email.
- **List all Zip vendor items** (List). List vendor items in Zip. Returns vendor item records including id, status, currency, rate_cents, vendor_id, product_id, supplier_part_number, and lead_time.
- **Create a Zip vendor item** (Create). Create a new vendor item in Zip. Returns the created vendor item including id, status, currency, rate_cents, vendor_id, product_id, supplier_part_number, and lead_time.
- **Update a Zip vendor item by ID** (Update). Update a vendor item in Zip by id. Returns the updated vendor item including id, status, currency, rate_cents, vendor_id, product_id, supplier_part_number, lead_time, and purchasing_group_ids. Required: id.
- **List all Zip vendor item groups** (List). List vendor item groups in Zip. Returns a collection of vendor item group records including id, name, description, currency, activePriceRange, vendor, childMemberships, and objectType.
- **Create a Zip vendor item group** (Create). Create a new vendor item group in Zip. Returns the created vendor item group object including id, name, description, currency, activePriceRange, vendor, childMemberships, and objectType.
- **Update a Zip vendor item group by ID** (Update). Update a single vendor item group in Zip by id. Returns the updated vendor item group object including id, name, description, currency, activePriceRange, vendor, childMemberships, and objectType. Required: id.
- **List all Zip vendor payment methods** (List). List all payment methods for a Zip vendor. Returns: id, country, currency, custom_fields, external_data, payment_file_format_id, payment_file_format_name, payment_method, vendor, is_approved, is_deleted, is_deleted_by_vendor, updated_at. Required: vendor_id.
- **List all Zip lookups** (List). List Zip lookup types. Returns a paginated collection of lookup records including id, name, integration_key, integration_name, display_name_fields, filters, and show_in_zip.
- **Get single Zip lookup by ID** (Get). Get a single Zip lookup type by id. Returns the lookup object including id, name, integration_key, display_name_fields, filters, settings_fields, and show_in_zip. Required: id.
- **Create a Zip lookup** (Create). Create a new Zip lookup type. Returns the created lookup object including id, name, integration_key, display_name_fields, filters, settings_fields, and show_in_zip.
- **Update a Zip lookup by ID** (Update). Update a Zip lookup type by id. Returns the updated lookup object including id, name, integration_key, display_name_fields, filters, settings_fields, and show_in_zip. Required: id.
- **Delete a Zip lookup by ID** (Delete). Delete a Zip lookup type by id. Returns an empty 204 response on success. Required: id.
- **List all Zip lookup options** (List). Search and list lookup options in Zip, optionally filtering by key, name, show_in_zip, or lookup_id. Returns: id, name, key, show_in_zip, lookup.
- **Get single Zip lookup option by ID** (Get). Get a single Zip lookup option by id. Returns: id, name, key, show_in_zip, lookup, openapi, info, servers, security, paths, components. Required: id.
- **Create a Zip lookup option** (Create). Create a new lookup option in Zip. Returns the created option including id, name, key, show_in_zip, and lookup.
- **Update a Zip lookup option by ID** (Update). Update an existing Zip lookup option by id. Returns the updated option including id, name, key, show_in_zip, and lookup. Required: id.
- **Delete a Zip lookup option by ID** (Delete). Delete a Zip lookup option by id. Returns an empty 204 response on success. Required: id.
- **List all Zip item accounts** (List). Search and list Zip item accounts using optional filters. Returns: id, created_at, updated_at, name, active, subsidiaries, item_unit_of_measure, external_id, external_data.
- **Get single Zip item account by ID** (Get). Get a Zip item account by id. Returns a wrapper object including name, key, show_in_zip, and a lookup object containing the full item account record (id, created_at, updated_at, name, active, subsidiaries, item_unit_of_measure, external_data). Required: id.
- **Create a Zip item account** (Create). Create a new item account in Zip. Returns: id, created_at, updated_at, name, active, subsidiaries, item_unit_of_measure, external_id, external_data.
- **List all Zip item receipts** (List). List item receipts in Zip with optional filters on creation/update timestamps or status. Returns: id, created_at, updated_at, note, status, receipt_number, archive_note, received_date, external_link, external_data, purchase_order, line_items.
- **Get single Zip item receipt by ID** (Get). Get a single Zip item receipt by id. Returns the full receipt record including id, type, status, created_at, updated_at, received_date, receipt_number, note, archive_note, external_link, purchase_order, and line_items. Required: id.
- **List all Zip amortization schedules** (List). List amortization schedules in Zip with optional filters on active status and name. Returns: id, is_active, name, source.
- **Get single Zip amortization schedule by ID** (Get). Get a single amortization schedule in Zip by id. Returns: id, is_active, name, source, openapi, info, servers, security, paths, components. Required: id.
- **List all Zip delegations** (List). List Zip delegations for the authenticated organization with optional filters. Returns: id, created_at, updated_at, starts_at, ends_at, timezone, note, status, master_key, delegator, delegate.
- **Get single Zip delegation by ID** (Get). Get a single Zip delegation by id. Returns the delegation object including id, type, status, starts_at, ends_at, timezone, note, master_key, delegator, delegate, created_at, and updated_at. Required: id.
- **Create a Zip delegation** (Create). Create an out-of-office delegation in Zip, transferring a user's approval responsibilities to a delegate for a specified date range. Returns: id, created_at, updated_at, starts_at, ends_at, timezone, note, status, master_key, delegator, delegate, openapi, info, servers, security, paths, components. Required: data.delegator_id, data.delegate_id, data.start_date, data.end_date, data.timezone. Only…
- **Update a Zip delegation by ID** (Update). Update an existing Zip delegation by id. Returns: id, created_at, updated_at, starts_at, ends_at, timezone, note, status, master_key, delegator, delegate, openapi, info, servers, security, paths, components. Required: id. At least one field in data must be provided; changing the delegate triggers a circular delegation check.
- **Delete a Zip delegation by ID** (Delete). Soft-delete a Zip delegation by id, setting its end date to yesterday and marking its status as EXPIRED; any in-progress delegated approvals are reassigned to the original delegator. Returns: id, created_at, updated_at, starts_at, ends_at, timezone, note, status, master_key, delegator, delegate, openapi, info, servers, security, paths, components. Required: id.
- **Get single Zip queue by ID** (Get). Get a single queue in Zip by id. Returns the queue object including id, name, type, queue_owners, queue_members, assignment_logic, default_assignee, description, and group_email. Required: id.
- **Create a Zip queue** (Create). Create a main queue in Zip. Returns the created queue object including id, name, type, queue_owners, queue_members, assignment_logic, and default_assignee. Required: name, queue_owners, queue_members, assignment_logic.
- **Update a Zip queue by ID** (Update). Update a main queue or subqueue in Zip by id. Returns the updated queue object including id, name, type, queue_owners, queue_members, assignment_logic, default_assignee, description, and group_email. Required: id.
- **Delete a Zip queue by ID** (Delete). Delete a queue in Zip by id. Returns an empty 204 response on success. Required: id.
- **Create a Zip sub queue** (Create). Create a subqueue on a parent queue in Zip. Returns the created sub-queue object including its id, type, name, queue_owners, queue_members, and assignment_logic. Required: queue_id.
- **List all Zip products** (List). List Zip products by their IDs. Returns each product's id, name, type, line_type, manufacturer_name, unspsc_code, gl_code, item_account, and item_unit_of_measure. Required: guids.
- **Create a Zip product** (Create). Create a new product in Zip. Returns the created product object including id, name, type, line_type, manufacturer_name, unspsc_code, gl_code, item_account, and item_unit_of_measure. Required: data.name.
- **Update a Zip product by ID** (Update). Update a Zip product by id. Returns the updated product object including id, name, type, line_type, manufacturer_name, unspsc_code, gl_code, item_account, and item_unit_of_measure. Required: id.
- **List all Zip currencies** (List). List all supported currencies in Zip from your organization's admin settings. Returns: id, name, external_data.
- **Update a Zip currency by ID** (Update). Upsert currencies in Zip (append-only). Adds new currencies to the supported list without removing existing ones absent from the request. Returns: supported_currencies.
- **Get single Zip document by ID** (Get). Get a Zip document by id and download its binary file content. Returns the raw PDF binary content of the document — the response body is an application/pdf binary stream, not a JSON object. Required: id.
- **Create a Zip document** (Create). Upload a document to Zip as a multipart form, optionally attaching it to a purchase request or invoice. Returns: id, file_name, openapi, info, servers, security, paths, components.
- **Get single Zip payment method by ID** (Get). Get a single payment method by id in Zip. Returns: id, updated_at, openapi, info, servers, security, paths, components. Optionally include sensitive data or soft-deleted records via query parameters. Required: id.
- **Update a Zip payment method by ID** (Update). Update a payment method by id in Zip, modifying its external integration mapping or custom fields. Returns the updated payment method object including id, country, currency, payment_method, vendor, is_approved, is_deleted, and updated_at. Required: id.
- **List all Zip payment terms** (List). List payment terms in Zip with optional search filters. Returns: id, name, net_period_in_days, is_active, external_data.
- **Get single Zip payment term by ID** (Get). Get a single Zip payment terms record by id. Returns: id, name, net_period_in_days, is_active, external_data, openapi, info, servers, security, paths, components. Required: id.
- **Get single Zip payout by ID** (Get). Get a single payout in Zip by id. Returns the payout object including id, type, amount, fx_rate, reference_id, paid_on_date, reversed_on_date, payment_provider_creation_time, payment_method_type, currency_object, funding_currency_object, vendor, account, subsidiary, invoices, created_at, and updated_at. Required: id.
- **Create a Zip address** (Create). Create a new address in Zip, optionally associated with a vendor. The data object must include lines, locality, and country. Returns the created address object including id, lines, locality, country, postal_code, status, address_str, display_country, display_region, and vendor address type flags. Required: data.
- **Create a Zip comment** (Create). Create a comment on a Zip purchase requisition or invoice, or reply to an existing comment on Zip's RDP. Returns: success, comment, openapi, info, servers, security, paths, components. Required: data.user_id, data.external_display_name, and one of data.text or data.text_html; plus one of data.comment_parent_id, data.purchase_requisition_id, or data.invoice_id.
- **Delete a Zip comment by ID** (Delete). Delete a Zip comment by its GUID. Returns: success, openapi, info, servers, security, paths, components. Required: id.
- **List all Zip request comments** (List). List comments belonging to a Zip request. Returns: id, text, text_html, user_id, external_url, external_display_name, comment_parent_id, created_at. Required: request_id.
- **Update a Zip request line item by ID** (Update). Update the line items on a Zip request. Returns the updated line item object including id, description, quantity, rate, line_type, currency, department, expense_category, and gl_code. Required: request_id.
- **List all Zip request questionnaire responses** (List). List questionnaire responses for a Zip request. Returns each questionnaire's id, name, status, and question_responses array (including question_prompt, question_id, data, selected_options, text, weight, weighted_score, section, and reviewer_scores). Required: request_id.
- **List all Zip user groups** (List). List user groups in Zip, optionally filtered by name and sorted by creation or update time. Returns each matching group's id and name. The source documents only these two fields for this resource.
- **Get single Zip user group by ID** (Get). Get a single Zip user group by id. Returns: id, name, openapi, info, servers, security, paths, components. Required: id.
- **List all Zip workflows** (List). List all request workflows configured for the company in Zip. Returns: id, name, status.
- **List all Zip workflow attributes** (List). List configurable attributes for a Zip workflow given its ID. Returns one attribute record per item including id, name, data, config_id, integration_data, and entity_type. Required: workflow_id.
- **List all Zip audit logs** (List). List audit trail logs in Zip. Returns: id, timestamp, event_type, user, api_key, user_ip_address, accessed_from, description, data. Supports optional filtering by created_after, created_before, event_type, creator_id, creator_email, and actor_type. Requires a Zip Premier subscription.
- **List all Zip purchase categories** (List). List all available purchase categories in Zip as defined under company settings. Returns a three-level hierarchy: each top-level category has a name and a subcategories array; each mid-level subcategory has a name and a nested subcategories array; each deepest-level subcategory has an id (UUID) and name.
- **Create a Zip budget** (Create). Create or update a budget in Zip for a given fiscal period and set of dimensions. Returns the upserted budget including its id, type, start_date, end_date, amount, dimensions, and owners. Required: data (must contain start_date, end_date, amount, and dimensions).
- **Create a Zip budget actual** (Create). Create or update a budget actual in Zip for a given date and set of dimensions (upsert). Returns the resulting budget actual including its id, type, date, amount, dimensions, and matched_budget_id. Required: date, amount, dimensions (sent within a data wrapper).
- **List all Zip option filter rules** (List). List option filter rules in Zip. Returns a collection of rules, each including rule_id, type, target_field, source_field_1, and target_filtered_options.
- **Update a Zip option filter rule by ID** (Update). Create or update (upsert) an option filter rule in Zip by rule_id. If a rule with the given rule_id already exists it is updated; otherwise a new rule is created. Returns the rule object including rule_id, type, target_field, source_field_1, target_filtered_options, source_field_1_values, source_field_2, source_field_2_values, upload_source, user_permission_groups, created_at, and updated_at.…
- **Delete a Zip option filter rule by ID** (Delete). Delete an existing option filter rule in Zip by rule_id. Returns: success, rule_id, openapi, info, servers, security, paths, components. Required: rule_id.
- **Create a Zip einvoice** (Create). Create an invoice in Zip from an e-invoice XML document. Supply the XML as a raw/base64 string; an optional base64-encoded PDF can be provided to override the PDF generated from the XML. Returns the created invoice object including its id, status, invoice_date, due_date, vendor, subsidiary, currency, and description. Required: xml.
