Akkio API
REST API for Akkio's predictive AI platform: manage datasets, train models, and generate predictions. Reconstructed from Akkio's first-party SDKs.
REST API for Akkio's predictive AI platform: manage datasets, train models, and generate predictions. Reconstructed from Akkio's first-party SDKs.
openapi: 3.0.3
info:
title: Akkio API
version: v1
description: >-
The Akkio API provides programmatic access to Akkio's no-code predictive AI
platform: manage datasets, train models, and generate predictions. This
specification was derived faithfully from Akkio's first-party client SDKs
(github.com/akkio-inc/akkio-python and akkio-node), which document the real
paths, methods, request bodies, and authentication. It is a reconstruction,
not a provider-published OpenAPI.
contact:
name: Akkio Support
email: support@akkio.com
url: https://docs.akkio.com/akkio-help-center
x-source: https://github.com/akkio-inc/akkio-python
x-derived: true
servers:
- url: https://api.akk.io/v1
description: Akkio API v1 production
security:
- apiKeyQuery: []
tags:
- name: Datasets
description: Create and populate datasets that models train on.
- name: Models
description: Train predictive models and generate predictions.
paths:
/datasets:
get:
operationId: getDatasets
tags: [Datasets]
summary: List datasets
description: Return all datasets available to the authenticated account.
parameters:
- name: api_key
in: query
required: true
schema: { type: string }
description: Akkio API key (obtain at https://app.akk.io/team-settings).
responses:
'200':
description: A list of datasets.
content:
application/json:
schema:
type: object
properties:
datasets:
type: array
items: { $ref: '#/components/schemas/Dataset' }
post:
operationId: postDataset
tags: [Datasets]
summary: Create a dataset, add rows, set fields, or parse fields
description: >-
Overloaded endpoint keyed by request body. With only `name`, creates a
new dataset. With `id` + `rows`, appends rows. With `id` + `fields`,
sets field types. With `id` + `parse_fields: true`, parses fields.
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/CreateDatasetRequest'
- $ref: '#/components/schemas/AddRowsRequest'
- $ref: '#/components/schemas/SetFieldsRequest'
- $ref: '#/components/schemas/ParseDatasetRequest'
responses:
'200':
description: The created or updated dataset.
content:
application/json:
schema: { $ref: '#/components/schemas/Dataset' }
delete:
operationId: deleteDataset
tags: [Datasets]
summary: Delete a dataset
requestBody:
required: true
content:
application/json:
schema:
type: object
required: [api_key, id]
properties:
api_key: { type: string }
id: { type: string, description: Dataset id to delete. }
responses:
'200':
description: Deletion result.
content:
application/json:
schema: { type: object }
/models:
get:
operationId: getModels
tags: [Models]
summary: List models
description: Return all trained models available to the authenticated account.
parameters:
- name: api_key
in: query
required: true
schema: { type: string }
description: Akkio API key.
responses:
'200':
description: A list of models.
content:
application/json:
schema:
type: object
properties:
models:
type: array
items: { $ref: '#/components/schemas/Model' }
post:
operationId: postModel
tags: [Models]
summary: Train a model or make a prediction
description: >-
Overloaded endpoint keyed by request body. With `dataset_id` +
`predict_fields`, trains a new model. With `id` + `data`, runs a
prediction against an existing model (set `explain: true` for
feature-attribution output).
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/CreateModelRequest'
- $ref: '#/components/schemas/PredictionRequest'
responses:
'200':
description: The trained model or the prediction result.
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/Model'
- $ref: '#/components/schemas/PredictionResult'
delete:
operationId: deleteModel
tags: [Models]
summary: Delete a model
requestBody:
required: true
content:
application/json:
schema:
type: object
required: [api_key, id]
properties:
api_key: { type: string }
id: { type: string, description: Model id to delete. }
responses:
'200':
description: Deletion result.
content:
application/json:
schema: { type: object }
components:
securitySchemes:
apiKeyQuery:
type: apiKey
in: query
name: api_key
description: >-
Akkio API key. Sent as the `api_key` query parameter on GET requests
and inside the JSON request body on POST/DELETE requests. Obtain a key
at https://app.akk.io/team-settings.
schemas:
Dataset:
type: object
properties:
dataset_id: { type: string }
name: { type: string }
Model:
type: object
properties:
model_id: { type: string }
dataset_id: { type: string }
CreateDatasetRequest:
type: object
required: [api_key, name]
properties:
api_key: { type: string }
name: { type: string, description: Name for the new dataset. }
AddRowsRequest:
type: object
required: [api_key, id, rows]
properties:
api_key: { type: string }
id: { type: string, description: Dataset id. }
rows:
type: array
items: { type: object, additionalProperties: true }
SetFieldsRequest:
type: object
required: [api_key, id, fields]
properties:
api_key: { type: string }
id: { type: string }
fields: { type: object, additionalProperties: true }
ParseDatasetRequest:
type: object
required: [api_key, id, parse_fields]
properties:
api_key: { type: string }
id: { type: string }
parse_fields: { type: boolean, enum: [true] }
CreateModelRequest:
type: object
required: [api_key, dataset_id, predict_fields]
properties:
api_key: { type: string }
dataset_id: { type: string }
predict_fields:
type: array
items: { type: string }
description: Column(s) the model should learn to predict.
ignore_fields:
type: array
items: { type: string }
extra_attention: { type: boolean, default: false }
duration:
type: integer
default: 10
description: Training budget in minutes.
PredictionRequest:
type: object
required: [api_key, id, data]
properties:
api_key: { type: string }
id: { type: string, description: Model id to predict with. }
data:
type: array
items: { type: object, additionalProperties: true }
explain:
type: boolean
default: false
description: Return per-feature attribution for each prediction.
PredictionResult:
type: object
additionalProperties: true