openapi: 3.2.0 info: description: "All Optilogic users can view the endpoint documentation below, upgrade to a paid account to gain access.

Once you have api access, use the `refreshApiKey` endpoint with your account login information or use the `Quick Start` form below to get started.\n### Installing Additional Python Packages \nWhen a job is run - such as when using the **Job POST** endpoint - the system will check the directoryPath specified in the POST call for a file named `requirements.txt`. If the file exists, then the system will attempt to install all packages specified by running `pip install -r requirements.txt` before running the file specified in the filePath parameter.\n### Accessing your Files \nYour files are stored in the */projects* directory of the workspace. Files saved in this directory are available to your *Atlas* workspace and to REST API endpoints.\nAll directory paths passed as a *directoryPath*, *sourceDirectoryPath*, or *targetDirectoryPath* parameter are relative to the */projects* directory.\nThis means you must **not** include */projects* as part of the path string.\n\nExample:\n - directoryPath = \"pyomo-examples/models/diet-problem\"\n - filePath = \"diet-problem.py\"\n\nExample:\n - directoryPath = \".\"\n - filePath = \"my-model.py\"\n\n
\n\n## Example Application \n\nOptiJS Demo\n\nThis demo application uses the OptiJS client library to run and monitor jobs from Python modules on a users' account. Custom applications can be quickly created on top of the Optilogic API using the OptiJS and OptiPy client libraries.\n\n\n
\n" version: 1.0.0 title: Optilogic REST Utility API contact: name: Optilogic Support email: support@optilogic.com servers: - url: https://api.optilogic.app/v0 tags: - name: utility description: A library of tools that solve specific problems paths: /secrets: get: tags: - utility summary: Get a list of stored secrets description: '' parameters: - name: type in: query description: Only return secrets with the specified type required: false schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/SecretsList' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Forbidden' '404': description: Resource Not Found content: application/json: schema: $ref: '#/components/schemas/Error' security: - APIKeyHeader: [] /secret/{secretName}: get: tags: - utility summary: Get a stored secret by name description: '' parameters: - name: secretName in: path description: Name of the secret to get required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Secret' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Forbidden' '404': description: Resource Not Found content: application/json: schema: $ref: '#/components/schemas/Error' security: - APIKeyHeader: [] post: tags: - utility summary: Add a new secret description: '' parameters: - name: secretName in: path description: Name of the new secret required: true schema: type: string - name: type in: query description: Type of secret (eg. `geocode`, `custom`, `ssh`). Default value is `custom` required: false schema: type: string default: custom - name: value in: query description: Value of the secret - will be encrypted and not exposed when listing all secrets required: true schema: type: string - name: meta in: query description: Metadata and other custom data required: false schema: type: string - name: description in: query description: Description of the secret required: false schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Secret' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Forbidden' '404': description: Resource Not Found content: application/json: schema: $ref: '#/components/schemas/Error' security: - APIKeyHeader: [] put: tags: - utility summary: Change one or more fields on a stored secret description: One of 'name', 'type', 'value', 'meta', or 'description' must be provided and only fields provided will be updated parameters: - name: secretName in: path description: Name of the secret to update required: true schema: type: string - name: name in: query description: New name for this secret required: false schema: type: string - name: type in: query description: New type of secret (eg. `geocode`, `custom`, `ssh`) required: false schema: type: string - name: value in: query description: New value of the secret - will be encrypted and not exposed when listing all secrets required: false schema: type: string - name: meta in: query description: new metadata and other custom data required: false schema: type: string - name: description in: query description: New description of the secret required: false schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Secret' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Forbidden' '404': description: Resource Not Found content: application/json: schema: $ref: '#/components/schemas/Error' security: - APIKeyHeader: [] delete: tags: - utility summary: Delete a secret description: '' parameters: - name: secretName in: path description: Name of the secret to delete required: true schema: type: string responses: '202': description: Success content: application/json: schema: $ref: '#/components/schemas/SecretDelete' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Forbidden' '404': description: Resource Not Found content: application/json: schema: $ref: '#/components/schemas/Error' security: - APIKeyHeader: [] components: schemas: Error: type: object properties: result: type: string format: string error: type: string format: string correlationId: type: string format: uuid Secret: type: object properties: result: type: string id: type: string name: type: string value: type: string meta: type: string description: type: string type: type: string created: type: string SecretsList: type: object properties: result: type: string count: type: integer secrets: type: array items: type: object properties: id: type: string name: type: string meta: type: string description: type: string type: type: string created: type: string Forbidden: type: object properties: result: type: string format: string error: type: string format: string message: type: string format: string correlationId: type: string format: uuid SecretDelete: type: object properties: result: type: string id: type: string name: type: string securitySchemes: APIKeyHeader: type: apiKey in: header name: X-API-KEY externalDocs: description: Find out more about Optilogic url: https://optilogic.com