-
Notifications
You must be signed in to change notification settings - Fork 0
Oms API POST copy model
POST a request to copy model from Models Library
Models Library is a shared read-only storage from where users can copy models into their own workspace.
Methods (NOT recommended in production, only for testing):
POST /api/admin/copy-model/:path
POST /api/admin/copy-model/:path/lang/:lang
Arguments:
:path - (required) model publish list file path
:lang - (optional) language code for log messages
If there any sub-folders in the path then / slashes must be replaced with * stars.
Examples:
curl -v -X POST http://localhost:4040/api/admin/copy-model/RiskPaths-3.0.0.0*RiskPaths.publish.lst
curl -v -X POST http://localhost:4040/api/admin/copy-model/RiskPaths-3.0.0.0*RiskPaths.publish.lst/lang/FR
Recommended Methods:
POST /api/admin/copy-model
POST /api/admin/copy-model/lang/:lang
Argument:
:lang - (optional) language code for log messages
JSON body examples:
{
"PublishLst": "RiskPaths.publish.lst",
"NameVersion": "RiskPaths"
}
Or if RiskPaths model files are located in sub-folders ../lib/models/bin/RiskPaths-3.0.0.0 and documentation at ../lib/models/doc/RiskPaths-3.0.0.0:
{
"PublishLst": "RiskPaths-3.0.0.0/RiskPaths.publish.lst",
"ModelDigest": "d976aa2fb999f097468bb2ea098c4daf",
"NameVersion": "RiskPaths",
"BinDir": "RiskPaths-3.0.0.0",
"DocDir": "RiskPaths-3.0.0.0",
"LogDir": ""
}
where:
-
PublishLst :(required) model publish list file path, relative toSrcRootdirectory -
NameVersion:(required) model name or name-version (version is optional) -
ModelDigest:(optional)but highly recommended model digest -
BinDir :(default:models/bin) directory where model.exe, model.sqlite and other files located -
DocDir :(default:models/doc) model documentation directory -
LogDir :(default:models/log) model logs files directory
How it works
For example, if we have models library lib web-service for two "regular" users alice and bob:
../bin/oms -l localhost:4048 -oms.Name lib -oms.RootDir lib -oms.HtmlDir ../html -oms.EtcDir ../etc -oms.AllowDownload -oms.Readonly
../bin/oms -l localhost:4040 -oms.Name alice -oms.RootDir alice -oms.HtmlDir ../html -oms.EtcDir ../etc -oms.AllowDownload -oms.AllowUpload
../bin/oms -l localhost:4044 -oms.Name bob -oms.RootDir bob -oms.HtmlDir ../html -oms.EtcDir ../etc -oms.AllowDownload -oms.AllowUpload
Models Library configuration defined in etc/disk.inias:
[ModelLib]
;
; URL of models library, usually read-only oms instance
;
Url = http://localhost:4048
;
; Source root of of models library, where models/bin models/log models/doc are located
;
SrcRoot = ../lib
;
; Model copy script:
; copy model files from models library $src_root ito the user $dst_root
; using model file list from ModelName.publish.lst
;
CopyCmd = ../etc/model-copy.sh
Step 1.
User Alice needs to knowPublishLst and other JSON body values.
She can get it from Models Libarary Url = http://localhost:4048
by using GET model list text:
Request example:
http://localhost:4048/api/model-list/text
Response example:
{
"Model": {
"Name": "RiskPaths",
"Digest": "d976aa2fb999f097468bb2ea098c4daf",
"Version": "3.0.0.0",
........
},
"Dir": "RiskPaths-3.0.0.0",
"PubLst": "RiskPaths-3.0.0.0/RiskPaths.publish.lst",
"DocDir": "RiskPaths-3.0.0.0",
........
}
Step 2.
To copy RiskPaths model from SrcRoot = ../lib location
into Alice own workspace folder ../alice
she should POST JSON to her own http://localhost:4040 /api/admin/copy-model:
{
"PublishLst": "RiskPaths-3.0.0.0/RiskPaths.publish.lst",
"ModelDigest": "d976aa2fb999f097468bb2ea098c4daf",
"NameVersion": "RiskPaths-3.0.0.0",
"BinDir": "RiskPaths-3.0.0.0",
"DocDir": "RiskPaths-3.0.0.0",
"LogDir": ""
}
As a result copy model script CopyCmd = ../etc/model-copy.sh would start as:
../etc/model-copy.sh models/bin/RiskPaths-3.0.0.0/RiskPaths.publish.lst ../lib /mirror/alice RiskPaths-3.0.0.0
You can find model copy scripts in openM++ release etc folder or on GitHub:
Example:
curl -v -X POST -H "Content-Type: application/json" http://localhost:4040/api/admin/copy-model -d @test.json
> POST /api/admin/copy-model HTTP/1.1
> Host: localhost:4040
> User-Agent: curl/8.21.0
> Accept: */*
> Content-Type: application/json
> Content-Length: 255
>
* upload completely sent off: 255 bytes
< HTTP/1.1 200 OK
< Content-Type: application/json
< Date: Sat, 29 Aug 2026 03:17:34 GMT
< Content-Length: 126
<
{
"LogFileName":"models/log/copy-model.2026_08_28_23_17_34_952.RiskPaths-3.0.0.0.console.txt",
"IsError":false,
"ErrorMsg":""
}
Check model copy result
Alice should periodically check log file copy-model.2026_08_28_23_17_34_952.RiskPaths-3.0.0.0.console.txt in order to find final results of ../etc/model-copy.sh.
It can be done by calling GET copy model log file method.
- Windows: Quick Start for Model Users
- Windows: Quick Start for Model Developers
- Linux: Quick Start for Model Users
- Linux: Quick Start for Model Developers
- MacOS: Quick Start for Model Users
- MacOS: Quick Start for Model Developers
- Model Run: How to Run the Model
- MIT License, Copyright and Contribution
- Model Code: Programming a model
- Windows: Create and Debug Models
- Linux: Create and Debug Models
- MacOS: Create and Debug Models
- MacOS: Create and Debug Models using Xcode
- Modgen: Convert case-based model to openM++
- Modgen: Convert time-based model to openM++
- Modgen: Convert Modgen models and usage of C++ in openM++ code
- Model Localization: Translation of model messages
- How To: Set Model Parameters and Get Results
- Model Run: How model finds input parameters
- Model Output Expressions
- Model Run Options and ini-file
- OpenM++ Compiler (omc) Run Options
- OpenM++ ini-file format
- UI: How to start user interface
- UI: openM++ user interface
- UI: Create new or edit existing scenario
- UI: Upload input scenario or parameters
- UI: Run the Model
- UI: Use ini-files or CSV parameter files
- UI: Compare model run results
- UI: Aggregate and Compare Microdata
- UI: Filter run results by value
- UI: Disk space usage and cleanup
- UI: Copy Model from the Library
- Cloud administrator UI
- UI Localization: Translation of openM++
-
Highlight: hook to self-scheduling or trigger attribute
-
Highlight: The End of Start
-
Highlight: Enumeration index validity and the
index_errorsoption -
Highlight: Simplified iteration of range, classification, partition
-
Highlight: Parameter, table, and attribute groups can be populated by module declarations
- Oms: openM++ web-service
- Oms: openM++ web-service API
- Oms: How to prepare model input parameters
- Oms: Cloud and model runs queue
- Oms: Cloud and cluster setup
- Use R to save output table into CSV file
- Use R to save output table into Excel
- Run model from R: simple loop in cloud
- Run RiskPaths model from R: advanced run in cloud
- Run RiskPaths model in cloud from local PC
- Run model from R and save results in CSV file
- Run model from R: simple loop over model parameter
- Run RiskPaths model from R: advanced parameters scaling
- Run model from Python: simple loop over model parameter
- Run RiskPaths model from Python: advanced parameters scaling
- Windows: Use Docker to get latest version of OpenM++
- Linux: Use Docker to get latest version of OpenM++
- RedHat 8: Use Docker to get latest version of OpenM++
- Quick Start for OpenM++ Developers
- Setup Development Environment
- 2018, June: OpenM++ HPC cluster: Test Lab
- Development Notes: Defines, UTF-8, Databases, etc.
- 2012, December: OpenM++ Design
- 2012, December: OpenM++ Model Architecture, December 2012
- 2012, December: Roadmap, Phase 1
- 2013, May: Prototype version
- 2013, September: Alpha version
- 2014, March: Project Status, Phase 1 completed
- 2016, December: Task List
- 2017, January: Design Notes. Subsample As Parameter problem. Completed
GET Model Metadata
- GET model list
- GET model list including text (description and notes)
- GET model definition metadata
- GET model metadata including text (description and notes)
- GET model metadata including text in all languages
GET Model Extras
GET Model Run results metadata
- GET list of model runs
- GET list of model runs including text (description and notes)
- GET status of model run
- GET status of model run list
- GET status of first model run
- GET status of last model run
- GET status of last completed model run
- GET model run metadata and status
- GET model run including text (description and notes)
- GET model run including text in all languages
GET Model Workset metadata: set of input parameters
- GET list of model worksets
- GET list of model worksets including text (description and notes)
- GET workset status
- GET model default workset status
- GET workset including text (description and notes)
- GET workset including text in all languages
Read Parameters, Output Tables or Microdata values
- Read parameter values from workset
- Read parameter values from workset (enum id's)
- Read parameter values from model run
- Read parameter values from model run (enum id's)
- Read output table values from model run
- Read output table values from model run (enum id's)
- Read output table calculated values from model run
- Read output table calculated values from model run (enum id's)
- Read output table values and compare model runs
- Read output table values and compare model runs (enun id's)
- Read microdata values from model run
- Read microdata values from model run (enum id's)
- Read aggregated microdata from model run
- Read aggregated microdata from model run (enum id's)
- Read microdata run comparison
- Read microdata run comparison (enum id's)
GET Parameters, Output Tables or Microdata values
- GET parameter values from workset
- GET parameter values from model run
- GET output table expression(s) from model run
- GET output table calculated expression(s) from model run
- GET output table values and compare model runs
- GET output table accumulator(s) from model run
- GET output table all accumulators from model run
- GET microdata values from model run
- GET aggregated microdata from model run
- GET microdata run comparison
GET Parameters, Output Tables or Microdata as CSV
- GET csv parameter values from workset
- GET csv parameter values from workset (enum id's)
- GET csv parameter values from model run
- GET csv parameter values from model run (enum id's)
- GET csv output table expressions from model run
- GET csv output table expressions from model run (enum id's)
- GET csv output table accumulators from model run
- GET csv output table accumulators from model run (enum id's)
- GET csv output table all accumulators from model run
- GET csv output table all accumulators from model run (enum id's)
- GET csv calculated table expressions from model run
- GET csv calculated table expressions from model run (enum id's)
- GET csv model runs comparison table expressions
- GET csv model runs comparison table expressions (enum id's)
- GET csv microdata values from model run
- GET csv microdata values from model run (enum id's)
- GET csv aggregated microdata from model run
- GET csv aggregated microdata from model run (enum id's)
- GET csv microdata run comparison
- GET csv microdata run comparison (enum id's)
GET Modeling Task metadata and task run history
- GET list of modeling tasks
- GET list of modeling tasks including text (description and notes)
- GET modeling task input worksets
- GET modeling task run history
- GET status of modeling task run
- GET status of modeling task run list
- GET status of modeling task first run
- GET status of modeling task last run
- GET status of modeling task last completed run
- GET modeling task including text (description and notes)
- GET modeling task text in all languages
Update Model Profile: set of key-value options
- PATCH create or replace profile
- DELETE profile
- POST create or replace profile option
- DELETE profile option
Update Model Workset: set of input parameters
- POST update workset read-only status
- PUT create new workset
- PUT create or replace workset
- PATCH create or merge workset
- DELETE workset
- POST delete multiple worksets
- DELETE parameter from workset
- PATCH update workset parameter values
- PATCH update workset parameter values (enum id's)
- PATCH update workset parameter(s) value notes
- PUT copy parameter from model run into workset
- PATCH merge parameter from model run into workset
- PUT copy parameter from workset to another
- PATCH merge parameter from workset to another
Update Model Runs
- PATCH update model run text (description and notes)
- DELETE model run
- POST delete model runs
- PATCH update run parameter(s) value notes
Update Modeling Tasks
Run Models: run models and monitor progress
Download model, model run results or input parameters
- GET download log file
- GET model download log files
- GET all download log files
- GET download files tree
- POST initiate entire model download
- POST initiate model run download
- POST initiate model workset download
- DELETE download files
- DELETE all download files
Upload model runs or worksets (input scenarios)
- GET upload log file
- GET all upload log files for the model
- GET all upload log files
- GET upload files tree
- POST initiate model run upload
- POST initiate workset upload
- DELETE upload files
- DELETE all upload files
Download and upload user files
- GET user files tree
- POST upload to user files
- PUT create user files folder
- DELETE file or folder from user files
- DELETE all user files
User: manage user settings
Model run jobs and service state
- GET service configuration
- GET job service state
- GET disk usage state
- POST refresh disk space usage info
- GET state of active model run job
- GET state of model run job from queue
- GET state of model run job from history
- PUT model run job into other queue position
- DELETE state of model run job from history
Administrative: manage models and web-service state
- POST a request to refresh models catalog
- POST a request to close models catalog
- POST a request to close model database
- POST a request to delete the model
- POST a request to open database file
- POST a request to cleanup database file
- GET the list of database cleanup log(s)
- GET database cleanup log file(s)
- POST a request to pause model run queue
- POST a request to pause all queues of model runs
- PUT a request to shutdown web-service
- POST a request to copy model from the library
- GET the list of copy model logs
- GET copy model log file
Global Administrator: manage all web-services