{"files":{"SKILL.md":"---\nname: api-v1-0-0\ndescription: \"API v1.0.0 API skill. Use when working with API v1.0.0 for api. Covers 61 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# API v1.0.0\nAPI version: v1\n\n## Auth\nApiKey x-auth-key in header | ApiKey x-auth-secret in header\n\n## Base URL\nhttps://www.envoice.in\n\n## Setup\n1. Set your API key in the appropriate header\n2. GET /api/client/all -- verify access\n3. POST /api/client/new -- create first new\n\n## Endpoints\n\n61 endpoints across 1 groups. See references/api-spec.lap for full details.\n\n### api\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /api/client/all | Return all clients for the account |\n| POST | /api/client/new | Create a client |\n| POST | /api/client/update | Update an existing client |\n| GET | /api/client/candelete | Check if the provided client can be deleted |\n| POST | /api/client/delete | Delete an existing client |\n| GET | /api/client/details | Return client details. Activities and invoices included. |\n| GET | /api/estimation/all | Return all estimation for the account |\n| POST | /api/estimation/new | Create an estimation |\n| POST | /api/estimation/update | Update an existing estimation |\n| POST | /api/estimation/delete | Delete an existing estimation |\n| POST | /api/estimation/changestatus | Change estimation status |\n| GET | /api/estimation/status | Retrieve the status of the estimation |\n| GET | /api/estimation/details | Return estimation data |\n| GET | /api/estimation/uri | Return the unique url to the client's invoice |\n| POST | /api/estimation/convert | Convert the estimation to an invoice |\n| POST | /api/estimation/sendtoclient | Send the provided estimation to the client |\n| GET | /api/general/countries | Return all of the platform supported countries |\n| GET | /api/general/currencies | Return all of the platform supported currencies |\n| GET | /api/general/uilanguages | Return all of the platform supported UI languages |\n| GET | /api/general/dateformats | Return all of the platform supported Date Formats |\n| GET | /api/invoice/all | Return all invoices for the account |\n| GET | /api/invoice/allcategories | Return all invoice categories for the account |\n| POST | /api/invoice/new | Create an invoice |\n| POST | /api/invoice/newcategory | Create an invoice category |\n| POST | /api/invoice/update | Update an existing invoice |\n| POST | /api/invoice/updatecategory | Update an existing invoice category |\n| POST | /api/invoice/delete | Delete an existing invoice |\n| POST | /api/invoice/deletecategory | Delete an existing invoice category |\n| POST | /api/invoice/sendtoclient | Send the provided invoice to the client |\n| POST | /api/invoice/sendtoaccountant | Send the provided invoice to the accountant |\n| POST | /api/invoice/changestatus | Change invoice status |\n| GET | /api/invoice/status | Retrieve the status of the invoice |\n| GET | /api/invoice/details | Return invoice data |\n| GET | /api/invoice/uri | Return the unique url to the client's invoice |\n| GET | /api/invoice/pdf | Return the PDF for the invoice |\n| GET | /api/order/all | Return all orders for the account |\n| POST | /api/order/new | Create an order |\n| POST | /api/order/delete | Delete an existing order |\n| POST | /api/order/changeshippingdetails | Change order shipping details |\n| POST | /api/order/changestatus | Change order status |\n| GET | /api/order/details | Return order details |\n| GET | /api/payment/supported | Return all supported payment gateways (no currencies means all are supported) |\n| GET | /api/paymentlink/uri | Return the unique url to the client's payment link |\n| GET | /api/paymentlink/all | Create a payment link |\n| POST | /api/paymentlink/new | Create a payment link |\n| POST | /api/paymentlink/delete | Delete an existing payment link |\n| GET | /api/product/all | Return all products for the account |\n| POST | /api/product/new | Create a product |\n| POST | /api/product/update | Update an existing product |\n| POST | /api/product/delete | Delete an existing product |\n| GET | /api/product/details | Return product details |\n| GET | /api/tax/all | Return all taxes for the account |\n| POST | /api/tax/new | Create a tax |\n| POST | /api/tax/update | Update an existing tax |\n| POST | /api/tax/delete | Delete an existing tax |\n| GET | /api/worktype/all | Return all work types for the account |\n| GET | /api/worktype/search | Return all work types for the account that match the query param |\n| POST | /api/worktype/new | Create a work type |\n| POST | /api/worktype/update | Update an existing work type |\n| POST | /api/worktype/delete | Delete an existing work type |\n| GET | /api/worktype/details | Return work type details |\n\n## Common Questions\n\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"List all all?\" -> GET /api/client/all\n- \"Create a new?\" -> POST /api/client/new\n- \"Create a update?\" -> POST /api/client/update\n- \"List all candelete?\" -> GET /api/client/candelete\n- \"Create a delete?\" -> POST /api/client/delete\n- \"List all details?\" -> GET /api/client/details\n- \"List all all?\" -> GET /api/estimation/all\n- \"Create a new?\" -> POST /api/estimation/new\n- \"Create a update?\" -> POST /api/estimation/update\n- \"Create a delete?\" -> POST /api/estimation/delete\n- \"Create a changestatus?\" -> POST /api/estimation/changestatus\n- \"List all status?\" -> GET /api/estimation/status\n- \"List all details?\" -> GET /api/estimation/details\n- \"List all uri?\" -> GET /api/estimation/uri\n- \"Create a convert?\" -> POST /api/estimation/convert\n- \"Create a sendtoclient?\" -> POST /api/estimation/sendtoclient\n- \"List all countries?\" -> GET /api/general/countries\n- \"List all currencies?\" -> GET /api/general/currencies\n- \"List all uilanguages?\" -> GET /api/general/uilanguages\n- \"List all dateformats?\" -> GET /api/general/dateformats\n- \"List all all?\" -> GET /api/invoice/all\n- \"Search allcategories?\" -> GET /api/invoice/allcategories\n- \"Create a new?\" -> POST /api/invoice/new\n- \"Create a newcategory?\" -> POST /api/invoice/newcategory\n- \"Create a update?\" -> POST /api/invoice/update\n- \"Create a updatecategory?\" -> POST /api/invoice/updatecategory\n- \"Create a delete?\" -> POST /api/invoice/delete\n- \"Create a deletecategory?\" -> POST /api/invoice/deletecategory\n- \"Create a sendtoclient?\" -> POST /api/invoice/sendtoclient\n- \"Create a sendtoaccountant?\" -> POST /api/invoice/sendtoaccountant\n- \"Create a changestatus?\" -> POST /api/invoice/changestatus\n- \"List all status?\" -> GET /api/invoice/status\n- \"List all details?\" -> GET /api/invoice/details\n- \"List all uri?\" -> GET /api/invoice/uri\n- \"List all pdf?\" -> GET /api/invoice/pdf\n- \"List all all?\" -> GET /api/order/all\n- \"Create a new?\" -> POST /api/order/new\n- \"Create a delete?\" -> POST /api/order/delete\n- \"Create a changeshippingdetail?\" -> POST /api/order/changeshippingdetails\n- \"Create a changestatus?\" -> POST /api/order/changestatus\n- \"List all details?\" -> GET /api/order/details\n- \"List all supported?\" -> GET /api/payment/supported\n- \"List all uri?\" -> GET /api/paymentlink/uri\n- \"List all all?\" -> GET /api/paymentlink/all\n- \"Create a new?\" -> POST /api/paymentlink/new\n- \"Create a delete?\" -> POST /api/paymentlink/delete\n- \"List all all?\" -> GET /api/product/all\n- \"Create a new?\" -> POST /api/product/new\n- \"Create a update?\" -> POST /api/product/update\n- \"Create a delete?\" -> POST /api/product/delete\n- \"List all details?\" -> GET /api/product/details\n- \"List all all?\" -> GET /api/tax/all\n- \"Create a new?\" -> POST /api/tax/new\n- \"Create a update?\" -> POST /api/tax/update\n- \"Create a delete?\" -> POST /api/tax/delete\n- \"List all all?\" -> GET /api/worktype/all\n- \"List all search?\" -> GET /api/worktype/search\n- \"Create a new?\" -> POST /api/worktype/new\n- \"Create a update?\" -> POST /api/worktype/update\n- \"Create a delete?\" -> POST /api/worktype/delete\n- \"List all details?\" -> GET /api/worktype/details\n- \"How to authenticate?\" -> See Auth section\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n- Create/update endpoints typically return the created/updated object\n\n## CLI\n\n```bash\n# Update this spec to the latest version\nnpx @lap-platform/lapsh get api-v1-0-0 -o references/api-spec.lap\n\n# Search for related APIs\nnpx @lap-platform/lapsh search api-v1-0-0\n```\n\n## References\n- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas\n\n> Generated from the official API spec by [LAP](https://lap.sh)\n","references/api-spec.lap":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api API v1.0.0\n@base https://www.envoice.in\n@version v1\n@auth ApiKey x-auth-key in header | ApiKey x-auth-secret in header\n@common_fields {x-auth-key: any, x-auth-secret: any}\n@endpoints 61\n@hint download_for_search\n@toc api(61)\n\n@endpoint GET /api/client/all\n@desc Return all clients for the account\n@returns(200) OK\n\n@endpoint POST /api/client/new\n@desc Create a client\n@required {client: map}\n@returns(200) OK\n\n@endpoint POST /api/client/update\n@desc Update an existing client\n@required {client: map}\n@returns(204) No Content\n\n@endpoint GET /api/client/candelete\n@desc Check if the provided client can be deleted\n@required {id: any}\n@returns(200) OK\n\n@endpoint POST /api/client/delete\n@desc Delete an existing client\n@required {deleteModel: map}\n@returns(200) OK\n\n@endpoint GET /api/client/details\n@desc Return client details. Activities and invoices included.\n@required {id: any}\n@returns(200) OK\n\n@endpoint GET /api/estimation/all\n@desc Return all estimation for the account\n@optional {queryOptions.page: any, queryOptions.pageSize: any}\n@returns(200) OK\n\n@endpoint POST /api/estimation/new\n@desc Create an estimation\n@required {estimation: map}\n@returns(200) OK\n\n@endpoint POST /api/estimation/update\n@desc Update an existing estimation\n@required {estimation: map}\n@returns(200) OK\n\n@endpoint POST /api/estimation/delete\n@desc Delete an existing estimation\n@required {deleteModel: map}\n@returns(200) OK\n\n@endpoint POST /api/estimation/changestatus\n@desc Change estimation status\n@required {statusModel: map}\n@returns(200) OK\n\n@endpoint GET /api/estimation/status\n@desc Retrieve the status of the estimation\n@required {id: any}\n@returns(200) OK\n\n@endpoint GET /api/estimation/details\n@desc Return estimation data\n@required {id: any}\n@returns(200) OK\n\n@endpoint GET /api/estimation/uri\n@desc Return the unique url to the client's invoice\n@required {id: any}\n@returns(200) OK\n\n@endpoint POST /api/estimation/convert\n@desc Convert the estimation to an invoice\n@required {id: int(int32)}\n@returns(200) OK\n\n@endpoint POST /api/estimation/sendtoclient\n@desc Send the provided estimation to the client\n@required {deliveryOptions: map}\n@returns(200) OK\n\n@endpoint GET /api/general/countries\n@desc Return all of the platform supported countries\n@returns(200) OK\n\n@endpoint GET /api/general/currencies\n@desc Return all of the platform supported currencies\n@returns(200) OK\n\n@endpoint GET /api/general/uilanguages\n@desc Return all of the platform supported UI languages\n@returns(200) OK\n\n@endpoint GET /api/general/dateformats\n@desc Return all of the platform supported Date Formats\n@returns(200) OK\n\n@endpoint GET /api/invoice/all\n@desc Return all invoices for the account\n@optional {queryOptions.page: any, queryOptions.pageSize: any}\n@returns(200) OK\n\n@endpoint GET /api/invoice/allcategories\n@desc Return all invoice categories for the account\n@optional {query: any}\n@returns(200) OK\n\n@endpoint POST /api/invoice/new\n@desc Create an invoice\n@required {invoice: map}\n@returns(200) OK\n\n@endpoint POST /api/invoice/newcategory\n@desc Create an invoice category\n@required {invoiceCategory: map}\n@returns(200) OK\n\n@endpoint POST /api/invoice/update\n@desc Update an existing invoice\n@required {invoice: map}\n@returns(200) OK\n\n@endpoint POST /api/invoice/updatecategory\n@desc Update an existing invoice category\n@required {invoiceCateogry: map}\n@returns(200) OK\n\n@endpoint POST /api/invoice/delete\n@desc Delete an existing invoice\n@required {deleteModel: map}\n@returns(200) OK\n\n@endpoint POST /api/invoice/deletecategory\n@desc Delete an existing invoice category\n@required {deleteModel: map}\n@returns(200) OK\n\n@endpoint POST /api/invoice/sendtoclient\n@desc Send the provided invoice to the client\n@required {deliveryOptions: map}\n@returns(200) OK\n\n@endpoint POST /api/invoice/sendtoaccountant\n@desc Send the provided invoice to the accountant\n@required {invoice: map}\n@returns(200) OK\n\n@endpoint POST /api/invoice/changestatus\n@desc Change invoice status\n@required {statusModel: map}\n@returns(200) OK\n\n@endpoint GET /api/invoice/status\n@desc Retrieve the status of the invoice\n@required {id: any}\n@returns(200) OK\n\n@endpoint GET /api/invoice/details\n@desc Return invoice data\n@required {id: any}\n@returns(200) OK\n\n@endpoint GET /api/invoice/uri\n@desc Return the unique url to the client's invoice\n@required {id: any}\n@returns(200) OK\n\n@endpoint GET /api/invoice/pdf\n@desc Return the PDF for the invoice\n@required {id: any}\n@optional {signedVersion: any}\n@returns(200) OK\n\n@endpoint GET /api/order/all\n@desc Return all orders for the account\n@optional {queryOptions.page: any, queryOptions.pageSize: any}\n@returns(200) OK\n\n@endpoint POST /api/order/new\n@desc Create an order\n@required {order: map}\n@returns(200) OK\n\n@endpoint POST /api/order/delete\n@desc Delete an existing order\n@required {order: map}\n@returns(200) OK\n\n@endpoint POST /api/order/changeshippingdetails\n@desc Change order shipping details\n@required {orderId: any, shippingDetails: map}\n@returns(204) No Content\n\n@endpoint POST /api/order/changestatus\n@desc Change order status\n@required {status: map}\n@returns(204) No Content\n\n@endpoint GET /api/order/details\n@desc Return order details\n@required {id: any}\n@returns(200) OK\n\n@endpoint GET /api/payment/supported\n@desc Return all supported payment gateways (no currencies means all are supported)\n@returns(200) OK\n\n@endpoint GET /api/paymentlink/uri\n@desc Return the unique url to the client's payment link\n@required {id: any}\n@returns(200) OK\n\n@endpoint GET /api/paymentlink/all\n@desc Create a payment link\n@optional {queryOptions.page: any, queryOptions.pageSize: any}\n@returns(200) OK\n\n@endpoint POST /api/paymentlink/new\n@desc Create a payment link\n@required {paymentLink: map}\n@returns(200) OK\n\n@endpoint POST /api/paymentlink/delete\n@desc Delete an existing payment link\n@required {paymentLink: map}\n@returns(200) OK\n\n@endpoint GET /api/product/all\n@desc Return all products for the account\n@optional {queryOptions.page: any, queryOptions.pageSize: any}\n@returns(200) OK\n\n@endpoint POST /api/product/new\n@desc Create a product\n@required {product: map}\n@returns(200) OK\n\n@endpoint POST /api/product/update\n@desc Update an existing product\n@required {product: map}\n@returns(204) No Content\n\n@endpoint POST /api/product/delete\n@desc Delete an existing product\n@required {product: map}\n@returns(200) OK\n\n@endpoint GET /api/product/details\n@desc Return product details\n@required {id: any}\n@returns(200) OK\n\n@endpoint GET /api/tax/all\n@desc Return all taxes for the account\n@returns(200) OK\n\n@endpoint POST /api/tax/new\n@desc Create a tax\n@required {tax: map}\n@returns(200) OK\n\n@endpoint POST /api/tax/update\n@desc Update an existing tax\n@required {tax: map}\n@returns(204) No Content\n\n@endpoint POST /api/tax/delete\n@desc Delete an existing tax\n@required {deleteModel: map}\n@returns(200) OK\n\n@endpoint GET /api/worktype/all\n@desc Return all work types for the account\n@returns(200) OK\n\n@endpoint GET /api/worktype/search\n@desc Return all work types for the account that match the query param\n@optional {queryOptions.query: any, queryOptions.orderBy: any, queryOptions.order: any, queryOptions.page: any, queryOptions.pageSize: any}\n@returns(200) OK\n\n@endpoint POST /api/worktype/new\n@desc Create a work type\n@required {workType: map}\n@returns(200) OK\n\n@endpoint POST /api/worktype/update\n@desc Update an existing work type\n@required {workType: map}\n@returns(204) No Content\n\n@endpoint POST /api/worktype/delete\n@desc Delete an existing work type\n@required {deleteModel: map}\n@returns(200) OK\n\n@endpoint GET /api/worktype/details\n@desc Return work type details\n@required {workTypeId: any}\n@returns(200) OK\n\n@end\n"}}