`POST /v1/apps/{app_id}/fcp` — text-in, text-out.
const url = 'https://app.everruns.com/api/v1/apps/example/fcp';const options = {method: 'POST', headers: {'Content-Type': 'text/plain'}, body: 'example'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://app.everruns.com/api/v1/apps/example/fcp \ --header 'Content-Type: text/plain' \ --data exampleParameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”App ID
Request Body required
Section titled “Request Body required ”Plain UTF-8 text, or application/json of shape {"message": "..."}. Maximum 256 KiB.
Responses
Section titled “ Responses ”Agent reply as Markdown. The Set-Cookie: fcp_session=... header is emitted so subsequent POSTs can resume the same conversation.
Malformed body. Distinct messages for empty body, non-UTF-8 bytes, and JSON that did not parse into the expected shape — each Markdown body points back at the handshake.
Token required but missing or wrong. Markdown body explains both accepted headers (Authorization: Bearer and X-Everruns-FCP-Token) and points at the handshake.
Same generic 404 as the handshake — operator state is never disclosed.
FCP session expired. Body tells the client to drop the fcp_session cookie and POST again.
Body exceeds 256 KiB.
Per-app FCP rate limit exceeded. Retry-After: 60 header is set.
Agent did not reply within the configured timeout. The same fcp_session cookie is set so the client can retry the same conversation.