FAQ
Product and editions
What scenarios is ApiGo suitable for?
For enterprises that need to securely expose data from existing business systems (ERP, CRM, SRM, etc.) to AI agents or external systems, covering the full lifecycle of API building, governance, exposure, and monitoring.
What is the difference between the Subscription and Enterprise editions?
The Subscription edition provides all platform features and the deployment package; the Enterprise edition additionally provides source code package licensing, dedicated technical services, feature training, and custom development. See Pricing on the home page.
Data sources
Which databases are supported?
18+: MySQL, Oracle, PostgreSQL, SQL Server, TiDB, OceanBase, OpenGauss, TDSQL, StarRocks, Doris, DM (Dameng), KingBase, as well as MongoDB, Elasticsearch, Hive, ClickHouse, TDengine, and DolphinDB.
How do I troubleshoot a failed data source connection?
- Verify network connectivity (open firewall ports for cross-subnet access)
- Verify the database account, password, and access permissions
- Check the specific driver error in the platform logs
API development
What syntax does SQL mode support?
Standard SQL plus MyBatis dynamic tags (<if>, <where>, <foreach>, etc.), with dynamic parameter binding and conditional filtering; supports SELECT / INSERT / UPDATE / DELETE / stored procedures.
How do I run Mock tests on an API?
After configuring Mock rules for an API, access it through the /mock/{envCode}/** path to get simulated responses, so no real backend is needed during joint debugging.
What are the limitations of orchestration mode?
The orchestration graph (DAG) supports serial, parallel, conditional branching, and data merging; API nodes can recursively call other APIs, with a maximum depth limit to prevent circular calls.
Calls and authentication
What should I do about a 40013 signature verification failure?
Check each item in the signature troubleshooting checklist. The most common causes are the query string not being included in the signature or the request body being re-serialized by the HTTP library.
Getting a 40010 timestamp expired error?
Check client-server clock synchronization (NTP); make sure you use a millisecond (13-digit) timestamp.
Can a nonce be reused?
No. The gateway uses AppKey + SM3(nonce) for replay protection, and a duplicate nonce is judged as a replay. When retrying, you must regenerate the timestamp and nonce.
Platform architecture
Do configuration changes require a service restart?
No. After configuration is written to MySQL, it is synced to the Redis runtime configuration hub, which incrementally notifies the gateway and execution services via Pub/Sub, taking effect in real time.
Where are call logs stored?
MySQL by default; for large-scale scenarios you can switch to Elasticsearch, depending on the configuration.
How do I scale horizontally?
The gateway and execution services are stateless (configuration comes from Redis + Nacos) and can be scaled horizontally directly; Sentinel rules stay consistent across the cluster via Redis.
Release and synchronization
The API is released, but calls still return 40001. Why?
Check in order: whether the target environment has been synced (development environment snapshots are not automatically synced to test/production), whether the environment is enabled, whether the API is online, and whether the gateway received the route change. If necessary, run a manual reconciliation. See Configuration sync and release pipeline.
How long does a configuration change take effect?
It normally takes effect within seconds: after the admin writes to Redis, it notifies the gateway via Pub/Sub. If a message is lost, the gateway reconciles by version number every 5 minutes. Flow control/circuit breaking use incremental updates, while routes use full-table refresh.