Skip to main content
POST
Create a fine-tuned model

Authorizations

Authorization
string
header
required

Static, non-expiring API key: Authorization: Bearer <FOURMINDS_API_KEY>.

Body

application/json
model_name
string
required

Must be unique within your account.

dataset_id
integer
required

ID of the dataset to build the model from.

description
string
use_case
enum<string>
default:general

Domain the model is tuned for. Also sets category if category isn't provided. Unrecognized values are treated as general.

Available options:
general,
finance,
marketing,
law,
manufacturing,
energy
category
string

Label for organizing models, e.g. Finance. If omitted, it's derived from use_case (e.g. marketing gives Marketing).

Maximum string length: 100
base_model_id
integer

Base model to use. Chosen automatically if omitted.

training_type_id
enum<string>
default:sft
Available options:
sft,
rl,
graph
use_case_id
integer

Predefined use case ID. Sets the domain (fine_tune) and category when use_case isn't provided; e.g. 21 sets finance / Finance. Responses return use_case_id as null.

persona_id
integer

Persona to attach. Returned as personaId.

Response

Model created.

id
string
required

Numeric model ID, returned as a string.

Example:

"3801"

name
string
required
description
string | null
required
base_model_name
string
required
Example:

"GPT-OSS-120B"

trained_model_id
string
required
Example:

"0"

training_type_id
string
required
Examples:

"graph"

"sft"

dataset_id
integer | null
required
file_path
string
required
base_model_id
integer
required
personaId
integer | null
required
use_case_id
integer | null
required
use_case_name
string | null
required
use_case_label
string | null
required
use_case_description
string | null
required
use_case_custom
string | null
required
onboarding_goal
string | null
required
onboarding_role
string | null
required
has_image
boolean
required
trained_at
string<date-time>
required

Currently always the same as created_at.

status
string
required
Examples:

"ready"

"preparing"

"archived"

graph_status
string | null
required
Examples:

"ready"

"preparing"

graph_build_progress
integer | null
required

Knowledge-graph build progress. Usually 100 once the graph is ready, but some ready models report higher values (up to 1100 observed).

Required range: x >= 0
fine_tuning_status
boolean | null
required
metrics
object
required

Placeholder values. loss, trainingTime, epochsCompleted and parametersOptimized are the same for every model; accuracy and validationAccuracy are copies of success_rate.

dataset_info
object
required
external_model_id
integer | null
required
external_provider_type
string | null
required
external_model_capabilities
object | null
required
fine_tune
string
required

The model's domain.

Examples:

"general"

"finance"

category
string | null
required
Examples:

"General"

"Finance"

token_speed
number
required
response_time
number
required
success_rate
number
required
is_private
boolean | null
required
shared_with_organization
boolean | null
required
team_ids
string[] | null
required
team_names
string[] | null
required
owner_email
string | null
required

Filled in by List models; null from Get a model and Create a model.

is_shared
boolean
required
organization_name
string | null
required

Filled in by List models; null from Get a model and Create a model.

shared_user_count
integer
required
dataset_sharing_status
string | null
required
pending_dataset_access_requests
integer
required
created_at
string<date-time>
required
updated_at
string<date-time>
required
job_id
string | null
required