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