Publishing Models
Any organization on JAOT can publish their private optimization models to the marketplace, making them available for other organizations to discover, activate, and execute. Publishing lets you share your domain expertise and reach users who need optimization solutions but may not have the skills to formulate them. The marketplace is free and collaborative — there are no prices or commissions.
Who Can Publish
Model publishing is available to any authenticated user who owns a private model within their organization. The model must have a valid definition (variables, constraints, and objective) before it can be published.
Note: Only private models can be published. Models that were activated from the catalog (i.e., models originally published by another organization) cannot be republished.
Preparing Your Model
Before publishing, ensure your model:
- Has a valid definition -- The model must solve correctly with sample input data
- Has a clear input schema -- Define what data users need to provide, with descriptive field names and types
- Includes example input -- Provide a working example so potential users can understand the expected data format
- Has been tested -- Run multiple solves with different inputs to verify it handles edge cases
Publishing Process
Step 1: Navigate to Your Model
Go to My Models, select the private model you want to publish, and click Publish to Marketplace.
Step 2: Fill in the Publishing Form
| Field | Required | Description |
|---|---|---|
| Display name | Yes | The public-facing name shown in the marketplace (e.g., "Warehouse Location Optimizer") |
| Description | Yes | A detailed explanation of what the model solves and how it works |
| Short description | Yes | A one-line summary for the model card in search results |
| Category | Yes | The industry category (manufacturing, finance, logistics, etc.) |
| Tags | No | Keywords to improve discoverability (e.g., "routing", "scheduling", "mixed-integer") |
| Overview section | No | Extended description with use cases and benefits |
| Features section | No | Key capabilities and model characteristics |
| How it works | No | Walkthrough of the model's optimization approach |
| Example I/O | No | Sample input and output for the documentation |
| Changelog | No | Version history and changes |
Step 3: Submit for Publication
Click Publish to make your model available in the marketplace. The model status changes to published and it appears in the public catalog immediately.
Managing Published Models
After publishing, you can manage your model from the My Models section:
Updating a Published Model
You can update the description and metadata of a published model at any time. Changes take effect immediately in the marketplace. The underlying model definition is versioned, so existing users continue to see consistent behavior.
Unpublishing
To remove a model from the marketplace, click Unpublish. The model remains available to organizations that have already activated it, but new activations are no longer possible. The model reverts to a private model in your organization.
Version Management
When you update a published model's definition, a new version is created. The marketplace displays the latest version, and the version history is tracked:
- Version numbering follows semantic versioning (e.g.,
1.0.0,1.1.0,2.0.0) - Existing activations continue to work with the version they activated
- Changelog section lets you document what changed in each version
Free and Collaborative
The marketplace is free to use — models carry no price and no commission is charged. Publishing builds your reputation through activations, ratings, and reviews. Execution credits are charged separately as a usage quota (based on problem complexity), paid by the executing organization.
Tip: A clear description, good example input, and accurate categorization drive activations far more than anything else.
Creator Analytics
The creator dashboard provides visibility into your published models' adoption:
| Metric | Description |
|---|---|
| Views | How many times your model detail page was visited |
| Activations | Total number of organizations that activated your model |
| Executions | Total number of times your model was executed across all activators |
| Rating | Average user rating and individual reviews |
Use these metrics to understand demand, identify opportunities for new models, and improve your published ones.
Publishing via API
You can also publish models programmatically:
import httpx
headers = {"Authorization": "Bearer ok_live_your_key_here"}
response = httpx.post(
"https://jaot.io/api/v2/models/a3f8b2c1-1234-5678-abcd-ef0123456789/publish",
headers=headers,
json={
"display_name": "Warehouse Location Optimizer",
"description": "Finds optimal warehouse locations to minimize total shipping cost...",
"short_description": "Optimize warehouse placement for minimum logistics cost",
"category": "logistics",
"tags": ["warehouse", "facility-location", "logistics"],
},
)
published = response.json()
print(f"Published: {published['display_name']} (catalog ID: {published['id']})")See the Models API reference for the full publishing endpoint specification.
Best Practices
-
Write a thorough description. Users decide whether to activate based on the detail page. Explain the problem, the approach, expected inputs, and what kind of results to expect.
-
Provide realistic example input. An example that uses real-world-scale values helps users understand if the model fits their needs.
-
Choose the right category. Accurate categorization helps users find your model through filters and improves marketplace discovery.
-
Respond to reviews. Engage with users who leave feedback. Address issues promptly and update your model based on common requests.
-
Keep the changelog updated. When you publish a new version, document the changes so existing users know what improved.