Skip to content

Managing knowledge models

Below is an example script to manage knowledge models:

Define the constants:

python
import requests

API_KEY = '{YOUR_API_KEY}'
API_URL = 'https://constructor.app/api/platform-kmapi/v1'

Define the headers:

python
# Define the headers 
headers = {
    'X-KM-AccessKey': f'Bearer {API_KEY}'
}

List knowledge models for your account:

python
def list_models():
    response = requests.get(f'{API_URL}/knowledge-models', headers=headers)
    for model in response.json()['results']:
        print(f'{model["id"]}, {model["name"]}')

Create a new knowledge model:

python
def create_model(name):
    data = {
        "name": name,
        "shared_type": "private"
    }
    response = requests.post(f'{API_URL}/knowledge-models', headers=headers, json=data)
    return response.json()
python
def get_model_settings(km_id):
    response = requests.get(f'{API_URL}/knowledge-models/{km_id}', headers=headers)
    return response.json()
python
def change_model_settings(km_id, name=None, description=None, shared_type=None):
    data = {
        "name": "Materials knowledge model",
        "description": description,
        "shared_type": shared_type
    }
    response = requests.patch(f'{API_URL}/knowledge-models/{km_id}', headers=headers, json=data)
    return response.json()