# WEDNESDAY Developer Platform — consolidated public documentation Canonical origin: https://docs.wednesdaychat.com This file consolidates the human-facing public documentation that is safe to use as a WEDNESDAY platform reference. The HTML pages remain authoritative for navigation and release status. --- # Search Source: https://docs.wednesdaychat.com/search/

Search

Search is a server-owned, account-scoped operation over durable WEDNESDAY state. It is separate from model web search.

GET/search

Search the authenticated account's durable search surface.

The verified query contract uses:

Parameter Constraint
q Required; 1–160 characters
limit 1–100; default 25

Results are returned with Cache-Control: no-store.

GET/projects/{project_id}/search

Search within an account-owned project, including a bounded filter and result limit.

Rate limits and errors

Search can return:

This page documents product-state search. Model tools that discover or ground information from the public web have a separate execution and security boundary and should not be inferred from /search.

--- # Tools Source: https://docs.wednesdaychat.com/tools/

Using tools

Extend a WEDNESDAY turn with search, files, research, location context, projects, connectors, and other bounded execution capabilities. Tool work is represented as typed runtime state rather than hidden model side effects.

SearchFilesResearchProjectsConnectors
User request
   ↓
WEDNESDAY runtime
   ↓
Tool start → progress/state → completion
   ↓
Structured result returned to the active turn

Available tool families

Search and retrievalSearch durable WEDNESDAY state and support retrieval-oriented workflows. Files and LibraryUpload, inspect, select, attach, retrieve, and manage account-owned file resources. Deep researchTrack longer-running research work as durable task state rather than a single request. Projects and contextUse project instructions, settings, files, conversations, connectors, and work history as scoped context. ConnectorsWork with explicitly authorized external resources while preserving connector scope and approval boundaries. Location and place contextUse location preferences and place-enrichment capabilities where the product flow authorizes them.

Tool lifecycle

The live stream protocol can represent tool start, progress, state transition, and completion events. Stable turn, part, and tool hierarchy identifiers let a client render nested or parallel work without inferring execution state from prose.

Authority and approvals

Tool availability never implies unlimited authority. File operations remain account-scoped, connector operations remain connector-scoped, public-network access is bounded by runtime policy, and risky external actions can require explicit approval before execution.

Failure handling

A tool result can fail independently of the surrounding model turn. Clients should preserve tool state, surface meaningful failures, and avoid rewriting a failed execution as if the model merely “changed its mind.”

Public capability policy

A tool becomes a supported developer capability only when its public name, inputs, outputs, authority requirements, failure behavior, and lifecycle are stable enough to depend on.

Internal tool kinds, telemetry labels, and implementation-specific execution modules are not automatically public developer tools.
--- # Deprecations Source: https://docs.wednesdaychat.com/deprecations/

Deprecations

This page is the canonical public index for WEDNESDAY deprecation notices that affect documented contracts.

Current notices

There are no public deprecation notices recorded in this documentation repository at this time.

When a deprecation is published, the notice should identify the affected contract, announcement date, replacement path, migration guidance, and retirement date when one has been committed.

--- # Changelog Source: https://docs.wednesdaychat.com/changelog/

Changelog

September 14, 2026

Documentation infrastructure

Platform feature changes will be listed here only when verified against the relevant production contract.

--- # Privacy Source: https://docs.wednesdaychat.com/privacy/

Privacy

WEDNESDAY scopes durable product data to the authorized account and documents privacy-relevant behavior only where it is a stable public contract.

Account-scoped state

Projects, conversations, files, search results, feedback, research state, and related durable records are resolved through the authorized account boundary. Public share links are a deliberate exception: they expose only the share target represented by the generated share token.

Data minimization

Clients should send only the information required for the requested workflow. Do not place secrets, credentials, or unrelated personal data into prompts, project instructions, file metadata, tool arguments, logs, or public share links.

Files and connectors

Files and connector-backed resources remain subject to owner and connector scope. Applications should preserve the user’s authorization boundary when displaying, caching, exporting, or acting on retrieved data.

Public documentation

This public documentation intentionally excludes secret configuration, internal endpoints, private deployment topology, incident procedures, privileged administration behavior, and implementation details that would unnecessarily expand the public data surface.

Product policy

This developer page describes technical privacy boundaries, not the full WEDNESDAY consumer privacy policy or legal terms. Product-facing privacy notices remain authoritative for legal disclosures and user rights.
--- # Projects Source: https://docs.wednesdaychat.com/projects/

Projects

Projects group durable conversations and project-scoped context under the authenticated WEDNESDAY account.

Project lifecycle

The production API supports listing, reading, creating, renaming, archiving, deleting, and restoring projects.

Method Route
GET /projects
POST /projects
GET /projects/{project_id}
PUT /projects/{project_id}/name
PUT /projects/{project_id}/archive
DELETE /projects/{project_id}
POST /projects/{project_id}/restore

Project context

A project can expose account-owned settings and instructions through dedicated read/write routes. Chat execution can load project context for a conversation and render that context into the turn’s system context.

Search and resources

Projects have production routes for:

Ownership boundary

Every project operation in this guide is session-protected. The project ID selects a resource within the authenticated account; it does not select the account itself.

Conflicts and deletion

Mutating operations may return 409 Conflict when state has changed or an explicit confirmation requirement is not satisfied. Clients should not collapse those outcomes into a generic retry loop.

--- # Agents Source: https://docs.wednesdaychat.com/agents/

Agents

WEDNESDAY agent behavior is built from stateful turns, typed tool activity, durable task state, and explicit user control rather than a hidden autonomous loop.

Stateful execution

A turn belongs to authenticated durable conversation state. Project context can be loaded for the conversation before execution and rendered into the system context supplied to the turn.

Observable activity

The stream protocol has distinct activity and tool event families. Tool execution can report start, progress, state transitions, and completion rather than collapsing all tool work into opaque text.

Steering and cancellation

Supported turns can accept mid-turn steering while the acceptance window remains open. Durable research tasks have an explicit cancellation route.

Approval-aware behavior

The execution protocol models approval risk and reversibility as explicit concepts. Public documentation will describe concrete approval flows only when the corresponding user/developer contract is stable.

Agent boundary

An agent may use tools and durable state, but authorization remains server-owned. Agent execution does not bypass the account session, project ownership, file ownership, connector scope, or external-write approval boundaries.

--- # Reliability Source: https://docs.wednesdaychat.com/reliability/

Reliability

Reliability documentation explains externally observable behavior: availability, retries, timeouts, idempotency, degradation, and status communication where those contracts are publicly defined.

Status information

Live operational status belongs on the independent WEDNESDAY status service rather than being hard-coded into documentation pages. Documentation should explain behavior; the status service should report current incidents and availability.

Failure semantics

API and tool references should document actionable error behavior close to the affected contract so developers do not have to infer retry or recovery behavior.

--- # Learn Source: https://docs.wednesdaychat.com/learn/

Get inspired and build

Use focused learning paths to move from platform fundamentals to production WEDNESDAY applications.

Learning tracks

Building agents
Understand tool execution, project context, approvals, durable work, and runtime state.
AI app development
Start with the production boundary, session authority, streaming, and durable application state.
Model routing
Choose WEDNESDAY execution profiles without coupling your application to private provider routing.
Production readiness
Design retries, state reconciliation, security boundaries, readiness checks, and release controls.

Explore by topic

ToolsSearch, files, research, projects, connectors, and bounded external execution. StreamingBuild UIs around structured incremental model and tool events. FilesWork with uploads, Library state, attachments, and account-owned file resources. IntegrationsConnect authorized external resources while preserving scope and approval boundaries. { }API referenceBrowse the deliberately published production HTTP surface. Docs for agentsUse Markdown twins, llms.txt, the consolidated corpus, and search index.

Keep current

Use the Changelog for public documentation and platform changes, Deprecations for migration-sensitive changes, and WEDNESDAY Status for operational availability.

--- # Authentication Source: https://docs.wednesdaychat.com/api/authentication/

Authentication

WEDNESDAY production requests are authorized through the account session boundary used by the WEDNESDAY product. Durable ownership is derived server-side from that authorized session.

Account authority

