GET
/v1/modelsjeff-server's model list, kept for its existing clients.
The base under each name it answers to (jeff, jeff-latest and the server's model name), then every adapter the engines currently serve, under its alias or ID. release_date is that of the base the engines serve (bases.yaml's "released"), however many bases the catalogue's adapters were trained on; engines serving different bases are 500 EngineError. Errors here also carry the legacy "detail" field; see POST /v1/systemone.
Responses
200The models POST /v1/systemone will answer to.
Response schema
{
"title": "Jeff GET /v1/models response (the legacy jeff-server API)",
"description": "The model names /v1/systemone answers to: the base under the server's model name, then each served adapter under its alias (its ID when it has none). release_date is the base's release date (YYYY-MM-DD).",
"type": "object",
"additionalProperties": false,
"required": [
"models"
],
"properties": {
"models": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"name",
"description",
"release_date"
],
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"release_date": {
"type": "string",
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$"
}
}
}
}
}
}401HTTP 401; see contract/errors.yaml for which error type(s) answer with this status.
Response schema
{
"type": "object",
"additionalProperties": false,
"required": [
"error",
"detail"
],
"properties": {
"error": {
"type": "object",
"additionalProperties": false,
"required": [
"type",
"message",
"details"
],
"properties": {
"type": {
"type": "string",
"description": "The JeffError subclass name, e.g. NotLicensed."
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"description": "The error's own extra attributes, if it has any (for example NotInstalled's function_id); empty for most errors."
}
}
},
"detail": {
"description": "A problem with the model as LegacyModelErrorDetail, anything else as a plain string (jeff_server.systemone.legacy_detail). No discriminator property is added -- the wire has none -- so tell them apart by JSON type (array vs string).",
"oneOf": [
{
"type": "string"
},
{
"title": "LegacyModelErrorDetail",
"description": "jeff-server's Pydantic-style problem location for the request body's model field.",
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"type": "string"
}
},
"msg": {
"type": "string"
},
"type": {
"const": "value_error"
}
}
}
}
]
}
}
}429HTTP 429; see contract/errors.yaml for which error type(s) answer with this status.
Response schema
{
"type": "object",
"additionalProperties": false,
"required": [
"error",
"detail"
],
"properties": {
"error": {
"type": "object",
"additionalProperties": false,
"required": [
"type",
"message",
"details"
],
"properties": {
"type": {
"type": "string",
"description": "The JeffError subclass name, e.g. NotLicensed."
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"description": "The error's own extra attributes, if it has any (for example NotInstalled's function_id); empty for most errors."
}
}
},
"detail": {
"description": "A problem with the model as LegacyModelErrorDetail, anything else as a plain string (jeff_server.systemone.legacy_detail). No discriminator property is added -- the wire has none -- so tell them apart by JSON type (array vs string).",
"oneOf": [
{
"type": "string"
},
{
"title": "LegacyModelErrorDetail",
"description": "jeff-server's Pydantic-style problem location for the request body's model field.",
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"type": "string"
}
},
"msg": {
"type": "string"
},
"type": {
"const": "value_error"
}
}
}
}
]
}
}
}500HTTP 500; see contract/errors.yaml for which error type(s) answer with this status.
Response schema
{
"type": "object",
"additionalProperties": false,
"required": [
"error",
"detail"
],
"properties": {
"error": {
"type": "object",
"additionalProperties": false,
"required": [
"type",
"message",
"details"
],
"properties": {
"type": {
"type": "string",
"description": "The JeffError subclass name, e.g. NotLicensed."
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"description": "The error's own extra attributes, if it has any (for example NotInstalled's function_id); empty for most errors."
}
}
},
"detail": {
"description": "A problem with the model as LegacyModelErrorDetail, anything else as a plain string (jeff_server.systemone.legacy_detail). No discriminator property is added -- the wire has none -- so tell them apart by JSON type (array vs string).",
"oneOf": [
{
"type": "string"
},
{
"title": "LegacyModelErrorDetail",
"description": "jeff-server's Pydantic-style problem location for the request body's model field.",
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"loc",
"msg",
"type"
],
"properties": {
"loc": {
"type": "array",
"items": {
"type": "string"
}
},
"msg": {
"type": "string"
},
"type": {
"const": "value_error"
}
}
}
}
]
}
}
}Example
bash
curl -s -X GET https://api.jeffhub.ai/v1/models \ -H "Authorization: Bearer $JEFF_API_KEY"