apIAddicts · Schema
config
CompanyNon-ProfitCommunityAPI TrainingCertificationEventsOpen SourceAPI GovernanceSpectralMCP
Properties
| Name | Type | Description |
|---|---|---|
| name | string | The name of the project |
| description | string | The description of the project |
| group | string | The group for the maven project |
| artifact | string | The artifact for the maven project |
| version | string | The version for the maven project |
| partial | boolean | Flag to generate all the components or only the models/controllers related |
| entities | array | Array with the schema of the entities |
| controllers | array | Array with the schema of the controllers |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/apiaddicts/main/json-schema/apiaddicts-config-schema.json",
"title": "config",
"x-generated": "2026-10-09",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/apiaddicts-apigen-openapi.yml#/components/schemas/config",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the project"
},
"description": {
"type": "string",
"description": "The description of the project"
},
"group": {
"type": "string",
"description": "The group for the maven project"
},
"artifact": {
"type": "string",
"description": "The artifact for the maven project"
},
"version": {
"type": "string",
"description": "The version for the maven project"
},
"partial": {
"type": "boolean",
"default": false,
"description": "Flag to generate all the components or only the models/controllers related"
},
"entities": {
"type": "array",
"minItems": 0,
"items": {
"$ref": "#/$defs/entity"
},
"description": "Array with the schema of the entities"
},
"controllers": {
"type": "array",
"minItems": 1,
"nullable": false,
"items": {
"$ref": "#/$defs/controller"
},
"description": "Array with the schema of the controllers"
}
},
"required": [
"name",
"group",
"artifact",
"version",
"partial",
"entities",
"controllers"
],
"$defs": {
"attribute-column": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the column in the database"
},
"primary_key": {
"type": "boolean",
"description": "Flag used to indicate if the column is the primary key"
},
"autogenerated": {
"type": "boolean",
"description": "Flag used to indicate if the column is autogenerated"
},
"sequence": {
"type": "string",
"description": "Name of the sequence used to generate the value, only used if provided and is a primary key autogenerated"
},
"unique": {
"type": "boolean",
"description": "Flag used to indicate if the column is unique"
},
"reference_column": {
"type": "string",
"description": "Name of the column that this column references, only required when the attribute is a Entity with ComposedID"
}
},
"required": [
"primary_key"
]
},
"attribute-relation": {
"type": "object",
"description": "Data about the relation of this attribute with other Entity",
"properties": {
"related_entity": {
"type": "string",
"description": "Name of the other Entity related with the attribute"
},
"intermediate_table": {
"type": "string",
"description": "Name of the intermediate table in database, only required when define many to many relations"
},
"owner": {
"type": "boolean",
"description": "Flag used to indicate what part of the relation is the owner (who can update the data)"
},
"columns": {
"type": "array",
"minItems": 0,
"items": {
"$ref": "#/$defs/attribute-column"
},
"description": "Data about the columns in the intermediate table that are related with this Entity table"
},
"reverse_columns": {
"type": "array",
"minItems": 0,
"items": {
"$ref": "#/$defs/attribute-column"
},
"description": "Data about the columns in the intermediate table that are related with the other Entity table"
}
},
"required": [
"related_entity"
]
},
"body-attribute": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the field in the json"
},
"validations": {
"type": "array",
"minItems": 0,
"items": {
"$ref": "#/$defs/validation"
},
"description": "List of validations of the attribute"
},
"attributes": {
"type": "array",
"minItems": 0,
"items": {
"$ref": "#/$defs/body-attribute"
},
"description": "List of attributes of the attribute"
},
"type": {
"type": "string",
"description": "Type of the attribute, values accepted are the OpenAPI types"
},
"format": {
"type": "string",
"description": "Format of the attribute, values accepted are the OpenAPI formats for the given type"
},
"is_collection": {
"type": "boolean",
"description": "Flag used to indicate if the parameter is a collection"
},
"related_entity": {
"type": "string",
"description": "Name of the entity that represents that attribute"
},
"entity_field_name": {
"type": "string",
"description": "Name of the entity field that represents that attribute, if not given, by default uses the name transformed to snakeCase"
}
},
"required": [
"name",
"type",
"is_collection"
]
},
"controller": {
"type": "object",
"properties": {
"entity": {
"type": "string",
"description": "Name of the entity to with this controler belongs, if not provided asumes that is a nonentity controller"
},
"mapping": {
"type": "string",
"description": "Base path of the mapping"
},
"endpoints": {
"type": "array",
"minItems": 0,
"items": {
"$ref": "#/$defs/endpoint"
}
}
},
"required": [
"mapping",
"endpoints"
]
},
"decimal-validation": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"DECIMAL_MIN",
"DECIMAL_MAX"
]
},
"decimal_value": {
"type": "number",
"format": "double"
},
"inclusive": {
"type": "boolean"
}
}
},
"digits-validation": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"DIGITS"
]
},
"integer_value_one": {
"type": "integer",
"format": "int32",
"description": "Max number of digits in integer part"
},
"integer_value_two": {
"type": "integer",
"format": "int32",
"description": "Max number of digits in decimal part"
}
}
},
"endpoint": {
"type": "object",
"properties": {
"method": {
"type": "string",
"enum": [
"GET",
"POST",
"PUT",
"DELETE"
],
"description": "The http method of the endpoint"
},
"mapping": {
"type": "string",
"description": "Path of the endpoint mapping"
},
"name": {
"type": "string",
"description": "Name of the method that implements the controller"
},
"parameters": {
"type": "array",
"minItems": 0,
"items": {
"$ref": "#/$defs/parameter"
}
},
"request": {
"$ref": "#/$defs/request-body"
},
"response": {
"$ref": "#/$defs/response-body"
},
"related_entity": {
"type": "string",
"description": "Entity related with this endpoint, if not provided asumes that is a nonentity endpoint"
}
},
"required": [
"method",
"name"
]
},
"entity": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the entity"
},
"table": {
"type": "string",
"description": "Name of the table in the databasem, if it's not defined, then the name of the entity transformed to kebab_case"
},
"attributes": {
"type": "array",
"items": {
"$ref": "#/$defs/entity-attribute"
},
"description": "Attributes of the entity"
}
},
"required": [
"name",
"attributes"
]
},
"entity-attribute": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the attribute in Java"
},
"type": {
"type": "string",
"description": "Type of the attribute in Java, can be a basic type (String, Boolean, Double, Float, Integer, Long, LocalDate, OffsetDateTime) a ComposedID or an Entity name"
},
"columns": {
"type": "array",
"minItems": 0,
"items": {
"$ref": "#/$defs/attribute-column"
},
"description": "Data about the columns related with this attribute that are in the entity table, if not provided the name of the column is the name of the property transformed to kebab_case"
},
"foreign_columns": {
"type": "array",
"minItems": 0,
"items": {
"$ref": "#/$defs/attribute-column"
},
"description": "Data about the columns related with this attribute that are in other entity table"
},
"relation": {
"$ref": "#/$defs/attribute-relation"
},
"validations": {
"type": "array",
"minItems": 0,
"items": {
"$ref": "#/$defs/validation"
},
"description": "Validations to apply to the attribute"
},
"attributes": {
"type": "array",
"items": {
"$ref": "#/$defs/entity-attribute"
},
"description": "Attributes of the attribute, only used when the attribute type is ComposedID"
},
"is_collection": {
"type": "boolean",
"description": "Flag used to indicate if the attribute is a collection or a object"
}
},
"required": [
"name",
"type",
"columns",
"foreign_columns",
"is_collection"
]
},
"long-validation": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"MIN",
"MAX"
]
},
"long_value": {
"type": "integer",
"format": "int64"
},
"inclusive": {
"type": "boolean"
}
}
},
"parameter": {
"type": "object",
"properties": {
"required": {
"type": "boolean",
"description": "Flag used to indicate if the parameter is required"
},
"in": {
"type": "string",
"enum": [
"path",
"query"
],
"description": "Type of the parameter location, in the path of the mapping or in the query parameters"
},
"default_value": {
"type": "object",
"description": "Default value of the parameter, accepts any type"
},
"name": {
"type": "string",
"description": "Name of the parameter"
},
"validations": {
"type": "array",
"minItems": 0,
"items": {
"$ref": "#/$defs/validation"
},
"description": "List of validations of the request"
},
"type": {
"type": "string",
"description": "Type of the parameter, values accepted are the OpenAPI types"
},
"format": {
"type": "string",
"description": "Format of the parameter, values accepted are the OpenAPI formats for the given type"
},
"is_collection": {
"type": "boolean",
"description": "Flag used to indicate if the parameter is a collection"
}
},
"required": [
"required",
"in",
"name",
"type",
"is_collection"
]
},
"pattern-validation": {
"type": "object",
"required": [
"type",
"string_value"
],
"properties": {
"type": {
"type": "string",
"enum": [
"PATTERN"
]
},
"string_value": {
"type": "string",
"description": "Regex pattern"
}
}
},
"request-body": {
"type": "object",
"properties": {
"related_entity": {
"type": "string",
"description": "Entity related with this request, if not provided asumes that is a nonentity request"
},
"attributes": {
"type": "array",
"minItems": 0,
"items": {
"$ref": "#/$defs/body-attribute"
},
"description": "List of attributes of the request"
}
},
"required": [
"attributes"
]
},
"response-body": {
"type": "object",
"properties": {
"is_standard": {
"type": "boolean",
"description": "Flag used to indicate if is a standard response"
},
"is_collection": {
"type": "boolean",
"description": "Flag used to indicate if is a collection response"
},
"collection_name": {
"type": "string",
"description": "Name of the collection in the standard response, only required when is collection and standard"
},
"related_entity": {
"type": "string",
"description": "Entity related with this response, if not provided asumes that is a nonentity response"
},
"attributes": {
"type": "array",
"minItems": 0,
"items": {
"$ref": "#/$defs/body-attribute"
},
"description": "List of attributes of the response"
},
"default_status_code": {
"type": "integer",
"format": "int32",
"description": "Status code of the response, only if it is not standard entity out resource"
}
},
"required": [
"is_standard",
"is_collection",
"attributes"
]
},
"size-validation": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"SIZE"
]
},
"integer_value_one": {
"type": "integer",
"format": "int32",
"description": "Minimal size"
},
"integer_value_two": {
"type": "integer",
"format": "int32",
"description": "Maximal size"
}
}
},
"validation": {
"anyOf": [
{
"$ref": "#/$defs/void-validation"
},
{
"$ref": "#/$defs/long-validation"
},
{
"$ref": "#/$defs/decimal-validation"
},
{
"$ref": "#/$defs/size-validation"
},
{
"$ref": "#/$defs/digits-validation"
},
{
"$ref": "#/$defs/pattern-validation"
}
]
},
"void-validation": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"NOT_NULL",
"EMAIL",
"NOT_EMPTY",
"NOT_BLANK",
"POSITIVE",
"POSITIVE_OR_ZERO",
"NEGATIVE",
"NEGATIVE_OR_ZERO",
"PAST",
"PAST_OR_PRESENT",
"FUTURE",
"FUTURE_OR_PRESENT"
]
}
}
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/apiaddicts-config"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.