For protected operations, the API resolves the account owner from the authorized server session rather than trusting a caller-supplied owner identifier. This keeps projects, conversations, files, search results, and durable chat state scoped to the authenticated account.

Browser requests

The production web application communicates with https://api.wednesdaychat.com using the WEDNESDAY session boundary. Cross-origin access is restricted to approved WEDNESDAY origins and explicitly allowed methods and headers.

Request headers

Some production flows use WEDNESDAY-specific headers for session continuity, CSRF protection, client identity, idempotency, or turn coordination. A header appearing in the service implementation does not by itself make it a public third-party authentication mechanism.

Third-party developer access

No implied API-key program. WEDNESDAY does not document a general public API-key authentication contract until that contract is explicitly released. Do not attempt to synthesize account/session headers or rely on internal browser-session behavior from an external integration.

Authorization failures

Callers should treat authorization and session failures as terminal for the current credential context and re-establish a valid WEDNESDAY session through the supported product flow rather than retrying with fabricated identity data.

--- # API reference Source: https://docs.wednesdaychat.com/api/reference/

API reference

The production API origin is https://api.wednesdaychat.com. This reference documents only routes and behaviors that are verified in the production service and safe to publish.

Access boundary: WEDNESDAY currently uses server-authorized account sessions for most product operations. The existence of an HTTP route does not imply an unrestricted third-party API-key contract.

System

GET/health

Lightweight service health probe. Returns an ok health status when the API process is available.

GET/ready

Production readiness probe. Readiness depends on required backing services including persistence, cache, object storage, malware scanning, and model access.

GET/version

Returns the WEDNESDAY API service identity, environment, build SHA when available, and configured model-provider family. The response is marked no-store.

GET/search?q=…

Searches durable account-owned WEDNESDAY state. Query text is required and bounded; result size is bounded by the service.

Projects

Verified project operations include listing, creating, loading, renaming, archiving, restoring, and deleting projects; reading and updating project settings and instructions; project search; project conversations; file membership; connector bindings; and work history.

Conversations

Verified conversation operations include listing and loading conversations, messages, drafts, follow-ups, branches, archive state, pin state, project movement, feedback, sharing, usage recording, and durable deletion.

Chat streaming

POST/chat

Starts a durable streaming chat turn for the authorized account. The stream is explicitly non-cacheable and supports structured runtime events.

POST/chat/{turn_id}/input

Submits mid-turn steering input to an active turn. Durable cancellation is supported when the turn identifier resolves to a durable chat turn.

Files and artifacts

The production service exposes owner-scoped file upload, file inspection, file-library, picker, attachment-state, download, message-attachment, assistant-artifact, location-context, memory-source-consent, and deep-research routers. Individual contracts are published only after their request/response schemas are stable enough to support externally.

Contract policy

Routes used only for internal operations, provider callbacks, privileged administration, deployment, or implementation-specific coordination are intentionally omitted. Public documentation is a compatibility promise; source-code presence alone is not.

--- # Errors Source: https://docs.wednesdaychat.com/api/errors/

Errors

WEDNESDAY uses standard HTTP status codes plus concise error detail strings. Clients should branch on status and documented semantics rather than parsing incidental implementation text.

Common status codes

Status Meaning
400 Invalid request shape or transport constraint.
404 Requested account-owned resource or share target was not found.
409 The requested state transition conflicts with current durable state.
410 A time-bounded resource, such as an upload session, has expired.
413 A request body exceeds the accepted size.
415 An uploaded media type or content representation is unsupported.
422 A validated parameter or identifier is semantically invalid.
429 A rate limit was exceeded. Respect Retry-After when supplied.
503 A required WEDNESDAY dependency or protection layer is unavailable.

Retry behavior

Retry only when the failure class is plausibly transient. 429 responses may include a Retry-After header and should not be retried before that delay. 503 can indicate unavailable persistence, cache, model access, storage, protection, or other required platform dependencies.

Do not automatically retry 400, 404, 409, 410, 413, 415, or 422 without changing the request or reconciling state.

Durable conflicts

A 409 response is meaningful platform state, not a generic transport failure. Examples include trying to mutate a resource after its state has moved on or submitting steering after a turn is no longer accepting input.

Error text

Error detail strings are intended for diagnostics, but clients should not treat undocumented wording as a stable machine contract. Stable client behavior should key off HTTP status and fields explicitly documented for the endpoint.
--- # Rate limits Source: https://docs.wednesdaychat.com/api/rate-limits/

Rate limits

WEDNESDAY applies protection at the production service boundary. Chat and durable-state operations use dedicated rate-limit paths, and the platform can fail closed when protection infrastructure is unavailable.

What is limited

Verified production code applies rate-limit enforcement to chat traffic and to conversation-oriented persistence flows used by search, projects, files, feedback, sharing, and related durable operations.

429 Too Many Requests

When a limit is exceeded, the API returns 429. Where available, the response includes Retry-After with the number of seconds a client should wait before retrying.

HTTP/1.1 429 Too Many Requests
Retry-After: 12
Content-Type: application/json

Protection availability

WEDNESDAY does not silently bypass protection when its rate-limit layer cannot make a trustworthy decision. A protection dependency failure can surface as 503 Service Unavailable instead of allowing unprotected traffic.

Published quotas

No invented quotas. Numeric request-per-minute or token quotas are not published until they are a stable product contract. Clients should implement backoff for `429` independently of any assumed quota.

Client guidance

Use bounded exponential backoff, honor Retry-After, avoid retry storms, and keep idempotent operations safe to replay where the endpoint contract allows it. For state-changing requests, reconcile the durable result before blindly retrying after network uncertainty.

--- # API Source: https://docs.wednesdaychat.com/api/

API

WEDNESDAY exposes a production HTTP service at https://api.wednesdaychat.com. This documentation publishes the supported external contract without treating every internal service route as public API.

Production origin

https://api.wednesdaychat.com

The web product and supported WEDNESDAY clients use this origin for durable product operations. The API is designed around account-authorized state, streaming execution, projects, files, search, research, sharing, and related platform workflows.

Access model

Most product operations require a valid WEDNESDAY account session and derive durable ownership from server-authorized account state. Do not fabricate owner identifiers or infer a general third-party API-key program from browser/client transport details.

Start with Authentication before integrating a protected route.

Reference

Use the API reference for the deliberately published HTTP surface. The reference currently includes verified system, search, project, conversation, chat, file, and artifact capability boundaries while withholding privileged, provider-callback, administrative, and implementation-only routes.

Errors and protection

Contract policy

Public documentation is a compatibility promise. An endpoint, header, provider model, internal module, or telemetry label found in source code is not automatically public API. WEDNESDAY publishes only the behavior it intends developers to depend on.

Machine-readable docs: use /llms.txt for routing, /llms-full.txt for the consolidated corpus, and Markdown twins linked from individual reference pages.
--- # Streaming Source: https://docs.wednesdaychat.com/platform/streaming/

Streaming

Live chat uses Server-Sent Events with a versioned, ordered event protocol rather than an unstructured text socket.

Transport

POST /chat returns:

Content-Type: text/event-stream
Cache-Control: no-cache, no-transform
X-Accel-Buffering: no

The route requires an authenticated account session and is protected by the chat rate limiter.

Protocol version

Current stream events carry protocol_version: 1, a turn identifier, and a monotonically ordered sequence field. Part-level events add a part identifier; tool events add a tool identifier.

Clients should treat the protocol version as part of the compatibility contract rather than assuming event payloads can change without coordination.

Event families

The current stream model includes typed events for:

Backpressure and intermediaries

The API disables response buffering and transformation for the stream. Clients should consume events incrementally and should not depend on intermediaries coalescing chunks.

Durable state is separate

Streaming transports live execution. Conversation persistence is a separate durable boundary. A robust client should not assume that the presence or absence of one network chunk is itself the durable conversation record.

--- # Conversation state Source: https://docs.wednesdaychat.com/platform/conversation-state/

Conversation state

Conversation state is a durable server-owned resource. It is scoped to the authenticated account and remains separate from the transport of a single live model response.

Core routes

