# Momor > Momor Workflows defines and runs processes across AI, software and people. Momor Gateway gives applications provider-neutral access to models. Momor Search is a public application built on both. Every docs page is also served as Markdown at its address plus .md. The full docs in one file: https://momor.ai/llms-full.txt ## Momor Gateway One request shape that runs on every provider. Typed blocks in and out, streaming, tools, and conversations that survive changing provider mid-flight. - [Overview](https://momor.ai/docs/gateway.md): One API for the models you use: Gateway picks a model that can handle each request, moves to another provider when one fails, converts files when you ask it to, and records what every attempt cost. - [Quickstart](https://momor.ai/docs/gateway/quickstart.md): Get an API key, send a request through an OpenAI SDK, stream the answer, and let Gateway choose among several models. - [Authentication](https://momor.ai/docs/gateway/authentication.md): Send a Gateway organization's API key as a bearer token. Where keys come from, which routes need one, and what a refused key answers. - [Credits and pricing](https://momor.ai/docs/gateway/credits.md): Gateway calls are paid from your organization's credits, at the price each offering lists in the model catalog. - [Model catalog](https://momor.ai/docs/gateway/models.md): Every model the Momor Gateway serves, with what it reads, what it supports, its context window and the lowest price it is offered at. - [Choosing a model](https://momor.ai/docs/gateway/choosing-a-model.md): How Gateway picks a model: selectors for a model, a publisher, a provider or a tier; ranking several yourself; and putting providers first or leaving them out. - [Streaming](https://momor.ai/docs/gateway/streaming.md): Server-sent events from the Momor Gateway: the envelope, all ten frame kinds, bracketed reasoning runs, and how a stream ends. - [Tools](https://momor.ai/docs/gateway/tools.md): The complete Momor Gateway tool-calling loop: declaring tools, the model calling one, answering it, and forcing or forbidding a call. - [Structured output](https://momor.ai/docs/gateway/structured-output.md): Hold an answer to a JSON Schema with responseSchema on Momor's API, or response_format on Chat Completions, and only on models that can. - [Files and file processing](https://momor.ai/docs/gateway/files.md): Attach files to model calls, decide when conversion runs, and select the built-in or model-backed processor for each MIME type. - [Provider failover](https://momor.ai/docs/gateway/failover.md): What happens when a provider fails before it answers and after it has started, how a stream rolls over, and how a conversation moves between Anthropic, OpenAI, Google and OpenAI-compatible providers. - [Bring your own keys](https://momor.ai/docs/gateway/bring-your-own-keys.md): Run Gateway calls on your own provider accounts: send a key with a call, or save keys for your organization, each tried before or after Momor's keys, and see whether each call ran on your own key. - [Your own providers](https://momor.ai/docs/gateway/providers.md): Register a provider of your own, its regions and the models it serves, so Gateway can route to it once Momor approves it. - [Usage and costs](https://momor.ai/docs/gateway/usage.md): Every Gateway call is recorded with the models it tried, the tokens it used and what each attempt cost. Read one call, list your organization's calls, or sum them by day. - [Rate limits](https://momor.ai/docs/gateway/rate-limits.md): How many Gateway calls a key may make, the headers that report what is left, and what a 429 means: Momor's limit, or a provider's limit on your own key. - [Errors](https://momor.ai/docs/gateway/errors.md): Every failure the Momor Gateway returns, what causes it, and whether retrying, changing the model or fixing the request is the right response. - [Create a chat completion](https://momor.ai/docs/gateway/reference/chat-completions.md): POST /v1/chat/completions: OpenAI's Chat Completions request and answer through Gateway, whole or streamed, with the fields Momor reads, the response, headers and errors. - [Create a transcription](https://momor.ai/docs/gateway/reference/audio-transcriptions.md): POST /v1/audio/transcriptions: OpenAI's audio transcriptions request through Gateway, with its form fields, response and errors. - [Call a model](https://momor.ai/docs/gateway/reference/chat.md): POST /models: Momor's own request to a chat model, with typed messages in and typed blocks out, whole or streamed. Every field with its type and default, the response, and the errors. - [Ask for a decision](https://momor.ai/docs/gateway/reference/decision.md): POST /models/decision: ask a decision model questions about the messages and get calibrated probabilities back instead of text. - [Transcribe a recording](https://momor.ai/docs/gateway/reference/transcribe.md): POST /models/transcribe: send one recording to a transcription model in Momor's request shape and get the transcript back as a content message. - [List models](https://momor.ai/docs/gateway/reference/list-models.md): GET /models/chat, /models/decision and /models/transcribe: every offering this deployment serves, with its publisher, provider, capabilities, context and price. Public, no key needed. - [Get a generation](https://momor.ai/docs/gateway/reference/generation.md): GET /models/requests/{requestId}: the record of one Gateway call, with who served it, every attempt in order, the tokens and what each attempt cost. - [Live model catalog](https://api.momor.ai/models/chat): every chat model with its providers, prices and context, read live; /models/decision and /models/transcribe list the decision and transcription models. ## Momor Workflows Describe how work moves across AI, software and people. Start it with an API key, a schedule or a chat, and see every step afterwards. - [Overview](https://momor.ai/docs/workflows.md): Describe how work moves across AI, software and people. Start it with an API key, let it stop for a person when it has to, and read every step afterwards. - [Your first workflow](https://momor.ai/docs/workflows/quickstart.md): Write a workflow that sorts incoming support tickets, upload it, start a run with an API key and read what it decided. - [Core ideas](https://momor.ai/docs/workflows/core-ideas.md): Workflows, runs, turns, steps and operations: the handful of words the rest of the Workflows docs are written in, and how one engine runs them all. - [Workflows and steps](https://momor.ai/docs/workflows/workflows-and-steps.md): The workflow file, the step kinds the engine ships, and how each step reads what came before it. - [Triggers](https://momor.ai/docs/workflows/triggers.md): The requests a workflow accepts, how a run starts, and what a new request does while the run is still busy with the last one. - [Waits and questions](https://momor.ai/docs/workflows/waits.md): How a run stops to ask a person or wait for something outside it, keeps its place while it waits, and carries on from the answer. - [Runs and recovery](https://momor.ai/docs/workflows/runs.md): Runs, turns and their states; editing and forking a turn; and how a turn whose attempt failed is resumed from the first step that did not finish. - [Knowledge graph](https://momor.ai/docs/workflows/memory.md): What a workflow remembers between runs: the organization’s world graph, each person’s own graph and each run’s flow graph, how they are written and the settings that govern them. - [Ask the model](https://momor.ai/docs/workflows/steps/ask-the-model.md): The ModelCall step: ask the model one question, offering it the operations you choose, and get back text, calls or a fixed shape later steps can use. - [If](https://momor.ai/docs/workflows/steps/if.md): The Branch step: send the flow down the first path whose condition holds, with conditions written as expressions or put to the model as a yes-or-no question. - [For each](https://momor.ai/docs/workflows/steps/for-each.md): The ForEach step: run one operation, or a body of steps, once for every item in a list, with the items in parallel. - [Wait for approval](https://momor.ai/docs/workflows/steps/wait-for-approval.md): The Wait step: put a question to a person through a declared wait, keep the run’s place until they answer, and continue with the answer. - [Call a tool](https://momor.ai/docs/workflows/steps/call-a-tool.md): The ExecuteTool step: call one or more declared tools directly, with input you map, without asking a model to choose them. - [Run a workflow](https://momor.ai/docs/workflows/steps/run-a-workflow.md): The WorkflowCall step: run another workflow inside the current turn, hand it only the input you map, and take back what it declares it returns. - [Transform](https://momor.ai/docs/workflows/steps/transform.md): Reshape data between steps with Input mappings and expressions: pick fields, filter and map lists, count, sort and compute, and reuse an expression as a function. - [Respond](https://momor.ai/docs/workflows/steps/respond.md): How a workflow returns its answer: the Output it declares, the model’s closing reply, and where a caller reads the result. - [Tool servers](https://momor.ai/docs/workflows/tool-servers.md): Connect an MCP server and every tool it lists becomes a tool your organization’s workflows can declare and call, under the same rules as every other step. - [Hooks](https://momor.ai/docs/workflows/hooks.md): Run registered work after a turn ends: which endings a hook follows, how often it runs, how it is retried, and the hooks Momor ships. - [YAML reference](https://momor.ai/docs/workflows/yaml.md): Every field of a workflow file: the top-level fields, operation bindings, the fields of each step kind, model selectors, output contracts and the diagnostics an upload returns. - [Versions](https://momor.ai/docs/workflows/versions.md): Every upload of a workflow is a version named by its content hash. Turns pin the version they opened on, and every version stays readable. - [Run history](https://momor.ai/docs/workflows/run-history.md): Read what a run did: list runs, load a run and its turns, follow a turn’s ancestry, and replay or follow every event the run recorded. - [Limits](https://momor.ai/docs/workflows/limits.md): What a turn may spend and what happens when it runs out: a workflow’s Budget, step attempts, exhaustion policies, scopes and the deployment’s ceilings. - [Start a run](https://momor.ai/docs/workflows/api/start-a-run.md): POST /workflow/workflows/{workflowId}/runs starts a run on a workflow and, with a request in the body, opens its first turn. - [Answer a question](https://momor.ai/docs/workflows/api/answer-a-question.md): POST /workflow/runs/{runId}/waits/{waitId} answers a question or other wait a run is holding, and the turn continues from it. - [List runs](https://momor.ai/docs/workflows/api/list-runs.md): GET /workflow/runs lists the runs you own across every workflow, most recently updated first, a page at a time. - [Refund approval](https://momor.ai/docs/workflows/examples/refund-approval.md): The billing system asks for a refund. Momor reads the request, pays small refunds straight away, and asks the finance lead before paying anything over $500. - [Invoice matching](https://momor.ai/docs/workflows/examples/invoice-matching.md): Accounts payable sends a batch of invoices. Momor fetches each one’s purchase order, compares them, and asks about any invoice that differs before marking it approved or held. - [Support triage](https://momor.ai/docs/workflows/examples/support-triage.md): A new support ticket arrives. Momor sorts it by topic and urgency, sets its priority in the helpdesk, looks for known issues when it reports a bug, and drafts a first reply.