File Contracts · Self-service troubleshooting

Recover safely without sharing the feed or its credentials.

Use the fixed message on the activation page or the CLI's fixed error code below. Never send a file, row, value, path, hostname, transfer credential, fingerprint key, verification code, ingest token, or management token to a support address.

Activation

Use the same one-time verification code deliberately.

The verification email contains both a link and the complete code. The code expires after 24 hours or when a newer request for the same address is accepted.

Find the newest message first Look for Agentsor File Contracts at hello@agentsor.ai with subject “Verify your Agentsor File Contracts monitor”, including in spam or junk. Do not submit repeated requests while waiting. After intentionally requesting again, use only the newest message and code because the newer request invalidates every earlier pending code.
01

The page waits for confirmation

With first-party JavaScript from agentsor.ai permitted, opening the newest link removes its code from the address bar and reveals Activate monitor without creating a monitor. Confirm only when you are ready to save both one-time tokens. If the email app loses the link's code, copy the complete 47-character fv1_ code printed separately in the verification email and paste it into the form. If no confirmation form appears, use an approved browser that can run that JavaScript, then reload the same link or reopen the newest verification email. Do not paste the URL, surrounding spaces, or an fr1_ ingest token.

02

The request expired or was already used

If 24 hours passed or you definitely requested a newer link, and the activation page had not already reported an unknown outcome, return to File Contracts and make one new request. An unavailable result after the activation page's one permitted same-code retry can instead mean activation committed without returning the raw tokens. Stop there: do not reload, submit another code, or request another monitor. This early release cannot recover that one-time response.

03

The monitor became active

Copy both long-lived tokens shown once. Put the fr1_ ingest token in the owner-only reporting file with mode 0600. Store the separate fm1_ management token outside the reporting job; it can permanently close the monitor. The fpr1_ value is a separate short-lived Pro-interest capability and must never be placed in either token file.

Retry only when this same open activation page explicitly offers one retry after receiving no response or a non-definitive service response. Keep the page open and submit the exact same fv1_ code once. An invalid or incomplete successful response is terminal unknown, as is an unavailable result after that retry; do not retry or replace either activation. The current release has no self-service activation-response recovery or token replacement.

Monitor management

Close a monitor without sending a support message.

The separate fm1_ management token authorizes one fixed action: permanent monitor closure. The fr1_ ingest token remains machine-reporting only and cannot close, delete, or manage a monitor.

Open the monitor-closure form

Closure does

Retire monitoring permanently

Future reports are rejected, the rolling deadline stops, no new alert transitions are created, and queued unsent alerts are discarded. An alert already accepted by or in flight to the email provider may still arrive. A closed monitor cannot be reopened.

Closure does not

Delete an account or historical data

Existing receipts and historical verification, operational-email authorization, incident, audit, delivery, suppression, and paid-interest evidence remain under the privacy notice. Lost-token closure and data-rights requests use the verified manual legal path; never email a token or file detail.

Local setup codes

Make the offline check pass before reporting.

The CLI prints one JSON object. It exits 2 with a fixed top-level error for setup, credential, transport, or hosted-receipt errors; a completed local check can instead exit 1 with fixed reasonCodes.

Paths conflict or already exist

init_target_conflict, state_target_conflict, and credential_target_conflict require distinct input, contract, key, state, and token paths. init_target_exists means init refused to overwrite an existing contract or key; review and reuse the intended files or choose new paths.

The contract or input is invalid

For invalid_contract, unsupported_format, or invalid_input, correct the TOML, supported CSV/Parquet format, completed-file path, or access locally. Version 0.2.5 requires the input path passed to check or report to directly name the completed regular CSV or Parquet file; final-component symbolic links are not supported. After format validation passes, the local check reports one as file_unreadable. If the producer stages a temporary file, create it in the final path's directory, close it completely, and publish the final name with a same-filesystem atomic rename; do not use a cross-filesystem move or switch a symlink. Version 0.2.5 contract values must be accepted by the PyArrow type_for_alias function. Do not copy parameterized decimal, nested/list/struct, fixed-size binary, or timezone-qualified timestamp text from a printed Parquet schema into [schema]. If such a type belongs only to a column you do not need to validate, omit that column and set allow_extra_columns = true; [schema] must still contain at least one required column with a supported alias. Otherwise, this release cannot validate that feed. Run check again and do not create a monitor until the intended contract succeeds.

The key or state is invalid

invalid_fingerprint_key requires the original owner-only regular key file. invalid_state requires a valid owner-only offline duplicate-state file. Do not replace the fingerprint key after a monitor has pinned its contract.

Initialization or local execution failed

For init_failed or a persistent internal_error, create a fresh Python 3.11+ virtual environment, reinstall exactly agentsor-file==0.2.5, and repeat the offline check. Do not report while the local result is unknown.

Hosted reporting codes

Retry only when the server definitely refused.

Keep the exact local JSON output. Never include the token, file, path, contract, key, or transfer details in an email or issue.

Token file or token rejected

invalid_token_file means the file is missing, linked, too open, wrong-owner, oversized, non-ASCII, or does not contain one complete fr1_ token. invalid_ingest_token means the hosted service rejected that token, including after its monitor is closed. Correct a copy or permission mistake; this release has no self-service token replacement. Never put an fm1_ management token in the reporting file.

The pinned contract differs

contract_mismatch means the first accepted report pinned a different contract fingerprint. Restore the exact original contract and fingerprint key. Free early access has no contract reset.

Definitive delayed retry

rate_limited means the server refused this request before recording it. Wait at least 60 seconds, then retry once. Do not loop.

Ambiguous outcome after 0.2.5's bounded retry: do not rerun manually

Version 0.2.5 retries once internally with the exact same envelope and run ID after a lost, transient, or invalid response. If it still returns temporarily_unavailable or transport_error, first confirm direct DNS and HTTPS access to agentsor.ai:443; ambient proxy variables are ignored. The run may already have been recorded, and running the command again creates a new run ID rather than replaying that receipt. Retain the fixed error and let the next normally scheduled job submit its next run after recovery; do not manually loop.

Stop on a rejected or invalid result

idempotency_conflict, invalid_envelope, invalid_receipt, and report_rejected are not permission to submit repeatedly. Confirm the exact package version and local check, retain the fixed error code, and stop. An invalid_receipt can be ambiguous because the server may have received the request before the response failed.

Current early-access boundary

No hidden manual recovery promise.

Free early access has no dashboard, token rotation, contract reset, account deletion, or self-serve data deletion. A saved fm1_ management token can permanently close its monitor, but closure is not deletion. For retention and privacy-rights boundaries, read the current terms and privacy notice. Do not send credentials or file contents.

Return to the partner-feed guide