Method Route Purpose
GET /conversations List account-owned conversations with cursor pagination
GET /conversations/{conversation_id} Load one conversation
PUT /conversations/{conversation_id} Persist a conversation write
PUT /conversations/{conversation_id}/title Update the title
GET /conversations/{conversation_id}/messages Page through messages
PUT /conversations/{conversation_id}/draft Persist the composer draft
DELETE /conversations/{conversation_id} Delete the conversation

All routes in this table require the validated WEDNESDAY account session.

Follow-ups and branches

The API supports queued follow-ups, follow-up reordering and state changes, creation of conversation branches from a message, and switching the active branch.

Branch operations remain conversation-owner scoped. A client cannot select another account’s durable owner by supplying an owner identifier.

Organization state

Conversation records can be archived, pinned, and moved into or out of projects. Project-move targets are returned from an owner-scoped route so the client does not need to infer allowed destinations.

Feedback and sharing

Feedback is stored against the latest eligible response in the conversation. Share creation is session-protected, while resolution of a valid share token is part of the intentionally public surface.

Consistency behavior

The persistence layer distinguishes missing resources, conflicts, rate limits, and temporary store failures. Clients should handle 404, 409, 429, and 503 as distinct states rather than retrying every failure identically.

--- # Mid-turn steering Source: https://docs.wednesdaychat.com/platform/steering/

Mid-turn steering

WEDNESDAY can accept supported input during a running turn instead of forcing every correction into a brand-new conversation turn.

Endpoint

POST/chat/{turn_id}/input

Submit a validated steering payload to an active turn. Successful submission returns HTTP 202.

The operation is account-session protected and uses the same chat-rate-limit boundary as the live chat route.

Acceptance window

Steering is not guaranteed after a turn stops accepting input. When the transport can no longer deliver steering, the API returns 409 Conflict rather than acknowledging input that was not applied.

Cancellation

Supported steering payloads can represent durable turn cancellation. Cancellation validates the durable turn identifier and persists the cancel request before the turn is treated as cancelled.

Error behavior

Clients should surface these outcomes distinctly; a 409 is a lifecycle outcome, not a generic server failure.

--- # Key concepts Source: https://docs.wednesdaychat.com/platform/

Key concepts

WEDNESDAY combines server-owned identity, durable conversation state, structured streaming, project context, and tool-oriented execution into one product runtime.

Server-authoritative identity

Protected operations derive the durable account owner from the validated server session. Client-supplied owner or role claims are not the authority boundary.

This design keeps conversation, project, file, search, feedback, and tool state consistently scoped to the authenticated account.

Durable conversations

Conversation records are persisted independently of the live model stream. The platform supports conversation listing and loading, messages, drafts, follow-ups, branches, archive state, pinning, project movement, feedback, sharing, usage records, and deletion.

Read about conversation state →

Structured streaming

Live chat responses use Server-Sent Events (text/event-stream) with a versioned event protocol. Events carry ordered sequence numbers and typed state for turns, answers, code, activities, and tools.

Read about streaming →

Mid-turn steering

A running turn can accept supported steering input while it remains steerable. The server rejects steering after the acceptance window closes rather than silently pretending it was applied.

Read about steering →

Projects and context

Projects group conversations and related context. Production routes support project settings, instructions, search, files, connector bindings, work history, and project-scoped conversations.

Read about projects →

Fail-closed API surface

The production API treats unlisted routes as session-required by default. Only an explicit narrow public allowlist is available without an account session.

--- # Integrations Source: https://docs.wednesdaychat.com/integrations/

Integrations

Integrations connect WEDNESDAY to external systems without collapsing external authorization into the model or the browser client.

Project connector bindings

Projects expose an owner-scoped connector-binding view and an explicit unbind operation. A connector binding belongs to the authenticated project/account context; possession of a binding ID alone is not authorization.

GitHub

The production codebase includes GitHub authorization, repository, reference-context, workspace, branch, and patch workflows. GitHub callback/webhook operations are operational integration surfaces and are not interchangeable with user-facing project APIs.

Separation of concerns

A production integration has multiple independent boundaries:

  1. the WEDNESDAY account session;
  2. the external provider authorization or installation;
  3. resource-level scope inside that provider;
  4. approval requirements for writes or destructive actions.

Public integration contract

This documentation publishes integration behavior that users and developers may rely on. It intentionally omits secret handling, private webhook validation details, installation credentials, internal provider tokens, and privileged operational procedures.

Revocation

Where the product exposes an unbind or disconnect operation, clients should treat revocation as a first-class lifecycle state rather than assuming access remains valid indefinitely.

--- # Deep research Source: https://docs.wednesdaychat.com/deep-research/

Deep research

Deep research work is represented by durable, account-owned task records so longer-running research can be inspected independently of a single browser stream.

Task routes

Method Route Purpose
GET /conversations/{conversation_id}/research-tasks List research tasks for a conversation
GET /research-tasks/{task_id} Load one task
POST /research-tasks/{task_id}/cancel Request cancellation

Conversation task listing accepts a bounded limit from 1 to 100 with a default of 20.

Durable ownership

Research tasks are resolved inside the authenticated account boundary. Task and conversation identifiers do not replace session authority.

Lifecycle errors

Cache behavior

Task reads and cancellation responses are emitted with Cache-Control: no-store so clients do not reuse stale research state.

--- # Files Source: https://docs.wednesdaychat.com/files/

Files

File intake uses an explicit upload-session lifecycle so WEDNESDAY can validate ownership, metadata, transport, content, and storage state before a file becomes usable.

Upload lifecycle

The production upload flow exposes three core operations:

Method Route Purpose
POST /files/uploads Initiate an owner-scoped upload session
GET /files/uploads/{upload_id} Read upload progress and state
PUT /files/uploads/{upload_id}/content Stream the complete file body

Upload initiation uses an Idempotency-Key header so safe retries can refer to the same initiation intent.

Transport rules

The content upload is intentionally strict:

Validation and failure states

The file pipeline distinguishes malformed requests, unsupported media, invalid content, oversized files, expired sessions, missing sources, conflicts, rate limits, and temporary service failures.

Relevant HTTP outcomes include 400, 404, 409, 410, 413, 415, 429, and 503.

Library and attachments

The production file router also supports owner-scoped Library views, file picker results, attachment-state lookup, user-message attachment preparation, and secure file inspection/download paths.

Security boundary: file IDs do not grant authority. File operations are evaluated inside the authenticated account session.
--- # Models Source: https://docs.wednesdaychat.com/models/

Models

Choose the execution profile that matches the work. WEDNESDAY owns the routing contract while retaining freedom to improve the underlying provider route as long as the published profile behavior remains compatible.

Choose an execution profile

Balanced
BalancedProduction

Default conversational profile for responsive, general-purpose work with balanced reasoning and latency.

Deep
Deep reasoningProduction

Higher-reasoning profile for complex analysis and tasks where depth matters more than minimum latency.

Code
CodingProduction

Code-oriented execution route used when the runtime classifies the work as software-development heavy.

Profile ≠ provider model ID. WEDNESDAY can change an upstream route without renaming a WEDNESDAY execution profile when the public behavior remains compatible. Upstream provider identifiers are not a permanent developer contract unless explicitly published as one.

Routing is observable

The streaming protocol can represent resolved routing information for a turn, including a model identifier, model role, requested and resolved intelligence level, latency profile, reasoning profile, and bounded completion behavior. Those fields make execution observable; they do not automatically turn every internal route target into a permanently supported developer model.

Public model contract

A named developer model becomes part of the public catalog only when WEDNESDAY publishes all of the following:

Model selection

Use the product-level intelligence and latency controls documented by the interface that exposes them. For routine work, start with Balanced. Use Deep Reasoning when task difficulty justifies additional reasoning. Code-oriented work can resolve to the Coding profile through runtime routing.

Lifecycle

Public model contracts follow an explicit lifecycle. Deprecation is announced through Deprecations and the Changelog before a supported identifier is removed or materially changed.

--- # Machine-readable documentation Source: https://docs.wednesdaychat.com/machine-readable/

Machine-readable documentation

WEDNESDAY publishes stable text entry points so AI agents and automated systems can discover the same public documentation humans use.

llms.txt

/llms.txt is the compact routing index. Agents should start there when they need to discover relevant documentation without downloading the full site.

llms-full.txt

