Overview
Start Here
Installation
Tutorial
Architect App Builder
Todo List App
Beacon Beats Audio Store
UCAL App
Authoring
Dynamic Apps
Static Apps
dev_docs
Why Pharos Feels Different
Architect Builder
Framework
Artifacts & Layout
Configuration
Outbound Email
How to Use CLI
Contracts
YAML Authoring
Action Hooks and Middleware
Feature Transaction Primitives
Generated Surfaces
Declarative CRM
Input Validation
Identity and Tenancy
UI Surface Library
Social Connections
Payment Provider Management
Integration Adapters
Reference
Contract, UI, and Surface Reference
Styling UI Elements
Architect Media Artifacts
API Docs
Use Cases
Dynamic SPAs
Generated Admin and APIs
Scheduling and Marketplaces
Multi-App Hosting
Release Notes
Vision
Pharos Framework

← Back

Feature input formats

Declarative action input rules validate values before queries or mutations run. A field retains its declared type; format adds validation to string input. Optional empty values remain empty.

Supported formats are email, date, timestamp, date_or_timestamp, utc_offset, https_url and web_url. Dates use YYYY-MM-DD. Timestamps require an RFC 3339 date-time with an explicit UTC marker or numeric offset; accepted timestamps normalize to fixed-precision UTC before persistence. Unix seconds, local SQL date-times and missing time zones are not accepted as timestamp form input. The database storage compatibility reader remains separate.

date_or_timestamp accepts either a validated YYYY-MM-DD calendar day or the same explicit-zone timestamp accepted by timestamp. Date-only values normalize to the UTC start-of-day storage key required by timestamp columns. This key does not establish an observed performance time or geographic time zone; consumers retain source precision in evidence and display a date when the clock time is unknown.

A timestamp or date-or-timestamp field may declare not_before with the name of another declared timestamp or date-or-timestamp field. When both values are present and nonempty, the later field must be at or after the referenced field. Invalid dates and reversed intervals fail before the transaction; they cannot change the saved record.

input:
  starts_at:
    type: string
    required: true
    format: timestamp
    max_length: 100
  ends_at:
    type: string
    required: false
    format: timestamp
    not_before: starts_at
    max_length: 100

Web links pass the framework URL admission policy. Image uploads remain a separate declared multipart capability; a link format never grants authority to upload or fetch a file.

utc_offset accepts UTC or an explicit signed ±HH:MM offset (hours at most 23, minutes at most 59). It records source offset evidence separately from normalized UTC timestamps; it does not infer a geographic time zone or daylight-saving rules.

Bounded declarative value expressions support pluck: {source: query.links, field: artist_row_id} for at most 64 rows and lookup: {key: input.type, values: {dj: [DJ, dj]}} for at most 64 explicit keys. Missing/empty lookup keys and explicitly mapped null values omit an optional filter; unknown nonempty keys fail validation. The in query operator accepts at most 64 individually validated typed values. An empty list matches no records. These helpers project declared values only and do not accept SQL, arbitrary property paths or executable expressions.

Architect can capture form fields from an explicit public HTTPS reference URL with a section fragment when asked to reproduce its fields. A section must identify one form with named text, email, URL, telephone, date or multiline controls and readable placeholders or accessible labels. Captured forms become grouped, editable app source with paired desktop fields and stacked phone fields. Required fields, length limits and email validation run before app-owned inquiry records are stored through the generic database interface. This does not configure email delivery or appointment scheduling.

Reference intake observes public crawl rules and bounded transport policies. It reads at most four explicit section references and one MiB per document, excludes scripts, hidden credentials and external submission endpoints, and never supplies a signed-in browser session. Unsupported or unavailable reference forms block the request with diagnostics; explanatory placeholder text does not count as implementing a form.