Repository navigation
EN Reference Content Models
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: Data sources, media, feature packs.
“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 |
|---|---|---|---|---|
name |
string |
Yes | — | — |
enabled |
boolean |
No | true |
— |
path |
string | null |
No | null |
— |
type |
enum ["json_file","yaml_file","csv_file","static","http"] |
Yes | — | — |
public |
boolean |
No | false |
— |
public_write |
boolean |
No | false |
— |
permission |
string | null |
No | null |
— |
read_permission |
string | null |
No | null |
— |
write_permission |
string | null |
No | null |
— |
parameters |
list[RequestParameterSpec] |
No | [] |
— |
file |
string | null |
No | null |
— |
data |
Any |
No | null |
— |
url |
string | null |
No | null |
— |
method |
enum ["GET","POST","PUT","PATCH","DELETE"] |
No | "GET" |
— |
headers |
dict[str, string] |
No | {} |
— |
timeout_seconds |
number |
No | 10.0 |
>=0 |
max_response_bytes |
integer |
No | 2097152 |
min=1024; max=104857600
|
allow_insecure_http |
boolean |
No | false |
— |
allow_private_networks |
boolean |
No | false |
— |
retries |
integer |
No | 2 |
min=0; max=10
|
retry_non_idempotent |
boolean |
No | false |
— |
writable |
boolean |
No | false |
— |
file_lock_timeout_seconds |
number |
No | 5.0 |
max=60; >=0
|
id_field |
string |
No | "id" |
— |
max_items |
integer |
No | 10000 |
min=1 |
allowed_filters |
list[string] |
No | [] |
— |
allowed_sort |
list[string] |
No | [] |
— |
cache_ttl_seconds |
integer |
No | 15 |
min=0 |
stale_ttl_seconds |
integer | null |
No | null |
min=0 |
forward_query |
boolean |
No | true |
— |
forward_body |
boolean |
No | true |
— |
dependencies |
list[string] |
No | [] |
— |
| Field | Type | Required | Default | Schema constraints |
|---|---|---|---|---|
enabled |
boolean |
No | false |
— |
backend |
const "local" |
No | "local" |
— |
local_directory |
string |
No | "./data/media" |
— |
max_upload_bytes |
integer |
No | 26214400 |
min=1; max=1073741824
|
max_batch_files |
integer |
No | 8 |
min=1; max=100
|
max_owner_bytes |
integer | null |
No | null |
min=1 |
allowed_mime_types |
list[string] |
No | ["image/jpeg","image/png","image/webp","image/gif","video/mp4","audio/mpeg","audio/ogg","application/pdf"] |
— |
allowed_extensions |
list[string] |
No | [] |
— |
public |
boolean |
No | false |
— |
upload_permission |
string |
No | "media.upload" |
— |
read_permission |
string |
No | "media.read" |
— |
delete_permission |
string |
No | "media.delete" |
— |
admin_permission |
string |
No | "media.admin" |
— |
owner_delete_only |
boolean |
No | false |
— |
deduplicate |
boolean |
No | true |
— |
deduplicate_scope |
enum ["owner","project"] |
No | "owner" |
— |
signed_urls_enabled |
boolean |
No | false |
— |
signing_secret |
string | null |
No | null |
— |
signed_url_ttl_seconds |
integer |
No | 300 |
min=1; max=86400
|
post_upload_hooks |
list[string] |
No | [] |
— |
| Field | Type | Required | Default | Schema constraints |
|---|---|---|---|---|
messaging |
MessagingPackConfig |
No | MessagingPackConfig() |
— |
social |
SocialPackConfig |
No | SocialPackConfig() |
— |
gaming |
GamingPackConfig |
No | GamingPackConfig() |
— |
| Field | Type | Required | Default | Schema constraints |
|---|---|---|---|---|
enabled |
boolean |
No | false |
— |
table_prefix |
string |
No | "msg_" |
— |
database |
string |
No | "primary" |
— |
tenant_field |
string | null |
No | null |
— |
| Field | Type | Required | Default | Schema constraints |
|---|---|---|---|---|
enabled |
boolean |
No | false |
— |
table_prefix |
string |
No | "social_" |
— |
database |
string |
No | "primary" |
— |
tenant_field |
string | null |
No | null |
— |
| Field | Type | Required | Default | Schema constraints |
|---|---|---|---|---|
enabled |
boolean |
No | false |
— |
table_prefix |
string |
No | "game_" |
— |
database |
string |
No | "primary" |
— |
tenant_field |
string | null |
No | null |
— |
This page describes the behavior at the pinned commits below. Recheck these contracts when upgrading.