/llms-full.txt is a consolidated text corpus of the public documentation currently published in this repository. It is useful when a retriever needs a single ingestible source.

Search and crawling

/robots.txt permits public crawling and points to /sitemap.xml. These files are publication aids; they do not grant access to non-public WEDNESDAY systems or information.

Source integrity

Machine consumers should treat URLs on docs.wednesdaychat.com as the canonical public source and preserve page titles, update dates, and lifecycle notices when indexing content.

--- # Developer quickstart Source: https://docs.wednesdaychat.com/getting-started/

Developer quickstart

Start with the production contract that exists today: a public HTTPS origin, narrow unauthenticated operations, and session-protected product APIs.

Production origin

The canonical WEDNESDAY API origin is:

https://api.wednesdaychat.com

The documentation origin is independent:

https://docs.wednesdaychat.com

Verify service health

GET /health is part of the deliberately public service surface.

curl --fail --silent https://api.wednesdaychat.com/health

A healthy API returns:

{"status":"ok"}

GET /ready reports whether required production dependencies are ready. It can return an HTTP 503 with a not_ready state when the service cannot safely accept production work.

Understand authentication before calling product APIs

WEDNESDAY’s current production product APIs use a server-authoritative account session. Browser requests include the session credential automatically, and unsafe mutations require the WEDNESDAY CSRF header.

Do not construct authority by sending owner IDs, roles, plans, or retired client identity headers. The server session is authoritative.

External developer access: this documentation does not claim a generally available API-key authentication scheme. When WEDNESDAY publishes one, the Authentication and API Reference pages will define it as an explicit public contract.

Choose the right guide

Machine-readable version

The raw Markdown twin for this page is available at /getting-started.md.

--- # Security Source: https://docs.wednesdaychat.com/security/

Security

Public security documentation should help users integrate safely without exposing implementation details that would increase operational risk.

Documentation security boundary

The public repository must not contain credentials, secrets, private keys, internal-only endpoints, private network topology, customer data, confidential incident artifacts, or deployment environment files.

Responsible publication

Security claims should be specific, verifiable, scoped to the applicable product surface, and reviewed before publication. Absence of a claim in this documentation should not be interpreted as a guarantee.

Vulnerability reporting

A dedicated public vulnerability-reporting policy will be linked here when its operational intake process is finalized.

--- # Production best practices Source: https://docs.wednesdaychat.com/production/

Production best practices

Move from prototype assumptions to production-safe WEDNESDAY integrations with explicit contracts, bounded retries, durable state reconciliation, security boundaries, and release-aware dependency management.

Treat documented contracts as the boundary

Depend only on behavior published in this documentation or another explicitly versioned WEDNESDAY contract. Do not build against private provider names, internal deployment topology, hidden headers, implementation-only routes, or source-code details that are not documented as supported.

Design for durable state

WEDNESDAY is stateful. Conversations, projects, files, research tasks, feedback, sharing, and other workflows can persist independently of a single browser request. After ambiguous network failures, reconcile server state before repeating state-changing operations.

Handle streaming as a protocol

Chat is delivered as a structured streaming workflow rather than a single response body. Clients should handle connection loss, terminal events, tool lifecycle state, steering acceptance, cancellation, and durable recovery without deriving state from visible text alone.

Use bounded retries

Secure account-owned data

Protected WEDNESDAY operations are scoped through server-authorized account sessions. Never substitute caller-provided ownership for server-derived authority. Keep credentials, private connector tokens, session material, and internal deployment values out of client logs and public documentation.

Files and external data

Treat uploads and connector data as untrusted input. Respect file-size and media-type constraints, malware/content validation, owner scope, connector scope, and explicit approval boundaries for external actions.

Observe dependency health

The API exposes separate health, readiness, and version behavior. A process can be alive while the platform is not ready to serve production traffic. Production systems should distinguish availability from readiness and avoid routing critical work to an unready dependency.

Release discipline

Production documentation changes should pass source validation, a deterministic Jekyll build, generated-site link validation, machine-readable corpus checks, and review before promotion to main.

Public docs are production surface. A documentation regression can break integrations just as surely as an API regression. WEDNESDAY treats docs, machine-readable indexes, and published API contracts as release artifacts.
--- # WEDNESDAY Developer Platform Source: https://docs.wednesdaychat.com/

API Platform

Developer quickstart

Start with the production boundary, learn the session model, then build against contracts that WEDNESDAY explicitly supports.

HTTP · verify production availability
```bash curl -sS https://api.wednesdaychat.com/health # {"status":"ok"} ```
Production boundary: most product operations are authorized through a WEDNESDAY server account session. The public API origin is documented; a general third-party API-key program is not implied until WEDNESDAY explicitly releases one.

Build paths

Platform and API

Understand durable state, streaming, projects, files, search, errors, rate limits, and the verified HTTP surface.

Start with the platform ↗
Agents and tools

Build around typed tool execution, project context, research, connectors, approvals, and observable runtime state.

Explore agents ↗

Models

WEDNESDAY routes work through stable execution profiles while retaining freedom to improve the upstream provider route behind those profiles.

Balanced
BalancedProduction

Responsive general-purpose work with balanced reasoning and latency.

Deep
Deep reasoningProduction

Higher-reasoning execution for complex analysis and difficult multi-step work.

Code
CodingProduction

Code-oriented routing for software-development-heavy tasks.

Start building

Durable conversation statePersist and recover conversations rather than treating every request as isolated. Structured streamingRender typed model and tool events while work is still in progress. Tool-using applicationsExtend model execution with bounded tools, search, files, research, and connectors. Project contextScope instructions, files, connectors, conversations, and work history to a project. Files and LibraryUpload, inspect, attach, retrieve, and manage account-owned files. Long-running researchTrack research as durable task state rather than one fragile request.

Production resources

Production best practices
Retries, durable reconciliation, readiness, security boundaries, and release discipline.
Security
Authority, account scope, connector boundaries, and safe public-contract rules.
Machine-readable docs
llms.txt, consolidated docs, Markdown twins, search index, sitemap, and crawler guidance.
Status
Check WEDNESDAY service health and incident communication independently of this documentation site.

One source of truth

Public documentation is a production compatibility surface. Technical claims are published only when traceable to production behavior, a verified production specification, or another explicitly versioned public contract. Internal topology, secrets, provider routing, roadmap-only functionality, and privileged operational procedures stay out of the public corpus.

--- # Security policy Source: https://docs.wednesdaychat.com/SECURITY/ # Security policy This repository contains public documentation only. Do not commit secrets, credentials, private infrastructure details, unpublished security controls, incident procedures, or internal-only API surfaces. ## Reporting a security issue Do not open a public GitHub issue for a suspected vulnerability in WEDNESDAY. Use the private security-reporting channel published by Glass Anvil Studios or WEDNESDAY when available. ## Documentation security boundary The documentation may describe public security guarantees and developer requirements. It must not disclose secret values, privileged operational procedures, internal network topology, private service addresses, or controls whose disclosure would materially weaken the platform. --- # Agents Source: https://docs.wednesdaychat.com/agents/ # Agents

WEDNESDAY agent behavior is built from stateful turns, typed tool activity, durable task state, and explicit user control rather than a hidden autonomous loop.

## Stateful execution A turn belongs to authenticated durable conversation state. Project context can be loaded for the conversation before execution and rendered into the system context supplied to the turn. ## Observable activity The stream protocol has distinct activity and tool event families. Tool execution can report start, progress, state transitions, and completion rather than collapsing all tool work into opaque text. ## Steering and cancellation Supported turns can accept mid-turn steering while the acceptance window remains open. Durable research tasks have an explicit cancellation route. ## Approval-aware behavior The execution protocol models approval risk and reversibility as explicit concepts. Public documentation will describe concrete approval flows only when the corresponding user/developer contract is stable. ## Agent boundary An agent may use tools and durable state, but authorization remains server-owned. Agent execution does not bypass the account session, project ownership, file ownership, connector scope, or external-write approval boundaries. --- # API Source: https://docs.wednesdaychat.com/api/ # API

WEDNESDAY exposes a production HTTP service at https://api.wednesdaychat.com. This documentation publishes the supported external contract without treating every internal service route as public API.

