{"id":16466379,"url":"https://github.com/boadusamuel/shaq-invoice","last_synced_at":"2026-06-19T06:32:51.666Z","repository":{"id":207222336,"uuid":"718712439","full_name":"boadusamuel/shaQ-invoice","owner":"boadusamuel","description":"This project utilizes the PHP Laravel framework to create a robust and efficient RESTful backend API for invoicing. Designed to streamline and manage the invoicing process, the API provides a flexible foundation for handling various invoicing functionalities.","archived":false,"fork":false,"pushed_at":"2023-11-16T18:57:27.000Z","size":113,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-11T15:30:34.911Z","etag":null,"topics":["api","laravel","sanctum"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/boadusamuel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-11-14T16:41:49.000Z","updated_at":"2023-11-16T06:07:38.000Z","dependencies_parsed_at":"2023-11-14T18:44:07.354Z","dependency_job_id":"6fa0f3b4-8ba9-4ca7-b8fe-719df6cec23c","html_url":"https://github.com/boadusamuel/shaQ-invoice","commit_stats":null,"previous_names":["boadusamuel/shaq-invoice"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/boadusamuel/shaQ-invoice","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boadusamuel%2FshaQ-invoice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boadusamuel%2FshaQ-invoice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boadusamuel%2FshaQ-invoice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boadusamuel%2FshaQ-invoice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/boadusamuel","download_url":"https://codeload.github.com/boadusamuel/shaQ-invoice/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boadusamuel%2FshaQ-invoice/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34520431,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-19T02:00:06.005Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","laravel","sanctum"],"created_at":"2024-10-11T11:43:34.966Z","updated_at":"2026-06-19T06:32:51.641Z","avatar_url":"https://github.com/boadusamuel.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n#  Invoicing REST Backend API\n\n## Setup\n1. **Clone Repository:**\n   ```bash\n   git clone https://github.com/boadusamuel/shaQ-invoice.git\n   ```\n   \n2. **Install composer dependencies:**\n   ```bash\n   cd shaQ-invoice\n   composer install\n   ```\n   \n3. **Copy Env file:**\n   ```bash\n   cp .env.example .env\n   ```\n   \n4. **Generate Application Key:**\n   ```bash\n   php artisan key:generate\n   ```\n   Make sure to update the .env file with your database configuration settings before running the application.\n\n\n5. **Migrate and Seed Database:**\n   ```bash\n   php artisan migrate:fresh --seed\n   ```\nThis will seed the database with default data of which a **User** will be created for **authentication** and **authorization**.\n\n6. **Run Application:**\n   ```bash\n   php artisan serve\n   ```\n\n## User Authentication\n\n##  Login\n\n### Endpoint\n- **URL:** `/v1.0/login`\n\n### Request\n- **Method:** POST\n\n#### Headers\n- **Accept:** `application/json`\n\n#### Body\n- **Type:** raw (json)\n- **Content-Type:** `application/json`\n- **Body:**\n  ```json\n  {\n    \"email\": \"admin@email.com\",\n    \"password\": \"password\"\n  }\n  ```\n\n### Response\n- **Status Code:** `200 OK`\n#### Body\n- **Type:** json\n``` json\n{\n    \"success\": true,\n    \"data\": {\n        \"token\": \"1|4HGQlEOQhyrRaRCKxNfII5AStFKE4lFgun6iiz0v8488f6fe\",\n        \"user\": {\n            \"id\": 1,\n            \"name\": \"Admin User\",\n            \"email\": \"admin@email.com\"\n        }\n    }\n}\n```\n\n Logout\n-----------\n\n### Endpoint\n\n-   URL: `/logout`\n\n### Authorization\n\n-   Type: Bearer Token\n-   Token: (Include the user's token in the Authorization header)\n\n### Request\n\n-   Method: POST\n\n#### Headers\n\n-   Accept: `application/json`\n\n### Response\n- **Status Code:** `204  NO CONTENT`\n\n\n##  Items\n\nItems for which invoices could be generated for.\n\n###  Get List of Items\n\n#### Endpoint\n- **URL:** `/v1.0/items`\n\n#### Authorization\n- **Type:** Bearer Token\n- **Token:** (Include the user's token in the Authorization header)\n\n#### Request\n- **Method:** GET\n\n##### Headers\n- **Accept:** `application/json`\n\n##### Query Params\n- **name:** George\n- **perPage:** 10\n- **page:** 1\n\n\n### Response\n- **Status Code:** 200 OK\n\n#### Body\n- **Type:** json\n```json\n{\n    \"success\": true,\n    \"data\": [\n        {\n            \"id\": 1,\n            \"name\": \"Milo\",\n            \"price\": \"14.00\",\n            \"quantity\": 20,\n            \"description\": \"Cocoa Powder\",\n            \"createdAt\": \"2023-11-15 17:21:46\",\n            \"updatedAt\": \"2023-11-15 18:17:29\"\n        },\n        {\n            \"id\": 11,\n            \"name\": \"Maggi\",\n            \"price\": \"14.00\",\n            \"quantity\": 20,\n            \"description\": \"Cube\",\n            \"createdAt\": \"2023-11-15 18:17:41\",\n            \"updatedAt\": \"2023-11-15 18:17:41\"\n        }\n    ],\n    \"links\": {\n        \"first\": \"http://localhost:8000/api/v1.0/items?page=1\",\n        \"last\": \"http://localhost:8000/api/v1.0/items?page=1\",\n        \"prev\": null,\n        \"next\": null\n    },\n    \"meta\": {\n        \"current_page\": 1,\n        \"from\": 1,\n        \"last_page\": 1,\n        \"links\": [\n            {\n                \"url\": null,\n                \"label\": \"\u0026laquo; Previous\",\n                \"active\": false\n            },\n            {\n                \"url\": \"http://localhost:8000/api/v1.0/items?page=1\",\n                \"label\": \"1\",\n                \"active\": true\n            },\n            {\n                \"url\": null,\n                \"label\": \"Next \u0026raquo;\",\n                \"active\": false\n            }\n        ],\n        \"path\": \"http://localhost:8000/api/v1.0/items\",\n        \"per_page\": 20,\n        \"to\": 11,\n        \"total\": 11\n    }\n}\n```\n\n##  Add Item Quantity\n\n### Endpoint\n- **URL:** `/v1.0/items/:itemId/increment-quantity`\n\n### Authorization\n- **Type:** Bearer Token\n- **Token:** (Include the user's token in the Authorization header)\n\n\n### Request\n- **Method:** PUT\n\n#### Headers\n- **Accept:** `application/json`\n\n#### Body\n- **Type:** raw (json)\n- **Content-Type:** `application/json`\n- **Body:**\n  ```json\n  {\n      \"quantity\": 20\n  }\n  ```\n\n### Response\n- **Status Code:** 200 OK\n\n#### Body\n- **Type:** json\n```json\n{\n    \"success\": true,\n    \"data\": {\n        \"id\": 1,\n        \"name\": \"Nano tape\",\n        \"price\": 1.58,\n        \"quantity\": 420,\n        \"description\": \"Solid Tape.\",\n        \"createdAt\": \"2023-11-14 19:38:21\",\n        \"updatedAt\": \"2023-11-14 20:11:03\"\n    }\n}\n```\n##  Update Item\n\n### Endpoint\n- **URL:** `/v1.0/items/:itemId/`\n\n### Authorization\n- **Type:** Bearer Token\n- **Token:** (Include the user's token in the Authorization header)\n\n### Request\n- **Method:** PUT\n\n#### Headers\n- **Accept:** `application/json`\n\n#### Body\n- **Type:** raw (json)\n- **Content-Type:** `application/json`\n- **Body:**\n  ```json\n  {\n      \"quantity\": 20,\n      \"price\": 14\n  }\n\n### Response\n- **Status Code:** 200 OK\n\n#### Body\n- **Type:** json\n```json\n{\n    \"success\": true,\n    \"data\": {\n        \"id\": 1,\n        \"name\": \"Nano tape\",\n        \"price\": 14,\n        \"quantity\": 20,\n        \"description\": \"Solid Tape.\",\n        \"createdAt\": \"2023-11-14 19:38:21\",\n        \"updatedAt\": \"2023-11-14 20:11:03\"\n    }\n}\n```\n##  Get Item\n\n### Endpoint\n- **URL:** `/v1.0/items/:itemId/`\n\n### Authorization\n- **Type:** Bearer Token\n- **Token:** (Include the user's token in the Authorization header)\n\n### Request\n- **Method:** GET\n\n#### Headers\n- **Accept:** `application/json`\n\n### Response\n- **Status Code:** 200 OK\n\n#### Body\n- **Type:** json\n```json\n{\n    \"success\": true,\n    \"data\": {\n        \"id\": 1,\n        \"name\": \"Nano tape\",\n        \"price\": 14,\n        \"quantity\": 20,\n        \"description\": \"Solid Tape.\",\n        \"createdAt\": \"2023-11-14 19:38:21\",\n        \"updatedAt\": \"2023-11-14 20:11:03\"\n    }\n}\n```\n\n##  Create Item\n\n### Endpoint\n- **URL:** `/v1.0/items`\n\n### Authorization\n- **Type:** Bearer Token\n- **Token:** (Include the user's token in the Authorization header)\n\n### Request\n- **Method:** POST\n\n#### Headers\n- **Accept:** `application/json`\n\n#### Body\n- **Type:** raw (json)\n- **Content-Type:** `application/json`\n- **Body:**\n  ```json\n  {\n      \"name\": \"Maggi\",\n      \"quantity\": 20,\n      \"price\": 14,\n      \"description\": \"Solid Tape.\"\n  }\n\n### Response\n- **Status Code:** 200 OK\n\n#### Body\n- **Type:** json\n```json\n{\n    \"success\": true,\n    \"data\": {\n        \"id\": 1,\n        \"name\": \"Nano tape\",\n        \"price\": 14,\n        \"quantity\": 20,\n        \"description\": \"Solid Tape.\",\n        \"createdAt\": \"2023-11-14 19:38:21\",\n        \"updatedAt\": \"2023-11-14 20:11:03\"\n    }\n}\n```\n\n##  Get Customers\n\n### Endpoint\n- **URL:** `/v1.0/customers`\n\n### Authorization\n- **Type:** Bearer Token\n- **Token:** (Include the user's token in the Authorization header)\n\n### Request\n- **Method:** GET\n\n#### Headers\n- **Accept:** `application/json`\n\n#### Query Params\n- **name:** George\n- **perPage:** 2\n- **page:** 2\n\n### Response\n- **Status Code:** 200 OK\n\n#### Body\n- **Type:** json\n```json\n{\n    \"success\": true,\n    \"data\": [\n        {\n            \"id\": 1,\n            \"name\": \"Trent Fahey\",\n            \"phone\": \"+19294922535\",\n            \"createdAt\": \"2023-11-15 17:21:46\",\n            \"updatedAt\": \"2023-11-15 17:21:46\"\n        },\n        {\n            \"id\": 2,\n            \"name\": \"Valerie Reichert\",\n            \"phone\": \"+1-541-608-1705\",\n            \"createdAt\": \"2023-11-15 17:21:46\",\n            \"updatedAt\": \"2023-11-15 17:21:46\"\n        },\n        {\n            \"id\": 11,\n            \"name\": \"samuel\",\n            \"phone\": \"0244449933\",\n            \"createdAt\": \"2023-11-15 18:22:41\",\n            \"updatedAt\": \"2023-11-15 18:22:41\"\n        }\n    ],\n    \"links\": {\n        \"first\": \"http://localhost:8000/api/v1.0/customers?page=1\",\n        \"last\": \"http://localhost:8000/api/v1.0/customers?page=1\",\n        \"prev\": null,\n        \"next\": null\n    },\n    \"meta\": {\n        \"current_page\": 1,\n        \"from\": 1,\n        \"last_page\": 1,\n        \"links\": [\n            {\n                \"url\": null,\n                \"label\": \"\u0026laquo; Previous\",\n                \"active\": false\n            },\n            {\n                \"url\": \"http://localhost:8000/api/v1.0/customers?page=1\",\n                \"label\": \"1\",\n                \"active\": true\n            },\n            {\n                \"url\": null,\n                \"label\": \"Next \u0026raquo;\",\n                \"active\": false\n            }\n        ],\n        \"path\": \"http://localhost:8000/api/v1.0/customers\",\n        \"per_page\": 20,\n        \"to\": 11,\n        \"total\": 11\n    }\n}\n```\n\n## Get Customer\n\n### Endpoint\n- **URL:** `/v1.0/customers/:customerId`\n\n### Authorization\n- **Type:** Bearer Token\n- **Token:** (Include the user's token in the Authorization header)\n\n### Request\n- **Method:** GET\n\n#### Headers\n- **Accept:** `application/json`\n\n### Response\n- **Status Code:** 200 OK\n- **Type:** json\n```json\n{\n    \"success\": true,\n    \"data\": {\n        \"id\": 1,\n        \"name\": \"Trent Fahey\",\n        \"phone\": \"+19294922535\",\n        \"createdAt\": \"2023-11-15 17:21:46\",\n        \"updatedAt\": \"2023-11-15 17:21:46\"\n    }\n}\n```\n\n##  Create Customer\n\n### Endpoint\n- **URL:** `/v1.0/customers`\n\n### Authorization\n- **Type:** Bearer Token\n- **Token:** (Include the user's token in the Authorization header)\n\n### Request\n- **Method:** POST\n\n#### Headers\n- **Accept:** `application/json`\n\n\n#### Body\n- **Type:** raw (json)\n- **Content-Type:** `application/json`\n- **Body:**\n  ```json\n  {\n      \"name\": \"samuel\",\n      \"phone\": \"0244449933\"\n  }\n\n### Response\n\n-   Status Code: 201 CREATED\n\n#### Body\n\n-   Type: json\n```json\n{\n    \"success\": true,\n    \"data\": {\n        \"id\": 11,\n        \"name\": \"samuel\",\n        \"phone\": \"0244449933\",\n        \"createdAt\": \"2023-11-15 18:22:41\",\n        \"updatedAt\": \"2023-11-15 18:22:41\"\n    }\n}\n```\n\n\n##  Generate Invoice\n\n### Endpoint\n- **URL:** `/v1.0/invoices`\n\n### Authorization\n- **Type:** Bearer Token\n- **Token:** (Include the user's token in the Authorization header)\n\n### Request\n- **Method:** POST\n\n#### Headers\n- **Accept:** `application/json`\n\n#### Body\n- **Type:** raw (json)\n- **Content-Type:** `application/json`\n- **Body:**\n  ```json\n  {\n      \"customerId\": 1,\n      \"issueDate\": \"2023-11-14\",\n      \"dueDate\": \"2023-11-14\",\n      \"items\": [\n          {\n              \"itemId\": 1,\n              \"price\": \"11\",\n              \"quantity\": 10,\n              \"description\": \"Nice to have\"\n          },\n          {\n              \"itemId\": 2,\n              \"price\": \"20.4\",\n              \"quantity\": 10,\n              \"description\": \"quality show\"\n          }\n      ]\n  }\n  ```\n\n### Response\n\n-   Status Code: 201 CREATED\n\n#### Body\n\n-   Type: json\n```json\n{\n    \"success\": true,\n    \"data\": {\n        \"id\": 27,\n        \"invoiceNumber\": \"INV00027\",\n        \"total\": \"124.00\",\n        \"customer\": {\n            \"id\": 1,\n            \"name\": \"Prof. Devin Renner\",\n            \"phone\": \"630.530.2149\",\n            \"createdAt\": \"2023-11-15 07:44:25\",\n            \"updatedAt\": \"2023-11-15 07:44:25\"\n        },\n        \"items\": [\n            {\n                \"id\": 75,\n                \"itemName\": \"Otha Cruickshank\",\n                \"unitPrice\": \"11.00\",\n                \"quantity\": 2,\n                \"amount\": \"22.00\",\n                \"description\": \"Nice to have\"\n            },\n            {\n                \"id\": 76,\n                \"itemName\": \"Gonzalo Deckow\",\n                \"unitPrice\": \"20.40\",\n                \"quantity\": 5,\n                \"amount\": \"102.00\",\n                \"description\": \"quality show\"\n            }\n        ],\n        \"issueDate\": \"2023-11-14\",\n        \"dueDate\": \"2023-11-14\",\n        \"createdAt\": \"2023-11-15 10:22:32\"\n    }\n}\n```\n\n##  Update Invoice Items\n\n### Endpoint\n- **URL:** `/v1.0/invoices/:invoiceId/items`\n\n### Authorization\n- **Type:** Bearer Token\n- **Token:** (Include the user's token in the Authorization header)\n\n### Request\n- **Method:** PUT\n\n#### Headers\n- **Accept:** `application/json`\n\n#### Body\n- **Type:** raw (json)\n- **Content-Type:** `application/json`\n- **Body:**\n  ```json\n  {\n      \"items\": [\n          {\n              \"itemId\": 1,\n              \"price\": \"20\",\n              \"quantity\": 10,\n              \"description\": \"Nice to have\"\n          },\n          {\n              \"itemId\": 2,\n              \"price\": \"20.4\",\n              \"quantity\": 5,\n              \"description\": \"quality show\"\n          }\n      ]\n  }\n  ```\n\n### Response\n- **Status Code:** 200 OK\n\n#### Body\n- **Type:** json\n```json\n{\n    \"success\": true,\n    \"data\": {\n        \"id\": 44,\n        \"invoiceNumber\": \"INV00044\",\n        \"total\": \"302.00\",\n        \"customer\": {\n            \"id\": 1,\n            \"name\": \"Prof. Devin Renner\",\n            \"phone\": \"630.530.2149\",\n            \"createdAt\": \"2023-11-15 07:44:25\",\n            \"updatedAt\": \"2023-11-15 07:44:25\"\n        },\n        \"items\": [\n            {\n                \"id\": 99,\n                \"itemName\": \"Otha Cruickshank\",\n                \"unitPrice\": \"20.00\",\n                \"quantity\": 10,\n                \"amount\": \"200.00\",\n                \"description\": \"Nice to have\"\n            },\n            {\n                \"id\": 103,\n                \"itemName\": \"Gonzalo Deckow\",\n                \"unitPrice\": \"20.40\",\n                \"quantity\": 5,\n                \"amount\": \"102.00\",\n                \"description\": \"quality show\"\n            }\n        ],\n        \"issueDate\": \"2023-11-14\",\n        \"dueDate\": \"2023-11-15\",\n        \"createdAt\": \"2023-11-15 14:18:28\"\n    }\n}\n```\n\n### Error Response - Update Invoice Items Insufficient Stock\n- **Status Code:** 422 UNPROCESSABLE CONTENT\n\n#### Body\n- **Type:** json\n```json\n{\n    \"message\": \"Insufficient stock for the selected item with ItemId: 2. Available Stock: 4900\",\n    \"errors\": {\n        \"items\": [\n            \"Insufficient stock for the selected item with ItemId: 2. Available Stock: 4900\"\n        ]\n    }\n}\n```\n\n##  Update Invoice\n\n### Endpoint\n- **URL:** `/v1.0/invoices/:invoiceId`\n\n### Authorization\n- **Type:** Bearer Token\n- **Token:** (Include the user's token in the Authorization header)\n\n### Request\n- **Method:** PUT\n\n#### Headers\n- **Accept:** `application/json`\n\n#### Body\n- **Type:** raw (json)\n- **Content-Type:** `application/json`\n- **Body:**\n  ```json\n  {\n      \"customerId\": 1,\n      \"issueDate\": \"2023-11-14\",\n      \"dueDate\": \"2023-11-15\"\n  }\n  ```\n\n### Response\n- **Status Code:** 200 OK\n- **Type:** json\n```json\n{\n    \"success\": true,\n    \"data\": {\n        \"id\": 11,\n        \"invoiceNumber\": \"INV00011\",\n        \"total\": \"130.00\",\n        \"customer\": {\n            \"id\": 2,\n            \"name\": \"John Doe\",\n            \"phone\": \"+1234567890\",\n            \"createdAt\": \"2023-11-01 12:34:56\",\n            \"updatedAt\": \"2023-11-01 12:34:56\"\n        },\n        \"items\": [\n            {\n                \"id\": 21,\n                \"itemName\": \"Product A\",\n                \"unitPrice\": \"30.00\",\n                \"quantity\": 3,\n                \"amount\": \"90.00\",\n                \"description\": \"New description\"\n            },\n            {\n                \"id\": 22,\n                \"itemName\": \"Product B\",\n                \"unitPrice\": \"20.00\",\n                \"quantity\": 2,\n                \"amount\": \"40.00\",\n                \"description\": \"Updated description\"\n            }\n        ],\n        \"issueDate\": \"2023-11-14\",\n        \"dueDate\": \"2023-11-30\",\n        \"createdAt\": \"2023-11-10 15:45:00\",\n        \"updatedAt\": \"2023-11-11 09:30:15\"\n    }\n}\n```\n\n## Delete Invoice\n\n### Endpoint\n- **URL:** `/v1.0/invoices/:invoiceId`\n\n### Authorization\n- **Type:** Bearer Token\n- **Token:** (Include the user's token in the Authorization header)\n\n### Request\n- **Method:** DELETE\n\n#### Headers\n- **Accept:** `application/json`\n\n### Response\n- **Status Code:** `204 No Content`\n\n\n## Get Invoice\n\n### Endpoint\n- **URL:** `/v1.0/invoices/:invoiceId`\n\n### Authorization\n- **Type:** Bearer Token\n- **Token:** (Include the user's token in the Authorization header)\n\n### Request\n- **Method:** GET\n\n#### Headers\n- **Accept:** `application/json`\n\n### Response\n- **Status Code:** 200 OK\n- **Type:** json\n```json\n{\n    \"success\": true,\n    \"data\": {\n        \"id\": 11,\n        \"invoiceNumber\": \"INV00011\",\n        \"total\": \"130.00\",\n        \"customer\": {\n            \"id\": 2,\n            \"name\": \"John Doe\",\n            \"phone\": \"+1234567890\",\n            \"createdAt\": \"2023-11-01 12:34:56\",\n            \"updatedAt\": \"2023-11-01 12:34:56\"\n        },\n        \"items\": [\n            {\n                \"id\": 21,\n                \"itemName\": \"Product A\",\n                \"unitPrice\": \"30.00\",\n                \"quantity\": 3,\n                \"amount\": \"90.00\",\n                \"description\": \"New description\"    \n            },\n            {\n                \"id\": 22,\n                \"itemName\": \"Product B\",\n                \"unitPrice\": \"20.00\",\n                \"quantity\": 2,\n                \"amount\": \"40.00\",\n                \"description\": \"Updated description\"\n            }\n        ],\n        \"issueDate\": \"2023-11-14\",\n        \"dueDate\": \"2023-11-30\",\n        \"createdAt\": \"2023-11-10 15:45:00\",\n        \"updatedAt\": \"2023-11-11 09:30:15\"  \n    }\n}\n```\n\n##  Get Invoices\n\n### Endpoint\n- **URL:** `/v1.0/invoices`\n\n### Authorization\n- **Type:** Bearer Token\n- **Token:** (Include the user's token in the Authorization header)\n\n### Request\n- **Method:** GET\n\n#### Headers\n- **Accept:** `application/json`\n\n### Query Params\n- **customerId:** 1\n\n### Response\n- **Status Code:** 200 OK\n- **Type:** json\n```json\n{\n    \"success\": true,\n    \"data\": [\n        {\n            \"id\": 1,\n            \"invoiceNumber\": \"INV00001\",\n            \"total\": \"3.00\",\n            \"customer\": {\n                \"id\": 5,\n                \"name\": \"Mr. Seamus Tromp\",\n                \"phone\": \"+13398755812\",\n                \"createdAt\": \"2023-11-15 17:21:46\",\n                \"updatedAt\": \"2023-11-15 17:21:46\"\n            },\n            \"issueDate\": \"2021-04-17\",\n            \"dueDate\": \"1998-08-09\",\n            \"createdAt\": \"2023-11-15 17:21:46\"\n        },\n        {\n            \"id\": 2,\n            \"invoiceNumber\": \"INV00002\",\n            \"total\": \"2.00\",\n            \"customer\": {\n                \"id\": 4,\n                \"name\": \"Lindsey Wiza\",\n                \"phone\": \"940-998-0817\",\n                \"createdAt\": \"2023-11-15 17:21:46\",\n                \"updatedAt\": \"2023-11-15 17:21:46\"\n            },\n            \"issueDate\": \"2023-09-16\",\n            \"dueDate\": \"2015-09-19\",\n            \"createdAt\": \"2023-11-15 17:21:46\"\n        }\n    ],\n    \"links\": {\n        \"first\": \"http://localhost:8000/api/v1.0/invoices?page=1\",\n        \"last\": \"http://localhost:8000/api/v1.0/invoices?page=1\",\n        \"prev\": null,\n        \"next\": null\n    },\n    \"meta\": {\n        \"current_page\": 1,\n        \"from\": 1,\n        \"last_page\": 1,\n        \"links\": [\n            {\n                \"url\": null,\n                \"label\": \"\u0026laquo; Previous\",\n                \"active\": false\n            },\n            {\n                \"url\": \"http://localhost:8000/api/v1.0/invoices?page=1\",\n                \"label\": \"1\",\n                \"active\": true\n            },\n            {\n                \"url\": null,\n                \"label\": \"Next \u0026raquo;\",\n                \"active\": false\n            }\n        ],\n        \"path\": \"http://localhost:8000/api/v1.0/invoices\",\n        \"per_page\": 20,\n        \"to\": 11,\n        \"total\": 11\n    }\n}\n```\n\n\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboadusamuel%2Fshaq-invoice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fboadusamuel%2Fshaq-invoice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboadusamuel%2Fshaq-invoice/lists"}