Customer integrations

SIMCOAI API for customer systems

Connect SIMCOAI to approved customer systems with scoped public and secret keys for chat, order sync, refund requests and operational workflows.

Know when API access is appropriateProtect API keys and customer dataUnderstand entitlement and rate limits
API access is for controlled integrations, reporting and automation.
API access is for controlled integrations, reporting and automation.
Customer integrations

Connect SIMCOAI to the systems you already use

The SIMCOAI API lets approved customers sync orders, refund requests, bookings, escalations and website chat from their own server. It is designed for ecommerce, booking systems, CRMs, helpdesks, POS tools and custom business software that need customer operations in one dashboard.

Order sync

Send order numbers, statuses, customer contact details and notes so SIMCOAI can answer order questions from approved records.

Refund capture

Create refund requests with reasons, policy notes and amounts, then keep human approval where your rules require it.

Website chat

Route chat messages through SIMCOAI while plan limits, billing state and account ownership are enforced server-side.

Keys

Public and secret keys

Create keys in the dashboard API page. Public keys identify the integration. Secret keys authenticate it and are shown once. Keep secret keys only on trusted servers, never in client-side JavaScript, mobile apps, screenshots or shared spreadsheets. Use HTTPS, rotate keys after supplier changes, and give each integration the narrowest scope it needs.

POST https://api.simcoai.co.uk/v1/orders
Content-Type: application/json
X-SIMCOAI-Public-Key: pk_simco_live_...
X-SIMCOAI-Secret-Key: sk_simco_live_...
  • Use the narrowest scope that works for the integration.
  • Send an Idempotency-Key header when retrying creates so duplicate orders or refunds are not created by network retries.
  • Sign sensitive server-to-server payloads with HMAC-SHA256 where your integration needs tamper evidence.
  • Use different keys for production, staging and support tooling.
  • Revoke keys immediately if they are copied into the wrong place.
Orders

Sync orders safely

Use external_id for your system ID and order_number for the customer-facing reference. SIMCOAI will update an existing matching order instead of creating duplicates when the same order is resent.

curl -X POST https://api.simcoai.co.uk/v1/orders \
  -H "Content-Type: application/json" \
  -H "X-SIMCOAI-Public-Key: pk_simco_live_..." \
  -H "X-SIMCOAI-Secret-Key: sk_simco_live_..." \
  -d '{
    "external_id":"shop-1001",
    "order_number":"ORD-1001",
    "customer_name":"Alex Morgan",
    "customer_email":"alex@example.com",
    "status":"processing",
    "total_amount":"99.00",
    "currency":"GBP",
    "notes":"Synced from approved order system"
  }'
Refunds

Create refund requests for review

Refund records can be created from your support desk, ecommerce system or website form. Sensitive or high-risk refunds remain reviewable in the SIMCOAI dashboard according to your configured rules.

curl -X POST https://api.simcoai.co.uk/v1/refunds \
  -H "Content-Type: application/json" \
  -H "X-SIMCOAI-Public-Key: pk_simco_live_..." \
  -H "X-SIMCOAI-Secret-Key: sk_simco_live_..." \
  -d '{
    "external_id":"refund-7781",
    "order_number":"ORD-1001",
    "customer_email":"alex@example.com",
    "amount":"29.00",
    "currency":"GBP",
    "reason":"Customer requested a policy review",
    "notes":"Imported from support form"
  }'
Signatures

Protect server-to-server sync

For higher-risk integrations, sign the exact JSON payload with your server-side secret key and send the digest in X-SIMCOAI-Signature. Keep the signing step on your server and log request IDs so support can investigate a sync without exposing customer secrets.

const crypto = require('crypto');
const body = { order_number: 'ORD-1001', status: 'processing' };
const signature = crypto
  .createHmac('sha256', process.env.SIMCOAI_SECRET_KEY)
  .update(JSON.stringify(body))
  .digest('hex');
Reference

Dashboard API endpoint reference