## Production origin ```text https://api.wednesdaychat.com ``` The web product and supported WEDNESDAY clients use this origin for durable product operations. The API is designed around account-authorized state, streaming execution, projects, files, search, research, sharing, and related platform workflows. ## Access model Most product operations require a valid WEDNESDAY account session and derive durable ownership from server-authorized account state. Do not fabricate owner identifiers or infer a general third-party API-key program from browser/client transport details. Start with [Authentication](/api/authentication/) before integrating a protected route. ## Reference Use the [API reference](/api/reference/) for the deliberately published HTTP surface. The reference currently includes verified system, search, project, conversation, chat, file, and artifact capability boundaries while withholding privileged, provider-callback, administrative, and implementation-only routes. ## Errors and protection - [Errors](/api/errors/) documents stable HTTP failure classes and retry guidance. - [Rate limits](/api/rate-limits/) documents `429`, `Retry-After`, fail-closed protection, and quota publication policy. - [Production best practices](/production/) covers durable-state reconciliation, streaming, readiness, security, and release discipline. ## Contract policy Public documentation is a compatibility promise. An endpoint, header, provider model, internal module, or telemetry label found in source code is **not** automatically public API. WEDNESDAY publishes only the behavior it intends developers to depend on.
Machine-readable docs: use /llms.txt for routing, /llms-full.txt for the consolidated corpus, and Markdown twins linked from individual reference pages.
--- # Authentication Source: https://docs.wednesdaychat.com/api/authentication/ # Authentication

WEDNESDAY production requests are authorized through the account session boundary used by the WEDNESDAY product. Durable ownership is derived server-side from that authorized session.

## Account authority For protected operations, the API resolves the account owner from the authorized server session rather than trusting a caller-supplied owner identifier. This keeps projects, conversations, files, search results, and durable chat state scoped to the authenticated account. ## Browser requests The production web application communicates with https://api.wednesdaychat.com using the WEDNESDAY session boundary. Cross-origin access is restricted to approved WEDNESDAY origins and explicitly allowed methods and headers. ## Request headers Some production flows use WEDNESDAY-specific headers for session continuity, CSRF protection, client identity, idempotency, or turn coordination. A header appearing in the service implementation does not by itself make it a public third-party authentication mechanism. ## Third-party developer access
No implied API-key program. WEDNESDAY does not document a general public API-key authentication contract until that contract is explicitly released. Do not attempt to synthesize account/session headers or rely on internal browser-session behavior from an external integration.
## Authorization failures Callers should treat authorization and session failures as terminal for the current credential context and re-establish a valid WEDNESDAY session through the supported product flow rather than retrying with fabricated identity data. --- # Errors Source: https://docs.wednesdaychat.com/api/errors/ # Errors

WEDNESDAY uses standard HTTP status codes plus concise error detail strings. Clients should branch on status and documented semantics rather than parsing incidental implementation text.

## Common status codes | Status | Meaning | | --- | --- | | `400` | Invalid request shape or transport constraint. | | `404` | Requested account-owned resource or share target was not found. | | `409` | The requested state transition conflicts with current durable state. | | `410` | A time-bounded resource, such as an upload session, has expired. | | `413` | A request body exceeds the accepted size. | | `415` | An uploaded media type or content representation is unsupported. | | `422` | A validated parameter or identifier is semantically invalid. | | `429` | A rate limit was exceeded. Respect `Retry-After` when supplied. | | `503` | A required WEDNESDAY dependency or protection layer is unavailable. | ## Retry behavior Retry only when the failure class is plausibly transient. `429` responses may include a `Retry-After` header and should not be retried before that delay. `503` can indicate unavailable persistence, cache, model access, storage, protection, or other required platform dependencies. Do not automatically retry `400`, `404`, `409`, `410`, `413`, `415`, or `422` without changing the request or reconciling state. ## Durable conflicts A `409` response is meaningful platform state, not a generic transport failure. Examples include trying to mutate a resource after its state has moved on or submitting steering after a turn is no longer accepting input. ## Error text
Error detail strings are intended for diagnostics, but clients should not treat undocumented wording as a stable machine contract. Stable client behavior should key off HTTP status and fields explicitly documented for the endpoint.
--- # Rate limits Source: https://docs.wednesdaychat.com/api/rate-limits/ # Rate limits

WEDNESDAY applies protection at the production service boundary. Chat and durable-state operations use dedicated rate-limit paths, and the platform can fail closed when protection infrastructure is unavailable.

## What is limited Verified production code applies rate-limit enforcement to chat traffic and to conversation-oriented persistence flows used by search, projects, files, feedback, sharing, and related durable operations. ## `429 Too Many Requests` When a limit is exceeded, the API returns `429`. Where available, the response includes `Retry-After` with the number of seconds a client should wait before retrying. ```http HTTP/1.1 429 Too Many Requests Retry-After: 12 Content-Type: application/json ``` ## Protection availability WEDNESDAY does not silently bypass protection when its rate-limit layer cannot make a trustworthy decision. A protection dependency failure can surface as `503 Service Unavailable` instead of allowing unprotected traffic. ## Published quotas
No invented quotas. Numeric request-per-minute or token quotas are not published until they are a stable product contract. Clients should implement backoff for `429` independently of any assumed quota.
## Client guidance Use bounded exponential backoff, honor `Retry-After`, avoid retry storms, and keep idempotent operations safe to replay where the endpoint contract allows it. For state-changing requests, reconcile the durable result before blindly retrying after network uncertainty. --- # API reference Source: https://docs.wednesdaychat.com/api/reference/ # API reference

The production API origin is https://api.wednesdaychat.com. This reference documents only routes and behaviors that are verified in the production service and safe to publish.

Access boundary: WEDNESDAY currently uses server-authorized account sessions for most product operations. The existence of an HTTP route does not imply an unrestricted third-party API-key contract.
## System
GET/health

Lightweight service health probe. Returns an ok health status when the API process is available.

GET/ready

Production readiness probe. Readiness depends on required backing services including persistence, cache, object storage, malware scanning, and model access.

GET/version

Returns the WEDNESDAY API service identity, environment, build SHA when available, and configured model-provider family. The response is marked no-store.

## Search
GET/search?q=…

Searches durable account-owned WEDNESDAY state. Query text is required and bounded; result size is bounded by the service.

## Projects Verified project operations include listing, creating, loading, renaming, archiving, restoring, and deleting projects; reading and updating project settings and instructions; project search; project conversations; file membership; connector bindings; and work history. ## Conversations Verified conversation operations include listing and loading conversations, messages, drafts, follow-ups, branches, archive state, pin state, project movement, feedback, sharing, usage recording, and durable deletion. ## Chat streaming
POST/chat

Starts a durable streaming chat turn for the authorized account. The stream is explicitly non-cacheable and supports structured runtime events.

POST/chat/{turn_id}/input

Submits mid-turn steering input to an active turn. Durable cancellation is supported when the turn identifier resolves to a durable chat turn.

## Files and artifacts The production service exposes owner-scoped file upload, file inspection, file-library, picker, attachment-state, download, message-attachment, assistant-artifact, location-context, memory-source-consent, and deep-research routers. Individual contracts are published only after their request/response schemas are stable enough to support externally. ## Contract policy Routes used only for internal operations, provider callbacks, privileged administration, deployment, or implementation-specific coordination are intentionally omitted. Public documentation is a compatibility promise; source-code presence alone is not. --- # Changelog Source: https://docs.wednesdaychat.com/changelog/ # Changelog ## September 14, 2026 ### Documentation infrastructure - Established `docs.wednesdaychat.com` on GitHub Pages. - Configured the custom domain and enforced HTTPS. - Established `main` as the production documentation branch. - Added the initial public documentation architecture and machine-readable discovery files. Platform feature changes will be listed here only when verified against the relevant production contract. --- # Deep research Source: https://docs.wednesdaychat.com/deep-research/ # Deep research

Deep research work is represented by durable, account-owned task records so longer-running research can be inspected independently of a single browser stream.

