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