{"openapi":"3.1.0","info":{"title":"Sidera purchase API","version":"1.0.0","description":"Estimate original bytes, create one request, upload for the formal quote, settle x402, download and verify both artifacts, then acknowledge delivery. All example keys, tokens, hashes, addresses and dates are fixtures."},"servers":[{"url":"https://shadowharness.com"}],"externalDocs":{"url":"https://shadowharness.com/sidera/ORDERING.md","description":"Executable client and complete purchase instructions"},"tags":[{"name":"Purchase"}],"paths":{"/openapi.json":{"get":{"operationId":"getSideraOpenApi","summary":"Get the purchase API contract","security":[],"responses":{"200":{"description":"OpenAPI 3.1 document.","content":{"application/json":{"schema":{"type":"object","required":["openapi","paths"]},"examples":{"contract":{"value":{"openapi":"3.1.0","info":{"title":"Sidera purchase API","version":"1.0.0"},"paths":{}}}}}}},"500":{"description":"HTTP 500; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"internal_error":{"value":{"error":"internal_error"}}}}}},"502":{"description":"HTTP 502; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"worker_unavailable":{"value":{"error":"worker_unavailable"}},"invalid_worker_response":{"value":{"error":"invalid_worker_response"}}}}}},"503":{"description":"HTTP 503; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"worker_stopping":{"value":{"error":"worker_stopping"}},"gateway_stopping":{"value":{"error":"gateway_stopping"}}}}}}}}},"/v1/sidera/discovery":{"get":{"operationId":"discoverSidera","summary":"Get free discovery and the ordered purchase workflow","security":[],"responses":{"200":{"description":"Free service information. Does not purchase processing or reserve a worker.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Discovery"},"examples":{"discovery":{"value":{"service":"SIDERA Memory","discovery_price_usdc":"0","includes_processing":false,"reserves_capacity":false,"workflow_version":"sidera-purchase/v1","openapi_url":"https://shadowharness.com/openapi.json","client_url":"https://shadowharness.com/sidera/client/","ordering_url":"https://shadowharness.com/sidera/ORDERING.md","agent_document_url":"https://shadowharness.com/sidera/llm/","links":{"client":{"href":"https://shadowharness.com/sidera/client/","description":"Executable Node client: archive preparation, x402 signing, polling, hash verification and acknowledgement."},"ordering":{"href":"https://shadowharness.com/sidera/ORDERING.md"},"agent":{"href":"https://shadowharness.com/sidera/llm/#s12"},"openapi":{"href":"https://shadowharness.com/openapi.json"}},"next_action":{"operation":"estimateSideraPrice","method":"GET","url":"https://shadowharness.com/v1/quote","required":["bytes"],"guide_url":"https://shadowharness.com/sidera/ORDERING.md","client_url":"https://shadowharness.com/sidera/client/"},"template_binding":"Replace {{name}} with the named saved value before sending HTTP. Save returned URLs unchanged. $response.body# uses JSON Pointer. A select binding finds the unique array item matching where and extracts field. Values under private are never console output or public files.","prerequisites":{"runtime":"Node.js and the executable client instructions at client_url; an HTTP client that preserves binary request/response bodies and response headers.","input":"One tar.zst containing regular raw/{claude,ext-codex,ext-grok,ext-gemini}/<session>.jsonl files. Prepare and preflight using the executable client; save its local path as private.archive_path.","original_bytes":"Sum of original uncompressed JSONL file bytes, used only for the estimate.","private":["request_key: 32 cryptographically random bytes encoded as 64 hex characters; retain for all recovery requests.","email: confirmation address; retain the same address with the request.","order_token: returned per-order Bearer credential.","payment_required: decoded live challenge; payment_signature: exact base64 payload saved before its first submission.","wallet signer: existing funded wallet for one network/asset offered in accepts. The client guide supplies the x402 v2 SDK setup; HTTP alone cannot create a wallet signature."],"secret_storage":"Store request_key, email, order_token and payment signature in a private local file. Keep wallet keys in the existing wallet or private credential store. Send secrets only in the documented body/header, never query strings or shared logs."},"workflow":[{"number":1,"operation":"estimateSideraPrice","title":"Get an estimate","request":{"method":"GET","href":"https://shadowharness.com/v1/quote?bytes={{original_bytes}}","headers":{}},"expect":{"status":[200],"estimate_only":true,"reserves_capacity":false},"save":{"estimate_id":"$response.body#/estimate_id"},"next_action":{"operation":"createSideraOrder","href":"$response.body#/next_action/url"}},{"number":2,"operation":"createSideraOrder","title":"Create one request and retain its private receipt","request":{"method":"POST","href":"https://shadowharness.com/v1/orders","headers":{"Content-Type":"application/json"},"body":{"request_key":"{{private.request_key}}","email":"{{private.email}}","estimate_id":"{{estimate_id}}"}},"expect":{"status":[201,200],"state":"uploading"},"save":{"private.order_token":"$response.body#/order_token","status_url":"$response.body#/status_url","upload_url":"$response.body#/upload_url","payment_url":"$response.body#/payment_url","delivery_receipt_url":"$response.body#/delivery_receipt_url","cancel_url":"$response.body#/cancel_url","upload_deadline_at":"$response.body#/upload_deadline_at"},"next_action":{"operation":"uploadSideraInput","href":"$response.body#/upload_url"}},{"number":3,"operation":"uploadSideraInput","title":"Upload once and inspect the formal measured quote","request":{"method":"PUT","href":"{{upload_url}}","headers":{"Authorization":"Bearer {{private.order_token}}","Content-Type":"application/zstd"},"body_file":"{{private.archive_path}}","content_encoding":"identity"},"expect":{"status":[200],"state":"awaiting_payment","formal_amount":["pricing.price","pricing.amount_micro_usdc"],"expiry":"quote.expires_at"},"before_request":"Complete upload before upload_deadline_at. Send archive bytes, not a JSON wrapper.","save":{"formal_pricing":"$response.body#/pricing","formal_input":"$response.body#/input","formal_delivery":"$response.body#/delivery","formal_quote":"$response.body#/quote"},"next_action":{"operation":"paySideraOrder","href":"$response.body#/payment_url","signed":false}},{"number":4,"operation":"paySideraOrder","title":"Get the unsigned x402 challenge","request":{"method":"POST","href":"{{payment_url}}","headers":{"Content-Type":"application/json"},"body":{"request_key":"{{private.request_key}}"}},"expect":{"status":[402],"header":"PAYMENT-REQUIRED","charges_payment":false},"save":{"private.payment_required":"base64-decode($response.headers.PAYMENT-REQUIRED)"},"next_action":{"operation":"paySideraOrder","href":"{{payment_url}}","signed":true,"client_url":"https://shadowharness.com/sidera/client/"}},{"number":5,"operation":"paySideraOrder","title":"Sign and submit the measured quote once","request":{"method":"POST","href":"{{payment_url}}","headers":{"Content-Type":"application/json","PAYMENT-SIGNATURE":"{{private.payment_signature}}"},"body":{"request_key":"{{private.request_key}}"}},"expect":{"status":[201,200,202],"paid_when":"payment.success == true","unresolved_states":["settling","payment_review"],"settlement_header":"PAYMENT-RESPONSE"},"before_request":{"executable_client":{"href":"https://shadowharness.com/sidera/client/"},"validate":["resource.url equals payment_url","pricing and input match the saved formal quote","quote.expires_at is in the future","selected accepts amount matches formal_pricing.amount_micro_usdc","selected network, asset, payTo and terms_sha256 match the approved live challenge"],"sign":"Use the client x402 v2 signer for one live accepts entry; preserve resource, accepted.extra and required extensions. Base64-encode the resulting JSON payload and save that exact value privately before transmission."},"next_action":{"operation":"getSideraOrder","href":"{{status_url}}"}},{"number":6,"operation":"getSideraOrder","title":"Poll the same order until artifacts are ready","request":{"method":"GET","href":"{{status_url}}","headers":{"Authorization":"Bearer {{private.order_token}}"}},"expect":{"status":[200],"ready_state":"done","waiting_states":["settling","payment_review","queued","processing"]},"repeat":"Use Retry-After seconds or delivery.poll_after_seconds (normally 60). Do not treat an estimated completion time as a deadline.","save_when":{"state":"done"},"save":{"artifacts":"$response.body#/artifacts","memory_url":{"select":"$response.body#/artifacts","where":{"name":"memory.md"},"field":"url"},"raw_url":{"select":"$response.body#/artifacts","where":{"name":"raw.tar.zst"},"field":"url"},"expected_memory_sha256":{"select":"$response.body#/artifacts","where":{"name":"memory.md"},"field":"sha256"},"expected_raw_sha256":{"select":"$response.body#/artifacts","where":{"name":"raw.tar.zst"},"field":"sha256"}},"next_action":{"operation":"downloadSideraMemory","href":"{{memory_url}}"}},{"number":7,"operation":"downloadSideraMemory","title":"Save the complete memory.md bytes","request":{"method":"GET","href":"{{memory_url}}","headers":{"Authorization":"Bearer {{private.order_token}}"}},"expect":{"status":[200],"save_file":"memory.md"},"next_action":{"operation":"downloadSideraRaw","href":"{{raw_url}}"}},{"number":8,"operation":"downloadSideraRaw","title":"Save the complete raw.tar.zst bytes","request":{"method":"GET","href":"{{raw_url}}","headers":{"Authorization":"Bearer {{private.order_token}}"}},"expect":{"status":[200],"save_file":"raw.tar.zst"},"next_action":{"operation":"acknowledgeSideraDelivery","href":"{{delivery_receipt_url}}"}},{"number":9,"operation":"acknowledgeSideraDelivery","title":"Verify both hashes and acknowledge saved delivery","request":{"method":"POST","href":"{{delivery_receipt_url}}","headers":{"Authorization":"Bearer {{private.order_token}}","Content-Type":"application/json"},"body":{"memory.md":"{{verified_memory_sha256}}","raw.tar.zst":"{{verified_raw_sha256}}"}},"expect":{"status":[200],"state":"delivery_received"},"before_request":"Compute SHA-256 over both complete local files and compare with expected_memory_sha256 and expected_raw_sha256. Bind the matching computed values as verified_memory_sha256 and verified_raw_sha256. Send those hashes as the direct two-property object. Keep both local files; acknowledgement allows worker deletion.","next_action":{"operation":"useLocalSideraArtifacts","href":"https://shadowharness.com/sidera/USAGE.md"}}],"state_actions":{"uploading":"Upload before upload_deadline_at.","measuring":"Poll status; do not start a parallel upload.","awaiting_payment":"Inspect the formal pricing and submit the approved x402 payment before quote.expires_at.","settling":"Poll the same order without a new signature.","payment_review":"Poll the same order; if review persists use support_email with order_id and public transaction only.","queued":"Poll the same order.","processing":"Poll the same order.","done":"Save and hash-verify both artifacts, then acknowledge.","failed":"POST retry on the same paid order only when payment.success is true and every file is received.","payment_failed":"Inspect the definite settlement result; do not create a replacement proof on the bound order. Use support_email with order_id and public transaction only.","delivery_received":"Purchase is complete; use the verified local artifacts.","cancelled":"Unpaid data was deleted. A new purchase requires a new request and upload.","expired":"Unpaid data was deleted. A new purchase requires a new request and upload."},"recovery":[{"when":"create response lost, timeout or HTTP 502","operation":"createSideraOrder","action":"Replay the same request_key, email and estimate_id. The gateway keeps an ambiguous reservation for this key; never rotate the key just to recover."},{"when":"upload response lost","operation":"getSideraOrder","action":"GET status_url. Keep an existing measured input and quote. If still uploading, resend the same archive; on upload_in_progress poll instead."},{"when":"signed payment response lost, timeout, HTTP 502 or HTTP 202","operation":"getSideraOrder","action":"Query this same order. Retain the original signature. Do not sign again or start another payment. Replaying an identical bound proof retrieves its receipt and cannot retry its settlement."},{"when":"HTTP 503 no_available_worker","operation":"createSideraOrder","action":"Honor Retry-After (60 seconds when returned) and retain the same request body for recovery."},{"when":"HTTP 410 quote_expired/request_expired/order_expired/order_cancelled","action":"The expired or cancelled request cannot be paid. The upload window and measured quote each last 3600 seconds; a new purchase requires a fresh request and upload. A settlement already in progress is retained for resolution."},{"when":"artifact transfer interrupted","operation":"getSideraOrder","action":"Refresh artifact metadata; resume with a single bytes=start- range and the quoted SHA-256 as If-Match. Verify the complete assembled file before acknowledging."},{"when":"processing failed after successful payment","operation":"retrySideraProcessing","request":{"method":"POST","href":"{{status_url}}/retry","headers":{"Authorization":"Bearer {{private.order_token}}"}},"action":"Retry the existing paid order with no additional payment, only when input remains received."},{"when":"explicit unpaid cancellation","operation":"cancelSideraOrder","request":{"method":"POST","href":"{{cancel_url}}","headers":{"Authorization":"Bearer {{private.order_token}}"}},"action":"Cancellation deletes unpaid data. Do not use cancellation as recovery from an unknown payment result."},{"when":"delivery acknowledgement response lost","operation":"getSideraOrder","action":"Query the same order; delivery_received is terminal. While the worker exists, replaying the same verified hash object is idempotent. HTTP 410 order_retired means the worker is gone; retain the verified local files."}],"retention":{"seconds_after_processing":86400,"action":"Download before retention_expires_at. Delivery acknowledgement or retention expiry permits deletion of the worker container."},"order_input_schema":{"type":"object","additionalProperties":false,"required":["request_key","email"],"properties":{"request_key":{"type":"string","pattern":"^[A-Za-z0-9_-]{32,128}$","writeOnly":true,"description":"Generate at least 128 bits of secret entropy. For example, encode 32 random bytes as hex. Retain the same value for order recovery. Never use a published example key."},"email":{"type":"string","format":"email","maxLength":254,"description":"Order confirmation and expected completion window. Retain the same address on recovery requests."},"estimate_id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","format":"uuid","description":"Optional successful GET /v1/quote estimate_id. One estimate links to one request_key. The gateway retains this association; it is not a price commitment."}}}}}}}}},"500":{"description":"HTTP 500; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"internal_error":{"value":{"error":"internal_error"}}}}}},"502":{"description":"HTTP 502; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"worker_unavailable":{"value":{"error":"worker_unavailable"}},"invalid_worker_response":{"value":{"error":"invalid_worker_response"}}}}}},"503":{"description":"HTTP 503; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"no_available_worker":{"value":{"error":"no_available_worker"}},"gateway_stopping":{"value":{"error":"gateway_stopping"}},"worker_stopping":{"value":{"error":"worker_stopping"}}}}}}}}},"/v1/quote":{"get":{"operationId":"estimateSideraPrice","summary":"Estimate price from original uncompressed JSONL bytes","security":[],"description":"Free estimate only. Pass its estimate_id unchanged to order creation. Upload measurement supplies the formal fixed quote; work assessment can increase it. This call does not reserve capacity.","parameters":[{"name":"bytes","in":"query","required":true,"description":"Positive safe integer, decimal digits without a leading zero. Exactly one bytes parameter and no other query parameters.","schema":{"type":"integer","minimum":1,"maximum":9007199254740991},"example":1000}],"responses":{"200":{"description":"Estimated amount and next_action; no payment is requested.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Estimate"},"examples":{"estimate":{"value":{"input_bytes":1000,"billable_mb":1,"unit_bytes":1000000,"usd_per_mb":"0.020","tier_minimum_bytes":0,"amount_micro_usdc":"20000","price":"$0.020000","rounding":"ceil_to_mb","currency":"USDC","pricing":{"basis":"measured_original_bytes","unit_bytes":1000000,"currency":"USDC","rounding":"ceil_to_mb","tiers":[{"minimum_bytes":0,"usd_per_mb":"0.020","micro_usdc_per_mb":20000},{"minimum_bytes":1000000000,"usd_per_mb":"0.018","micro_usdc_per_mb":18000},{"minimum_bytes":5000000000,"usd_per_mb":"0.015","micro_usdc_per_mb":15000}]},"networks":["eip155:8453"],"delivery":{"version":"v3","mode":"asynchronous","payment_due":"after_measurement_and_quote","processing_starts":"payment_settled","estimated_duration_seconds":{"min":900,"max":1800},"maximum_duration_seconds":null,"completion_deadline":null,"estimate_kind":"approximate_range","estimate_basis":"original_input_bytes","large_inputs_may_exceed_seconds":36000,"poll_after_seconds":60,"timing_factors":["original_input_bytes","source_cli_and_log_format","extracted_conversation_volume","session_and_slice_counts","api_response_time","retries"],"description":"Upload measurement supplies the final quote. Processing starts after settlement."},"quote_policy":{"valid_for_seconds":3600},"estimate_only":true,"reserves_capacity":false,"payment_configured":true,"busy":false,"estimate_id":"00000000-0000-4000-8000-000000000002","next_action":{"operation":"createSideraOrder","method":"POST","url":"https://shadowharness.com/v1/orders","required":["request_key","email"],"carry_forward":{"estimate_id":"00000000-0000-4000-8000-000000000002"},"guide_url":"https://shadowharness.com/sidera/ORDERING.md","client_url":"https://shadowharness.com/sidera/client/"}}}}}}},"400":{"description":"HTTP 400; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"invalid_quote":{"value":{"error":"invalid_quote"}}}}}},"500":{"description":"HTTP 500; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"internal_error":{"value":{"error":"internal_error"}}}}}},"502":{"description":"HTTP 502; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"worker_unavailable":{"value":{"error":"worker_unavailable"}},"invalid_worker_response":{"value":{"error":"invalid_worker_response"}}}}}},"503":{"description":"HTTP 503; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"no_available_worker":{"value":{"error":"no_available_worker"}},"gateway_stopping":{"value":{"error":"gateway_stopping"}},"worker_stopping":{"value":{"error":"worker_stopping"}}}}}}},"x-next-action":{"operation":"createSideraOrder","href":"https://shadowharness.com/v1/orders","carry_forward":["estimate_id"]}}},"/v1/orders":{"post":{"operationId":"createSideraOrder","summary":"Create or recover one upload request","security":[],"description":"First creation requires request_key and email; estimate_id is optional. Retrying the same key and email recovers the same order and private token. When estimate_id was supplied, keep it unchanged on retries. No payment signature or logs belong in this JSON.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrder"},"example":{"request_key":"EXAMPLE_ONLY_GENERATE_32_RANDOM_BYTES_AND_STORE_PRIVATELY","email":"buyer@example.test","estimate_id":"00000000-0000-4000-8000-000000000002"}}}},"responses":{"200":{"description":"Existing order recovered using the same request_key.","headers":{"Retry-After":{"description":"Order receipts advise the status polling interval in seconds.","schema":{"type":"string"},"example":"60"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderReceipt"},"examples":{"uploading":{"value":{"order_id":"00000000-0000-4000-8000-000000000001","estimate_id":"00000000-0000-4000-8000-000000000002","state":"uploading","delivery":null,"pricing":null,"quote":null,"upload_deadline_at":"2030-01-01T01:00:00.000Z","paid_at":null,"estimated_completion":null,"confirmation_email":null,"support_email":"shadowharness@gmail.com","retention":{"seconds_after_processing":86400,"action":"The isolated worker container is deleted after delivery acknowledgement or retention expiry."},"retention_expires_at":null,"delivery_received_at":null,"order_token":"EXAMPLE_ONLY_REPLACE_WITH_RETURNED_PRIVATE_TOKEN","authorization":"Send Authorization: Bearer <order_token> to this order’s URLs.","status_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001","upload_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/input.tar.zst","upload_format":{"content_type":"application/zstd","archive":"tar.zst","session_paths":"raw/{claude,ext-codex,ext-grok,ext-gemini}/<session>.jsonl","regular_files_only":true,"maximum_files":10000,"maximum_zstd_window_bytes":134217728},"payment_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/pay","cancel_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/cancel","delivery_receipt_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/delivery-received","input":null,"input_transfer":null,"files":[],"artifacts":[]}}}}}},"201":{"description":"New request. Save the complete receipt privately before uploading.","headers":{"Retry-After":{"description":"Order receipts advise the status polling interval in seconds.","schema":{"type":"string"},"example":"60"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderReceipt"},"examples":{"uploading":{"value":{"order_id":"00000000-0000-4000-8000-000000000001","estimate_id":"00000000-0000-4000-8000-000000000002","state":"uploading","delivery":null,"pricing":null,"quote":null,"upload_deadline_at":"2030-01-01T01:00:00.000Z","paid_at":null,"estimated_completion":null,"confirmation_email":null,"support_email":"shadowharness@gmail.com","retention":{"seconds_after_processing":86400,"action":"The isolated worker container is deleted after delivery acknowledgement or retention expiry."},"retention_expires_at":null,"delivery_received_at":null,"order_token":"EXAMPLE_ONLY_REPLACE_WITH_RETURNED_PRIVATE_TOKEN","authorization":"Send Authorization: Bearer <order_token> to this order’s URLs.","status_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001","upload_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/input.tar.zst","upload_format":{"content_type":"application/zstd","archive":"tar.zst","session_paths":"raw/{claude,ext-codex,ext-grok,ext-gemini}/<session>.jsonl","regular_files_only":true,"maximum_files":10000,"maximum_zstd_window_bytes":134217728},"payment_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/pay","cancel_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/cancel","delivery_receipt_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/delivery-received","input":null,"input_transfer":null,"files":[],"artifacts":[]}}}}}},"400":{"description":"HTTP 400; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"invalid_order":{"value":{"error":"invalid_order"}},"invalid_email":{"value":{"error":"invalid_email"}},"invalid_json":{"value":{"error":"invalid_json"}},"invalid_estimate_id":{"value":{"error":"invalid_estimate_id"}},"estimate_not_found":{"value":{"error":"estimate_not_found"}}}}}},"401":{"description":"HTTP 401; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"private_access_required":{"value":{"error":"private_access_required"}}}}}},"409":{"description":"HTTP 409; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"order_email_mismatch":{"value":{"error":"order_email_mismatch"}},"measure_before_payment":{"value":{"error":"measure_before_payment"}},"estimate_order_conflict":{"value":{"error":"estimate_order_conflict"}}}}}},"413":{"description":"HTTP 413; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"json_too_large":{"value":{"error":"json_too_large"}},"order_json_too_large":{"value":{"error":"order_json_too_large"}}}}}},"415":{"description":"HTTP 415; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"json_required":{"value":{"error":"json_required"}}}}}},"500":{"description":"HTTP 500; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"internal_error":{"value":{"error":"internal_error"}}}}}},"502":{"description":"HTTP 502; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"worker_unavailable":{"value":{"error":"worker_unavailable"}},"invalid_worker_response":{"value":{"error":"invalid_worker_response"}},"invalid_worker_receipt":{"value":{"error":"invalid_worker_receipt"}}}}}},"503":{"description":"HTTP 503; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"no_available_worker":{"value":{"error":"no_available_worker"}},"worker_busy":{"value":{"error":"worker_busy"}},"worker_assigned_to_order":{"value":{"error":"worker_assigned_to_order"}},"worker_assigned_to_paid_order":{"value":{"error":"worker_assigned_to_paid_order"}},"order_email_not_configured":{"value":{"error":"order_email_not_configured"}},"worker_stopping":{"value":{"error":"worker_stopping"}},"gateway_stopping":{"value":{"error":"gateway_stopping"}}}}}}},"x-private-fields":["request_key","email","order_token"],"x-recovery":"On timeout or HTTP 502, replay this exact creation body. Do not create a new request_key to recover an uncertain response.","x-next-action":{"operation":"uploadSideraInput","href":"$response.body#/upload_url"}}},"/v1/orders/{order_id}/input.tar.zst":{"put":{"operationId":"uploadSideraInput","summary":"Upload logs and receive the formal measured quote","security":[{"OrderToken":[]}],"parameters":[{"$ref":"#/components/parameters/OrderId"}],"description":"PUT one complete tar.zst as application/zstd without HTTP compression, within upload_deadline_at. Use only regular JSONL files in raw/{claude,ext-codex,ext-grok,ext-gemini}/<session>.jsonl. Once measured, another PUT returns the existing quote without replacing input.","requestBody":{"required":true,"description":"The actual tar.zst file bytes, prepared using the executable client.","content":{"application/zstd":{"schema":{"type":"string","format":"binary"}}}},"responses":{"200":{"description":"Input measured. pricing is now the formal amount, valid until quote.expires_at.","headers":{"Retry-After":{"description":"Order receipts advise the status polling interval in seconds.","schema":{"type":"string"},"example":"60"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderReceipt"},"examples":{"awaiting_payment":{"value":{"order_id":"00000000-0000-4000-8000-000000000001","estimate_id":"00000000-0000-4000-8000-000000000002","state":"awaiting_payment","delivery":{"version":"v3","mode":"asynchronous","payment_due":"after_measurement_and_quote","processing_starts":"payment_settled","estimated_duration_seconds":{"min":900,"max":1800},"maximum_duration_seconds":null,"completion_deadline":null,"estimate_kind":"approximate_range","estimate_basis":"original_input_bytes","large_inputs_may_exceed_seconds":36000,"poll_after_seconds":60,"timing_factors":["original_input_bytes","source_cli_and_log_format","extracted_conversation_volume","session_and_slice_counts","api_response_time","retries"],"description":"Upload measurement supplies the final quote. Processing starts after settlement."},"pricing":{"input_bytes":1000,"billable_mb":1,"unit_bytes":1000000,"usd_per_mb":"0.020","tier_minimum_bytes":0,"amount_micro_usdc":"20000","price":"$0.020000","rounding":"ceil_to_mb"},"quote":{"valid_for_seconds":3600,"expires_at":"2030-01-01T01:00:00.000Z","pricing_notice":"The measured amount is shown before payment.","notice":"Cancellation or expiry deletes unpaid input and its worker container."},"upload_deadline_at":null,"paid_at":null,"estimated_completion":null,"confirmation_email":null,"support_email":"shadowharness@gmail.com","retention":{"seconds_after_processing":86400,"action":"The isolated worker container is deleted after delivery acknowledgement or retention expiry."},"retention_expires_at":null,"delivery_received_at":null,"status_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001","upload_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/input.tar.zst","upload_format":{"content_type":"application/zstd","archive":"tar.zst","session_paths":"raw/{claude,ext-codex,ext-grok,ext-gemini}/<session>.jsonl","regular_files_only":true,"maximum_files":10000,"maximum_zstd_window_bytes":134217728},"payment_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/pay","cancel_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/cancel","delivery_receipt_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/delivery-received","input":{"original_bytes":1000,"compressed_bytes":500,"archive_sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","format":"tar.zst","measured_at":"2030-01-01T00:00:00.000Z"},"input_transfer":null,"files":[{"source":"claude","name":"fixture.jsonl","bytes":1000,"sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","received":true}],"artifacts":[]}}}}}},"400":{"description":"HTTP 400; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"invalid_archive":{"value":{"error":"invalid_archive"}},"invalid_archive_entry":{"value":{"error":"invalid_archive_entry"}},"duplicate_archive_entry":{"value":{"error":"duplicate_archive_entry"}},"incomplete_archive_entry":{"value":{"error":"incomplete_archive_entry"}},"empty_archive":{"value":{"error":"empty_archive"}},"no_supported_conversation":{"value":{"error":"no_supported_conversation"}}}}}},"404":{"description":"HTTP 404; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"order_not_found":{"value":{"error":"order_not_found"}}}}}},"409":{"description":"HTTP 409; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"order_not_accepting_uploads":{"value":{"error":"order_not_accepting_uploads"}},"upload_in_progress":{"value":{"error":"upload_in_progress"}}}}}},"410":{"description":"HTTP 410; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"order_expired":{"value":{"error":"order_expired"}},"order_cancelled":{"value":{"error":"order_cancelled"}},"order_retired":{"value":{"error":"order_retired"}}}}}},"413":{"description":"HTTP 413; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"too_many_sessions":{"value":{"error":"too_many_sessions"}},"input_size_exceeded":{"value":{"error":"input_size_exceeded"}},"archive_size_exceeded":{"value":{"error":"archive_size_exceeded"}}}}}},"415":{"description":"HTTP 415; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"tar_zstd_required":{"value":{"error":"tar_zstd_required"}}}}}},"500":{"description":"HTTP 500; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"internal_error":{"value":{"error":"internal_error"}}}}}},"502":{"description":"HTTP 502; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"worker_unavailable":{"value":{"error":"worker_unavailable"}},"invalid_worker_response":{"value":{"error":"invalid_worker_response"}}}}}},"503":{"description":"HTTP 503; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"zstd_not_configured":{"value":{"error":"zstd_not_configured"}},"worker_stopping":{"value":{"error":"worker_stopping"}},"gateway_stopping":{"value":{"error":"gateway_stopping"}}}}}},"507":{"description":"HTTP 507; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"insufficient_storage":{"value":{"error":"insufficient_storage"}}}}}}},"x-next-action":{"operation":"paySideraOrder","href":"$response.body#/payment_url","signed":false},"x-recovery":"After a lost upload response, GET status_url first. If input is measured, keep that quote. If still uploading, resend the same archive; upload_in_progress means poll rather than start a parallel upload."}},"/v1/orders/{order_id}/pay":{"post":{"operationId":"paySideraOrder","summary":"Get the x402 challenge or submit one signed payment","security":[{},{"X402PaymentSignature":[]}],"parameters":[{"$ref":"#/components/parameters/OrderId"},{"$ref":"#/components/parameters/PaymentSignature"}],"description":"First POST request_key without PAYMENT-SIGNATURE to receive HTTP 402 and base64 PAYMENT-REQUIRED. This unsigned request charges nothing. Use a compatible x402 v2 signer for one accepts entry, preserve resource and extensions, and POST the same request_key with the base64 JSON payload as PAYMENT-SIGNATURE before quote expiry. Match the measured quote, chain, asset, payTo and terms_sha256 before signing. The request_key authenticates payment; the order Bearer token is not required here.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayOrder"},"example":{"request_key":"EXAMPLE_ONLY_GENERATE_32_RANDOM_BYTES_AND_STORE_PRIVATELY"}}}},"responses":{"200":{"description":"The identical bound payment was already handled; the current receipt is returned.","headers":{"Retry-After":{"description":"Order receipts advise the status polling interval in seconds.","schema":{"type":"string"},"example":"60"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderReceipt"},"examples":{"queued":{"value":{"order_id":"00000000-0000-4000-8000-000000000001","estimate_id":"00000000-0000-4000-8000-000000000002","state":"queued","delivery":{"version":"v3","mode":"asynchronous","payment_due":"after_measurement_and_quote","processing_starts":"payment_settled","estimated_duration_seconds":{"min":900,"max":1800},"maximum_duration_seconds":null,"completion_deadline":null,"estimate_kind":"approximate_range","estimate_basis":"original_input_bytes","large_inputs_may_exceed_seconds":36000,"poll_after_seconds":60,"timing_factors":["original_input_bytes","source_cli_and_log_format","extracted_conversation_volume","session_and_slice_counts","api_response_time","retries"],"description":"Upload measurement supplies the final quote. Processing starts after settlement."},"pricing":{"input_bytes":1000,"billable_mb":1,"unit_bytes":1000000,"usd_per_mb":"0.020","tier_minimum_bytes":0,"amount_micro_usdc":"20000","price":"$0.020000","rounding":"ceil_to_mb"},"quote":{"valid_for_seconds":3600,"expires_at":"2030-01-01T01:00:00.000Z","pricing_notice":"The measured amount is shown before payment.","notice":"Cancellation or expiry deletes unpaid input and its worker container."},"upload_deadline_at":null,"paid_at":"2030-01-01T00:05:00.000Z","estimated_completion":{"earliest":"2030-01-01T00:20:00.000Z","latest":"2030-01-01T00:35:00.000Z"},"confirmation_email":{"state":"pending","attempts":0,"sent_at":null,"last_error":null,"next_attempt_at":"2030-01-01T00:05:00.000Z"},"support_email":"shadowharness@gmail.com","retention":{"seconds_after_processing":86400,"action":"The isolated worker container is deleted after delivery acknowledgement or retention expiry."},"retention_expires_at":null,"delivery_received_at":null,"order_token":"EXAMPLE_ONLY_REPLACE_WITH_RETURNED_PRIVATE_TOKEN","authorization":"Send Authorization: Bearer <order_token> to this order’s URLs.","status_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001","upload_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/input.tar.zst","upload_format":{"content_type":"application/zstd","archive":"tar.zst","session_paths":"raw/{claude,ext-codex,ext-grok,ext-gemini}/<session>.jsonl","regular_files_only":true,"maximum_files":10000,"maximum_zstd_window_bytes":134217728},"payment_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/pay","cancel_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/cancel","delivery_receipt_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/delivery-received","input":{"original_bytes":1000,"compressed_bytes":500,"archive_sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","format":"tar.zst","measured_at":"2030-01-01T00:00:00.000Z"},"input_transfer":null,"files":[{"source":"claude","name":"fixture.jsonl","bytes":1000,"sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","received":true}],"artifacts":[],"payment":{"success":true,"network":"eip155:8453","transaction":"0x1111111111111111111111111111111111111111111111111111111111111111","payer":"0x2222222222222222222222222222222222222222"}}}}}}},"201":{"description":"Settlement succeeded; processing is queued.","headers":{"Retry-After":{"description":"Order receipts advise the status polling interval in seconds.","schema":{"type":"string"},"example":"60"},"PAYMENT-RESPONSE":{"description":"Base64 JSON settlement result.","schema":{"type":"string","contentEncoding":"base64"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderReceipt"},"examples":{"queued":{"value":{"order_id":"00000000-0000-4000-8000-000000000001","estimate_id":"00000000-0000-4000-8000-000000000002","state":"queued","delivery":{"version":"v3","mode":"asynchronous","payment_due":"after_measurement_and_quote","processing_starts":"payment_settled","estimated_duration_seconds":{"min":900,"max":1800},"maximum_duration_seconds":null,"completion_deadline":null,"estimate_kind":"approximate_range","estimate_basis":"original_input_bytes","large_inputs_may_exceed_seconds":36000,"poll_after_seconds":60,"timing_factors":["original_input_bytes","source_cli_and_log_format","extracted_conversation_volume","session_and_slice_counts","api_response_time","retries"],"description":"Upload measurement supplies the final quote. Processing starts after settlement."},"pricing":{"input_bytes":1000,"billable_mb":1,"unit_bytes":1000000,"usd_per_mb":"0.020","tier_minimum_bytes":0,"amount_micro_usdc":"20000","price":"$0.020000","rounding":"ceil_to_mb"},"quote":{"valid_for_seconds":3600,"expires_at":"2030-01-01T01:00:00.000Z","pricing_notice":"The measured amount is shown before payment.","notice":"Cancellation or expiry deletes unpaid input and its worker container."},"upload_deadline_at":null,"paid_at":"2030-01-01T00:05:00.000Z","estimated_completion":{"earliest":"2030-01-01T00:20:00.000Z","latest":"2030-01-01T00:35:00.000Z"},"confirmation_email":{"state":"pending","attempts":0,"sent_at":null,"last_error":null,"next_attempt_at":"2030-01-01T00:05:00.000Z"},"support_email":"shadowharness@gmail.com","retention":{"seconds_after_processing":86400,"action":"The isolated worker container is deleted after delivery acknowledgement or retention expiry."},"retention_expires_at":null,"delivery_received_at":null,"order_token":"EXAMPLE_ONLY_REPLACE_WITH_RETURNED_PRIVATE_TOKEN","authorization":"Send Authorization: Bearer <order_token> to this order’s URLs.","status_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001","upload_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/input.tar.zst","upload_format":{"content_type":"application/zstd","archive":"tar.zst","session_paths":"raw/{claude,ext-codex,ext-grok,ext-gemini}/<session>.jsonl","regular_files_only":true,"maximum_files":10000,"maximum_zstd_window_bytes":134217728},"payment_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/pay","cancel_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/cancel","delivery_receipt_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/delivery-received","input":{"original_bytes":1000,"compressed_bytes":500,"archive_sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","format":"tar.zst","measured_at":"2030-01-01T00:00:00.000Z"},"input_transfer":null,"files":[{"source":"claude","name":"fixture.jsonl","bytes":1000,"sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","received":true}],"artifacts":[],"payment":{"success":true,"network":"eip155:8453","transaction":"0x1111111111111111111111111111111111111111111111111111111111111111","payer":"0x2222222222222222222222222222222222222222"}}}}}}},"202":{"description":"Settlement is pending or its outcome is unknown. Poll this order; do not sign another payment.","headers":{"Retry-After":{"description":"Order receipts advise the status polling interval in seconds.","schema":{"type":"string"},"example":"60"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderReceipt"},"examples":{"review":{"value":{"order_id":"00000000-0000-4000-8000-000000000001","estimate_id":"00000000-0000-4000-8000-000000000002","state":"payment_review","delivery":{"version":"v3","mode":"asynchronous","payment_due":"after_measurement_and_quote","processing_starts":"payment_settled","estimated_duration_seconds":{"min":900,"max":1800},"maximum_duration_seconds":null,"completion_deadline":null,"estimate_kind":"approximate_range","estimate_basis":"original_input_bytes","large_inputs_may_exceed_seconds":36000,"poll_after_seconds":60,"timing_factors":["original_input_bytes","source_cli_and_log_format","extracted_conversation_volume","session_and_slice_counts","api_response_time","retries"],"description":"Upload measurement supplies the final quote. Processing starts after settlement."},"pricing":{"input_bytes":1000,"billable_mb":1,"unit_bytes":1000000,"usd_per_mb":"0.020","tier_minimum_bytes":0,"amount_micro_usdc":"20000","price":"$0.020000","rounding":"ceil_to_mb"},"quote":{"valid_for_seconds":3600,"expires_at":"2030-01-01T01:00:00.000Z","pricing_notice":"The measured amount is shown before payment.","notice":"Cancellation or expiry deletes unpaid input and its worker container."},"upload_deadline_at":null,"paid_at":null,"estimated_completion":null,"confirmation_email":null,"support_email":"shadowharness@gmail.com","retention":{"seconds_after_processing":86400,"action":"The isolated worker container is deleted after delivery acknowledgement or retention expiry."},"retention_expires_at":null,"delivery_received_at":null,"order_token":"EXAMPLE_ONLY_REPLACE_WITH_RETURNED_PRIVATE_TOKEN","authorization":"Send Authorization: Bearer <order_token> to this order’s URLs.","status_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001","upload_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/input.tar.zst","upload_format":{"content_type":"application/zstd","archive":"tar.zst","session_paths":"raw/{claude,ext-codex,ext-grok,ext-gemini}/<session>.jsonl","regular_files_only":true,"maximum_files":10000,"maximum_zstd_window_bytes":134217728},"payment_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/pay","cancel_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/cancel","delivery_receipt_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/delivery-received","input":{"original_bytes":1000,"compressed_bytes":500,"archive_sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","format":"tar.zst","measured_at":"2030-01-01T00:00:00.000Z"},"input_transfer":null,"files":[{"source":"claude","name":"fixture.jsonl","bytes":1000,"sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","received":true}],"artifacts":[],"error":"settlement_outcome_unknown","payment":{"success":false,"errorReason":"settlement_pending","network":"eip155:8453"}}}}}}},"400":{"description":"HTTP 400; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"invalid_order":{"value":{"error":"invalid_order"}},"invalid_email":{"value":{"error":"invalid_email"}},"invalid_json":{"value":{"error":"invalid_json"}},"invalid_payment_signature":{"value":{"error":"invalid_payment_signature"}}}}}},"402":{"description":"Unsigned challenge, rejected proof with a challenge, or definite settlement failure receipt. A challenge is not a paid order.","headers":{"PAYMENT-REQUIRED":{"description":"Present for challenge responses: base64 JSON PaymentRequired, without the optional error field. Decode this value and retain it privately. Absent on a settlement-failure receipt.","schema":{"type":"string","contentEncoding":"base64"}}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/PaymentRequired"},{"$ref":"#/components/schemas/OrderReceipt"}]},"examples":{"challenge":{"value":{"x402Version":2,"resource":{"url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/pay","mimeType":"application/json","description":"Sidera processing of the measured input."},"accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"20000","payTo":"0x3333333333333333333333333333333333333333","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2","terms_sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}}],"extensions":{},"terms_sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","delivery":{"version":"v3","mode":"asynchronous","payment_due":"after_measurement_and_quote","processing_starts":"payment_settled","estimated_duration_seconds":{"min":900,"max":1800},"maximum_duration_seconds":null,"completion_deadline":null,"estimate_kind":"approximate_range","estimate_basis":"original_input_bytes","large_inputs_may_exceed_seconds":36000,"poll_after_seconds":60,"timing_factors":["original_input_bytes","source_cli_and_log_format","extracted_conversation_volume","session_and_slice_counts","api_response_time","retries"],"description":"Upload measurement supplies the final quote. Processing starts after settlement."},"pricing":{"input_bytes":1000,"billable_mb":1,"unit_bytes":1000000,"usd_per_mb":"0.020","tier_minimum_bytes":0,"amount_micro_usdc":"20000","price":"$0.020000","rounding":"ceil_to_mb"},"input":{"original_bytes":1000,"compressed_bytes":500,"archive_sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","format":"tar.zst","measured_at":"2030-01-01T00:00:00.000Z"},"quote":{"valid_for_seconds":3600,"expires_at":"2030-01-01T01:00:00.000Z","pricing_notice":"The measured amount is shown before payment.","notice":"Cancellation or expiry deletes unpaid input and its worker container."}}},"requirements_mismatch":{"value":{"x402Version":2,"resource":{"url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/pay","mimeType":"application/json","description":"Sidera processing of the measured input."},"accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"20000","payTo":"0x3333333333333333333333333333333333333333","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2","terms_sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}}],"extensions":{},"terms_sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","delivery":{"version":"v3","mode":"asynchronous","payment_due":"after_measurement_and_quote","processing_starts":"payment_settled","estimated_duration_seconds":{"min":900,"max":1800},"maximum_duration_seconds":null,"completion_deadline":null,"estimate_kind":"approximate_range","estimate_basis":"original_input_bytes","large_inputs_may_exceed_seconds":36000,"poll_after_seconds":60,"timing_factors":["original_input_bytes","source_cli_and_log_format","extracted_conversation_volume","session_and_slice_counts","api_response_time","retries"],"description":"Upload measurement supplies the final quote. Processing starts after settlement."},"pricing":{"input_bytes":1000,"billable_mb":1,"unit_bytes":1000000,"usd_per_mb":"0.020","tier_minimum_bytes":0,"amount_micro_usdc":"20000","price":"$0.020000","rounding":"ceil_to_mb"},"input":{"original_bytes":1000,"compressed_bytes":500,"archive_sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","format":"tar.zst","measured_at":"2030-01-01T00:00:00.000Z"},"quote":{"valid_for_seconds":3600,"expires_at":"2030-01-01T01:00:00.000Z","pricing_notice":"The measured amount is shown before payment.","notice":"Cancellation or expiry deletes unpaid input and its worker container."},"error":"payment_requirements_mismatch"}},"verification_failed":{"value":{"x402Version":2,"resource":{"url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/pay","mimeType":"application/json","description":"Sidera processing of the measured input."},"accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"20000","payTo":"0x3333333333333333333333333333333333333333","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2","terms_sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}}],"extensions":{},"terms_sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","delivery":{"version":"v3","mode":"asynchronous","payment_due":"after_measurement_and_quote","processing_starts":"payment_settled","estimated_duration_seconds":{"min":900,"max":1800},"maximum_duration_seconds":null,"completion_deadline":null,"estimate_kind":"approximate_range","estimate_basis":"original_input_bytes","large_inputs_may_exceed_seconds":36000,"poll_after_seconds":60,"timing_factors":["original_input_bytes","source_cli_and_log_format","extracted_conversation_volume","session_and_slice_counts","api_response_time","retries"],"description":"Upload measurement supplies the final quote. Processing starts after settlement."},"pricing":{"input_bytes":1000,"billable_mb":1,"unit_bytes":1000000,"usd_per_mb":"0.020","tier_minimum_bytes":0,"amount_micro_usdc":"20000","price":"$0.020000","rounding":"ceil_to_mb"},"input":{"original_bytes":1000,"compressed_bytes":500,"archive_sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","format":"tar.zst","measured_at":"2030-01-01T00:00:00.000Z"},"quote":{"valid_for_seconds":3600,"expires_at":"2030-01-01T01:00:00.000Z","pricing_notice":"The measured amount is shown before payment.","notice":"Cancellation or expiry deletes unpaid input and its worker container."},"error":"payment_verification_failed"}},"settlement_failed":{"value":{"order_id":"00000000-0000-4000-8000-000000000001","estimate_id":"00000000-0000-4000-8000-000000000002","state":"payment_failed","delivery":{"version":"v3","mode":"asynchronous","payment_due":"after_measurement_and_quote","processing_starts":"payment_settled","estimated_duration_seconds":{"min":900,"max":1800},"maximum_duration_seconds":null,"completion_deadline":null,"estimate_kind":"approximate_range","estimate_basis":"original_input_bytes","large_inputs_may_exceed_seconds":36000,"poll_after_seconds":60,"timing_factors":["original_input_bytes","source_cli_and_log_format","extracted_conversation_volume","session_and_slice_counts","api_response_time","retries"],"description":"Upload measurement supplies the final quote. Processing starts after settlement."},"pricing":{"input_bytes":1000,"billable_mb":1,"unit_bytes":1000000,"usd_per_mb":"0.020","tier_minimum_bytes":0,"amount_micro_usdc":"20000","price":"$0.020000","rounding":"ceil_to_mb"},"quote":{"valid_for_seconds":3600,"expires_at":"2030-01-01T01:00:00.000Z","pricing_notice":"The measured amount is shown before payment.","notice":"Cancellation or expiry deletes unpaid input and its worker container."},"upload_deadline_at":null,"paid_at":null,"estimated_completion":null,"confirmation_email":null,"support_email":"shadowharness@gmail.com","retention":{"seconds_after_processing":86400,"action":"The isolated worker container is deleted after delivery acknowledgement or retention expiry."},"retention_expires_at":null,"delivery_received_at":null,"order_token":"EXAMPLE_ONLY_REPLACE_WITH_RETURNED_PRIVATE_TOKEN","authorization":"Send Authorization: Bearer <order_token> to this order’s URLs.","status_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001","upload_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/input.tar.zst","upload_format":{"content_type":"application/zstd","archive":"tar.zst","session_paths":"raw/{claude,ext-codex,ext-grok,ext-gemini}/<session>.jsonl","regular_files_only":true,"maximum_files":10000,"maximum_zstd_window_bytes":134217728},"payment_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/pay","cancel_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/cancel","delivery_receipt_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/delivery-received","input":{"original_bytes":1000,"compressed_bytes":500,"archive_sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","format":"tar.zst","measured_at":"2030-01-01T00:00:00.000Z"},"input_transfer":null,"files":[{"source":"claude","name":"fixture.jsonl","bytes":1000,"sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","received":true}],"artifacts":[],"error":"payment_failed","payment":{"success":false,"errorReason":"fixture_definite_failure","network":"eip155:8453"}}}}}}},"403":{"description":"HTTP 403; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"test_wallet_only":{"value":{"error":"test_wallet_only"}}}}}},"404":{"description":"HTTP 404; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"order_not_found":{"value":{"error":"order_not_found"}}}}}},"409":{"description":"HTTP 409; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"measurement_required":{"value":{"error":"measurement_required"}},"order_not_awaiting_payment":{"value":{"error":"order_not_awaiting_payment"}},"payment_already_bound":{"value":{"error":"payment_already_bound"}},"measured_input_changed":{"value":{"error":"measured_input_changed"}},"order_email_mismatch":{"value":{"error":"order_email_mismatch"}}}}}},"410":{"description":"HTTP 410; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"quote_expired":{"value":{"error":"quote_expired"}},"request_expired":{"value":{"error":"request_expired"}},"order_cancelled":{"value":{"error":"order_cancelled"}},"order_expired":{"value":{"error":"order_expired"}},"order_retired":{"value":{"error":"order_retired"}}}}}},"413":{"description":"HTTP 413; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"order_json_too_large":{"value":{"error":"order_json_too_large"}}}}}},"500":{"description":"HTTP 500; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"internal_error":{"value":{"error":"internal_error"}}}}}},"502":{"description":"HTTP 502; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"worker_unavailable":{"value":{"error":"worker_unavailable"}},"invalid_worker_response":{"value":{"error":"invalid_worker_response"}}}}}},"503":{"description":"HTTP 503; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"worker_busy":{"value":{"error":"worker_busy"}},"payment_not_configured":{"value":{"error":"payment_not_configured"}},"formation_not_configured":{"value":{"error":"formation_not_configured"}},"runpod_not_configured":{"value":{"error":"runpod_not_configured"}},"worker_stopping":{"value":{"error":"worker_stopping"}},"gateway_stopping":{"value":{"error":"gateway_stopping"}}}}}},"507":{"description":"HTTP 507; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"insufficient_storage":{"value":{"error":"insufficient_storage"}}}}}}},"x-request-key-authentication":"The body request_key must match the key retained for this order.","x-recovery":"Retain the exact PAYMENT-SIGNATURE before transmitting. On timeout, HTTP 502, settling or payment_review, GET the same order. Replaying the identical bound proof returns its receipt; it does not initiate another settlement. Do not generate a new proof, nonce, order or payment while the outcome is unknown.","x-next-action":{"operation":"getSideraOrder","href":"$response.body#/status_url"}}},"/v1/orders/{order_id}":{"get":{"operationId":"getSideraOrder","summary":"Poll an order and read artifact metadata","security":[{"OrderToken":[]}],"parameters":[{"$ref":"#/components/parameters/OrderId"}],"responses":{"200":{"description":"Current order state and private artifact URLs.","headers":{"Retry-After":{"description":"Order receipts advise the status polling interval in seconds.","schema":{"type":"string"},"example":"60"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderReceipt"},"examples":{"processing":{"value":{"order_id":"00000000-0000-4000-8000-000000000001","estimate_id":"00000000-0000-4000-8000-000000000002","state":"processing","delivery":{"version":"v3","mode":"asynchronous","payment_due":"after_measurement_and_quote","processing_starts":"payment_settled","estimated_duration_seconds":{"min":900,"max":1800},"maximum_duration_seconds":null,"completion_deadline":null,"estimate_kind":"approximate_range","estimate_basis":"original_input_bytes","large_inputs_may_exceed_seconds":36000,"poll_after_seconds":60,"timing_factors":["original_input_bytes","source_cli_and_log_format","extracted_conversation_volume","session_and_slice_counts","api_response_time","retries"],"description":"Upload measurement supplies the final quote. Processing starts after settlement."},"pricing":{"input_bytes":1000,"billable_mb":1,"unit_bytes":1000000,"usd_per_mb":"0.020","tier_minimum_bytes":0,"amount_micro_usdc":"20000","price":"$0.020000","rounding":"ceil_to_mb"},"quote":{"valid_for_seconds":3600,"expires_at":"2030-01-01T01:00:00.000Z","pricing_notice":"The measured amount is shown before payment.","notice":"Cancellation or expiry deletes unpaid input and its worker container."},"upload_deadline_at":null,"paid_at":"2030-01-01T00:05:00.000Z","estimated_completion":{"earliest":"2030-01-01T00:20:00.000Z","latest":"2030-01-01T00:35:00.000Z"},"confirmation_email":{"state":"pending","attempts":0,"sent_at":null,"last_error":null,"next_attempt_at":"2030-01-01T00:05:00.000Z"},"support_email":"shadowharness@gmail.com","retention":{"seconds_after_processing":86400,"action":"The isolated worker container is deleted after delivery acknowledgement or retention expiry."},"retention_expires_at":null,"delivery_received_at":null,"status_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001","upload_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/input.tar.zst","upload_format":{"content_type":"application/zstd","archive":"tar.zst","session_paths":"raw/{claude,ext-codex,ext-grok,ext-gemini}/<session>.jsonl","regular_files_only":true,"maximum_files":10000,"maximum_zstd_window_bytes":134217728},"payment_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/pay","cancel_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/cancel","delivery_receipt_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/delivery-received","input":{"original_bytes":1000,"compressed_bytes":500,"archive_sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","format":"tar.zst","measured_at":"2030-01-01T00:00:00.000Z"},"input_transfer":null,"files":[{"source":"claude","name":"fixture.jsonl","bytes":1000,"sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","received":true}],"artifacts":[],"payment":{"success":true,"network":"eip155:8453","transaction":"0x1111111111111111111111111111111111111111111111111111111111111111","payer":"0x2222222222222222222222222222222222222222"}}},"done":{"value":{"order_id":"00000000-0000-4000-8000-000000000001","estimate_id":"00000000-0000-4000-8000-000000000002","state":"done","delivery":{"version":"v3","mode":"asynchronous","payment_due":"after_measurement_and_quote","processing_starts":"payment_settled","estimated_duration_seconds":{"min":900,"max":1800},"maximum_duration_seconds":null,"completion_deadline":null,"estimate_kind":"approximate_range","estimate_basis":"original_input_bytes","large_inputs_may_exceed_seconds":36000,"poll_after_seconds":60,"timing_factors":["original_input_bytes","source_cli_and_log_format","extracted_conversation_volume","session_and_slice_counts","api_response_time","retries"],"description":"Upload measurement supplies the final quote. Processing starts after settlement."},"pricing":{"input_bytes":1000,"billable_mb":1,"unit_bytes":1000000,"usd_per_mb":"0.020","tier_minimum_bytes":0,"amount_micro_usdc":"20000","price":"$0.020000","rounding":"ceil_to_mb"},"quote":{"valid_for_seconds":3600,"expires_at":"2030-01-01T01:00:00.000Z","pricing_notice":"The measured amount is shown before payment.","notice":"Cancellation or expiry deletes unpaid input and its worker container."},"upload_deadline_at":null,"paid_at":"2030-01-01T00:05:00.000Z","estimated_completion":{"earliest":"2030-01-01T00:20:00.000Z","latest":"2030-01-01T00:35:00.000Z"},"confirmation_email":{"state":"pending","attempts":0,"sent_at":null,"last_error":null,"next_attempt_at":"2030-01-01T00:05:00.000Z"},"support_email":"shadowharness@gmail.com","retention":{"seconds_after_processing":86400,"action":"The isolated worker container is deleted after delivery acknowledgement or retention expiry."},"retention_expires_at":"2030-01-02T00:25:00.000Z","delivery_received_at":null,"status_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001","upload_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/input.tar.zst","upload_format":{"content_type":"application/zstd","archive":"tar.zst","session_paths":"raw/{claude,ext-codex,ext-grok,ext-gemini}/<session>.jsonl","regular_files_only":true,"maximum_files":10000,"maximum_zstd_window_bytes":134217728},"payment_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/pay","cancel_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/cancel","delivery_receipt_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/delivery-received","input":{"original_bytes":1000,"compressed_bytes":500,"archive_sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","format":"tar.zst","measured_at":"2030-01-01T00:00:00.000Z"},"input_transfer":null,"files":[{"source":"claude","name":"fixture.jsonl","bytes":1000,"sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","received":true}],"artifacts":[{"name":"memory.md","bytes":100,"sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/artifacts/memory.md"},{"name":"raw.tar.zst","bytes":500,"sha256":"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb","url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/artifacts/raw.tar.zst"}],"payment":{"success":true,"network":"eip155:8453","transaction":"0x1111111111111111111111111111111111111111111111111111111111111111","payer":"0x2222222222222222222222222222222222222222"}}},"received":{"value":{"order_id":"00000000-0000-4000-8000-000000000001","estimate_id":"00000000-0000-4000-8000-000000000002","state":"delivery_received","delivery":{"version":"v3","mode":"asynchronous","payment_due":"after_measurement_and_quote","processing_starts":"payment_settled","estimated_duration_seconds":{"min":900,"max":1800},"maximum_duration_seconds":null,"completion_deadline":null,"estimate_kind":"approximate_range","estimate_basis":"original_input_bytes","large_inputs_may_exceed_seconds":36000,"poll_after_seconds":60,"timing_factors":["original_input_bytes","source_cli_and_log_format","extracted_conversation_volume","session_and_slice_counts","api_response_time","retries"],"description":"Upload measurement supplies the final quote. Processing starts after settlement."},"pricing":{"input_bytes":1000,"billable_mb":1,"unit_bytes":1000000,"usd_per_mb":"0.020","tier_minimum_bytes":0,"amount_micro_usdc":"20000","price":"$0.020000","rounding":"ceil_to_mb"},"quote":{"valid_for_seconds":3600,"expires_at":"2030-01-01T01:00:00.000Z","pricing_notice":"The measured amount is shown before payment.","notice":"Cancellation or expiry deletes unpaid input and its worker container."},"upload_deadline_at":null,"paid_at":"2030-01-01T00:05:00.000Z","estimated_completion":{"earliest":"2030-01-01T00:20:00.000Z","latest":"2030-01-01T00:35:00.000Z"},"confirmation_email":{"state":"pending","attempts":0,"sent_at":null,"last_error":null,"next_attempt_at":"2030-01-01T00:05:00.000Z"},"support_email":"shadowharness@gmail.com","retention":{"seconds_after_processing":86400,"action":"The isolated worker container is deleted after delivery acknowledgement or retention expiry."},"retention_expires_at":"2030-01-01T00:30:00.000Z","delivery_received_at":"2030-01-01T00:30:00.000Z","status_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001","upload_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/input.tar.zst","upload_format":{"content_type":"application/zstd","archive":"tar.zst","session_paths":"raw/{claude,ext-codex,ext-grok,ext-gemini}/<session>.jsonl","regular_files_only":true,"maximum_files":10000,"maximum_zstd_window_bytes":134217728},"payment_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/pay","cancel_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/cancel","delivery_receipt_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/delivery-received","input":{"original_bytes":1000,"compressed_bytes":500,"archive_sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","format":"tar.zst","measured_at":"2030-01-01T00:00:00.000Z"},"input_transfer":null,"files":[{"source":"claude","name":"fixture.jsonl","bytes":1000,"sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","received":true}],"artifacts":[{"name":"memory.md","bytes":100,"sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/artifacts/memory.md"},{"name":"raw.tar.zst","bytes":500,"sha256":"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb","url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/artifacts/raw.tar.zst"}],"payment":{"success":true,"network":"eip155:8453","transaction":"0x1111111111111111111111111111111111111111111111111111111111111111","payer":"0x2222222222222222222222222222222222222222"}}}}}}},"404":{"description":"HTTP 404; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"order_not_found":{"value":{"error":"order_not_found"}}}}}},"410":{"description":"HTTP 410; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"order_expired":{"value":{"error":"order_expired"}},"order_cancelled":{"value":{"error":"order_cancelled"}},"order_retired":{"value":{"error":"order_retired"}}}}}},"500":{"description":"HTTP 500; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"internal_error":{"value":{"error":"internal_error"}}}}}},"502":{"description":"HTTP 502; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"worker_unavailable":{"value":{"error":"worker_unavailable"}},"invalid_worker_response":{"value":{"error":"invalid_worker_response"}}}}}},"503":{"description":"HTTP 503; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"worker_stopping":{"value":{"error":"worker_stopping"}},"gateway_stopping":{"value":{"error":"gateway_stopping"}}}}}}},"x-next-action":{"when":"state == done","operation":"downloadSideraMemory","href":"$response.body#/artifacts"}}},"/v1/orders/{order_id}/cancel":{"post":{"operationId":"cancelSideraOrder","summary":"Cancel an unpaid request and delete its uploaded data","security":[{"OrderToken":[]}],"parameters":[{"$ref":"#/components/parameters/OrderId"}],"description":"Only unpaid, inactive uploading/awaiting_payment requests can be cancelled. Settlement-bound, paid, measuring or actively uploading requests cannot be cancelled. No request body is required. Repeated cancellation returns the existing cancelled/expired receipt while the worker exists.","responses":{"200":{"description":"Unpaid data deleted; this request cannot be used for a new purchase.","headers":{"Retry-After":{"description":"Order receipts advise the status polling interval in seconds.","schema":{"type":"string"},"example":"60"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderReceipt"},"examples":{"cancelled":{"value":{"order_id":"00000000-0000-4000-8000-000000000001","estimate_id":"00000000-0000-4000-8000-000000000002","state":"cancelled","delivery":null,"pricing":null,"quote":null,"upload_deadline_at":null,"paid_at":null,"estimated_completion":null,"confirmation_email":null,"support_email":"shadowharness@gmail.com","retention":{"seconds_after_processing":86400,"action":"The isolated worker container is deleted after delivery acknowledgement or retention expiry."},"retention_expires_at":null,"delivery_received_at":null,"status_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001","upload_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/input.tar.zst","upload_format":{"content_type":"application/zstd","archive":"tar.zst","session_paths":"raw/{claude,ext-codex,ext-grok,ext-gemini}/<session>.jsonl","regular_files_only":true,"maximum_files":10000,"maximum_zstd_window_bytes":134217728},"payment_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/pay","cancel_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/cancel","delivery_receipt_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/delivery-received","input":null,"input_transfer":null,"files":[],"artifacts":[],"data_deleted_at":"2030-01-01T00:10:00.000Z"}}}}}},"404":{"description":"HTTP 404; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"order_not_found":{"value":{"error":"order_not_found"}}}}}},"409":{"description":"HTTP 409; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"order_not_cancellable":{"value":{"error":"order_not_cancellable"}}}}}},"410":{"description":"HTTP 410; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"order_expired":{"value":{"error":"order_expired"}},"order_cancelled":{"value":{"error":"order_cancelled"}},"order_retired":{"value":{"error":"order_retired"}}}}}},"500":{"description":"HTTP 500; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"internal_error":{"value":{"error":"internal_error"}}}}}},"502":{"description":"HTTP 502; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"worker_unavailable":{"value":{"error":"worker_unavailable"}},"invalid_worker_response":{"value":{"error":"invalid_worker_response"}}}}}},"503":{"description":"HTTP 503; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"worker_stopping":{"value":{"error":"worker_stopping"}},"gateway_stopping":{"value":{"error":"gateway_stopping"}}}}}}}}},"/v1/orders/{order_id}/retry":{"post":{"operationId":"retrySideraProcessing","summary":"Retry failed processing on the same paid order","security":[{"OrderToken":[]}],"parameters":[{"$ref":"#/components/parameters/OrderId"}],"description":"Available only when state is failed, settlement succeeded, and all input files remain received. This retries processing without another payment. No request body is required.","responses":{"202":{"description":"Processing requeued for this already-paid order.","headers":{"Retry-After":{"description":"Order receipts advise the status polling interval in seconds.","schema":{"type":"string"},"example":"60"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderReceipt"},"examples":{"queued":{"value":{"order_id":"00000000-0000-4000-8000-000000000001","estimate_id":"00000000-0000-4000-8000-000000000002","state":"queued","delivery":{"version":"v3","mode":"asynchronous","payment_due":"after_measurement_and_quote","processing_starts":"payment_settled","estimated_duration_seconds":{"min":900,"max":1800},"maximum_duration_seconds":null,"completion_deadline":null,"estimate_kind":"approximate_range","estimate_basis":"original_input_bytes","large_inputs_may_exceed_seconds":36000,"poll_after_seconds":60,"timing_factors":["original_input_bytes","source_cli_and_log_format","extracted_conversation_volume","session_and_slice_counts","api_response_time","retries"],"description":"Upload measurement supplies the final quote. Processing starts after settlement."},"pricing":{"input_bytes":1000,"billable_mb":1,"unit_bytes":1000000,"usd_per_mb":"0.020","tier_minimum_bytes":0,"amount_micro_usdc":"20000","price":"$0.020000","rounding":"ceil_to_mb"},"quote":{"valid_for_seconds":3600,"expires_at":"2030-01-01T01:00:00.000Z","pricing_notice":"The measured amount is shown before payment.","notice":"Cancellation or expiry deletes unpaid input and its worker container."},"upload_deadline_at":null,"paid_at":"2030-01-01T00:05:00.000Z","estimated_completion":{"earliest":"2030-01-01T00:20:00.000Z","latest":"2030-01-01T00:35:00.000Z"},"confirmation_email":{"state":"pending","attempts":0,"sent_at":null,"last_error":null,"next_attempt_at":"2030-01-01T00:05:00.000Z"},"support_email":"shadowharness@gmail.com","retention":{"seconds_after_processing":86400,"action":"The isolated worker container is deleted after delivery acknowledgement or retention expiry."},"retention_expires_at":null,"delivery_received_at":null,"status_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001","upload_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/input.tar.zst","upload_format":{"content_type":"application/zstd","archive":"tar.zst","session_paths":"raw/{claude,ext-codex,ext-grok,ext-gemini}/<session>.jsonl","regular_files_only":true,"maximum_files":10000,"maximum_zstd_window_bytes":134217728},"payment_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/pay","cancel_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/cancel","delivery_receipt_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/delivery-received","input":{"original_bytes":1000,"compressed_bytes":500,"archive_sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","format":"tar.zst","measured_at":"2030-01-01T00:00:00.000Z"},"input_transfer":null,"files":[{"source":"claude","name":"fixture.jsonl","bytes":1000,"sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","received":true}],"artifacts":[],"payment":{"success":true,"network":"eip155:8453","transaction":"0x1111111111111111111111111111111111111111111111111111111111111111","payer":"0x2222222222222222222222222222222222222222"}}}}}}},"404":{"description":"HTTP 404; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"order_not_found":{"value":{"error":"order_not_found"}}}}}},"409":{"description":"HTTP 409; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"order_not_retryable":{"value":{"error":"order_not_retryable"}}}}}},"410":{"description":"HTTP 410; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"order_expired":{"value":{"error":"order_expired"}},"order_cancelled":{"value":{"error":"order_cancelled"}},"order_retired":{"value":{"error":"order_retired"}}}}}},"500":{"description":"HTTP 500; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"internal_error":{"value":{"error":"internal_error"}}}}}},"502":{"description":"HTTP 502; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"worker_unavailable":{"value":{"error":"worker_unavailable"}},"invalid_worker_response":{"value":{"error":"invalid_worker_response"}}}}}},"503":{"description":"HTTP 503; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"worker_busy":{"value":{"error":"worker_busy"}},"formation_not_configured":{"value":{"error":"formation_not_configured"}},"runpod_not_configured":{"value":{"error":"runpod_not_configured"}},"worker_stopping":{"value":{"error":"worker_stopping"}},"gateway_stopping":{"value":{"error":"gateway_stopping"}}}}}},"507":{"description":"HTTP 507; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"insufficient_storage":{"value":{"error":"insufficient_storage"}}}}}}}}},"/v1/orders/{order_id}/delivery-received":{"post":{"operationId":"acknowledgeSideraDelivery","summary":"Acknowledge both saved, hash-verified artifacts","security":[{"OrderToken":[]}],"parameters":[{"$ref":"#/components/parameters/OrderId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeliveryAcknowledgement"},"example":{"memory.md":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","raw.tar.zst":"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"}}}},"description":"For a done order, send the direct filename-to-SHA-256 object after verifying the actual downloaded bytes. Success permits deletion of the worker container. Save both files first; artifact downloads require state done. An already received order returns its receipt idempotently while its worker exists.","responses":{"200":{"description":"Delivery acknowledged. Preserve the verified local copies.","headers":{"Retry-After":{"description":"Order receipts advise the status polling interval in seconds.","schema":{"type":"string"},"example":"60"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderReceipt"},"examples":{"delivery_received":{"value":{"order_id":"00000000-0000-4000-8000-000000000001","estimate_id":"00000000-0000-4000-8000-000000000002","state":"delivery_received","delivery":{"version":"v3","mode":"asynchronous","payment_due":"after_measurement_and_quote","processing_starts":"payment_settled","estimated_duration_seconds":{"min":900,"max":1800},"maximum_duration_seconds":null,"completion_deadline":null,"estimate_kind":"approximate_range","estimate_basis":"original_input_bytes","large_inputs_may_exceed_seconds":36000,"poll_after_seconds":60,"timing_factors":["original_input_bytes","source_cli_and_log_format","extracted_conversation_volume","session_and_slice_counts","api_response_time","retries"],"description":"Upload measurement supplies the final quote. Processing starts after settlement."},"pricing":{"input_bytes":1000,"billable_mb":1,"unit_bytes":1000000,"usd_per_mb":"0.020","tier_minimum_bytes":0,"amount_micro_usdc":"20000","price":"$0.020000","rounding":"ceil_to_mb"},"quote":{"valid_for_seconds":3600,"expires_at":"2030-01-01T01:00:00.000Z","pricing_notice":"The measured amount is shown before payment.","notice":"Cancellation or expiry deletes unpaid input and its worker container."},"upload_deadline_at":null,"paid_at":"2030-01-01T00:05:00.000Z","estimated_completion":{"earliest":"2030-01-01T00:20:00.000Z","latest":"2030-01-01T00:35:00.000Z"},"confirmation_email":{"state":"pending","attempts":0,"sent_at":null,"last_error":null,"next_attempt_at":"2030-01-01T00:05:00.000Z"},"support_email":"shadowharness@gmail.com","retention":{"seconds_after_processing":86400,"action":"The isolated worker container is deleted after delivery acknowledgement or retention expiry."},"retention_expires_at":"2030-01-01T00:30:00.000Z","delivery_received_at":"2030-01-01T00:30:00.000Z","status_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001","upload_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/input.tar.zst","upload_format":{"content_type":"application/zstd","archive":"tar.zst","session_paths":"raw/{claude,ext-codex,ext-grok,ext-gemini}/<session>.jsonl","regular_files_only":true,"maximum_files":10000,"maximum_zstd_window_bytes":134217728},"payment_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/pay","cancel_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/cancel","delivery_receipt_url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/delivery-received","input":{"original_bytes":1000,"compressed_bytes":500,"archive_sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","format":"tar.zst","measured_at":"2030-01-01T00:00:00.000Z"},"input_transfer":null,"files":[{"source":"claude","name":"fixture.jsonl","bytes":1000,"sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","received":true}],"artifacts":[{"name":"memory.md","bytes":100,"sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/artifacts/memory.md"},{"name":"raw.tar.zst","bytes":500,"sha256":"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb","url":"https://shadowharness.com/v1/orders/00000000-0000-4000-8000-000000000001/artifacts/raw.tar.zst"}],"payment":{"success":true,"network":"eip155:8453","transaction":"0x1111111111111111111111111111111111111111111111111111111111111111","payer":"0x2222222222222222222222222222222222222222"}}}}}}},"400":{"description":"HTTP 400; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"artifact_hash_mismatch":{"value":{"error":"artifact_hash_mismatch"}},"invalid_json":{"value":{"error":"invalid_json"}}}}}},"404":{"description":"HTTP 404; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"order_not_found":{"value":{"error":"order_not_found"}}}}}},"409":{"description":"HTTP 409; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"delivery_not_ready":{"value":{"error":"delivery_not_ready"}}}}}},"410":{"description":"HTTP 410; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"order_expired":{"value":{"error":"order_expired"}},"order_cancelled":{"value":{"error":"order_cancelled"}},"order_retired":{"value":{"error":"order_retired"}}}}}},"413":{"description":"HTTP 413; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"order_json_too_large":{"value":{"error":"order_json_too_large"}}}}}},"415":{"description":"HTTP 415; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"json_required":{"value":{"error":"json_required"}}}}}},"500":{"description":"HTTP 500; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"internal_error":{"value":{"error":"internal_error"}}}}}},"502":{"description":"HTTP 502; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"worker_unavailable":{"value":{"error":"worker_unavailable"}},"invalid_worker_response":{"value":{"error":"invalid_worker_response"}}}}}},"503":{"description":"HTTP 503; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"worker_stopping":{"value":{"error":"worker_stopping"}},"gateway_stopping":{"value":{"error":"gateway_stopping"}}}}}}}}},"/v1/orders/{order_id}/artifacts/memory.md":{"get":{"operationId":"downloadSideraMemory","summary":"Download memory.md","security":[{"OrderToken":[]}],"description":"Requires state done. Supports one bytes=start-end range (end optional). If-Match mismatch returns 412; If-Range mismatch returns the whole file. Suffix and multiple ranges are not supported.","parameters":[{"$ref":"#/components/parameters/OrderId"},{"$ref":"#/components/parameters/Range"},{"$ref":"#/components/parameters/IfMatch"},{"$ref":"#/components/parameters/IfRange"}],"responses":{"200":{"description":"Complete artifact bytes; verify SHA-256 against the order receipt.","headers":{"ETag":{"description":"Quoted SHA-256 of the complete artifact.","schema":{"type":"string"},"example":"\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\""},"Accept-Ranges":{"schema":{"const":"bytes"}},"Content-Length":{"schema":{"type":"string"}},"Content-Disposition":{"schema":{"type":"string"},"example":"attachment; filename=\"memory.md\""}},"content":{"text/markdown":{"schema":{"type":"string","format":"binary"}}}},"206":{"description":"Single byte range. Reassemble the complete file before verifying its hash.","headers":{"ETag":{"description":"Quoted SHA-256 of the complete artifact.","schema":{"type":"string"},"example":"\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\""},"Accept-Ranges":{"schema":{"const":"bytes"}},"Content-Length":{"schema":{"type":"string"}},"Content-Disposition":{"schema":{"type":"string"},"example":"attachment; filename=\"memory.md\""},"Content-Range":{"schema":{"type":"string"},"example":"bytes 10-99/100"}},"content":{"text/markdown":{"schema":{"type":"string","format":"binary"}}}},"404":{"description":"HTTP 404; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"order_not_found":{"value":{"error":"order_not_found"}}}}}},"409":{"description":"HTTP 409; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"artifact_not_ready":{"value":{"error":"artifact_not_ready"}}}}}},"410":{"description":"HTTP 410; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"order_expired":{"value":{"error":"order_expired"}},"order_cancelled":{"value":{"error":"order_cancelled"}},"order_retired":{"value":{"error":"order_retired"}}}}}},"412":{"description":"HTTP 412; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"artifact_changed":{"value":{"error":"artifact_changed"}}}}}},"416":{"description":"HTTP 416; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"invalid_range":{"value":{"error":"invalid_range"}}}}}},"500":{"description":"HTTP 500; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"internal_error":{"value":{"error":"internal_error"}}}}}},"502":{"description":"HTTP 502; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"worker_unavailable":{"value":{"error":"worker_unavailable"}},"invalid_worker_response":{"value":{"error":"invalid_worker_response"}}}}}},"503":{"description":"HTTP 503; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"artifact_integrity_error":{"value":{"error":"artifact_integrity_error"}},"worker_stopping":{"value":{"error":"worker_stopping"}},"gateway_stopping":{"value":{"error":"gateway_stopping"}}}}}}}},"head":{"operationId":"downloadSideraMemoryMetadata","summary":"Inspect memory.md headers without downloading bytes","security":[{"OrderToken":[]}],"parameters":[{"$ref":"#/components/parameters/OrderId"},{"$ref":"#/components/parameters/Range"},{"$ref":"#/components/parameters/IfMatch"},{"$ref":"#/components/parameters/IfRange"}],"responses":{"200":{"description":"Complete artifact bytes; verify SHA-256 against the order receipt.","headers":{"ETag":{"description":"Quoted SHA-256 of the complete artifact.","schema":{"type":"string"},"example":"\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\""},"Accept-Ranges":{"schema":{"const":"bytes"}},"Content-Length":{"schema":{"type":"string"}},"Content-Disposition":{"schema":{"type":"string"},"example":"attachment; filename=\"memory.md\""}}},"206":{"description":"Single byte range. Reassemble the complete file before verifying its hash.","headers":{"ETag":{"description":"Quoted SHA-256 of the complete artifact.","schema":{"type":"string"},"example":"\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\""},"Accept-Ranges":{"schema":{"const":"bytes"}},"Content-Length":{"schema":{"type":"string"}},"Content-Disposition":{"schema":{"type":"string"},"example":"attachment; filename=\"memory.md\""},"Content-Range":{"schema":{"type":"string"},"example":"bytes 10-99/100"}}},"404":{"description":"HTTP 404; inspect error before choosing a recovery action."},"409":{"description":"HTTP 409; inspect error before choosing a recovery action."},"410":{"description":"HTTP 410; inspect error before choosing a recovery action."},"412":{"description":"HTTP 412; inspect error before choosing a recovery action."},"416":{"description":"HTTP 416; inspect error before choosing a recovery action."},"500":{"description":"HTTP 500; inspect error before choosing a recovery action."},"502":{"description":"HTTP 502; inspect error before choosing a recovery action."},"503":{"description":"HTTP 503; inspect error before choosing a recovery action."}}}},"/v1/orders/{order_id}/artifacts/raw.tar.zst":{"get":{"operationId":"downloadSideraRaw","summary":"Download raw.tar.zst","security":[{"OrderToken":[]}],"description":"Requires state done. Supports one bytes=start-end range (end optional). If-Match mismatch returns 412; If-Range mismatch returns the whole file. Suffix and multiple ranges are not supported.","parameters":[{"$ref":"#/components/parameters/OrderId"},{"$ref":"#/components/parameters/Range"},{"$ref":"#/components/parameters/IfMatch"},{"$ref":"#/components/parameters/IfRange"}],"responses":{"200":{"description":"Complete artifact bytes; verify SHA-256 against the order receipt.","headers":{"ETag":{"description":"Quoted SHA-256 of the complete artifact.","schema":{"type":"string"},"example":"\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\""},"Accept-Ranges":{"schema":{"const":"bytes"}},"Content-Length":{"schema":{"type":"string"}},"Content-Disposition":{"schema":{"type":"string"},"example":"attachment; filename=\"raw.tar.zst\""}},"content":{"application/zstd":{"schema":{"type":"string","format":"binary"}}}},"206":{"description":"Single byte range. Reassemble the complete file before verifying its hash.","headers":{"ETag":{"description":"Quoted SHA-256 of the complete artifact.","schema":{"type":"string"},"example":"\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\""},"Accept-Ranges":{"schema":{"const":"bytes"}},"Content-Length":{"schema":{"type":"string"}},"Content-Disposition":{"schema":{"type":"string"},"example":"attachment; filename=\"raw.tar.zst\""},"Content-Range":{"schema":{"type":"string"},"example":"bytes 10-99/100"}},"content":{"application/zstd":{"schema":{"type":"string","format":"binary"}}}},"404":{"description":"HTTP 404; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"order_not_found":{"value":{"error":"order_not_found"}}}}}},"409":{"description":"HTTP 409; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"artifact_not_ready":{"value":{"error":"artifact_not_ready"}}}}}},"410":{"description":"HTTP 410; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"order_expired":{"value":{"error":"order_expired"}},"order_cancelled":{"value":{"error":"order_cancelled"}},"order_retired":{"value":{"error":"order_retired"}}}}}},"412":{"description":"HTTP 412; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"artifact_changed":{"value":{"error":"artifact_changed"}}}}}},"416":{"description":"HTTP 416; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"invalid_range":{"value":{"error":"invalid_range"}}}}}},"500":{"description":"HTTP 500; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"internal_error":{"value":{"error":"internal_error"}}}}}},"502":{"description":"HTTP 502; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"worker_unavailable":{"value":{"error":"worker_unavailable"}},"invalid_worker_response":{"value":{"error":"invalid_worker_response"}}}}}},"503":{"description":"HTTP 503; inspect error before choosing a recovery action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"artifact_integrity_error":{"value":{"error":"artifact_integrity_error"}},"worker_stopping":{"value":{"error":"worker_stopping"}},"gateway_stopping":{"value":{"error":"gateway_stopping"}}}}}}}},"head":{"operationId":"downloadSideraRawMetadata","summary":"Inspect raw.tar.zst headers without downloading bytes","security":[{"OrderToken":[]}],"parameters":[{"$ref":"#/components/parameters/OrderId"},{"$ref":"#/components/parameters/Range"},{"$ref":"#/components/parameters/IfMatch"},{"$ref":"#/components/parameters/IfRange"}],"responses":{"200":{"description":"Complete artifact bytes; verify SHA-256 against the order receipt.","headers":{"ETag":{"description":"Quoted SHA-256 of the complete artifact.","schema":{"type":"string"},"example":"\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\""},"Accept-Ranges":{"schema":{"const":"bytes"}},"Content-Length":{"schema":{"type":"string"}},"Content-Disposition":{"schema":{"type":"string"},"example":"attachment; filename=\"raw.tar.zst\""}}},"206":{"description":"Single byte range. Reassemble the complete file before verifying its hash.","headers":{"ETag":{"description":"Quoted SHA-256 of the complete artifact.","schema":{"type":"string"},"example":"\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\""},"Accept-Ranges":{"schema":{"const":"bytes"}},"Content-Length":{"schema":{"type":"string"}},"Content-Disposition":{"schema":{"type":"string"},"example":"attachment; filename=\"raw.tar.zst\""},"Content-Range":{"schema":{"type":"string"},"example":"bytes 10-99/100"}}},"404":{"description":"HTTP 404; inspect error before choosing a recovery action."},"409":{"description":"HTTP 409; inspect error before choosing a recovery action."},"410":{"description":"HTTP 410; inspect error before choosing a recovery action."},"412":{"description":"HTTP 412; inspect error before choosing a recovery action."},"416":{"description":"HTTP 416; inspect error before choosing a recovery action."},"500":{"description":"HTTP 500; inspect error before choosing a recovery action."},"502":{"description":"HTTP 502; inspect error before choosing a recovery action."},"503":{"description":"HTTP 503; inspect error before choosing a recovery action."}}}}},"components":{"schemas":{"CreateOrder":{"type":"object","additionalProperties":false,"required":["request_key","email"],"properties":{"request_key":{"type":"string","pattern":"^[A-Za-z0-9_-]{32,128}$","writeOnly":true,"description":"Generate at least 128 bits of secret entropy. For example, encode 32 random bytes as hex. Retain the same value for order recovery. Never use a published example key."},"email":{"type":"string","format":"email","maxLength":254,"description":"Order confirmation and expected completion window. Retain the same address on recovery requests."},"estimate_id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","format":"uuid","description":"Optional successful GET /v1/quote estimate_id. One estimate links to one request_key. The gateway retains this association; it is not a price commitment."}}},"PayOrder":{"type":"object","additionalProperties":false,"required":["request_key"],"properties":{"request_key":{"type":"string","pattern":"^[A-Za-z0-9_-]{32,128}$","writeOnly":true,"description":"Generate at least 128 bits of secret entropy. For example, encode 32 random bytes as hex. Retain the same value for order recovery. Never use a published example key."},"email":{"type":"string","format":"email","maxLength":254,"description":"Optional compatibility field. If supplied, it must match the email retained for this order. Omit it in the normal payment request."}},"description":"Use the request_key retained when creating this order. Only request_key is required; email is optional."},"DeliveryAcknowledgement":{"type":"object","additionalProperties":false,"required":["memory.md","raw.tar.zst"],"properties":{"memory.md":{"type":"string","pattern":"^[a-f0-9]{64}$"},"raw.tar.zst":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"description":"The two locally verified SHA-256 values as a direct filename-to-hash object. Send only after saving and verifying both complete files."},"Error":{"type":"object","required":["error"],"properties":{"error":{"type":"string"},"estimate_id":{"type":"string","format":"uuid","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"}}},"Pricing":{"type":"object","required":["input_bytes","price","amount_micro_usdc"],"properties":{"input_bytes":{"type":"integer","minimum":1,"maximum":9007199254740991},"price":{"type":"string","pattern":"^\\$[0-9]+\\.[0-9]{6}$","description":"Dollar-prefixed decimal USDC amount, for example $0.020000."},"amount_micro_usdc":{"type":"string","pattern":"^[1-9][0-9]*$","description":"Exact USDC amount in integer millionths. Do not use floating-point arithmetic for signing."},"billable_mb":{"type":"integer","minimum":1},"unit_bytes":{"type":"integer","const":1000000},"usd_per_mb":{"type":"string"},"tier_minimum_bytes":{"type":"integer","minimum":0},"rounding":{"const":"ceil_to_mb"},"basis":{"const":"assessed_processing_work"},"standard":{"type":"object","description":"Standard original-byte tariff when processing-work assessment increases the formal quote."},"adjustment_reason":{"type":"string"}}},"Delivery":{"type":"object","required":["mode","processing_starts","estimated_duration_seconds","poll_after_seconds"],"properties":{"mode":{"const":"asynchronous"},"processing_starts":{"const":"payment_settled"},"estimated_duration_seconds":{"oneOf":[{"type":"null"},{"type":"object","required":["min","max"],"properties":{"min":{"type":"integer","minimum":0},"max":{"type":"integer","minimum":0}}}]},"maximum_duration_seconds":{"type":"null"},"completion_deadline":{"type":"null"},"poll_after_seconds":{"type":"integer","minimum":1}},"description":"Approximate processing window after settlement, excluding upload and measurement. This is not a guaranteed completion deadline."},"Quote":{"type":"object","required":["valid_for_seconds","expires_at"],"properties":{"valid_for_seconds":{"type":"integer","const":3600},"expires_at":{"type":"string","format":"date-time"},"pricing_notice":{"type":"string"},"notice":{"type":"string"}}},"Input":{"type":"object","required":["original_bytes","compressed_bytes","archive_sha256","format","measured_at"],"properties":{"original_bytes":{"type":"integer","minimum":1},"compressed_bytes":{"type":"integer","minimum":1},"archive_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"format":{"const":"tar.zst"},"measured_at":{"type":"string","format":"date-time"}}},"Artifact":{"type":"object","required":["name","bytes","sha256","url"],"properties":{"name":{"enum":["memory.md","raw.tar.zst"]},"bytes":{"type":"integer","minimum":0},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"url":{"type":"string","format":"uri"}}},"NextAction":{"type":"object","required":["operation","method","url"],"properties":{"operation":{"type":"string"},"method":{"type":"string"},"url":{"type":"string","format":"uri"},"required":{"type":"array","items":{"type":"string"}},"carry_forward":{"type":"object","properties":{"estimate_id":{"type":"string","format":"uuid","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"}}},"guide_url":{"type":"string","format":"uri"},"client_url":{"type":"string","format":"uri"}}},"Estimate":{"allOf":[{"$ref":"#/components/schemas/Pricing"},{"type":"object","required":["estimate_id","estimate_only","reserves_capacity","next_action"],"properties":{"estimate_id":{"type":"string","format":"uuid","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"estimate_only":{"const":true},"reserves_capacity":{"const":false},"currency":{"const":"USDC"},"networks":{"type":"array","items":{"type":"string"}},"pricing":{"type":"object","description":"Standard tariff policy; the top-level price is the estimated amount."},"delivery":{"$ref":"#/components/schemas/Delivery"},"quote_policy":{"type":"object"},"next_action":{"$ref":"#/components/schemas/NextAction"},"payment_configured":{"type":"boolean"},"busy":{"type":"boolean"}}}]},"OrderReceipt":{"type":"object","required":["order_id","state","status_url","upload_url","payment_url","files","artifacts"],"properties":{"order_id":{"type":"string","format":"uuid","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"estimate_id":{"type":"string","format":"uuid","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"state":{"enum":["uploading","measuring","awaiting_payment","settling","payment_review","payment_failed","queued","processing","done","failed","delivery_received","expired","cancelled"]},"order_token":{"type":"string","readOnly":true,"description":"Private per-order Bearer credential, returned by create/recovery and payment receipts. Keep it out of URLs, logs and public artifacts."},"authorization":{"type":"string"},"pricing":{"oneOf":[{"$ref":"#/components/schemas/Pricing"},{"type":"null"}]},"delivery":{"oneOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"null"}]},"quote":{"oneOf":[{"$ref":"#/components/schemas/Quote"},{"type":"null"}]},"input":{"oneOf":[{"$ref":"#/components/schemas/Input"},{"type":"null"}]},"upload_deadline_at":{"type":["string","null"],"format":"date-time"},"paid_at":{"type":["string","null"],"format":"date-time"},"retention_expires_at":{"type":["string","null"],"format":"date-time"},"delivery_received_at":{"type":["string","null"],"format":"date-time"},"data_deleted_at":{"type":["string","null"],"format":"date-time"},"estimated_completion":{"type":["object","null"],"properties":{"earliest":{"type":["string","null"],"format":"date-time"},"latest":{"type":["string","null"],"format":"date-time"}}},"confirmation_email":{"type":["object","null"]},"support_email":{"type":"string","format":"email"},"retention":{"type":"object","properties":{"seconds_after_processing":{"type":"integer","const":86400},"action":{"type":"string"}}},"progress":{"type":"object","description":"Status-dependent processing progress; continue polling the order state."},"status_url":{"type":"string","format":"uri"},"upload_url":{"type":"string","format":"uri"},"payment_url":{"type":"string","format":"uri"},"cancel_url":{"type":"string","format":"uri"},"delivery_receipt_url":{"type":"string","format":"uri"},"upload_format":{"type":"object"},"input_transfer":{"type":["object","null"]},"files":{"type":"array","items":{"type":"object","required":["source","name","bytes","sha256","received"],"properties":{"source":{"enum":["claude","codex","grok","gemini"]},"name":{"type":"string"},"bytes":{"type":"integer","minimum":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"received":{"type":"boolean"}}}},"artifacts":{"type":"array","items":{"$ref":"#/components/schemas/Artifact"}},"payment":{"type":"object","properties":{"success":{"type":"boolean"},"transaction":{"type":"string"},"network":{"type":"string"},"errorReason":{"type":"string"},"payer":{"type":"string"}},"description":"Settlement result. A transaction with success=false may still be under review; do not issue a new authorization."},"error":{"type":"string"}}},"PaymentRequirements":{"type":"object","required":["scheme","network","asset","amount","payTo","maxTimeoutSeconds"],"properties":{"scheme":{"const":"exact"},"network":{"type":"string","description":"Select a network from the live challenge; never infer supported networks from examples."},"asset":{"type":"string"},"amount":{"type":"string","pattern":"^[0-9]+$"},"payTo":{"type":"string"},"maxTimeoutSeconds":{"type":"integer","minimum":1},"extra":{"type":"object","description":"Preserve all fields, including terms_sha256 and chain-specific signing domain values."}}},"PaymentRequired":{"type":"object","required":["x402Version","resource","accepts","delivery","pricing","input","quote","terms_sha256"],"properties":{"x402Version":{"const":2},"resource":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri"},"mimeType":{"type":"string"},"description":{"type":"string"}}},"accepts":{"type":"array","minItems":1,"items":{"$ref":"#/components/schemas/PaymentRequirements"}},"extensions":{"type":"object","description":"Preserve server-provided x402 extensions. Bazaar payment input requires request_key; email belongs to order creation."},"delivery":{"$ref":"#/components/schemas/Delivery"},"pricing":{"$ref":"#/components/schemas/Pricing"},"input":{"$ref":"#/components/schemas/Input"},"quote":{"$ref":"#/components/schemas/Quote"},"terms_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"error":{"enum":["payment_requirements_mismatch","payment_verification_failed"]}}},"Discovery":{"type":"object","required":["service","discovery_price_usdc","includes_processing","workflow"],"properties":{"service":{"type":"string"},"discovery_price_usdc":{"const":"0"},"includes_processing":{"const":false},"reserves_capacity":{"const":false},"order_input_schema":{"type":"object"},"workflow":{"type":"array","items":{"type":"object"}},"openapi_url":{"type":"string","format":"uri"},"client_url":{"type":"string","format":"uri"},"ordering_url":{"type":"string","format":"uri"},"next_action":{"$ref":"#/components/schemas/NextAction"}}}},"securitySchemes":{"OrderToken":{"type":"http","scheme":"bearer","bearerFormat":"Opaque order_token","description":"Authorization: Bearer <order_token>. Keep the per-order credential private."},"X402PaymentSignature":{"type":"apiKey","in":"header","name":"PAYMENT-SIGNATURE","description":"Base64-encoded x402 v2 payment payload from a compatible wallet signer. Omit on the first challenge request."}},"parameters":{"OrderId":{"name":"order_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"example":"00000000-0000-4000-8000-000000000001"},"PaymentSignature":{"name":"PAYMENT-SIGNATURE","in":"header","required":false,"description":"Omit to obtain the 402 challenge. Include only the retained, approved x402 v2 payload when paying.","schema":{"type":"string","contentEncoding":"base64","maxLength":65536}},"Range":{"name":"Range","in":"header","required":false,"schema":{"type":"string","pattern":"^bytes=[0-9]+-[0-9]*$"},"example":"bytes=10-"},"IfMatch":{"name":"If-Match","in":"header","required":false,"schema":{"type":"string"},"example":"\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\""},"IfRange":{"name":"If-Range","in":"header","required":false,"schema":{"type":"string"},"example":"\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\""}}},"x-purchase-workflow":{"workflow_version":"sidera-purchase/v1","openapi_url":"https://shadowharness.com/openapi.json","client_url":"https://shadowharness.com/sidera/client/","ordering_url":"https://shadowharness.com/sidera/ORDERING.md","agent_document_url":"https://shadowharness.com/sidera/llm/","links":{"client":{"href":"https://shadowharness.com/sidera/client/","description":"Executable Node client: archive preparation, x402 signing, polling, hash verification and acknowledgement."},"ordering":{"href":"https://shadowharness.com/sidera/ORDERING.md"},"agent":{"href":"https://shadowharness.com/sidera/llm/#s12"},"openapi":{"href":"https://shadowharness.com/openapi.json"}},"next_action":{"operation":"estimateSideraPrice","method":"GET","url":"https://shadowharness.com/v1/quote","required":["bytes"],"guide_url":"https://shadowharness.com/sidera/ORDERING.md","client_url":"https://shadowharness.com/sidera/client/"},"template_binding":"Replace {{name}} with the named saved value before sending HTTP. Save returned URLs unchanged. $response.body# uses JSON Pointer. A select binding finds the unique array item matching where and extracts field. Values under private are never console output or public files.","prerequisites":{"runtime":"Node.js and the executable client instructions at client_url; an HTTP client that preserves binary request/response bodies and response headers.","input":"One tar.zst containing regular raw/{claude,ext-codex,ext-grok,ext-gemini}/<session>.jsonl files. Prepare and preflight using the executable client; save its local path as private.archive_path.","original_bytes":"Sum of original uncompressed JSONL file bytes, used only for the estimate.","private":["request_key: 32 cryptographically random bytes encoded as 64 hex characters; retain for all recovery requests.","email: confirmation address; retain the same address with the request.","order_token: returned per-order Bearer credential.","payment_required: decoded live challenge; payment_signature: exact base64 payload saved before its first submission.","wallet signer: existing funded wallet for one network/asset offered in accepts. The client guide supplies the x402 v2 SDK setup; HTTP alone cannot create a wallet signature."],"secret_storage":"Store request_key, email, order_token and payment signature in a private local file. Keep wallet keys in the existing wallet or private credential store. Send secrets only in the documented body/header, never query strings or shared logs."},"workflow":[{"number":1,"operation":"estimateSideraPrice","title":"Get an estimate","request":{"method":"GET","href":"https://shadowharness.com/v1/quote?bytes={{original_bytes}}","headers":{}},"expect":{"status":[200],"estimate_only":true,"reserves_capacity":false},"save":{"estimate_id":"$response.body#/estimate_id"},"next_action":{"operation":"createSideraOrder","href":"$response.body#/next_action/url"}},{"number":2,"operation":"createSideraOrder","title":"Create one request and retain its private receipt","request":{"method":"POST","href":"https://shadowharness.com/v1/orders","headers":{"Content-Type":"application/json"},"body":{"request_key":"{{private.request_key}}","email":"{{private.email}}","estimate_id":"{{estimate_id}}"}},"expect":{"status":[201,200],"state":"uploading"},"save":{"private.order_token":"$response.body#/order_token","status_url":"$response.body#/status_url","upload_url":"$response.body#/upload_url","payment_url":"$response.body#/payment_url","delivery_receipt_url":"$response.body#/delivery_receipt_url","cancel_url":"$response.body#/cancel_url","upload_deadline_at":"$response.body#/upload_deadline_at"},"next_action":{"operation":"uploadSideraInput","href":"$response.body#/upload_url"}},{"number":3,"operation":"uploadSideraInput","title":"Upload once and inspect the formal measured quote","request":{"method":"PUT","href":"{{upload_url}}","headers":{"Authorization":"Bearer {{private.order_token}}","Content-Type":"application/zstd"},"body_file":"{{private.archive_path}}","content_encoding":"identity"},"expect":{"status":[200],"state":"awaiting_payment","formal_amount":["pricing.price","pricing.amount_micro_usdc"],"expiry":"quote.expires_at"},"before_request":"Complete upload before upload_deadline_at. Send archive bytes, not a JSON wrapper.","save":{"formal_pricing":"$response.body#/pricing","formal_input":"$response.body#/input","formal_delivery":"$response.body#/delivery","formal_quote":"$response.body#/quote"},"next_action":{"operation":"paySideraOrder","href":"$response.body#/payment_url","signed":false}},{"number":4,"operation":"paySideraOrder","title":"Get the unsigned x402 challenge","request":{"method":"POST","href":"{{payment_url}}","headers":{"Content-Type":"application/json"},"body":{"request_key":"{{private.request_key}}"}},"expect":{"status":[402],"header":"PAYMENT-REQUIRED","charges_payment":false},"save":{"private.payment_required":"base64-decode($response.headers.PAYMENT-REQUIRED)"},"next_action":{"operation":"paySideraOrder","href":"{{payment_url}}","signed":true,"client_url":"https://shadowharness.com/sidera/client/"}},{"number":5,"operation":"paySideraOrder","title":"Sign and submit the measured quote once","request":{"method":"POST","href":"{{payment_url}}","headers":{"Content-Type":"application/json","PAYMENT-SIGNATURE":"{{private.payment_signature}}"},"body":{"request_key":"{{private.request_key}}"}},"expect":{"status":[201,200,202],"paid_when":"payment.success == true","unresolved_states":["settling","payment_review"],"settlement_header":"PAYMENT-RESPONSE"},"before_request":{"executable_client":{"href":"https://shadowharness.com/sidera/client/"},"validate":["resource.url equals payment_url","pricing and input match the saved formal quote","quote.expires_at is in the future","selected accepts amount matches formal_pricing.amount_micro_usdc","selected network, asset, payTo and terms_sha256 match the approved live challenge"],"sign":"Use the client x402 v2 signer for one live accepts entry; preserve resource, accepted.extra and required extensions. Base64-encode the resulting JSON payload and save that exact value privately before transmission."},"next_action":{"operation":"getSideraOrder","href":"{{status_url}}"}},{"number":6,"operation":"getSideraOrder","title":"Poll the same order until artifacts are ready","request":{"method":"GET","href":"{{status_url}}","headers":{"Authorization":"Bearer {{private.order_token}}"}},"expect":{"status":[200],"ready_state":"done","waiting_states":["settling","payment_review","queued","processing"]},"repeat":"Use Retry-After seconds or delivery.poll_after_seconds (normally 60). Do not treat an estimated completion time as a deadline.","save_when":{"state":"done"},"save":{"artifacts":"$response.body#/artifacts","memory_url":{"select":"$response.body#/artifacts","where":{"name":"memory.md"},"field":"url"},"raw_url":{"select":"$response.body#/artifacts","where":{"name":"raw.tar.zst"},"field":"url"},"expected_memory_sha256":{"select":"$response.body#/artifacts","where":{"name":"memory.md"},"field":"sha256"},"expected_raw_sha256":{"select":"$response.body#/artifacts","where":{"name":"raw.tar.zst"},"field":"sha256"}},"next_action":{"operation":"downloadSideraMemory","href":"{{memory_url}}"}},{"number":7,"operation":"downloadSideraMemory","title":"Save the complete memory.md bytes","request":{"method":"GET","href":"{{memory_url}}","headers":{"Authorization":"Bearer {{private.order_token}}"}},"expect":{"status":[200],"save_file":"memory.md"},"next_action":{"operation":"downloadSideraRaw","href":"{{raw_url}}"}},{"number":8,"operation":"downloadSideraRaw","title":"Save the complete raw.tar.zst bytes","request":{"method":"GET","href":"{{raw_url}}","headers":{"Authorization":"Bearer {{private.order_token}}"}},"expect":{"status":[200],"save_file":"raw.tar.zst"},"next_action":{"operation":"acknowledgeSideraDelivery","href":"{{delivery_receipt_url}}"}},{"number":9,"operation":"acknowledgeSideraDelivery","title":"Verify both hashes and acknowledge saved delivery","request":{"method":"POST","href":"{{delivery_receipt_url}}","headers":{"Authorization":"Bearer {{private.order_token}}","Content-Type":"application/json"},"body":{"memory.md":"{{verified_memory_sha256}}","raw.tar.zst":"{{verified_raw_sha256}}"}},"expect":{"status":[200],"state":"delivery_received"},"before_request":"Compute SHA-256 over both complete local files and compare with expected_memory_sha256 and expected_raw_sha256. Bind the matching computed values as verified_memory_sha256 and verified_raw_sha256. Send those hashes as the direct two-property object. Keep both local files; acknowledgement allows worker deletion.","next_action":{"operation":"useLocalSideraArtifacts","href":"https://shadowharness.com/sidera/USAGE.md"}}],"state_actions":{"uploading":"Upload before upload_deadline_at.","measuring":"Poll status; do not start a parallel upload.","awaiting_payment":"Inspect the formal pricing and submit the approved x402 payment before quote.expires_at.","settling":"Poll the same order without a new signature.","payment_review":"Poll the same order; if review persists use support_email with order_id and public transaction only.","queued":"Poll the same order.","processing":"Poll the same order.","done":"Save and hash-verify both artifacts, then acknowledge.","failed":"POST retry on the same paid order only when payment.success is true and every file is received.","payment_failed":"Inspect the definite settlement result; do not create a replacement proof on the bound order. Use support_email with order_id and public transaction only.","delivery_received":"Purchase is complete; use the verified local artifacts.","cancelled":"Unpaid data was deleted. A new purchase requires a new request and upload.","expired":"Unpaid data was deleted. A new purchase requires a new request and upload."},"recovery":[{"when":"create response lost, timeout or HTTP 502","operation":"createSideraOrder","action":"Replay the same request_key, email and estimate_id. The gateway keeps an ambiguous reservation for this key; never rotate the key just to recover."},{"when":"upload response lost","operation":"getSideraOrder","action":"GET status_url. Keep an existing measured input and quote. If still uploading, resend the same archive; on upload_in_progress poll instead."},{"when":"signed payment response lost, timeout, HTTP 502 or HTTP 202","operation":"getSideraOrder","action":"Query this same order. Retain the original signature. Do not sign again or start another payment. Replaying an identical bound proof retrieves its receipt and cannot retry its settlement."},{"when":"HTTP 503 no_available_worker","operation":"createSideraOrder","action":"Honor Retry-After (60 seconds when returned) and retain the same request body for recovery."},{"when":"HTTP 410 quote_expired/request_expired/order_expired/order_cancelled","action":"The expired or cancelled request cannot be paid. The upload window and measured quote each last 3600 seconds; a new purchase requires a fresh request and upload. A settlement already in progress is retained for resolution."},{"when":"artifact transfer interrupted","operation":"getSideraOrder","action":"Refresh artifact metadata; resume with a single bytes=start- range and the quoted SHA-256 as If-Match. Verify the complete assembled file before acknowledging."},{"when":"processing failed after successful payment","operation":"retrySideraProcessing","request":{"method":"POST","href":"{{status_url}}/retry","headers":{"Authorization":"Bearer {{private.order_token}}"}},"action":"Retry the existing paid order with no additional payment, only when input remains received."},{"when":"explicit unpaid cancellation","operation":"cancelSideraOrder","request":{"method":"POST","href":"{{cancel_url}}","headers":{"Authorization":"Bearer {{private.order_token}}"}},"action":"Cancellation deletes unpaid data. Do not use cancellation as recovery from an unknown payment result."},{"when":"delivery acknowledgement response lost","operation":"getSideraOrder","action":"Query the same order; delivery_received is terminal. While the worker exists, replaying the same verified hash object is idempotent. HTTP 410 order_retired means the worker is gone; retain the verified local files."}],"retention":{"seconds_after_processing":86400,"action":"Download before retention_expires_at. Delivery acknowledgement or retention expiry permits deletion of the worker container."}}}