These are the main authenticated endpoints behind the SIMCOAI dashboard. All responses use the same JSON envelope with success, data, message and requestId fields. Authenticate with Authorization: Bearer <token> or the secure SIMCOAI session cookies.

AreaEndpointsWhat it does
HealthGET /health · GET /readyAPI liveness and readiness, safe to poll from monitoring.
AuthPOST /auth/session · POST /auth/logout · GET /meLogin, signup or trial creation, session cookies and current account state.
ConfigGET /dashboard/config · PATCH /dashboard/configBusiness profile, AI settings and call settings used by every AI answer.
KnowledgeGET/POST /knowledge · PATCH/DELETE /knowledge/:idApproved articles, policies and answers for the AI to use.
OrdersGET/POST /orders · PATCH/DELETE /orders/:id · POST /orders/upload-csvOrder records the AI may reference, including bulk CSV import.
RefundsGET/POST /refunds · PATCH /refunds/:idRefund requests with human approval workflow.
BookingsGET/POST /bookings · PATCH /bookings/:idAppointment requests captured by chat or phone.
EscalationsGET/POST /escalations · PATCH /escalations/:idComplaints and sensitive cases routed to humans.
AIPOST /chat · GET/POST /ai/memories · POST /ai/setup-wizardRun the receptionist, manage memories and save wizard output.
AnalyticsGET /analytics · GET /calls · GET /conversations30-day totals, call logs and conversation logs.
BillingPOST /stripe/create-checkout-session · POST /stripe/customer-portal · GET /billing/addonsStripe checkout, customer portal and add-on management.
VoicePOST /calling/numbers/search · POST /calling/numbers/buy · GET /calling/tokenNumber search and purchase plus browser calling tokens.
TeamGET/POST /team-members · PATCH/DELETE /team-members/:idStaff roles on Pro and Enterprise.
API keysGET/POST /api-keys · DELETE /api-keys/:idScoped key pairs; the secret is shown once.
Webhooks

Receive signed workflow API messages

Instead of polling, let SIMCOAI push events to your systems. In Integrations → Workflow API messages add an HTTPS endpoint and choose the events to receive — wildcards like refund.*, booking.*, escalation.* and order.*, or specific events such as refund.approved or booking.confirmed.

  • Signing secret is shown once. Copy it into your server when you create or rotate the endpoint — SIMCOAI never shows it again.
  • Verify every delivery. Each request includes an X-SIMCOAI-Signature HMAC‑SHA256 header (over timestamp.rawJsonBody) plus X-SIMCOAI-Event, X-SIMCOAI-Delivery-ID and X-SIMCOAI-Timestamp. Reject anything that does not verify.
  • Deliveries retry automatically on failure; the delivery log shows status, attempts, response code and last error, and you can retry a failed message.

Only act externally when told to. Execute a real refund, booking or charge in your systems only when payload.workflow.shouldExecuteExternalAction is true. When it is false the message is a notification — record it or open a review task, but do not move money. This keeps money‑moving actions under an explicit SIMCOAI decision.

Reliability

Idempotency, retries and errors

  • Use idempotency keys. Send your own external_id or order_number so safe retries never create duplicates on either side.
  • Handle errors by status. 401 means a bad or revoked key; 402/403 means a plan or permission limit; 422 means invalid fields; 428 means an action needs acceptance or verification first; 429 means slow down and retry with backoff.
  • Read the message, not the object. Every error response includes a human‑readable message (or error.message) explaining what to fix.
  • Keep secrets server‑side. Never call the API or handle secret keys or signing secrets from a browser.
Safety

Compliance and data rules

Only send data your business is allowed to process in SIMCOAI. Do not send payment card numbers, passwords, unnecessary health details, private staff notes or customer information that is not needed for the workflow. API activity is logged for security, usage limits and support troubleshooting. Review your privacy notice, retention rules and processor agreements before connecting live customer systems.

Billing status, plan limits and accepted policy gates are still enforced by the backend.

Use human review for legal, medical, emergency, payment, debt or unusual telecoms workflows.

Keep your own privacy notice accurate for systems connected to SIMCOAI.