Accepted
A normal recipient returns status: accepted. The reservation becomes a posted wallet charge.
Fork Services documentation
This page documents the current Mock SES slice and the contract future integrations should follow.
services.<domain> is an ordinary Fork sandbox that serves a static authenticated organization dashboard. The dashboard calls host-owned Fork account APIs to manage the Mock SES installation, wallet, request history, and test execution. It has no application backend and never receives the Fork account cookie.
This sandbox does not store the control-plane signing key, provider credentials, wallet database, or a caller-supplied organization identity.
services.<domain> workspace and invokes the same Gateway application used by port 9800.POST http://<sandbox-default-gateway>:9800/v1/actions/email.send
Content-Type: application/json
Idempotency-Key: your-stable-request-id
{
"from": "sender@example.com",
"to": "recipient@example.com",
"subject": "Hello",
"text": "Sent through Fork Services"
}
The application does not send an organization ID, workspace ID, provider URL, provider key, or gateway signature. Those are derived or added after the request leaves the application.
A normal recipient returns status: accepted. The reservation becomes a posted wallet charge.
If Mock SES is not installed for the derived organization, the gateway rejects before contacting the provider.
If available credit is below the action price, the gateway returns a payment error before contacting the provider.
Use recipient@reject.mock.fork. The reservation is released.
Use recipient@timeout.mock.fork. The reservation remains held for reconciliation.
Reuse the same idempotency key and payload. Fork returns the existing request without charging twice.
| Item | Owner | Location and purpose |
|---|---|---|
| Wallet and installations | Control plane | /var/lib/fork-services/services.sqlite3; never copied into a sandbox. |
| Private signing key | Control plane | /etc/fork/service-signing-private-key.pem; signs provider-bound requests and is never displayed or copied. |
| Public verification key | Provider sandbox | /etc/fork/service-signing-public-key.pem; verifies that port 9800 authorized a request. |
| Provider credential | Gateway/credential system | The mock uses a request-bound placeholder. A production provider would receive a scoped credential only after authorization. |
| Fork account cookie | Host-owned account service | Authorizes the dashboard and test route at the edge. It is stripped before traffic reaches the sandbox and is never accepted by port 9800 as workspace identity. |