# Swipe - [Introduction](https://developers.getswipe.in/introduction.md): Integrate invoicing, payments, and GST compliance into your application with the Swipe API. - [Quickstart](https://developers.getswipe.in/quickstart.md): Create your first invoice and download its PDF in under five minutes. - [Authentication](https://developers.getswipe.in/authentication.md): How to authenticate Swipe API requests with your API key. - [API Conventions](https://developers.getswipe.in/api-conventions.md): Response format, error handling, dates, IDs, list endpoints, and rate limits - the rules every Swipe API endpoint follows. - [Build with AI](https://developers.getswipe.in/build-with-ai.md): Connect Swipe to Claude, Cursor, and other AI tools - MCP servers, machine-readable docs, and a bootstrap prompt. - [Documents](https://developers.getswipe.in/document.md): Create, edit, cancel, list, and download the business documents at the core of the Swipe API. - [Customers](https://developers.getswipe.in/customer.md): Manage customer records, keep your IDs mapped to Swipe, and pull payment ledgers. - [Vendors](https://developers.getswipe.in/vendor.md): Manage the vendors you buy from - the purchase-side mirror of the customer API. - [Payments](https://developers.getswipe.in/payment.md): Record customer payments and settle them against documents. - [Products](https://developers.getswipe.in/product.md): Manage your item catalog - products and services, pricing, taxes, and units. - [Inventory](https://developers.getswipe.in/inventory.md): Adjust stock in and out across warehouses, and track every movement with webhooks. - [Subscriptions](https://developers.getswipe.in/subscriptions.md): Set up recurring invoices through the document API, then track them and their generated invoices. - [E-Way Bills](https://developers.getswipe.in/ewaybills.md): Generate GST e-way bills for your documents and download their PDFs. - [E-Invoices](https://developers.getswipe.in/einvoices.md): Generate GST e-invoices with IRN and QR code as part of document creation. - [Webhooks](https://developers.getswipe.in/webhooks.md): Receive real-time notifications for document and inventory events, with HMAC signature verification. - [Error Codes](https://developers.getswipe.in/api-reference/error-codes.md): Every error code the Swipe API returns, with its HTTP status, cause, and how to resolve it. - [Tax Codes (TDS & TCS)](https://developers.getswipe.in/api-reference/tax-codes.md): TDS and TCS code IDs to use in the tds_id and tcs_id fields when creating documents. - [Currencies, States & Countries](https://developers.getswipe.in/api-reference/reference-data.md): Accepted currency codes, Indian state names, and country names for API requests. - [Change Log](https://developers.getswipe.in/api-reference/change-log.md): Updates and changes to the Swipe API - [Create a document](https://developers.getswipe.in/api-reference/document-v2/create-a-document.md): Creates a document — an invoice, purchase, estimate, return, delivery challan, or subscription — based on `document_type`. Unknown `party` and `items` IDs are created automatically from the details you send; existing IDs are reused. Returns the document's `hash_id`, which addresses the document in e… - [Get a document](https://developers.getswipe.in/api-reference/document-v2/get-a-document.md): Returns the full details of a document by its `hash_id` — party, items, amounts, and status. - [Get document PDF](https://developers.getswipe.in/api-reference/document-v2/get-document-pdf.md): Returns the rendered PDF file for a document. The PDF uses the invoice templates and document settings configured on your Swipe account. Pass `delivery_challan=1` to get a delivery-challan copy instead. - [Edit a document](https://developers.getswipe.in/api-reference/document-v2/edit-a-document.md): Replaces the contents of an existing document. Send the complete payload with every field's updated value — this is a full replacement, not a partial update. The document keeps its `hash_id`. - [Cancel a document](https://developers.getswipe.in/api-reference/document-v2/cancel-a-document.md): Cancels an active document by its `hash_id`. The document remains in your account with a cancelled status. - [List of documents](https://developers.getswipe.in/api-reference/document-v2/list-of-documents.md): Lists documents of one `document_type` within a required date range. Filter by `payment_status` to track pending, partially paid, or fully paid documents. - [Record payment](https://developers.getswipe.in/api-reference/payment-v2/record-payment.md): Records a payment received from a customer. Optionally settle specific documents by pairing each `hash_id` with an `amount_paying` — partial settlement is supported and the document's payment status tracks what remains. Non-cash payment modes need a bank account configured on your account, otherwise… - [List of payments](https://developers.getswipe.in/api-reference/payment-v2/list-of-payments.md): Lists payments recorded within a required date range. - [Create e-way bill](https://developers.getswipe.in/api-reference/ewaybill/create-eway-bill.md): Generates an e-way bill for an existing document, identified by its `hash_id`. Requires the transport details: supply type, transport mode, dispatch addresses, and transporter document date. Your account must be connected to the e-way bill portal; portal rejections are returned as `PORTAL_ERROR_{cod… - [Get e-way bill PDF](https://developers.getswipe.in/api-reference/ewaybill/get-ewaybill-pdf.md): Returns the e-way bill PDF for a document whose e-way bill has already been generated. - [Add a customer](https://developers.getswipe.in/api-reference/customer-v2/add-a-customer.md): Creates a customer keyed by your own `id`. Sending an ID that already exists fails with `CUSTOMER_ALREADY_EXISTS` — use Update a customer to change an existing record. Customers are also created automatically when a document references an unknown `party.id`. - [Get customer details](https://developers.getswipe.in/api-reference/customer-v2/get-customer-details.md): Returns one customer's details by your `customer_id`. - [Update a customer](https://developers.getswipe.in/api-reference/customer-v2/update-a-customer.md): Updates an existing customer's details. Changes propagate to the documents linked to this customer. - [Delete a customer](https://developers.getswipe.in/api-reference/customer-v2/delete-a-customer.md): Deletes a customer by your `customer_id`. Deleted customers move to the Deleted tab in the dashboard. - [Get payment ledger](https://developers.getswipe.in/api-reference/customer-v2/get-payment-ledger.md): Returns a customer's payment ledger over a required date range — documents, payments, and the running balance. - [Get list of customers](https://developers.getswipe.in/api-reference/customer-v2/get-list-of-customers.md): Lists your customers with their basic details. - [Update customer mapping](https://developers.getswipe.in/api-reference/customer-v2/update-customer-mapping.md): Re-links your customer IDs to existing Swipe records in bulk. Use this after changing IDs in your own system, so future calls don't create duplicate customers. - [Add a vendor](https://developers.getswipe.in/api-reference/vendor-v2/add-a-vendor.md): Creates a vendor keyed by your own `id`. Vendors are the parties on purchase-side documents. They are also created automatically when a document references an unknown vendor `party.id`. - [Get vendor details](https://developers.getswipe.in/api-reference/vendor-v2/get-vendor-details.md): Returns one vendor's details by your `vendor_id`. - [Update a vendor](https://developers.getswipe.in/api-reference/vendor-v2/update-a-vendor.md): Updates an existing vendor's details. Changes propagate to the documents linked to this vendor. - [Delete a vendor](https://developers.getswipe.in/api-reference/vendor-v2/delete-a-vendor.md): Deletes a vendor by your `vendor_id`. Deleted vendors move to the Deleted tab in the dashboard. - [Get payment ledger](https://developers.getswipe.in/api-reference/vendor-v2/get-payment-ledger.md): Returns a vendor's payment ledger over a required date range — documents, payments, and the running balance. - [Get list of vendors](https://developers.getswipe.in/api-reference/vendor-v2/get-list-of-vendors.md): Lists your vendors with their basic details. - [Update vendor mapping](https://developers.getswipe.in/api-reference/vendor-v2/update-vendor-mapping.md): Re-links your vendor IDs to existing Swipe records in bulk. Use this after changing IDs in your own system, so future calls don't create duplicate vendors. - [Add an item](https://developers.getswipe.in/api-reference/product-v2/add-an-item.md): Creates an item in your catalog keyed by your own `id`. Sending an ID that already exists fails with `PRODUCT_ALREADY_EXISTS` — use Update an item to change the catalog record. Items are also created automatically when a document references an unknown item `id`. - [Get item details](https://developers.getswipe.in/api-reference/product-v2/get-item-details.md): Returns one item's catalog details by your `item_id`. - [Update an item](https://developers.getswipe.in/api-reference/product-v2/update-an-item.md): Updates an item's master record in the catalog. This is the only way to change catalog details — item fields sent inside a document apply to that document only. - [Delete an item](https://developers.getswipe.in/api-reference/product-v2/delete-an-item.md): Deletes an item by your `item_id`. Deleted items move to the Deleted tab in the dashboard. - [Get list of items](https://developers.getswipe.in/api-reference/product-v2/get-list-of-items.md): Lists the items in your catalog. - [Update items mapping](https://developers.getswipe.in/api-reference/product-v2/update-items-mapping.md): Re-links your item IDs to existing Swipe records in bulk. Use this after changing IDs in your own system, so future calls don't create duplicate items. - [Update inventory stock](https://developers.getswipe.in/api-reference/inventory-v2/inventory-stock-in-out.md): Records a manual stock movement for a product — `in` adds stock, `out` removes it. Use `warehouse_id` -1 for the default warehouse and `record_date` to backdate the movement. Sales and purchase documents also move stock automatically. - [Get all warehouses](https://developers.getswipe.in/api-reference/inventory-v2/get-all-warehouses.md): Returns all warehouses with their IDs, for use in stock operations. - [List of subscriptions](https://developers.getswipe.in/api-reference/subscriptions-v2/list-of-subscriptions.md): Lists subscriptions within a required date range, filterable by `status` and `customer_id`. Subscriptions are created through Create a document with `document_type=subscription`. - [Get subscription details](https://developers.getswipe.in/api-reference/subscriptions-v2/get-subscription-details.md): Returns one subscription's details, including the invoices generated from it so far. - [Get GSTIN details](https://developers.getswipe.in/api-reference/utility-v2/get-gstin-v2.md): Looks up a GSTIN on the GST portal and returns the registered business's details. Useful for validating a party's GSTIN and prefilling their name and address. - [Introduction](https://developers.getswipe.in/introduction.md): Integrate invoicing, payments, and GST compliance into your application with the Swipe API. - [Quickstart](https://developers.getswipe.in/quickstart.md): Create your first invoice and download its PDF in under five minutes. - [Authentication](https://developers.getswipe.in/authentication.md): How to authenticate Swipe API requests with your API key. - [API Conventions](https://developers.getswipe.in/api-conventions.md): Response format, error handling, dates, IDs, list endpoints, and rate limits - the rules every Swipe API endpoint follows. - [Build with AI](https://developers.getswipe.in/build-with-ai.md): Connect Swipe to Claude, Cursor, and other AI tools - MCP servers, machine-readable docs, and a bootstrap prompt. - [Documents](https://developers.getswipe.in/document.md): Create, edit, cancel, list, and download the business documents at the core of the Swipe API. - [Customers](https://developers.getswipe.in/customer.md): Manage customer records, keep your IDs mapped to Swipe, and pull payment ledgers. - [Vendors](https://developers.getswipe.in/vendor.md): Manage the vendors you buy from - the purchase-side mirror of the customer API. - [Payments](https://developers.getswipe.in/payment.md): Record customer payments and settle them against documents. - [Products](https://developers.getswipe.in/product.md): Manage your item catalog - products and services, pricing, taxes, and units. - [Inventory](https://developers.getswipe.in/inventory.md): Adjust stock in and out across warehouses, and track every movement with webhooks. - [Subscriptions](https://developers.getswipe.in/subscriptions.md): Set up recurring invoices through the document API, then track them and their generated invoices. - [E-Way Bills](https://developers.getswipe.in/ewaybills.md): Generate GST e-way bills for your documents and download their PDFs. - [E-Invoices](https://developers.getswipe.in/einvoices.md): Generate GST e-invoices with IRN and QR code as part of document creation. - [Webhooks](https://developers.getswipe.in/webhooks.md): Receive real-time notifications for document and inventory events, with HMAC signature verification. - [Error Codes](https://developers.getswipe.in/api-reference/error-codes.md): Every error code the Swipe API returns, with its HTTP status, cause, and how to resolve it. - [Tax Codes (TDS & TCS)](https://developers.getswipe.in/api-reference/tax-codes.md): TDS and TCS code IDs to use in the tds_id and tcs_id fields when creating documents. - [Currencies, States & Countries](https://developers.getswipe.in/api-reference/reference-data.md): Accepted currency codes, Indian state names, and country names for API requests. - [Change Log](https://developers.getswipe.in/api-reference/change-log.md): Updates and changes to the Swipe API - [Create a document](https://developers.getswipe.in/api-reference/document/create-a-document.md): **v1 is deprecated — use the v2 endpoint instead.** Creates a document — an invoice, purchase, estimate, return, delivery challan, or subscription — based on `document_type`. Unknown `party` and `items` IDs are created automatically from the details you send; existing IDs are reused. Returns the doc… - [Get document PDF](https://developers.getswipe.in/api-reference/document/get-document-pdf.md): **v1 is deprecated — use the v2 endpoint instead.** Returns the rendered PDF file for a document. The PDF uses the invoice templates and document settings configured on your Swipe account. Pass `delivery_challan=1` to get a delivery-challan copy instead. - [Cancel a document](https://developers.getswipe.in/api-reference/document/cancel-a-document.md): **v1 is deprecated — use the v2 endpoint instead.** Cancels an active document by its `hash_id`. The document remains in your account with a cancelled status. - [Record payment](https://developers.getswipe.in/api-reference/payment/record-payment.md): **v1 is deprecated — use the v2 endpoint instead.** Records a payment received from a customer. Optionally settle specific documents by pairing each `hash_id` with an `amount_paying` — partial settlement is supported and the document's payment status tracks what remains. Non-cash payment modes need… - [Add a customer](https://developers.getswipe.in/api-reference/customer/add-a-customer.md): **v1 is deprecated — use the v2 endpoint instead.** Creates a customer keyed by your own `id`. Sending an ID that already exists fails with `CUSTOMER_ALREADY_EXISTS` — use Update a customer to change an existing record. Customers are also created automatically when a document references an unknown `… - [Get a customer](https://developers.getswipe.in/api-reference/customer/get-a-customer.md): **v1 is deprecated — use the v2 endpoint instead.** Returns one customer's details by your `customer_id`. - [Update a customer](https://developers.getswipe.in/api-reference/customer/update-a-customer.md): **v1 is deprecated — use the v2 endpoint instead.** Updates an existing customer's details. Changes propagate to the documents linked to this customer. - [Delete a customer](https://developers.getswipe.in/api-reference/customer/delete-a-customer.md): **v1 is deprecated — use the v2 endpoint instead.** Deletes a customer by your `customer_id`. Deleted customers move to the Deleted tab in the dashboard. - [Get payment ledger](https://developers.getswipe.in/api-reference/customer/get-payment-ledger.md): **v1 is deprecated — use the v2 endpoint instead.** Returns a customer's payment ledger over a required date range — documents, payments, and the running balance. - [Get list of customers](https://developers.getswipe.in/api-reference/customer/get-list-of-customers.md): **v1 is deprecated — use the v2 endpoint instead.** Lists your customers with their basic details. - [Update customer mapping](https://developers.getswipe.in/api-reference/customer/update-customer-mapping.md): **v1 is deprecated — use the v2 endpoint instead.** Re-links your customer IDs to existing Swipe records in bulk. Use this after changing IDs in your own system, so future calls don't create duplicate customers. - [Add an item](https://developers.getswipe.in/api-reference/product/add-an-item.md): **v1 is deprecated — use the v2 endpoint instead.** Creates an item in your catalog keyed by your own `id`. Sending an ID that already exists fails with `PRODUCT_ALREADY_EXISTS` — use Update an item to change the catalog record. Items are also created automatically when a document references an unkn… - [Get item details](https://developers.getswipe.in/api-reference/product/get-item-details.md): **v1 is deprecated — use the v2 endpoint instead.** Returns one item's catalog details by your `item_id`. - [Update an item](https://developers.getswipe.in/api-reference/product/update-an-item.md): **v1 is deprecated — use the v2 endpoint instead.** Updates an item's master record in the catalog. This is the only way to change catalog details — item fields sent inside a document apply to that document only. - [Delete an item](https://developers.getswipe.in/api-reference/product/delete-an-item.md): **v1 is deprecated — use the v2 endpoint instead.** Deletes an item by your `item_id`. Deleted items move to the Deleted tab in the dashboard. - [Get list of items](https://developers.getswipe.in/api-reference/product/get-list-of-items.md): **v1 is deprecated — use the v2 endpoint instead.** Lists the items in your catalog. - [Update items mapping](https://developers.getswipe.in/api-reference/product/update-items-mapping.md): **v1 is deprecated — use the v2 endpoint instead.** Re-links your item IDs to existing Swipe records in bulk. Use this after changing IDs in your own system, so future calls don't create duplicate items. - [List of subscriptions](https://developers.getswipe.in/api-reference/subscriptions/list-of-subscriptions.md): **v1 is deprecated — use the v2 endpoint instead.** Lists subscriptions within a required date range, filterable by `status` and `customer_id`. Subscriptions are created through Create a document with `document_type=subscription`. - [Get subscription details](https://developers.getswipe.in/api-reference/subscriptions/get-subscription-details.md): **v1 is deprecated — use the v2 endpoint instead.** Returns one subscription's details, including the invoices generated from it so far. - [Get GSTIN details](https://developers.getswipe.in/api-reference/utility/get-gstin.md): **v1 is deprecated — use the v2 endpoint instead.** Looks up a GSTIN on the GST portal and returns the registered business's details. Useful for validating a party's GSTIN and prefilling their name and address. - [Get e-way bill PDF](https://developers.getswipe.in/api-reference/ewaybill/get-ewaybill-pdf.md): Returns the e-way bill PDF for a document whose e-way bill has already been generated. - [Create e-way bill](https://developers.getswipe.in/api-reference/ewaybill/create-eway-bill.md): Generates an e-way bill for an existing document, identified by its `hash_id`. Requires the transport details: supply type, transport mode, dispatch addresses, and transporter document date. Your account must be connected to the e-way bill portal; portal rejections are returned as `PORTAL_ERROR_{cod… ## OpenAPI Specs - [openapi](/api-reference/openapi.json) ## Optional - [Run in Postman](https://god.gw.postman.com/run-collection/43895811-b7327b9d-1e50-4fed-af6f-660a918aa817?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D43895811-b7327b9d-1e50-4fed-af6f-660a918aa817%26entityType%3Dcollection%26workspaceId%3D5d3fc3f0-668c-499e-833b-03222666ba2a) - [Blog](https://getswipe.in/blog) - [Community](https://community.getswipe.in/c/api-integration/14)