# Retrosynthesis Engines

Pending AI offers a novel Deep-Learning MCTS **Retrosynthesis** platform for synthetic planning. An *engine* provides the underlying architecture and functional procedure used for building complex multi-step synthetic routes. When submitting a query molecule for assessing synthetic accessibility, an engine must be specified using its respective `id` field.

**Considerations**

* An engine requires significant computational resources affected by different parameters when completing a Retrosynthesis job. Large screening campaigns are queued onto identical engine instances, potentially leading to longer wait times for screening results.
* Engine selection can significantly impact the diversity of the generated synthetic routes. Try different engines to yield varied synthetic routes

See [here](https://docs.pending.ai/capabilities/synthetic-accessibility) for more information on our **Retrosynthesis** capability.

## List engines

> Retrieve a list of engines.

```json
{"openapi":"3.1.0","info":{"title":"PAI Retro","version":"v2"},"tags":[{"description":"\nPending AI offers a novel Deep-Learning MCTS **Retrosynthesis** platform for synthetic \nplanning. An *engine* provides the underlying architecture and functional procedure \nused for building complex multi-step synthetic routes. When submitting a query molecule\nfor assessing synthetic accessibility, an engine must be specified using its respective \n`id` field.\n\n**Considerations**\n\n- An engine requires significant computational resources affected by different parameters\nwhen completing a Retrosynthesis job. Large screening campaigns are queued onto identical\nengine instances, potentially leading to longer wait times for screening results.\n- Engine selection can significantly impact the diversity of the generated synthetic \nroutes. Try different engines to yield varied synthetic routes\n\nSee [here](https://docs.pending.ai/capabilities/synthetic-accessibility) \nfor more information on our **Retrosynthesis** capability.\n","name":"Engines"}],"servers":[{"description":"Pending AI Server","url":"https://api.pending.ai/retro/v2","variables":{"environment":{"default":"api","description":"The environment to use for the API.","enum":["api","api.dev","api.stage"]}}}],"security":[{"oauth":[""],"token":[""]}],"components":{"securitySchemes":{"oauth":{"description":"OAuth2 authentication.","flows":{"implicit":{"authorizationUrl":"https://auth.pending.ai/authorize","refreshUrl":"https://auth.pending.ai/oauth/token","scopes":{}}},"type":"oauth2"}},"schemas":{"EngineResource":{"description":"Engines are used when performing a retrosynthesis plan for a target\nmolecule. Engines determine the Deep-Learning infrastructure used\nfor building retrosynthetic routes and the specific algorithms\nemployed during the procedure.\n\nSince time requirements can vary for each molecule, consider that\nthe wait time for a job can depend on other requests for a\nparticular engine.","properties":{"id":{"description":"The unique resource identifier.","pattern":"^\\w+$","title":"Resource Id","type":"string"},"last_alive":{"description":"The lastest time the engine was used.","format":"date-time","title":"Last Alive","type":"string"},"name":{"description":"Name of the engine.","title":"Name","type":"string"},"object":{"description":"The type of resource.","pattern":"^\\w+$","title":"Resource Object","type":"string"}},"required":["id","object","name","last_alive"],"title":"Engine","type":"object"},"RequestValidationErrorContent":{"description":"A request or response encountered a validation error when enforcing field constraints. Refer to `error.details` to resolve individual errors. For any unexpected validation errors, contact Pending AI support via email at [support@pending.ai](mailto:support@pending.ai).","properties":{"error":{"$ref":"#/components/schemas/RequestValidationErrorInfo","default":null},"request_id":{"default":null,"description":"A unique ID given to each request.","title":"Request ID","type":"string"},"status":{"default":"error","description":"Status of the request.","enum":["error","success"],"title":"Request Status","type":"string"},"status_code":{"description":"Response status code received for the request.","title":"Status Code","type":"integer"}},"required":["status_code"],"title":"Request Validation Error","type":"object"},"RequestValidationErrorInfo":{"description":"Response content containing extra information for an error.","properties":{"code":{"description":"Short identifier code to classify the error.","title":"Code","type":"string"},"details":{"default":null,"description":"Validation errors with extra information.","items":{"$ref":"#/components/schemas/RequestValidationErrorInfoDetails"},"title":"Detailed Message","type":"array"},"message":{"default":null,"description":"Message associated with the encountered error.","title":"Message"},"path":{"description":"Request path for where the error occurred.","title":"Request Path","type":"string"},"timestamp":{"description":"Timestamp of when the error occurred.","format":"date-time","title":"Timestamp","type":"string"}},"required":["code","path"],"title":"Error Information","type":"object"},"RequestValidationErrorInfoDetails":{"description":"An individual validation error with extra information.","properties":{"error_type":{"default":null,"description":"A description of the validation constraint that was broken.","title":"Constraint Type"},"location":{"default":null,"description":"One or more parameters for where the validation failed.","title":"Validation Location"}},"title":"Detailed Error Content","type":"object"}}},"paths":{"/engines":{"get":{"description":"Retrieve a list of engines.","operationId":"list_engines_engines_get","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/EngineResource"},"title":"Return","type":"array"}}},"description":"Returns a list of engines."},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestValidationErrorContent"}}},"description":"Request validation failed."}},"summary":"List engines","tags":["Engines"]}}}}
```
