Skip to content

EN Reference Content Models

Cavanshirpro edited this page Sep 19, 2026 · 1 revision

Data-source, media and feature-pack fields

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".

DataSourceConfig

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 [] —

MediaConfig

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 [] —

FeaturePacksConfig

Field Type Required Default Schema constraints
messaging MessagingPackConfig No MessagingPackConfig() —
social SocialPackConfig No SocialPackConfig() —
gaming GamingPackConfig No GamingPackConfig() —

MessagingPackConfig

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 —

SocialPackConfig

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 —

GamingPackConfig

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 —

Sources and verification

This page describes the behavior at the pinned commits below. Recheck these contracts when upgrading.


English home · All English pages · Version maintenance

Clone this wiki locally