Developers
Build on the thexsys API
One REST API behind every app in the catalogue, with an OpenAPI 3.1 document, signed webhooks and 300+ events you can subscribe to. The same API your own workspace runs on.
Get a key
Get a key
Open Settings → Developers in your workspace, create an API key, and scope it to a role (Viewer to Owner) and a list of resources. The full key is shown once — copy it before you close the dialog.
Authorization: Bearer txk_live_51H8f…
X-Company-Id: <your company id>Send the key as a bearer token on every request, and the company it belongs to in a header.
Response shape
Every endpoint returns one of two shapes: a successful payload, or a structured error. List endpoints add paging.
200
{ "data": { … }, "total": 128, "page": 1, "pageSize": 25 }4xx
{ "error": { "code": "VALIDATION_ERROR", "message": "quantity must be at least 0", "details": [ … ] } }Try it
Two calls that work against any company: read a list, write a document.
List customers
curl https://api.thexsys.com/api/v1/customers \
-H "Authorization: Bearer txk_live_…" \
-H "X-Company-Id: <company id>"Create an invoice
curl -X POST https://api.thexsys.com/api/v1/invoices \
-H "Authorization: Bearer txk_live_…" \
-H "X-Company-Id: <company id>" \
-H "Content-Type: application/json" \
-d '{
"customerId": "cus_…",
"date": "2026-09-20",
"dueDate": "2026-10-20",
"lines": [{ "description": "Consulting", "quantity": 1, "unitPrice": 500 }]
}'Webhooks
Register an endpoint URL and a list of topic patterns (a topic, a family like `invoice.*`, or `*`) from Settings → Developers, and every matching event is posted to it as JSON with a signature you can verify.
Verify the signature
Each delivery carries a header of the form below. Compute HMAC-SHA256 of "<t>.<raw body>" with your endpoint secret (`whsec_…`) and compare it to v1 in constant time.
x-thexsys-signature: t=1758345600,v1=5a8f0e2c…Retry schedule
A failed delivery (non-2xx, or a 10-second timeout) is retried on a backoff ladder; after the last attempt it is marked dead and visible in the endpoint’s delivery log.
1 minute → 5 minutes → 30 minutes → 2 hours → 12 hours
Events
Every family the platform emits, pulled live from the API. `*` matches everything except the audit trail, which is high-volume and opt-in (`audit.*`).
aftersales
aftersales.agreement.expiringaftersales.claim.overdueaftersales.claim.respondedaftersales.claim.settled+19agents
agents.action.approvedagents.action.executedagents.action.expiredagents.action.pending+9analytics
analytics.access.changedanalytics.access.deniedanalytics.access.grantedanalytics.access.revoked+3Apps
app.disabledapp.enabledapp.installedapp.uninstalledAppointments
appointments.bookedappointments.rescheduledappointments.status_changedAppraisals
appraisals.cycle.closedappraisals.cycle.openedappraisals.feedback.requestedappraisals.goal.achieved+1Approvals
approvals.request.approvedapprovals.request.overdueapprovals.request.rejectedapprovals.request.submittedAttendance
attendance.checked_inattendance.checked_outattendance.day.closedattendance.leave.approved+1Audit trail
Auto workshop
auto-workshop.job.checked_inauto-workshop.job.deliveredauto-workshop.job.readyauto-workshop.job.waiting_parts+1av
av.boq.frozenav.boq.generatedav.commissioning.failedav.commissioning.passed+11biometrics
biometrics.attendance.postedbiometrics.device.errorbiometrics.device.recoveredbiometrics.device.registered+9Blog
blog.comment.receivedblog.post.publishedblog.subscriber.addedCar wash
carwash.coupon.redeemedcarwash.job.capturedcarwash.job.completedcarwash.job.flagged+4cheques
cheques.book.exhaustedcheques.book.lowcheques.customer.holdcheques.deposit.cancelled+22configurator
configurator.bom.generatedconfigurator.configuration.attachedconfigurator.configuration.savedconfigurator.template.archived+2Connect (channels)
connect.channel.errorconnect.menu.publishedconnect.order.acceptedconnect.order.cancelled+7Construction
construction.claim.certifiedconstruction.claim.submittedconstruction.contract.overrunconstruction.dlp.ending+1CRM
crm.activity.donecrm.lead.convertedcrm.lead.createdcrm.lead.lost+2Discuss
discuss.channel.createddiscuss.mentioneddiscuss.message.postedeCommerce
ecommerce.order.cancelledecommerce.order.confirmedecommerce.order.deliveredecommerce.order.placed+2Education
education.attendance.absenteducation.fee.invoicededucation.fee.overdueeducation.grades.published+1eLearning
elearning.certificate.issuedelearning.course.completedelearning.course.publishedelearning.enrolment.created+1ELV integration
elv.boq.frozenelv.boq.generatedelv.credential.revealedelv.design.approved+13Email marketing
email-marketing.campaign.sentemail-marketing.subscriber.subscribedemail-marketing.subscriber.unsubscribedEmployees
employees.joinedemployees.status_changedEMR
emr.claim.decidedemr.encounter.closedemr.encounter.openedemr.order.resultedEvents
events.event.closedevents.event.publishedevents.registration.checked_inevents.registration.createdExpense claims
expenses.claim.approvedexpenses.claim.pendingexpenses.claim.reimbursedexpenses.claim.rejected+1Field service
field-service.work_order.createdfield-service.work_order.dispatchedfield-service.work_order.doneFleet
fleet.fine.recordedfleet.fuel.loggedfleet.vehicle.assignedForum
forum.answer.acceptedforum.reply.publishedforum.topic.pendingforum.topic.publishedforwarding
forwarding.agent.agreementExpiringforwarding.agent.settledforwarding.bond.expiringforwarding.consol.built+21Helpdesk
helpdesk.ticket.assignedhelpdesk.ticket.createdhelpdesk.ticket.repliedhelpdesk.ticket.solvedHospital
hospital.admission.createdhospital.admission.dischargedhospital.alert.raisedhospital.discharge.overdue+1Hospitality
hospitality.booking.cancelledhospitality.booking.checked_inhospitality.booking.checked_outhospitality.booking.created+2hse
hse.action.raisedhse.action.verifiedhse.doc.acknowledgedhse.doc.issued+16IoT
iot.alert.clearediot.alert.raisediot.command.queuediot.device.offline+1jewelry
jewelry.melt.closedjewelry.order.deliveredjewelry.order.readyjewelry.purchase.paid+3Knowledge
knowledge.article.flaggedknowledge.article.publishedknowledge.article.review_requestedknowledge.review.dueLegal practice
legal.conflict.flaggedlegal.hearing.outcome_recordedlegal.hearing.scheduledlegal.matter.closed+3Live chat
livechat.chat.missedlivechat.chat.ratedlivechat.chat.resolvedlivechat.chat.started+2Loyalty
loyalty.coupon.usedloyalty.giftcard.issuedloyalty.giftcard.redeemedloyalty.member.enrolled+3Maintenance
maintenance.equipment.downmaintenance.equipment.upmaintenance.request.completedmaintenance.request.createdManufacturing
manufacturing.order.cancelledmanufacturing.order.confirmedmanufacturing.order.createdmanufacturing.order.done+2Marketing automation
marketing.lead.enteredmarketing.lead.hotMarketplace
marketplace.listing.installedmarketplace.listing.publishedmarketplace.review.postedmarketplace.version.submittedX Migration
migration.job.donemigration.job.undoneIndustry models
model.installedNonprofit
nonprofit.disbursement.paidnonprofit.donation.pendingnonprofit.donation.receivednonprofit.pledge.due+1Payment links
payments.link.createdpayments.link.paidPayroll
payroll.eos.paidpayroll.run.approvedpayroll.run.calculatedpayroll.run.due+1Pharmacy
pharmacy.batch.expiringpharmacy.batch.recalledpharmacy.dispensedPlanning
planning.shift.assignedplanning.shift.publishedplanning.week.publishedPLM
plm.change.appliedplm.change.approvedplm.change.rejectedplm.change.submitted+1Point of sale
pos.cash.movedpos.refundpos.salepos.session.closed+1Projects
project.createdproject.milestone.reachedproject.status_changedproject.task.created+2Property
property.enquiry.createdproperty.lease.activatedproperty.lease.endedproperty.lease.expiring+2Quality
quality.check.createdquality.check.failedquality.check.passedquality.ncr.closed+1Recruitment
recruitment.application.hiredrecruitment.application.receivedrecruitment.interview.scheduledrecruitment.offer.sentReferrals
referrals.referral.duplicatereferrals.referral.hiredreferrals.referral.submittedreferrals.reward.approved+1Rental
rental.agreement.cancelledrental.agreement.invoicedrental.agreement.picked_uprental.agreement.reserved+1Report builder
reportBuilder.schedule.failedreportBuilder.schedule.sentRestaurant
restaurant.delivery.assignedrestaurant.delivery.statusrestaurant.line.readyrestaurant.line.voided+7Security operations
security-ops.assignment.noshowsecurity-ops.incident.createdsecurity-ops.permit.approvedshipping
shipping.booking.createdshipping.booking.cutoffDueshipping.cashup.recordedshipping.cod.collected+20Sign
sign.envelope.completedsign.envelope.declinedsign.envelope.expiredsign.envelope.sent+3SMS marketing
sms-marketing.campaign.sentsms-marketing.contact.unsubscribedsms-marketing.otp.verifiedSocial marketing
social.inbox.receivedsocial.post.failedsocial.post.publishedSpreadsheet
spreadsheet.workbook.sentstorefronts
storefronts.channel.connectedstorefronts.channel.errorstorefronts.channel.quietstorefronts.fulfilment.delivered+14Subscriptions
subscriptions.activatedsubscriptions.cancelledsubscriptions.createdsubscriptions.past_due+2Surveys
surveys.response.completedTime off
time-off.request.approvedtime-off.request.pendingtime-off.request.rejectedtime-off.request.submittedTimesheets
timesheets.entry.approvedtimesheets.entry.loggedtimesheets.entry.rejectedtimesheets.entry.submitted+1training
training.competency.addedtraining.enrolment.requestedtraining.gate.blockedtraining.induction.assigned+8Valet
valet.car.overnightvalet.car.readyvalet.car.requestedvalet.incident.raised+4VoIP
voip.call.completedvoip.call.dialledvoip.call.missedvoip.call.startedWebsite
website.domain.verifiedwebsite.form.submittedwebsite.page.publishedwebsite.site.publishedWhatsApp
whatsapp.broadcast.sentwhatsapp.contact.opted_outwhatsapp.conversation.resolvedwhatsapp.message.received+1
Full reference
Every route, request and response schema, generated from the same document the API serves, with a search box and bilingual labels.
Build an app, not just an integration
A thexsys app is a manifest plus a server and web bundle that installs into any tenant’s workspace: its own menu, permissions, document types and Arabic and English copy, sharing the kernel’s tenancy, identity and audit log with every other app.