====== Problem ====== The //Problem// allows you to select any number of modules you have created (//Equations//, //Codes//, //HardDatas// and //SoftDatas//). By doing so SOLVER-AI can combine them together as if they were one unique module with it's own set of inputs and outputs, which are derived from the modules selected. As the relationship between the different modules are deducted from the variable names, it is paramount for the naming to be consistent across all modules. You can create any number of problems. Problems and modules are setup separately so that you can reuse the same modules for creating different problems. Furthermore, updating modules belonging to problems will automatically cause the problem to be updated, therefore updating the data of //HardData// and //SoftData// modules will not require you to modify or recreate a problem. ---- ===== Endpoint ===== The //Problem// endpoint provides a RESTful interface to interact with //Problem// objects in the database. It allows authenticated users to create, update, and delete their own problem objects. The base URL for the Problem endpoint is //[[https://datamanagerapi.solver-ai.com/api/data/problems/]]//. ---- ===== HTTP Methods ===== * **GET** //problems//: Retrieves a list of all Problem objects associated with the authenticated user. * **POST** //problems//: Creates a new Problem object associated with the authenticated user. * **GET** //problems/{id}//: Retrieves the Problem object with the specified //id//. * **PUT** //problems/{id}//: Updates the Problem object with the specified //id//. * **PATCH** //problems/{id}//: Updates part of a Problem object with the specified //id//. * **DELETE** //problems/{id}//: Deletes the Problem object with the specified //id//. ---- ===== Data ===== A //Problem// can be set up via the [[https://www.solver-ai.com/api|Browsable API]] (3 - Problem Management) or programmatically (more on this [[:api_clients|here]]). The parameters required for creating a //Problem// via the [[https://datamanagerapi.solver-ai.com/api/data/problems/|Problem Browsable API]] are: * **Name**: Unique name identifying the Problem. * **Equations**: Selection of the equations required. * **Codes**: Is the list of the input variables. * **Harddatas**: Is the list of the output variables. * **Softdatas**: Indices used for vectorizing the Code. **Multiple Selection** Note that for selecting multiple //Equations//, //Codes//, //HardDatas// and //SoftDatas// through the Browsable API you can use Ctrl and Shitf. ---- ===== Permissions ===== Only authenticated users can interact with this endpoint, this can be done via the [[https://www.solver-ai.com/api|API]] page or programmatically via a token, which can be obtained from the [[https://www.solver-ai.com/accountmanagement|Account]] page. All //HardData// created will be associated with the authenticated user, and and will not be accessible by other users. ---- ===== Notes ===== * You will need to delete a problem before being able to delete the modules it is making use of. * For information on setting the same programmatically follow the documentation relative to the [[:api_clients|API Clients]].