Spec and sample input
Upload OpenAPI 3.x, Swagger 2.0, JSON, XML, or text containing supported payloads. You can also paste content directly.
Upload a spec or a sample payload — get a live, stateful mock API in seconds.
Every API belongs to a project. Modules are optional groupings inside a project.
| API | Project / module | Source | Serves | Endpoints | Requests ↓ | Actions |
|---|---|---|---|---|---|---|
| Loading APIs… | ||||||
Code appears after preview.
Send a request to any mock. The format toggle sets the request's Content-Type and Accept headers — the same record answers in JSON or XML.
Response will appear here.
Ready-made files to try API Studio: OpenAPI specs, the Tally XML gateway, and raw sample payloads. Download one, then upload it on the Create API page.
Creating, moving, or deleting APIs, projects, and modules requires an Access API Key when this instance runs in protected mode. Reads — docs, mocks, and request logs — do not require it.
| Host | – |
| Access control | – |
| LLM generation mode | – |
API Studio turns an OpenAPI file—or a raw JSON or XML example—into a live stateful mock API. Use this guide to create, organize, test, and manage mocks without needing backend code.
/mock/{project-path}/{url-path}.Upload OpenAPI 3.x, Swagger 2.0, JSON, XML, or text containing supported payloads. You can also paste content directly.
Created and updated records persist in SQLite, so later GET requests return the data sent by your test clients.
Use the same stored records across JSON and XML requests while preserving expected XML root structures.
Keep APIs organized by project and optional module. Add new APIs to an existing project whenever needed.
Model Tally, SOAP-style, and similar gateways with dispatch rules and optional session state transitions.
Each API has interactive documentation, a downloadable normalized specification, a Try-it console, and recent request activity.
| Term | Meaning | Important behavior |
|---|---|---|
| Project | Required top-level API grouping | Its URL path is part of the API URL. The Default Project is the permanent fallback and cannot be deleted. |
| Module | Optional organization inside a project | Modules never appear in the runtime URL, so moving or renaming a module does not break clients. |
| API display name | Readable display label | It can be changed without changing the API URL. |
| URL path | Stable path unique within a project | It becomes the final API URL segment and cannot be changed after launch. |
| API URL | /mock/{project-path}/{url-path} | Use the full base URL shown in the API workspace when configuring a client. |
Open Projects, select the project or a module, then choose Add API. URL paths only need to be unique within that project.
Open an API workspace and select an endpoint, or open Try it and enter the complete mock path, method, format, and body.
Delete APIs first, then delete the empty non-default project. Restart the application after API deletion to fully unload its routes.
401: enter your Access API Key in Settings. 409: choose a different URL path or empty the project. 413: reduce the upload/request size.
OpenAPI 3.x or Swagger 2.0 YAML/JSON files, raw JSON/XML samples, and text files containing those formats. API Studio validates specs and infers CRUD APIs from representative sample payloads.
Preview validates the input and shows the generated endpoints and code without saving anything. Launch writes the normalized spec and router, registers the API, and makes its URL live.
It is the permanent fallback for older APIs and uploads that do not provide a project. It may remain empty and does not affect other projects.
No. Display names and modules are organizational. Project paths and API URL paths form the stable URL and cannot be changed after launch.
A URL path must be unique inside its project. Choose another path, or place the API in a different project. The same path may be reused in different projects.
Delete or move every API assigned to it first. Use Move on an API row, or on its workspace header, to reassign it to another project or module. Empty modules are removed automatically with a non-default project.
Open the APIs page and choose Move on the API's row, or use Move in the API workspace header. Moving between modules changes nothing else. Moving to another project rewrites the base URL to /mock/<new-project-path>/<url-path> and keeps the previous URL working as an alias.
The generated route is loaded into the running process. Its files and records are deleted immediately, but restarting fully unloads the in-memory route.
Generated specifications and routers are stored on disk, while request and stateful CRUD data are stored in SQLite. They survive restarts when the deployment volumes are persistent.
When enabled, it protects control-plane changes such as creating, moving, and deleting APIs, projects, and modules. Organization SSO or VPN access must protect the entire application, including docs, logs, and mock endpoints.
Get your Access API Key from TinyMagiq, then open Settings and enter it in the Access API Key field. Never share the key in tickets, screenshots, chat messages, or uploaded payloads.
Only use data permitted by your organization. For the feedback pilot, use synthetic or safely anonymized data and never include credentials, access tokens, or production secrets.
Use deterministic Stub mode by default. LLM mode executes generated Python and should remain disabled unless your organization has explicitly approved that workflow.