openapi: 3.0.3 info: title: BigML REST Anomaly Detection WhizzML Scripting API description: 'The BigML REST API provides programmatic access to the full BigML machine learning platform. Create and manage sources, datasets, models, ensembles, clusters, anomaly detectors, topic models, time series forecasters, deepnets, linear and logistic regression models, PCA, and generate predictions — both individual and batch — over HTTPS using username and API key authentication. ' version: 1.0.0 contact: name: BigML Support url: https://support.bigml.com/ license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 x-api-id: bigml:bigml-api x-provider: https://bigml.com/ servers: - url: https://bigml.io/andromeda description: BigML production API (use username/api_key query params) security: - ApiKeyAuth: [] tags: - name: WhizzML Scripting description: Automate ML workflows with WhizzML scripts and executions paths: /script: get: summary: List Scripts operationId: listScripts tags: - WhizzML Scripting parameters: - $ref: '#/components/parameters/username' - $ref: '#/components/parameters/apiKey' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' responses: '200': description: List of scripts content: application/json: schema: $ref: '#/components/schemas/ListResponse' post: summary: Create a Script operationId: createScript tags: - WhizzML Scripting parameters: - $ref: '#/components/parameters/username' - $ref: '#/components/parameters/apiKey' requestBody: required: true content: application/json: schema: type: object required: - source_code properties: source_code: type: string description: WhizzML source code. name: type: string inputs: type: array items: type: object outputs: type: array items: type: object responses: '201': description: Script created content: application/json: schema: $ref: '#/components/schemas/Script' /script/{resource_id}: parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/username' - $ref: '#/components/parameters/apiKey' get: summary: Get a Script operationId: getScript tags: - WhizzML Scripting responses: '200': description: Script details content: application/json: schema: $ref: '#/components/schemas/Script' put: summary: Update a Script operationId: updateScript tags: - WhizzML Scripting requestBody: required: true content: application/json: schema: type: object responses: '200': description: Script updated content: application/json: schema: $ref: '#/components/schemas/Script' delete: summary: Delete a Script operationId: deleteScript tags: - WhizzML Scripting responses: '204': description: Script deleted /execution: get: summary: List Executions operationId: listExecutions tags: - WhizzML Scripting parameters: - $ref: '#/components/parameters/username' - $ref: '#/components/parameters/apiKey' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' responses: '200': description: List of executions content: application/json: schema: $ref: '#/components/schemas/ListResponse' post: summary: Create an Execution operationId: createExecution tags: - WhizzML Scripting parameters: - $ref: '#/components/parameters/username' - $ref: '#/components/parameters/apiKey' requestBody: required: true content: application/json: schema: type: object required: - script properties: script: type: string inputs: type: array items: type: object responses: '201': description: Execution created content: application/json: schema: $ref: '#/components/schemas/Execution' /execution/{resource_id}: parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/username' - $ref: '#/components/parameters/apiKey' get: summary: Get an Execution operationId: getExecution tags: - WhizzML Scripting responses: '200': description: Execution details content: application/json: schema: $ref: '#/components/schemas/Execution' delete: summary: Delete an Execution operationId: deleteExecution tags: - WhizzML Scripting responses: '204': description: Execution deleted components: schemas: ResourceStatus: type: object properties: code: type: integer description: HTTP-style status code (1=queued,2=started,3=waiting,4=processing,5=finished,0=unknown,-1=failed) message: type: string elapsed: type: number description: Processing time in milliseconds. Script: allOf: - $ref: '#/components/schemas/ResourceBase' - type: object properties: source_code: type: string inputs: type: array items: type: object outputs: type: array items: type: object Execution: allOf: - $ref: '#/components/schemas/ResourceBase' - type: object properties: script: type: string inputs: type: array items: type: object outputs: type: array items: type: object ResourceBase: type: object properties: resource: type: string description: Resource identifier (e.g., source/5f1a2b3c4d5e6f7890abcdef) created: type: string format: date-time updated: type: string format: date-time status: $ref: '#/components/schemas/ResourceStatus' name: type: string tags: type: array items: type: string private: type: boolean ListResponse: type: object properties: meta: type: object properties: limit: type: integer offset: type: integer total_count: type: integer previous: type: string nullable: true next: type: string nullable: true objects: type: array items: $ref: '#/components/schemas/ResourceBase' parameters: apiKey: name: api_key in: query required: true schema: type: string description: BigML API key. username: name: username in: query required: true schema: type: string description: BigML username. resourceId: name: resource_id in: path required: true schema: type: string pattern: ^[a-f0-9]{24}$ description: The 24-character hexadecimal resource identifier. limit: name: limit in: query required: false schema: type: integer default: 20 maximum: 1000 description: Number of resources to return. offset: name: offset in: query required: false schema: type: integer default: 0 description: Index of the first resource to return. securitySchemes: ApiKeyAuth: type: apiKey in: query name: username description: 'Authenticate with username and api_key as query parameters. Example: ?username=myuser&api_key=a1b2c3... ' x-tagGroups: - name: Data Management tags: - Sources - Datasets - Projects - Data Connectors - name: Supervised Learning tags: - Models - Ensembles - Supervised Learning - Evaluations - Predictions - name: Unsupervised Learning tags: - Clustering - Anomaly Detection - Unsupervised Learning - Time Series - name: Batch Operations tags: - Batch Operations - name: Automation tags: - WhizzML Scripting