Repository navigation
EN Reference Project
English · Türkçe · Languages / Diller
Scope: JSON API Forge 0.5.1 · Source review: 17 September 2026 · Language: English
These tables were generated from the Pydantic models and JSON Schema at the pinned commit. Usage guides: Projects and JSON.
“Required” means the field must be present in JSON; acceptance of null is a separate type rule. A Model() default creates that model using its documented defaults. Empty lists/objects are created separately for each instance. — means no default or no constraint for that column.
Cross-field validators apply in addition to the table: permission/public selection, URL/host safety, tenant/owner columns, cache/idempotency/transaction combinations, schema collisions and safe regex. JSON Schema validation alone does not replace forge validate. Unknown fields are rejected through extra="forbid".
| Field | Type | Required | Default | Schema constraints |
|---|---|---|---|---|
slug |
string |
Yes | — | — |
name |
string |
Yes | — | — |
version |
string |
No | "0.5.1" |
— |
enabled |
boolean |
No | true |
— |
api_prefix |
string | null |
No | null |
— |
docs_enabled |
boolean |
No | true |
— |
audit_enabled |
boolean |
No | true |
— |
cors_origins |
list[string] |
No | ["*"] |
— |
cors_methods |
list[string] |
No | ["GET","POST","PUT","PATCH","DELETE","OPTIONS"] |
— |
cors_headers |
list[string] |
No | ["Authorization","Content-Type","X-API-Key","Idempotency-Key","X-Request-ID"] |
— |
cors_expose_headers |
list[string] |
No | ["X-Request-ID","X-Forge-Cache"] |
— |
cors_allow_credentials |
boolean |
No | false |
— |
cors_max_age_seconds |
integer |
No | 600 |
min=0; max=86400
|
databases |
dict[str, DatabaseConfig] |
Yes | — | — |
mongo_databases |
dict[str, MongoDatabaseConfig] |
No | {} |
— |
security |
SecurityConfig |
No | SecurityConfig() |
— |
cache |
CacheConfig |
No | CacheConfig() |
— |
rate_limit |
RateLimitConfig |
No | RateLimitConfig() |
— |
protection |
ProtectionConfig |
No | ProtectionConfig() |
— |
observability |
ObservabilityConfig |
No | ObservabilityConfig() |
— |
realtime |
RealtimeConfig |
No | RealtimeConfig() |
— |
roles |
dict[str, RoleConfig] |
No | {} |
— |
resources |
list[ResourceConfig] |
No | [] |
— |
mongo_resources |
list[MongoResourceConfig] |
No | [] |
— |
operations |
list[OperationConfig] |
No | [] |
— |
data_sources |
list[DataSourceConfig] |
No | [] |
— |
dependencies |
list[DependencySpec] |
No | [] |
— |
custom_endpoints |
list[CustomEndpointConfig] |
No | [] |
— |
event_channels |
list[EventChannelConfig] |
No | [] |
— |
webhook_docs |
list[WebhookDocConfig] |
No | [] |
— |
media |
MediaConfig |
No | MediaConfig() |
— |
features |
FeaturePacksConfig |
No | FeaturePacksConfig() |
— |
project_dir |
string |
No | "" |
— |
$schema |
string |
No | — | Optional editor-only JSON Schema reference. Ignored by the runtime. |
app.json is the manifest and config/*.json contains ordered fragments. The manifest and fragment schemas use the applicable portions of the same project schema. One fragment is not a complete ProjectConfig. Runtime binds project_dir to the project location; avoid machine-specific paths in portable configuration. ForgeConfig is the loader’s internal container for multiple ProjectConfig instances.
| Field | Type | Required | Default | Schema constraints |
|---|---|---|---|---|
name |
string |
No | "JSON API Forge" |
— |
version |
string |
No | "0.5.1" |
— |
projects |
list[ProjectConfig] |
Yes | — | — |
This page describes the behavior at the pinned commits below. Recheck these contracts when upgrading.