## Task routes | Method | Route | Purpose | | --- | --- | --- | | `GET` | `/conversations/{conversation_id}/research-tasks` | List research tasks for a conversation | | `GET` | `/research-tasks/{task_id}` | Load one task | | `POST` | `/research-tasks/{task_id}/cancel` | Request cancellation | Conversation task listing accepts a bounded `limit` from 1 to 100 with a default of 20. ## Durable ownership Research tasks are resolved inside the authenticated account boundary. Task and conversation identifiers do not replace session authority. ## Lifecycle errors - `404` — the task or associated resource is not available to the account. - `409` — the requested lifecycle transition conflicts with current task state. - `422` — a supplied value violates the public request contract. - `429` — the research-work protection limit is exceeded. - `503` — task persistence or protection is unavailable. ## Cache behavior Task reads and cancellation responses are emitted with `Cache-Control: no-store` so clients do not reuse stale research state. --- # Deprecations Source: https://docs.wednesdaychat.com/deprecations/ # Deprecations

This page is the canonical public index for WEDNESDAY deprecation notices that affect documented contracts.

## Current notices There are no public deprecation notices recorded in this documentation repository at this time. When a deprecation is published, the notice should identify the affected contract, announcement date, replacement path, migration guidance, and retirement date when one has been committed. --- # Public Content Boundary Source: https://docs.wednesdaychat.com/docs/CONTENT_BOUNDARY/ # Public Content Boundary The public documentation repository contains only information intended for external consumption. ## Publish - stable developer-facing platform behavior; - supported workflows and capability families; - public API origins and explicitly supported routes; - public authentication, error, rate-limit, lifecycle, security, privacy, and reliability behavior; - public model profiles and stable model IDs only when formally released; - changelog and deprecation guidance; - machine-readable documentation mirrors. ## Do not publish - credentials, secrets, private keys, tokens, or protected session material; - private network topology, internal addresses, or privileged deployment instructions; - operational runbooks whose disclosure would weaken production security; - unreleased roadmap items presented as shipping capability; - internal provider routing presented as a permanent WEDNESDAY model contract; - private administrator or provider-callback surfaces unless explicitly intended as a public integration contract. When uncertain, omit the claim until its public support boundary is verified. --- # WEDNESDAY Documentation Release Standard Source: https://docs.wednesdaychat.com/docs/RELEASE_STANDARD/ # WEDNESDAY Documentation Release Standard `docs.wednesdaychat.com` is a production surface. Documentation changes are released with the same evidence-oriented discipline used for WEDNESDAY operational systems. ## Required gates 1. Public technical claims are traceable to production behavior, a production specification, or another explicitly versioned public contract. 2. Public docs do not disclose secrets, privileged operational procedures, private infrastructure topology, or roadmap-only functionality. 3. Human pages and required Markdown twins remain synchronized. 4. `llms.txt`, `llms-full.txt`, search, crawler, and sitemap surfaces remain valid. 5. CI builds the production Jekyll output and validates generated internal links and metadata. 6. Compatibility-affecting changes are reflected in the changelog or deprecation record. 7. Production is promoted from a reviewed commit only after required checks pass. ## Source precedence For developer-facing behavior, precedence is: 1. explicitly versioned public contract; 2. verified current production behavior; 3. production deployment specification; 4. internal design/roadmap material for context only. Roadmaps and private implementation details are never sufficient by themselves to create a public compatibility promise. --- # WEDNESDAY Developer Documentation UI Principles Source: https://docs.wednesdaychat.com/docs/UI_REFERENCE/ # WEDNESDAY Developer Documentation UI Principles The WEDNESDAY developer experience uses leading frontier developer-documentation patterns as inspiration while maintaining distinct WEDNESDAY branding and information architecture. ## Interaction principles - dark-first, high-contrast developer UI with optional light mode; - compact global navigation plus a second platform navigation row; - persistent grouped left documentation taxonomy; - focused technical reading column and contextual right-side page outline; - command search available from keyboard and header; - code copy and page copy actions; - responsive navigation for mobile and smaller screens; - model, tool, learning, and production surfaces designed as first-class catalogs rather than flat prose; - public operational status linked independently from the docs host. ## Content principles - publish production contracts, not implementation trivia; - show code and workflow examples next to conceptual guidance; - separate platform concepts from endpoint reference; - expose machine-readable equivalents for model and agent retrieval; - keep model/provider routing abstractions separate from stable public model IDs; - treat docs regressions as production regressions. --- # Files Source: https://docs.wednesdaychat.com/files/ # Files

File intake uses an explicit upload-session lifecycle so WEDNESDAY can validate ownership, metadata, transport, content, and storage state before a file becomes usable.

## Upload lifecycle The production upload flow exposes three core operations: | Method | Route | Purpose | | --- | --- | --- | | `POST` | `/files/uploads` | Initiate an owner-scoped upload session | | `GET` | `/files/uploads/{upload_id}` | Read upload progress and state | | `PUT` | `/files/uploads/{upload_id}/content` | Stream the complete file body | Upload initiation uses an `Idempotency-Key` header so safe retries can refer to the same initiation intent. ## Transport rules The content upload is intentionally strict: - compressed request bodies are not accepted; - partial `Content-Range` resume is not supported; - a retry sends the upload body again from byte zero; - the body media type must match the initiated session or use `application/octet-stream`; - declared and observed size are validated against the session. ## Validation and failure states The file pipeline distinguishes malformed requests, unsupported media, invalid content, oversized files, expired sessions, missing sources, conflicts, rate limits, and temporary service failures. Relevant HTTP outcomes include `400`, `404`, `409`, `410`, `413`, `415`, `429`, and `503`. ## Library and attachments The production file router also supports owner-scoped Library views, file picker results, attachment-state lookup, user-message attachment preparation, and secure file inspection/download paths.
Security boundary: file IDs do not grant authority. File operations are evaluated inside the authenticated account session.
--- # Developer quickstart Source: https://docs.wednesdaychat.com/getting-started/ # Developer quickstart

Start with the production contract that exists today: a public HTTPS origin, narrow unauthenticated operations, and session-protected product APIs.

## Production origin The canonical WEDNESDAY API origin is: ```text https://api.wednesdaychat.com ``` The documentation origin is independent: ```text https://docs.wednesdaychat.com ``` ## Verify service health `GET /health` is part of the deliberately public service surface. ```bash curl --fail --silent https://api.wednesdaychat.com/health ``` A healthy API returns: ```json {"status":"ok"} ``` `GET /ready` reports whether required production dependencies are ready. It can return an HTTP `503` with a `not_ready` state when the service cannot safely accept production work. ## Understand authentication before calling product APIs WEDNESDAY's current production product APIs use a server-authoritative account session. Browser requests include the session credential automatically, and unsafe mutations require the WEDNESDAY CSRF header. Do **not** construct authority by sending owner IDs, roles, plans, or retired client identity headers. The server session is authoritative.
External developer access: this documentation does not claim a generally available API-key authentication scheme. When WEDNESDAY publishes one, the Authentication and API Reference pages will define it as an explicit public contract.
## Choose the right guide - Use [Conversation state](/platform/conversation-state/) for durable chat state. - Use [Streaming](/platform/streaming/) for the structured SSE protocol. - Use [Projects](/projects/) for scoped context and project-owned resources. - Use [Files](/files/) for the secure upload lifecycle. - Use [API reference](/api/reference/) for verified routes and access classification. ## Machine-readable version The raw Markdown twin for this page is available at [`/getting-started.md`](/getting-started/). --- # Integrations Source: https://docs.wednesdaychat.com/integrations/ # Integrations

Integrations connect WEDNESDAY to external systems without collapsing external authorization into the model or the browser client.

## Project connector bindings Projects expose an owner-scoped connector-binding view and an explicit unbind operation. A connector binding belongs to the authenticated project/account context; possession of a binding ID alone is not authorization. ## GitHub The production codebase includes GitHub authorization, repository, reference-context, workspace, branch, and patch workflows. GitHub callback/webhook operations are operational integration surfaces and are not interchangeable with user-facing project APIs. ## Separation of concerns A production integration has multiple independent boundaries: 1. the WEDNESDAY account session; 2. the external provider authorization or installation; 3. resource-level scope inside that provider; 4. approval requirements for writes or destructive actions. ## Public integration contract This documentation publishes integration behavior that users and developers may rely on. It intentionally omits secret handling, private webhook validation details, installation credentials, internal provider tokens, and privileged operational procedures. ## Revocation Where the product exposes an unbind or disconnect operation, clients should treat revocation as a first-class lifecycle state rather than assuming access remains valid indefinitely. --- # Machine-readable documentation Source: https://docs.wednesdaychat.com/machine-readable/ # Machine-readable documentation

