{"openapi":"3.0.3","info":{"title":"OmniCore CRM API","version":"1.3.0","description":"API-first CRM backend for OmniCore CRM web, mobile, and third-party integrations."},"servers":[{"url":"https:\/\/omnicore.skymoonlabs.com\/api\/v1"}],"paths":{"\/installer\/status":{"get":{"tags":["Installer"],"summary":"Inspect runtime requirements, database driver, and install status","x-response-example":{"data":{"database_connection":"mysql","installed":true,"php_version":"8.2.13","laravel_version":"12.x"}}}},"\/installer\/run":{"post":{"tags":["Installer"],"summary":"Write installer settings, migrate the database, and optionally seed demo data","x-request-example":{"app_name":"OmniCore CRM","app_url":"http:\/\/localhost","seed_demo":true,"database":{"driver":"mysql","host":"127.0.0.1","port":"3306","database":"omnicore_crm","username":"root","password":""},"admin":{"name":"OmniCore Admin","email":"admin@omnicore.test","password":"password","phone":"+15550000001"}},"x-response-example":{"message":"Installation completed.","data":{"installed":true}}}},"\/auth\/register":{"post":{"tags":["Authentication"],"summary":"Register a new user and issue a Sanctum token","x-request-example":{"name":"Jordan Miles","email":"jordan@example.com","password":"password","password_confirmation":"password"},"x-response-example":{"message":"Registered.","data":{"token":"1|sanctum-token-example","user":{"id":2,"name":"Jordan Miles","email":"jordan@example.com"}}}}},"\/auth\/login":{"post":{"tags":["Authentication"],"summary":"Authenticate and issue Sanctum token","x-request-example":{"email":"admin@omnicore.test","password":"password"},"x-response-example":{"message":"Authenticated.","data":{"token":"1|sanctum-token-example","user":{"id":1,"name":"OmniCore Admin","email":"admin@omnicore.test"}}}}},"\/auth\/me":{"get":{"tags":["Authentication"],"summary":"Get the current authenticated user","security":[{"sanctumBearer":[]}],"x-response-example":{"data":{"id":1,"name":"OmniCore Admin","email":"admin@omnicore.test"}}}},"\/auth\/logout":{"post":{"tags":["Authentication"],"summary":"Revoke the current user token","security":[{"sanctumBearer":[]}],"x-response-example":{"message":"Logged out."}}},"\/dashboard":{"get":{"tags":["Dashboard"],"summary":"Return dashboard KPIs, revenue, pipeline, and workload insights","security":[{"sanctumBearer":[]}],"x-response-example":{"data":{"stats":[{"label":"Revenue","value":"$42,800.00"},{"label":"Open Leads","value":18}],"pipeline":[{"stage":"qualified","total":7}]}}}},"\/search":{"get":{"tags":["Utilities"],"summary":"Search across CRM modules","security":[{"sanctumBearer":[]}],"x-response-example":{"data":{"results":[{"type":"lead","title":"Skyline Labs","url":"\/admin\/modules\/leads"}]}}}},"\/calendar":{"get":{"tags":["Utilities"],"summary":"Return task, milestone, and event calendar data","security":[{"sanctumBearer":[]}],"x-response-example":{"data":{"tasks":[{"title":"QA onboarding flow","due_at":"2026-04-21T09:00:00Z"}]}}}},"\/settings":{"get":{"tags":["Settings"],"summary":"Read system settings","security":[{"sanctumBearer":[]}],"x-response-example":{"data":{"app":{"name":"OmniCore CRM","locale":"en"},"seo":{"pages":{"landing":{"title":"OmniCore CRM"}}}}}},"put":{"tags":["Settings"],"summary":"Update system settings","security":[{"sanctumBearer":[]}],"x-request-example":{"app":{"name":"OmniCore CRM","currency":"USD","tax_percent":18,"locale":"es","supported_locales":["en","es"]},"seo":{"pages":{"landing":{"alias":"crm","title":"OmniCore CRM"},"docs_api":{"alias":"developer\/api"}}},"notifications":{"email_driver":"sendgrid"},"payments":{"driver":"stripe"}},"x-response-example":{"message":"Settings updated successfully."}}},"\/settings\/test-notification":{"post":{"tags":["Settings"],"summary":"Send email, SMS, or WhatsApp test message","security":[{"sanctumBearer":[]}],"x-request-example":{"channel":"email","to":"buyer@example.com","subject":"OmniCore test","message":"Hello from OmniCore CRM"},"x-response-example":{"message":"Notification test completed.","data":{"channel":"email","driver":"sendgrid","status":"sent"}}}},"\/notifications\/templates":{"get":{"tags":["Notifications"],"summary":"List reusable notification templates","security":[{"sanctumBearer":[]}],"x-response-example":{"data":[{"key":"invoice_reminder_email","channel":"email"}]}}},"\/notifications\/deliveries":{"get":{"tags":["Notifications"],"summary":"List notification delivery logs with retry state","security":[{"sanctumBearer":[]}],"x-response-example":{"data":[{"id":1,"channel":"email","status":"queued"}]}}},"\/notifications\/send":{"post":{"tags":["Notifications"],"summary":"Send or queue a notification using inline content or a saved template","security":[{"sanctumBearer":[]}],"x-request-example":{"channel":"email","to":"buyer@example.com","template_key":"invoice_reminder_email","context":{"customer_name":"Aurora Studio","invoice_number":"INV-00001"},"queue":true},"x-response-example":{"message":"Notification request accepted.","data":{"status":"queued","channel":"email","driver":"sendgrid","delivery_id":1}}}},"\/notifications\/deliveries\/{delivery}\/retry":{"post":{"tags":["Notifications"],"summary":"Queue a retry for a failed notification delivery","security":[{"sanctumBearer":[]}],"x-response-example":{"message":"Notification retry queued.","data":{"delivery_id":1}}}},"\/payments\/invoices\/{invoice}\/intent":{"post":{"tags":["Payments"],"summary":"Create invoice payment intent or mocked checkout","security":[{"sanctumBearer":[]}],"x-request-example":{"success_url":"https:\/\/buyer.example.com\/payments\/success","cancel_url":"https:\/\/buyer.example.com\/payments\/cancel"},"x-response-example":{"message":"Payment intent processed.","data":{"driver":"stripe","status":"pending","checkout_url":"https:\/\/checkout.stripe.com\/c\/pay\/cs_test_123"}}}},"\/payments\/expenses\/{expense}\/pay":{"post":{"tags":["Payments"],"summary":"Record expense payment","security":[{"sanctumBearer":[]}],"x-request-example":{"amount":320,"reference":"EXP-PAID-0091"},"x-response-example":{"message":"Expense payment recorded."}}},"\/payments\/transactions\/{transaction}\/refund":{"post":{"tags":["Payments"],"summary":"Refund a captured transaction and reopen invoice balance when applicable","security":[{"sanctumBearer":[]}],"x-request-example":{"amount":199.990000000000009094947017729282379150390625},"x-response-example":{"message":"Refund processed.","data":{"driver":"stripe","status":"refunded","refund_reference":"re_123"}}}},"\/payments\/webhooks\/{driver}":{"post":{"tags":["Payments"],"summary":"Receive payment gateway webhooks and reconcile local transactions","x-request-example":{"id":"pi_live_123","status":"succeeded"},"x-response-example":{"message":"Webhook received.","matched":true}}},"\/invoices\/{invoice}\/pdf":{"post":{"tags":["Invoices"],"summary":"Generate invoice PDF","security":[{"sanctumBearer":[]}],"x-response-example":{"message":"Invoice PDF generated.","data":{"url":"https:\/\/example.com\/storage\/invoices\/inv-0001.pdf"}}}},"\/users":{"get":{"tags":["Users"],"summary":"List users","security":[{"sanctumBearer":[]}],"x-response-example":{"data":[{"id":2,"name":"Alex Carter","email":"alex@example.com","job_title":"Sales Rep"}],"meta":{"current_page":1,"per_page":15}}},"post":{"tags":["Users"],"summary":"Create user","security":[{"sanctumBearer":[]}],"x-request-example":{"name":"Alex Carter","email":"alex@example.com","job_title":"Sales Rep","password":"password"},"x-response-example":{"message":"User created successfully.","data":{"id":2,"name":"Alex Carter","email":"alex@example.com","job_title":"Sales Rep"}}}},"\/users\/{id}":{"get":{"tags":["Users"],"summary":"Show user","security":[{"sanctumBearer":[]}],"x-response-example":{"data":{"id":2,"name":"Alex Carter","email":"alex@example.com","job_title":"Sales Rep"}}},"put":{"tags":["Users"],"summary":"Update user","security":[{"sanctumBearer":[]}],"x-request-example":{"name":"Alex Carter","email":"alex@example.com","job_title":"Sales Rep","password":"password"},"x-response-example":{"message":"User updated successfully.","data":{"id":2,"name":"Alex Carter","email":"alex@example.com","job_title":"Sales Rep"}}},"delete":{"tags":["Users"],"summary":"Delete user","security":[{"sanctumBearer":[]}],"x-response-example":{"message":"User deleted successfully."}}},"\/leads":{"get":{"tags":["Leads"],"summary":"List leads","security":[{"sanctumBearer":[]}],"x-response-example":{"data":[{"id":1,"first_name":"Jordan","last_name":"Miles","company":"Skyline Labs","stage":"qualified"}],"meta":{"current_page":1,"per_page":15}}},"post":{"tags":["Leads"],"summary":"Create lead","security":[{"sanctumBearer":[]}],"x-request-example":{"first_name":"Jordan","last_name":"Miles","company":"Skyline Labs","stage":"qualified","estimated_value":4200},"x-response-example":{"message":"Lead created successfully.","data":{"id":1,"first_name":"Jordan","last_name":"Miles","company":"Skyline Labs","stage":"qualified"}}}},"\/leads\/{id}":{"get":{"tags":["Leads"],"summary":"Show lead","security":[{"sanctumBearer":[]}],"x-response-example":{"data":{"id":1,"first_name":"Jordan","last_name":"Miles","company":"Skyline Labs","stage":"qualified"}}},"put":{"tags":["Leads"],"summary":"Update lead","security":[{"sanctumBearer":[]}],"x-request-example":{"first_name":"Jordan","last_name":"Miles","company":"Skyline Labs","stage":"qualified","estimated_value":4200},"x-response-example":{"message":"Lead updated successfully.","data":{"id":1,"first_name":"Jordan","last_name":"Miles","company":"Skyline Labs","stage":"qualified"}}},"delete":{"tags":["Leads"],"summary":"Delete lead","security":[{"sanctumBearer":[]}],"x-response-example":{"message":"Lead deleted successfully."}}},"\/customers":{"get":{"tags":["Customers"],"summary":"List customers","security":[{"sanctumBearer":[]}],"x-response-example":{"data":[{"id":1,"name":"Aurora Studio","email":"hello@aurora.test","status":"active"}],"meta":{"current_page":1,"per_page":15}}},"post":{"tags":["Customers"],"summary":"Create customer","security":[{"sanctumBearer":[]}],"x-request-example":{"name":"Aurora Studio","email":"hello@aurora.test","status":"active"},"x-response-example":{"message":"Customer created successfully.","data":{"id":1,"name":"Aurora Studio","email":"hello@aurora.test","status":"active"}}}},"\/customers\/{id}":{"get":{"tags":["Customers"],"summary":"Show customer","security":[{"sanctumBearer":[]}],"x-response-example":{"data":{"id":1,"name":"Aurora Studio","email":"hello@aurora.test","status":"active"}}},"put":{"tags":["Customers"],"summary":"Update customer","security":[{"sanctumBearer":[]}],"x-request-example":{"name":"Aurora Studio","email":"hello@aurora.test","status":"active"},"x-response-example":{"message":"Customer updated successfully.","data":{"id":1,"name":"Aurora Studio","email":"hello@aurora.test","status":"active"}}},"delete":{"tags":["Customers"],"summary":"Delete customer","security":[{"sanctumBearer":[]}],"x-response-example":{"message":"Customer deleted successfully."}}},"\/opportunities":{"get":{"tags":["Opportunities"],"summary":"List opportunities","security":[{"sanctumBearer":[]}],"x-response-example":{"data":[{"id":1,"name":"Aurora Expansion","amount":9200,"stage":"proposal"}],"meta":{"current_page":1,"per_page":15}}},"post":{"tags":["Opportunities"],"summary":"Create opportunity","security":[{"sanctumBearer":[]}],"x-request-example":{"name":"Aurora Expansion","amount":9200,"stage":"proposal"},"x-response-example":{"message":"Opportunity created successfully.","data":{"id":1,"name":"Aurora Expansion","amount":9200,"stage":"proposal"}}}},"\/opportunities\/{id}":{"get":{"tags":["Opportunities"],"summary":"Show opportunity","security":[{"sanctumBearer":[]}],"x-response-example":{"data":{"id":1,"name":"Aurora Expansion","amount":9200,"stage":"proposal"}}},"put":{"tags":["Opportunities"],"summary":"Update opportunity","security":[{"sanctumBearer":[]}],"x-request-example":{"name":"Aurora Expansion","amount":9200,"stage":"proposal"},"x-response-example":{"message":"Opportunity updated successfully.","data":{"id":1,"name":"Aurora Expansion","amount":9200,"stage":"proposal"}}},"delete":{"tags":["Opportunities"],"summary":"Delete opportunity","security":[{"sanctumBearer":[]}],"x-response-example":{"message":"Opportunity deleted successfully."}}},"\/projects":{"get":{"tags":["Projects"],"summary":"List projects","security":[{"sanctumBearer":[]}],"x-response-example":{"data":[{"id":1,"name":"Launch Retainer","status":"active","budget":12000}],"meta":{"current_page":1,"per_page":15}}},"post":{"tags":["Projects"],"summary":"Create project","security":[{"sanctumBearer":[]}],"x-request-example":{"name":"Launch Retainer","status":"active","budget":12000},"x-response-example":{"message":"Project created successfully.","data":{"id":1,"name":"Launch Retainer","status":"active","budget":12000}}}},"\/projects\/{id}":{"get":{"tags":["Projects"],"summary":"Show project","security":[{"sanctumBearer":[]}],"x-response-example":{"data":{"id":1,"name":"Launch Retainer","status":"active","budget":12000}}},"put":{"tags":["Projects"],"summary":"Update project","security":[{"sanctumBearer":[]}],"x-request-example":{"name":"Launch Retainer","status":"active","budget":12000},"x-response-example":{"message":"Project updated successfully.","data":{"id":1,"name":"Launch Retainer","status":"active","budget":12000}}},"delete":{"tags":["Projects"],"summary":"Delete project","security":[{"sanctumBearer":[]}],"x-response-example":{"message":"Project deleted successfully."}}},"\/tasks":{"get":{"tags":["Tasks"],"summary":"List tasks","security":[{"sanctumBearer":[]}],"x-response-example":{"data":[{"id":1,"title":"QA onboarding flow","status":"todo","priority":"high"}],"meta":{"current_page":1,"per_page":15}}},"post":{"tags":["Tasks"],"summary":"Create task","security":[{"sanctumBearer":[]}],"x-request-example":{"title":"QA onboarding flow","status":"todo","priority":"high"},"x-response-example":{"message":"Task created successfully.","data":{"id":1,"title":"QA onboarding flow","status":"todo","priority":"high"}}}},"\/tasks\/{id}":{"get":{"tags":["Tasks"],"summary":"Show task","security":[{"sanctumBearer":[]}],"x-response-example":{"data":{"id":1,"title":"QA onboarding flow","status":"todo","priority":"high"}}},"put":{"tags":["Tasks"],"summary":"Update task","security":[{"sanctumBearer":[]}],"x-request-example":{"title":"QA onboarding flow","status":"todo","priority":"high"},"x-response-example":{"message":"Task updated successfully.","data":{"id":1,"title":"QA onboarding flow","status":"todo","priority":"high"}}},"delete":{"tags":["Tasks"],"summary":"Delete task","security":[{"sanctumBearer":[]}],"x-response-example":{"message":"Task deleted successfully."}}},"\/invoices":{"get":{"tags":["Invoices"],"summary":"List invoices","security":[{"sanctumBearer":[]}],"x-response-example":{"data":[{"id":1,"invoice_number":"INV-00001","status":"sent","balance_due":5900}],"meta":{"current_page":1,"per_page":15}}},"post":{"tags":["Invoices"],"summary":"Create invoice","security":[{"sanctumBearer":[]}],"x-request-example":{"customer_id":1,"issue_date":"2026-04-19","total":5900,"balance_due":5900},"x-response-example":{"message":"Invoice created successfully.","data":{"id":1,"invoice_number":"INV-00001","status":"sent","balance_due":5900}}}},"\/invoices\/{id}":{"get":{"tags":["Invoices"],"summary":"Show invoice","security":[{"sanctumBearer":[]}],"x-response-example":{"data":{"id":1,"invoice_number":"INV-00001","status":"sent","balance_due":5900}}},"put":{"tags":["Invoices"],"summary":"Update invoice","security":[{"sanctumBearer":[]}],"x-request-example":{"customer_id":1,"issue_date":"2026-04-19","total":5900,"balance_due":5900},"x-response-example":{"message":"Invoice updated successfully.","data":{"id":1,"invoice_number":"INV-00001","status":"sent","balance_due":5900}}},"delete":{"tags":["Invoices"],"summary":"Delete invoice","security":[{"sanctumBearer":[]}],"x-response-example":{"message":"Invoice deleted successfully."}}},"\/estimates":{"get":{"tags":["Estimates"],"summary":"List estimates","security":[{"sanctumBearer":[]}],"x-response-example":{"data":[{"id":1,"estimate_number":"EST-00001","status":"draft","total":7200}],"meta":{"current_page":1,"per_page":15}}},"post":{"tags":["Estimates"],"summary":"Create estimate","security":[{"sanctumBearer":[]}],"x-request-example":{"customer_id":1,"issue_date":"2026-04-19","total":7200},"x-response-example":{"message":"Estimate created successfully.","data":{"id":1,"estimate_number":"EST-00001","status":"draft","total":7200}}}},"\/estimates\/{id}":{"get":{"tags":["Estimates"],"summary":"Show estimate","security":[{"sanctumBearer":[]}],"x-response-example":{"data":{"id":1,"estimate_number":"EST-00001","status":"draft","total":7200}}},"put":{"tags":["Estimates"],"summary":"Update estimate","security":[{"sanctumBearer":[]}],"x-request-example":{"customer_id":1,"issue_date":"2026-04-19","total":7200},"x-response-example":{"message":"Estimate updated successfully.","data":{"id":1,"estimate_number":"EST-00001","status":"draft","total":7200}}},"delete":{"tags":["Estimates"],"summary":"Delete estimate","security":[{"sanctumBearer":[]}],"x-response-example":{"message":"Estimate deleted successfully."}}},"\/expenses":{"get":{"tags":["Expenses"],"summary":"List expenses","security":[{"sanctumBearer":[]}],"x-response-example":{"data":[{"id":1,"vendor":"Adobe","category":"Software","amount":89.9899999999999948840923025272786617279052734375}],"meta":{"current_page":1,"per_page":15}}},"post":{"tags":["Expenses"],"summary":"Create expense","security":[{"sanctumBearer":[]}],"x-request-example":{"vendor":"Adobe","category":"Software","amount":89.9899999999999948840923025272786617279052734375,"expense_date":"2026-04-19"},"x-response-example":{"message":"Expense created successfully.","data":{"id":1,"vendor":"Adobe","category":"Software","amount":89.9899999999999948840923025272786617279052734375}}}},"\/expenses\/{id}":{"get":{"tags":["Expenses"],"summary":"Show expense","security":[{"sanctumBearer":[]}],"x-response-example":{"data":{"id":1,"vendor":"Adobe","category":"Software","amount":89.9899999999999948840923025272786617279052734375}}},"put":{"tags":["Expenses"],"summary":"Update expense","security":[{"sanctumBearer":[]}],"x-request-example":{"vendor":"Adobe","category":"Software","amount":89.9899999999999948840923025272786617279052734375,"expense_date":"2026-04-19"},"x-response-example":{"message":"Expense updated successfully.","data":{"id":1,"vendor":"Adobe","category":"Software","amount":89.9899999999999948840923025272786617279052734375}}},"delete":{"tags":["Expenses"],"summary":"Delete expense","security":[{"sanctumBearer":[]}],"x-response-example":{"message":"Expense deleted successfully."}}},"\/tickets":{"get":{"tags":["Tickets"],"summary":"List tickets","security":[{"sanctumBearer":[]}],"x-response-example":{"data":[{"id":1,"ticket_number":"TKT-00001","subject":"Portal access issue","status":"open"}],"meta":{"current_page":1,"per_page":15}}},"post":{"tags":["Tickets"],"summary":"Create ticket","security":[{"sanctumBearer":[]}],"x-request-example":{"subject":"Portal access issue","status":"open","priority":"high"},"x-response-example":{"message":"Ticket created successfully.","data":{"id":1,"ticket_number":"TKT-00001","subject":"Portal access issue","status":"open"}}}},"\/tickets\/{id}":{"get":{"tags":["Tickets"],"summary":"Show ticket","security":[{"sanctumBearer":[]}],"x-response-example":{"data":{"id":1,"ticket_number":"TKT-00001","subject":"Portal access issue","status":"open"}}},"put":{"tags":["Tickets"],"summary":"Update ticket","security":[{"sanctumBearer":[]}],"x-request-example":{"subject":"Portal access issue","status":"open","priority":"high"},"x-response-example":{"message":"Ticket updated successfully.","data":{"id":1,"ticket_number":"TKT-00001","subject":"Portal access issue","status":"open"}}},"delete":{"tags":["Tickets"],"summary":"Delete ticket","security":[{"sanctumBearer":[]}],"x-response-example":{"message":"Ticket deleted successfully."}}},"\/notes":{"get":{"tags":["Notes"],"summary":"List notes","security":[{"sanctumBearer":[]}],"x-response-example":{"data":[{"id":1,"body":"Buyer requested revised terms."}],"meta":{"current_page":1,"per_page":15}}},"post":{"tags":["Notes"],"summary":"Create note","security":[{"sanctumBearer":[]}],"x-request-example":{"noteable_type":"customer","noteable_id":1,"body":"Buyer requested revised terms."},"x-response-example":{"message":"Note created successfully.","data":{"id":1,"body":"Buyer requested revised terms."}}}},"\/notes\/{id}":{"get":{"tags":["Notes"],"summary":"Show note","security":[{"sanctumBearer":[]}],"x-response-example":{"data":{"id":1,"body":"Buyer requested revised terms."}}},"put":{"tags":["Notes"],"summary":"Update note","security":[{"sanctumBearer":[]}],"x-request-example":{"noteable_type":"customer","noteable_id":1,"body":"Buyer requested revised terms."},"x-response-example":{"message":"Note updated successfully.","data":{"id":1,"body":"Buyer requested revised terms."}}},"delete":{"tags":["Notes"],"summary":"Delete note","security":[{"sanctumBearer":[]}],"x-response-example":{"message":"Note deleted successfully."}}},"\/activities":{"get":{"tags":["Activities"],"summary":"List activities","security":[{"sanctumBearer":[]}],"x-response-example":{"data":[{"id":1,"action":"status_updated"}],"meta":{"current_page":1,"per_page":15}}},"post":{"tags":["Activities"],"summary":"Create activity","security":[{"sanctumBearer":[]}],"x-request-example":{"subject_type":"customer","subject_id":1,"action":"status_updated"},"x-response-example":{"message":"Activity created successfully.","data":{"id":1,"action":"status_updated"}}}},"\/activities\/{id}":{"get":{"tags":["Activities"],"summary":"Show activity","security":[{"sanctumBearer":[]}],"x-response-example":{"data":{"id":1,"action":"status_updated"}}},"put":{"tags":["Activities"],"summary":"Update activity","security":[{"sanctumBearer":[]}],"x-request-example":{"subject_type":"customer","subject_id":1,"action":"status_updated"},"x-response-example":{"message":"Activity updated successfully.","data":{"id":1,"action":"status_updated"}}},"delete":{"tags":["Activities"],"summary":"Delete activity","security":[{"sanctumBearer":[]}],"x-response-example":{"message":"Activity deleted successfully."}}},"\/files":{"get":{"tags":["Files"],"summary":"List files","security":[{"sanctumBearer":[]}],"x-response-example":{"data":[{"id":1,"name":"brief.pdf","path":"customers\/1\/brief.pdf"}],"meta":{"current_page":1,"per_page":15}}},"post":{"tags":["Files"],"summary":"Create file","security":[{"sanctumBearer":[]}],"x-request-example":{"fileable_type":"customer","fileable_id":1,"name":"brief.pdf"},"x-response-example":{"message":"File created successfully.","data":{"id":1,"name":"brief.pdf","path":"customers\/1\/brief.pdf"}}}},"\/files\/{id}":{"get":{"tags":["Files"],"summary":"Show file","security":[{"sanctumBearer":[]}],"x-response-example":{"data":{"id":1,"name":"brief.pdf","path":"customers\/1\/brief.pdf"}}},"put":{"tags":["Files"],"summary":"Update file","security":[{"sanctumBearer":[]}],"x-request-example":{"fileable_type":"customer","fileable_id":1,"name":"brief.pdf"},"x-response-example":{"message":"File updated successfully.","data":{"id":1,"name":"brief.pdf","path":"customers\/1\/brief.pdf"}}},"delete":{"tags":["Files"],"summary":"Delete file","security":[{"sanctumBearer":[]}],"x-response-example":{"message":"File deleted successfully."}}}},"components":{"securitySchemes":{"sanctumBearer":{"type":"http","scheme":"bearer"}}}}