Files

3.6 KiB

Service Integration API Reference (IT Pro Partner Portal)

Quick-reference for all external service APIs that the portal integrates with. Each entry covers: API base URL, auth method, key endpoints relevant to the portal, and what's needed to connect.

RingLogix CPaaS

  • API base: https://api.ringlogix.com/pbx/v1/
  • Auth: OAuth2 (client_id + client_secret)
  • Coverage: Subscribers, DIDs, devices, auto attendants, call queues, feature plans
  • Skill references: sync_ringlogix.py (sync engine already built), RingLogix API patterns in references/ringlogix-netsapiens-api.md
  • Needed: OAuth client_id, client_secret, reseller username + password

SyncroMSP

  • API docs: https://api-docs.syncromsp.com/ (Swagger, 30+ entities)
  • Auth: API key from Admin Settings → API → Generate Key
  • Portal uses: Customers, tickets, assets, invoices, contacts
  • Needed: Syncro subdomain + API key

Cloudflare

  • API docs: https://developers.cloudflare.com/api/
  • Auth: API token (Create in Dashboard → My Profile → API Tokens)
  • Portal uses: Create zones, DNS records, SSL certificates, account management
  • Needed: API token with Zone:Edit + DNS:Edit permissions

RunCloud

  • API docs: Built-in (nearly all dashboard tasks available via API)
  • Auth: API key from RunCloud dashboard
  • Portal uses: Create web apps, manage servers, SSL certificates, databases
  • Needed: RunCloud API key

Hetzner Cloud

  • API: https://api.hetzner.cloud/v1
  • Auth: API token (Read & Write)
  • Portal uses: Server management (reboot, snapshot, status), provisioning
  • Needed: Cloud API token (not Robot — Robot is for dedicated servers & auctions)

Hudu

  • API: https://{instance}.hudu.com/api/v1/
  • Auth: X-API-KEY header or Authorization: Bearer
  • Portal uses: READ only — pull articles, passwords, assets, procedures inline when viewing a customer or device
  • Needed: Hudu instance URL + API key (generate in Admin → API Keys → View Documentation)
  • Note: Internal KB only, not customer-facing. No write-back from portal.

UniFi / Ubiquiti UDM Pro

  • API (official): https://developer.ui.com/ — API keys in Settings → API Keys
  • API (controller): https://{controller-ip}:443/api/s/default/stat/{health,device,user}
  • Portal uses: Device status, interface monitoring, connected clients, network topology, firmware version
  • Needed: API key + UniFi controller hostname/IP

Grandstream GDMS

  • API: GDMS Developer API (apply for access through GDMS portal)
  • Auth: API key from GDMS Developer access grant
  • Portal uses: Device provisioning, firmware management, config templates, device status
  • Needed: GDMS Developer account + API key
  • Caveat: Reportedly "cryptic" API per community SDK maintainers. Will require hands-on debugging with the actual endpoints from the GDMS account.

Stripe

  • API: https://api.stripe.com/v1/
  • Auth: Secret key (sk_live_*)
  • Portal uses: Customers, subscriptions, payment methods, invoices, webhooks
  • Needed: Stripe secret key (already used — one account with metadata tags per integration)

Xero

  • API: OAuth2
  • Portal uses: Invoices, contacts, bank transactions, accounting sync
  • Needed: Xero OAuth2 client_id + client_secret + tenant_id

Wasabi S3

  • API: AWS S3-compatible (boto3 / awscli)
  • Endpoint: https://s3.{region}.wasabisys.com
  • Portal uses: Backup upload, restore, listing, lifecycle management
  • Needed: IAM access key + secret key (subuser, not root)
  • See: references/wasabi-iam-setup.md for policy template and setup procedure