WEDNESDAY publishes stable text entry points so AI agents and automated systems can discover the same public documentation humans use.

## `llms.txt` [`/llms.txt`](/llms.txt) is the compact routing index. Agents should start there when they need to discover relevant documentation without downloading the full site. ## `llms-full.txt` [`/llms-full.txt`](/llms-full.txt) is a consolidated text corpus of the public documentation currently published in this repository. It is useful when a retriever needs a single ingestible source. ## Search and crawling [`/robots.txt`](/robots.txt) permits public crawling and points to [`/sitemap.xml`](/sitemap.xml). These files are publication aids; they do not grant access to non-public WEDNESDAY systems or information. ## Source integrity Machine consumers should treat URLs on `docs.wednesdaychat.com` as the canonical public source and preserve page titles, update dates, and lifecycle notices when indexing content. --- # Models Source: https://docs.wednesdaychat.com/models/ # Models

Choose the execution profile that matches the work. WEDNESDAY owns the routing contract while retaining freedom to improve the underlying provider route as long as the published profile behavior remains compatible.

## Choose an execution profile
Balanced
BalancedProduction

Default conversational profile for responsive, general-purpose work with balanced reasoning and latency.

Deep
Deep reasoningProduction

Higher-reasoning profile for complex analysis and tasks where depth matters more than minimum latency.

Code
CodingProduction

Code-oriented execution route used when the runtime classifies the work as software-development heavy.

Profile ≠ provider model ID. WEDNESDAY can change an upstream route without renaming a WEDNESDAY execution profile when the public behavior remains compatible. Upstream provider identifiers are not a permanent developer contract unless explicitly published as one.
## Routing is observable The streaming protocol can represent resolved routing information for a turn, including a model identifier, model role, requested and resolved intelligence level, latency profile, reasoning profile, and bounded completion behavior. Those fields make execution observable; they do not automatically turn every internal route target into a permanently supported developer model. ## Public model contract A named developer model becomes part of the public catalog only when WEDNESDAY publishes all of the following: - a stable WEDNESDAY model identifier; - supported input and output modalities; - tool compatibility; - public limits developers may rely on; - lifecycle state; - migration guidance when behavior is replaced or retired. ## Model selection Use the product-level intelligence and latency controls documented by the interface that exposes them. For routine work, start with Balanced. Use Deep Reasoning when task difficulty justifies additional reasoning. Code-oriented work can resolve to the Coding profile through runtime routing. ## Lifecycle Public model contracts follow an explicit lifecycle. Deprecation is announced through [Deprecations](/deprecations/) and the [Changelog](/changelog/) before a supported identifier is removed or materially changed. --- # Key concepts Source: https://docs.wednesdaychat.com/platform/ # Key concepts

WEDNESDAY combines server-owned identity, durable conversation state, structured streaming, project context, and tool-oriented execution into one product runtime.

## Server-authoritative identity Protected operations derive the durable account owner from the validated server session. Client-supplied owner or role claims are not the authority boundary. This design keeps conversation, project, file, search, feedback, and tool state consistently scoped to the authenticated account. ## Durable conversations Conversation records are persisted independently of the live model stream. The platform supports conversation listing and loading, messages, drafts, follow-ups, branches, archive state, pinning, project movement, feedback, sharing, usage records, and deletion. [Read about conversation state →](/platform/conversation-state/) ## Structured streaming Live chat responses use Server-Sent Events (`text/event-stream`) with a versioned event protocol. Events carry ordered sequence numbers and typed state for turns, answers, code, activities, and tools. [Read about streaming →](/platform/streaming/) ## Mid-turn steering A running turn can accept supported steering input while it remains steerable. The server rejects steering after the acceptance window closes rather than silently pretending it was applied. [Read about steering →](/platform/steering/) ## Projects and context Projects group conversations and related context. Production routes support project settings, instructions, search, files, connector bindings, work history, and project-scoped conversations. [Read about projects →](/projects/) ## Fail-closed API surface The production API treats unlisted routes as session-required by default. Only an explicit narrow public allowlist is available without an account session. --- # Conversation state Source: https://docs.wednesdaychat.com/platform/conversation-state/ # Conversation state

Conversation state is a durable server-owned resource. It is scoped to the authenticated account and remains separate from the transport of a single live model response.

## Core routes | Method | Route | Purpose | | --- | --- | --- | | `GET` | `/conversations` | List account-owned conversations with cursor pagination | | `GET` | `/conversations/{conversation_id}` | Load one conversation | | `PUT` | `/conversations/{conversation_id}` | Persist a conversation write | | `PUT` | `/conversations/{conversation_id}/title` | Update the title | | `GET` | `/conversations/{conversation_id}/messages` | Page through messages | | `PUT` | `/conversations/{conversation_id}/draft` | Persist the composer draft | | `DELETE` | `/conversations/{conversation_id}` | Delete the conversation | All routes in this table require the validated WEDNESDAY account session. ## Follow-ups and branches The API supports queued follow-ups, follow-up reordering and state changes, creation of conversation branches from a message, and switching the active branch. Branch operations remain conversation-owner scoped. A client cannot select another account's durable owner by supplying an owner identifier. ## Organization state Conversation records can be archived, pinned, and moved into or out of projects. Project-move targets are returned from an owner-scoped route so the client does not need to infer allowed destinations. ## Feedback and sharing Feedback is stored against the latest eligible response in the conversation. Share creation is session-protected, while resolution of a valid share token is part of the intentionally public surface. ## Consistency behavior The persistence layer distinguishes missing resources, conflicts, rate limits, and temporary store failures. Clients should handle `404`, `409`, `429`, and `503` as distinct states rather than retrying every failure identically. --- # Mid-turn steering Source: https://docs.wednesdaychat.com/platform/steering/ # Mid-turn steering

WEDNESDAY can accept supported input during a running turn instead of forcing every correction into a brand-new conversation turn.

## Endpoint
POST/chat/{turn_id}/input

Submit a validated steering payload to an active turn. Successful submission returns HTTP 202.

The operation is account-session protected and uses the same chat-rate-limit boundary as the live chat route. ## Acceptance window Steering is not guaranteed after a turn stops accepting input. When the transport can no longer deliver steering, the API returns `409 Conflict` rather than acknowledging input that was not applied. ## Cancellation Supported steering payloads can represent durable turn cancellation. Cancellation validates the durable turn identifier and persists the cancel request before the turn is treated as cancelled. ## Error behavior - `404` — the durable turn does not exist for the account. - `409` — the turn is no longer accepting steering. - `422` — the cancellation form contains an invalid durable turn identifier. - `429` — the chat rate limit is exceeded. - `503` — steering transport, cancellation persistence, or rate-limit protection is unavailable. Clients should surface these outcomes distinctly; a `409` is a lifecycle outcome, not a generic server failure. --- # Streaming Source: https://docs.wednesdaychat.com/platform/streaming/ # Streaming

Live chat uses Server-Sent Events with a versioned, ordered event protocol rather than an unstructured text socket.

## Transport `POST /chat` returns: ```text Content-Type: text/event-stream Cache-Control: no-cache, no-transform X-Accel-Buffering: no ``` The route requires an authenticated account session and is protected by the chat rate limiter. ## Protocol version Current stream events carry `protocol_version: 1`, a turn identifier, and a monotonically ordered sequence field. Part-level events add a part identifier; tool events add a tool identifier. Clients should treat the protocol version as part of the compatibility contract rather than assuming event payloads can change without coordination. ## Event families The current stream model includes typed events for: - turn start and routing; - activity progress; - answer start, delta, and completion; - code start, delta, and completion; - tool start, progress, state transitions, and completion; - additional bounded platform events as documented by their public contract. ## Backpressure and intermediaries The API disables response buffering and transformation for the stream. Clients should consume events incrementally and should not depend on intermediaries coalescing chunks. ## Durable state is separate Streaming transports live execution. Conversation persistence is a separate durable boundary. A robust client should not assume that the presence or absence of one network chunk is itself the durable conversation record. --- # Privacy Source: https://docs.wednesdaychat.com/privacy/ # Privacy

WEDNESDAY scopes durable product data to the authorized account and documents privacy-relevant behavior only where it is a stable public contract.

## Account-scoped state Projects, conversations, files, search results, feedback, research state, and related durable records are resolved through the authorized account boundary. Public share links are a deliberate exception: they expose only the share target represented by the generated share token. ## Data minimization Clients should send only the information required for the requested workflow. Do not place secrets, credentials, or unrelated personal data into prompts, project instructions, file metadata, tool arguments, logs, or public share links. ## Files and connectors Files and connector-backed resources remain subject to owner and connector scope. Applications should preserve the user's authorization boundary when displaying, caching, exporting, or acting on retrieved data. ## Public documentation This public documentation intentionally excludes secret configuration, internal endpoints, private deployment topology, incident procedures, privileged administration behavior, and implementation details that would unnecessarily expand the public data surface. ## Product policy
This developer page describes technical privacy boundaries, not the full WEDNESDAY consumer privacy policy or legal terms. Product-facing privacy notices remain authoritative for legal disclosures and user rights.
--- # Production best practices Source: https://docs.wednesdaychat.com/production/ # Production best practices

Move from prototype assumptions to production-safe WEDNESDAY integrations with explicit contracts, bounded retries, durable state reconciliation, security boundaries, and release-aware dependency management.

## Treat documented contracts as the boundary Depend only on behavior published in this documentation or another explicitly versioned WEDNESDAY contract. Do not build against private provider names, internal deployment topology, hidden headers, implementation-only routes, or source-code details that are not documented as supported. ## Design for durable state WEDNESDAY is stateful. Conversations, projects, files, research tasks, feedback, sharing, and other workflows can persist independently of a single browser request. After ambiguous network failures, reconcile server state before repeating state-changing operations. ## Handle streaming as a protocol Chat is delivered as a structured streaming workflow rather than a single response body. Clients should handle connection loss, terminal events, tool lifecycle state, steering acceptance, cancellation, and durable recovery without deriving state from visible text alone. ## Use bounded retries - honor `Retry-After` on `429`; - back off on transient `503` failures; - do not retry semantic `4xx` failures without changing the request; - keep retries bounded and jittered; - reconcile durable state after uncertain writes. ## Secure account-owned data Protected WEDNESDAY operations are scoped through server-authorized account sessions. Never substitute caller-provided ownership for server-derived authority. Keep credentials, private connector tokens, session material, and internal deployment values out of client logs and public documentation. ## Files and external data Treat uploads and connector data as untrusted input. Respect file-size and media-type constraints, malware/content validation, owner scope, connector scope, and explicit approval boundaries for external actions. ## Observe dependency health The API exposes separate health, readiness, and version behavior. A process can be alive while the platform is not ready to serve production traffic. Production systems should distinguish availability from readiness and avoid routing critical work to an unready dependency. ## Release discipline Production documentation changes should pass source validation, a deterministic Jekyll build, generated-site link validation, machine-readable corpus checks, and review before promotion to `main`.
Public docs are production surface. A documentation regression can break integrations just as surely as an API regression. WEDNESDAY treats docs, machine-readable indexes, and published API contracts as release artifacts.
--- # Projects Source: https://docs.wednesdaychat.com/projects/ # Projects

Projects group durable conversations and project-scoped context under the authenticated WEDNESDAY account.

## Project lifecycle The production API supports listing, reading, creating, renaming, archiving, deleting, and restoring projects. | Method | Route | | --- | --- | | `GET` | `/projects` | | `POST` | `/projects` | | `GET` | `/projects/{project_id}` | | `PUT` | `/projects/{project_id}/name` | | `PUT` | `/projects/{project_id}/archive` | | `DELETE` | `/projects/{project_id}` | | `POST` | `/projects/{project_id}/restore` | ## Project context A project can expose account-owned settings and instructions through dedicated read/write routes. Chat execution can load project context for a conversation and render that context into the turn's system context. ## Search and resources Projects have production routes for: - project-scoped search; - instructions and settings; - connector bindings; - work history; - file membership; - project-owned conversation listing and creation. ## Ownership boundary Every project operation in this guide is session-protected. The project ID selects a resource **within** the authenticated account; it does not select the account itself. ## Conflicts and deletion Mutating operations may return `409 Conflict` when state has changed or an explicit confirmation requirement is not satisfied. Clients should not collapse those outcomes into a generic retry loop. --- # Reliability Source: https://docs.wednesdaychat.com/reliability/ # Reliability

Reliability documentation explains externally observable behavior: availability, retries, timeouts, idempotency, degradation, and status communication where those contracts are publicly defined.

## Status information Live operational status belongs on the independent WEDNESDAY status service rather than being hard-coded into documentation pages. Documentation should explain behavior; the status service should report current incidents and availability. ## Failure semantics API and tool references should document actionable error behavior close to the affected contract so developers do not have to infer retry or recovery behavior. --- # Search Source: https://docs.wednesdaychat.com/search/ # Search

Search is a server-owned, account-scoped operation over durable WEDNESDAY state. It is separate from model web search.

## Global search
GET/search

Search the authenticated account's durable search surface.

The verified query contract uses: | Parameter | Constraint | | --- | --- | | `q` | Required; 1–160 characters | | `limit` | 1–100; default 25 | Results are returned with `Cache-Control: no-store`. ## Project search
GET/projects/{project_id}/search

Search within an account-owned project, including a bounded filter and result limit.

## Rate limits and errors Search can return: - `422` for an invalid query contract; - `429` when the search protection limit is exceeded; - `503` when search storage or protection is unavailable. ## Not the same as web search This page documents product-state search. Model tools that discover or ground information from the public web have a separate execution and security boundary and should not be inferred from `/search`. --- # Security Source: https://docs.wednesdaychat.com/security/ # Security

Public security documentation should help users integrate safely without exposing implementation details that would increase operational risk.

## Documentation security boundary The public repository must not contain credentials, secrets, private keys, internal-only endpoints, private network topology, customer data, confidential incident artifacts, or deployment environment files. ## Responsible publication Security claims should be specific, verifiable, scoped to the applicable product surface, and reviewed before publication. Absence of a claim in this documentation should not be interpreted as a guarantee. ## Vulnerability reporting A dedicated public vulnerability-reporting policy will be linked here when its operational intake process is finalized. --- # Using tools Source: https://docs.wednesdaychat.com/tools/ # Using tools

Extend a WEDNESDAY turn with search, files, research, location context, projects, connectors, and other bounded execution capabilities. Tool work is represented as typed runtime state rather than hidden model side effects.

SearchFilesResearchProjectsConnectors
```text User request ↓ WEDNESDAY runtime ↓ Tool start → progress/state → completion ↓ Structured result returned to the active turn ``` ## Available tool families
Search and retrievalSearch durable WEDNESDAY state and support retrieval-oriented workflows. Files and LibraryUpload, inspect, select, attach, retrieve, and manage account-owned file resources. Deep researchTrack longer-running research work as durable task state rather than a single request. Projects and contextUse project instructions, settings, files, conversations, connectors, and work history as scoped context. ConnectorsWork with explicitly authorized external resources while preserving connector scope and approval boundaries. Location and place contextUse location preferences and place-enrichment capabilities where the product flow authorizes them.
## Tool lifecycle The live stream protocol can represent tool start, progress, state transition, and completion events. Stable turn, part, and tool hierarchy identifiers let a client render nested or parallel work without inferring execution state from prose. ## Authority and approvals Tool availability never implies unlimited authority. File operations remain account-scoped, connector operations remain connector-scoped, public-network access is bounded by runtime policy, and risky external actions can require explicit approval before execution. ## Failure handling A tool result can fail independently of the surrounding model turn. Clients should preserve tool state, surface meaningful failures, and avoid rewriting a failed execution as if the model merely “changed its mind.” ## Public capability policy A tool becomes a supported developer capability only when its public name, inputs, outputs, authority requirements, failure behavior, and lifecycle are stable enough to depend on.
Internal tool kinds, telemetry labels, and implementation-specific execution modules are not automatically public developer tools.