{"openapi":"3.1.0","info":{"title":"Hirefast API","version":"0.0.0","description":"Private versioned API for the Hirefast marketplace."},"paths":{"/api/v1/auth/mfa/status":{"get":{"summary":"Read the current human's authenticator status","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"},"description":"An authenticated human session; agent credentials are not accepted."}],"responses":{"200":{"description":"Status; no seed is returned.","content":{"application/json":{"schema":{"type":"object","properties":{"enrolled":{"type":"boolean"},"pending":{"type":"boolean"},"mfaVerified":{"type":"boolean"},"lockedUntil":{"type":["string","null"],"format":"date-time"}}}}}},"401":{"description":"An active human session and, for enrollment, fresh verified identity are required."},"403":{"description":"Invalid/replayed code, unconfigured factor or cookie CSRF failure."},"409":{"description":"An existing active factor cannot be replaced."},"429":{"description":"MFA failed-attempt limit reached."},"503":{"description":"MFA is not configured or its encryption key is unavailable."}}}},"/api/v1/auth/mfa/enroll":{"post":{"summary":"Start authenticator enrollment after a fresh human sign-in","description":"Requires JSON content type. Cookie requests require same-origin Origin and X-Hirefast-Csrf. Seed/URI must be stored privately and are never returned after activation.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"},"description":"An authenticated human session; agent credentials are not accepted."}],"responses":{"200":{"description":"Pending setup; a valid code is required to activate.","content":{"application/json":{"schema":{"type":"object","properties":{"secret":{"type":"string"},"uri":{"type":"string"},"expiresAt":{"type":"string","format":"date-time"}}}}}},"401":{"description":"An active human session and, for enrollment, fresh verified identity are required."},"403":{"description":"Invalid/replayed code, unconfigured factor or cookie CSRF failure."},"409":{"description":"An existing active factor cannot be replaced."},"429":{"description":"MFA failed-attempt limit reached."},"503":{"description":"MFA is not configured or its encryption key is unavailable."}}}},"/api/v1/auth/mfa/verify":{"post":{"summary":"Activate or step up the current human session with a fresh TOTP code","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"},"description":"An authenticated human session; agent credentials are not accepted."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["code"],"properties":{"code":{"type":"string","pattern":"^[0-9]{6}$"}}}}}},"responses":{"200":{"description":"Current session verified for ten minutes.","content":{"application/json":{"schema":{"type":"object","properties":{"mfaVerified":{"const":true},"activated":{"type":"boolean"},"verifiedAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"}}}}}},"401":{"description":"An active human session and, for enrollment, fresh verified identity are required."},"403":{"description":"Invalid/replayed code, unconfigured factor or cookie CSRF failure."},"409":{"description":"An existing active factor cannot be replaced."},"429":{"description":"MFA failed-attempt limit reached."},"503":{"description":"MFA is not configured or its encryption key is unavailable."}}}},"/api/v1/payments/setup":{"post":{"operationId":"createPaymentSetup","summary":"Human buyer: create a hosted card setup session; no raw card fields are accepted.","parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"}},{"name":"X-Hirefast-CSRF","in":"header","required":false,"schema":{"type":"string"},"description":"Required for state changes authenticated with the session cookie."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Authenticated result. Sensitive payment responses are private and never cached.","content":{"application/json":{"schema":{"type":"object","required":["sessionId","url","expiresAt"],"properties":{"sessionId":{"type":"string"},"url":{"type":"string","format":"uri"},"expiresAt":{"type":"string","format":"date-time"}}}}}},"400":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"401":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"403":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"409":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"413":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"429":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"503":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}}}}},"/api/v1/payments/setup/complete":{"post":{"operationId":"completePaymentSetup","summary":"Human buyer: verify owned Checkout completion before saving its attached method.","parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"}},{"name":"X-Hirefast-CSRF","in":"header","required":false,"schema":{"type":"string"},"description":"Required for state changes authenticated with the session cookie."},{"name":"sessionId","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Authenticated result. Sensitive payment responses are private and never cached.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["paymentMethodReference"],"properties":{"paymentMethodReference":{"type":["string","null"]}}}}}},"400":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"401":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"403":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"409":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"413":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"429":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"503":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}}}}},"/api/v1/payments/method":{"get":{"operationId":"getOwnPaymentMethod","summary":"Human buyer: read the opaque saved method reference.","parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Authenticated result. Sensitive payment responses are private and never cached.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["paymentMethodReference"],"properties":{"paymentMethodReference":{"type":["string","null"]}}}}}},"400":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"401":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"403":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"409":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"413":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"429":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"503":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}}}}},"/api/v1/jobs/{jobId}/payment-method":{"get":{"operationId":"getJobPaymentMethod","summary":"Buyer or buyer-sponsored agent with an exact current job read grant: read the saved method reference.","parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"}},{"name":"X-Hirefast-Nonce","in":"header","required":false,"schema":{"type":"string"},"description":"A fresh nonce is required for every agent request; humans use an existing session."},{"name":"jobId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Authenticated result. Sensitive payment responses are private and never cached.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["paymentMethodReference"],"properties":{"paymentMethodReference":{"type":["string","null"]}}}}}},"400":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"401":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"403":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"409":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"413":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"429":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"503":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}}}}},"/api/v1/jobs/{jobId}/payment-authentication":{"get":{"operationId":"getJobPaymentAuthentication","summary":"Human buyer only: recover the existing unresolved PaymentIntent in an authenticated Stripe.js page. Never log or place clientSecret in a URL or agent context.","parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"}},{"name":"jobId","in":"path","required":true,"schema":{"type":"string"}},{"name":"paymentIntentId","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Authenticated result. Sensitive payment responses are private and never cached.","content":{"application/json":{"schema":{"type":"object","required":["paymentIntentId","clientSecret","publishableKey","amountMinor","currency","status","paymentMethodReference"],"properties":{"paymentIntentId":{"type":"string"},"clientSecret":{"type":"string"},"publishableKey":{"type":"string"},"amountMinor":{"type":"integer"},"currency":{"type":"string"},"status":{"type":"string"},"paymentMethodReference":{"type":["string","null"]}}}}}},"400":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"401":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"403":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"409":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"413":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"429":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"503":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}}}}},"/api/v1/payments/connect/onboarding":{"post":{"operationId":"createConnectOnboarding","summary":"Human provider: create or refresh an owned Connect onboarding link.","parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"}},{"name":"X-Hirefast-CSRF","in":"header","required":false,"schema":{"type":"string"},"description":"Required for state changes authenticated with the session cookie."}],"responses":{"200":{"description":"Authenticated result. Sensitive payment responses are private and never cached.","content":{"application/json":{"schema":{"type":"object","required":["accountId"],"properties":{"accountId":{"type":"string"},"onboardingUrl":{"type":"string","format":"uri"}}}}}},"400":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"401":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"403":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"409":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"413":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"429":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"503":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}}}}},"/api/v1/payments/connect/status":{"get":{"operationId":"getOwnPayoutStatus","summary":"Human provider: retrieve current provider payout eligibility; returning from onboarding is not proof of readiness.","parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Authenticated result. Sensitive payment responses are private and never cached.","content":{"application/json":{"schema":{"type":"object","properties":{"provider":{"type":"string"},"configured":{"type":"boolean"},"eligibleForPayouts":{"type":"boolean"},"note":{"type":"string"}}}}}},"400":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"401":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"403":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"409":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"413":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"429":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"503":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}}}}},"/api/v1/agent-credentials":{"post":{"operationId":"issueJobCredential","summary":"Human administrator with fresh verified MFA: issue a bounded sponsored-agent job credential. Write the returned credential to a protected file.","parameters":[{"name":"Authorization","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":"Issued or replayed credential; private, never cached.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"401":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"403":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"409":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"413":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"429":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"503":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["agentPrincipalId","expiresAt","scopes","grant"],"properties":{"agentPrincipalId":{"type":"string","format":"uuid"},"expiresAt":{"type":"string","format":"date-time"},"scopes":{"type":"array","maxItems":3,"items":{"enum":["BUY","WORK","OPERATE"]}},"grant":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"maxTotalMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"jobs":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"jobId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"agreementVersion":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"actions":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"string","enum":["read","invite","accept_agreement","accept_assignment","workspace","start","progress","evidence","submit","request_revision","respond_revision","approve","dispute","fund","settle","resolve_dispute","terminate","change_agreement","inspect","refund"]}},"maxAmountMinor":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["jobId","agreementVersion","actions","maxAmountMinor"],"additionalProperties":false}}},"required":["currency","maxTotalMinor","jobs"],"additionalProperties":false}}}}}}}},"/api/v1/agent-credentials/{credentialId}/revoke":{"post":{"operationId":"revokeJobCredential","summary":"Human administrator with fresh MFA: immediately revoke an agent credential.","parameters":[{"name":"Authorization","in":"header","required":true,"schema":{"type":"string"}},{"name":"credentialId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Authenticated result. Sensitive payment responses are private and never cached.","content":{"application/json":{"schema":{"type":"object","required":["accepted","credentialId"],"properties":{"accepted":{"const":true},"credentialId":{"type":"string","format":"uuid"}}}}}},"400":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"401":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"403":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"409":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"413":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"429":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"503":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}}}}},"/api/v1/agent-credentials/{credentialId}/budget-release":{"post":{"operationId":"releaseCredentialBudget","summary":"Human administrator with fresh MFA: release only a reservation proven to have no provider effect. Committed spending cannot be released.","parameters":[{"name":"Authorization","in":"header","required":true,"schema":{"type":"string"}},{"name":"credentialId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Authenticated result. Sensitive payment responses are private and never cached.","content":{"application/json":{"schema":{"type":"object","required":["accepted","credentialId"],"properties":{"accepted":{"const":true},"credentialId":{"type":"string","format":"uuid"}}}}}},"400":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"401":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"403":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"409":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"413":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"429":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"503":{"description":"Invalid, unauthorized, conflicting, limited, or unavailable request.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["operationId","confirmedNoEffect","evidenceReference"],"properties":{"operationId":{"type":"string","minLength":1,"maxLength":512},"confirmedNoEffect":{"const":true},"evidenceReference":{"type":"string","minLength":1,"maxLength":2000}}}}}}}},"/api/v1/jobs/{jobId}/agreements/{agreementVersion}/artifacts":{"get":{"operationId":"listJobArtifacts","summary":"List scoped private artifact metadata","parameters":[{"in":"path","name":"jobId","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"agreementVersion","required":true,"schema":{"type":"integer","minimum":1}},{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"X-Hirefast-Nonce","required":false,"schema":{"type":"string","minLength":16,"maxLength":128},"description":"Required for each service-credential HTTP attempt; use a fresh nonce."}],"responses":{"200":{"description":"Authorized metadata; no private bytes.","content":{"application/json":{"schema":{"type":"object","required":["artifacts"],"properties":{"artifacts":{"type":"array","items":{"type":"object","required":["id","jobId","agreementVersion","path","sha256","sizeBytes","state"],"properties":{"id":{"type":"string","format":"uuid"},"organizationId":{"type":"string","format":"uuid"},"jobId":{"type":"string","format":"uuid"},"agreementVersion":{"type":"integer","minimum":1},"principalId":{"type":"string","format":"uuid"},"workPackageHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"path":{"type":"string"},"mediaType":{"type":"string"},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"sizeBytes":{"type":"integer","minimum":0},"state":{"type":"string","enum":["pending","quarantined","ready","deleted"]},"createdAt":{"type":"string","format":"date-time"},"retainUntil":{"type":"string","format":"date-time"}}}}}}}}},"400":{"description":"Request denied, invalid artifact, stale agreement, or unavailable storage."},"401":{"description":"Request denied, invalid artifact, stale agreement, or unavailable storage."},"403":{"description":"Request denied, invalid artifact, stale agreement, or unavailable storage."},"404":{"description":"Request denied, invalid artifact, stale agreement, or unavailable storage."},"409":{"description":"Request denied, invalid artifact, stale agreement, or unavailable storage."},"413":{"description":"Request denied, invalid artifact, stale agreement, or unavailable storage."},"503":{"description":"Request denied, invalid artifact, stale agreement, or unavailable storage."}}},"post":{"operationId":"uploadJobArtifact","summary":"Upload and scan checksummed private bytes","parameters":[{"in":"path","name":"jobId","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"agreementVersion","required":true,"schema":{"type":"integer","minimum":1}},{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"X-Hirefast-Nonce","required":false,"schema":{"type":"string","minLength":16,"maxLength":128},"description":"Required for each service-credential HTTP attempt; use a fresh nonce."},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["path","mediaType","sha256","content"],"properties":{"path":{"type":"string","minLength":1,"maxLength":1024},"mediaType":{"type":"string","minLength":1,"maxLength":200},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"content":{"type":"string","format":"byte","description":"Canonical RFC4648 base64; bounded by deployment maximum object size."}}}}}},"responses":{"201":{"description":"Scanned ready artifact.","content":{"application/json":{"schema":{"type":"object","required":["artifact"],"properties":{"artifact":{"type":"object","required":["id","jobId","agreementVersion","path","sha256","sizeBytes","state"],"properties":{"id":{"type":"string","format":"uuid"},"organizationId":{"type":"string","format":"uuid"},"jobId":{"type":"string","format":"uuid"},"agreementVersion":{"type":"integer","minimum":1},"principalId":{"type":"string","format":"uuid"},"workPackageHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"path":{"type":"string"},"mediaType":{"type":"string"},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"sizeBytes":{"type":"integer","minimum":0},"state":{"type":"string","enum":["pending","quarantined","ready","deleted"]},"createdAt":{"type":"string","format":"date-time"},"retainUntil":{"type":"string","format":"date-time"}}}}}}}},"202":{"description":"Pending or quarantined artifact; not eligible for submission.","content":{"application/json":{"schema":{"type":"object","required":["artifact"],"properties":{"artifact":{"type":"object","required":["id","jobId","agreementVersion","path","sha256","sizeBytes","state"],"properties":{"id":{"type":"string","format":"uuid"},"organizationId":{"type":"string","format":"uuid"},"jobId":{"type":"string","format":"uuid"},"agreementVersion":{"type":"integer","minimum":1},"principalId":{"type":"string","format":"uuid"},"workPackageHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"path":{"type":"string"},"mediaType":{"type":"string"},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"sizeBytes":{"type":"integer","minimum":0},"state":{"type":"string","enum":["pending","quarantined","ready","deleted"]},"createdAt":{"type":"string","format":"date-time"},"retainUntil":{"type":"string","format":"date-time"}}}}}}}},"400":{"description":"Request denied, invalid artifact, stale agreement, or unavailable storage."},"401":{"description":"Request denied, invalid artifact, stale agreement, or unavailable storage."},"403":{"description":"Request denied, invalid artifact, stale agreement, or unavailable storage."},"404":{"description":"Request denied, invalid artifact, stale agreement, or unavailable storage."},"409":{"description":"Request denied, invalid artifact, stale agreement, or unavailable storage."},"413":{"description":"Request denied, invalid artifact, stale agreement, or unavailable storage."},"503":{"description":"Request denied, invalid artifact, stale agreement, or unavailable storage."}}}},"/api/v1/jobs/{jobId}/agreements/{agreementVersion}/artifacts/{artifactId}":{"get":{"operationId":"downloadJobArtifact","summary":"Read immutable private bytes from an authorized agreement","parameters":[{"in":"path","name":"jobId","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"agreementVersion","required":true,"schema":{"type":"integer","minimum":1}},{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"X-Hirefast-Nonce","required":false,"schema":{"type":"string","minLength":16,"maxLength":128},"description":"Required for each service-credential HTTP attempt; use a fresh nonce."},{"in":"path","name":"artifactId","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Verify response byte length and SHA-256 against the canonical submission before use.","headers":{"Cache-Control":{"schema":{"type":"string","const":"private, no-store"}}},"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Request denied, invalid artifact, stale agreement, or unavailable storage."},"401":{"description":"Request denied, invalid artifact, stale agreement, or unavailable storage."},"403":{"description":"Request denied, invalid artifact, stale agreement, or unavailable storage."},"404":{"description":"Request denied, invalid artifact, stale agreement, or unavailable storage."},"409":{"description":"Request denied, invalid artifact, stale agreement, or unavailable storage."},"413":{"description":"Request denied, invalid artifact, stale agreement, or unavailable storage."},"503":{"description":"Request denied, invalid artifact, stale agreement, or unavailable storage."}}},"delete":{"operationId":"deleteJobArtifact","summary":"Operator tombstones an artifact under retention policy","parameters":[{"in":"path","name":"jobId","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"agreementVersion","required":true,"schema":{"type":"integer","minimum":1}},{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"X-Hirefast-Nonce","required":false,"schema":{"type":"string","minLength":16,"maxLength":128},"description":"Required for each service-credential HTTP attempt; use a fresh nonce."},{"in":"path","name":"artifactId","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["reason"],"properties":{"reason":{"type":"string","minLength":1,"maxLength":1000}}}}}},"responses":{"200":{"description":"Tombstone retained for audit.","content":{"application/json":{"schema":{"type":"object","required":["artifact"],"properties":{"artifact":{"type":"object","required":["id","jobId","agreementVersion","path","sha256","sizeBytes","state"],"properties":{"id":{"type":"string","format":"uuid"},"organizationId":{"type":"string","format":"uuid"},"jobId":{"type":"string","format":"uuid"},"agreementVersion":{"type":"integer","minimum":1},"principalId":{"type":"string","format":"uuid"},"workPackageHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"path":{"type":"string"},"mediaType":{"type":"string"},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"sizeBytes":{"type":"integer","minimum":0},"state":{"type":"string","enum":["pending","quarantined","ready","deleted"]},"createdAt":{"type":"string","format":"date-time"},"retainUntil":{"type":"string","format":"date-time"}}}}}}}},"400":{"description":"Request denied, invalid artifact, stale agreement, or unavailable storage."},"401":{"description":"Request denied, invalid artifact, stale agreement, or unavailable storage."},"403":{"description":"Request denied, invalid artifact, stale agreement, or unavailable storage."},"404":{"description":"Request denied, invalid artifact, stale agreement, or unavailable storage."},"409":{"description":"Request denied, invalid artifact, stale agreement, or unavailable storage."},"413":{"description":"Request denied, invalid artifact, stale agreement, or unavailable storage."},"503":{"description":"Request denied, invalid artifact, stale agreement, or unavailable storage."}}}},"/api/v1/jobs/{jobId}/agreements/{agreementVersion}/artifacts/submissions":{"post":{"operationId":"bindJobArtifacts","summary":"Freeze private artifacts as a canonical job submission","description":"Job/agreement/revision is the immutable retry scope. Same content replays; changed content conflicts. Does not submit to marketplace or approve payment.","parameters":[{"in":"path","name":"jobId","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"agreementVersion","required":true,"schema":{"type":"integer","minimum":1}},{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"X-Hirefast-Nonce","required":false,"schema":{"type":"string","minLength":16,"maxLength":128},"description":"Required for each service-credential HTTP attempt; use a fresh nonce."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["artifacts","revision","syncCheckpoint"],"properties":{"artifacts":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"object","additionalProperties":false,"required":["id"],"properties":{"id":{"type":"string","format":"uuid"},"kind":{"type":"string","enum":["file","directory","pull_request","diff","citation","provenance","validation_result"]},"metadata":{"type":"object","additionalProperties":{"type":"string","maxLength":2000}}}}},"revision":{"type":"integer","minimum":1,"maximum":21},"syncCheckpoint":{"type":"string","pattern":"^[0-9a-f]{64}$"},"baseCommit":{"type":"string","pattern":"^[0-9a-f]{40,64}$"},"headCommit":{"type":"string","pattern":"^[0-9a-f]{40,64}$"}}}}}},"responses":{"201":{"description":"Canonical submission; use sha256:<submission.checksum> as marketplace packageRef.","content":{"application/json":{"schema":{"type":"object","required":["submission"],"properties":{"submission":{"type":"object","required":["checksum","workPackageHash","revision","entries"],"properties":{"checksum":{"type":"string","pattern":"^[0-9a-f]{64}$"},"workPackageHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"revision":{"type":"integer"},"entries":{"type":"array","items":{"type":"object"}}}}}}}}},"400":{"description":"Request denied, invalid artifact, stale agreement, or unavailable storage."},"401":{"description":"Request denied, invalid artifact, stale agreement, or unavailable storage."},"403":{"description":"Request denied, invalid artifact, stale agreement, or unavailable storage."},"404":{"description":"Request denied, invalid artifact, stale agreement, or unavailable storage."},"409":{"description":"Request denied, invalid artifact, stale agreement, or unavailable storage."},"413":{"description":"Request denied, invalid artifact, stale agreement, or unavailable storage."},"503":{"description":"Request denied, invalid artifact, stale agreement, or unavailable storage."}}}},"/api/v1/jobs/{jobId}/agreements/{version}/inputs":{"get":{"operationId":"getJobInputManifest","summary":"Read the full canonical v2 work package, input manifest, exact parties and current authority binding after both parties accept.","description":"Requires the current accepted, funded, started or revision_requested agreement. Returns jobId, agreementVersion, buyerPrincipalId, providerPrincipalId, workPackageHash, workPackage, inputManifest and binding (organizationId, principalId, principalKind, expectedState). No source URLs or bucket keys.","parameters":[{"name":"Authorization","in":"header","required":true,"schema":{"type":"string"},"description":"Bearer provider worker AGENT credential with current WORK, read and workspace job grants."},{"name":"X-Hirefast-Nonce","in":"header","required":true,"schema":{"type":"string"},"description":"A fresh unique nonce for every read; never reuse it."},{"name":"jobId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"version","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Owned input bundle/object/manifest response; no S3 URL or storage key."},"400":{"description":"Request rejected or feature/storage unavailable."},"401":{"description":"Request rejected or feature/storage unavailable."},"403":{"description":"Request rejected or feature/storage unavailable."},"404":{"description":"Request rejected or feature/storage unavailable."},"408":{"description":"Request rejected or feature/storage unavailable."},"409":{"description":"Request rejected or feature/storage unavailable."},"413":{"description":"Request rejected or feature/storage unavailable."},"415":{"description":"Request rejected or feature/storage unavailable."},"429":{"description":"Request rejected or feature/storage unavailable."},"503":{"description":"Request rejected or feature/storage unavailable."}}}},"/api/v1/jobs/{jobId}/agreements/{version}/inputs/{objectId}":{"get":{"operationId":"downloadJobInputObject","summary":"Read only a ready exact object version selected by the current accepted input manifest.","parameters":[{"name":"Authorization","in":"header","required":true,"schema":{"type":"string"},"description":"Bearer provider worker AGENT credential with current WORK, read and workspace job grants."},{"name":"X-Hirefast-Nonce","in":"header","required":true,"schema":{"type":"string"},"description":"A fresh unique nonce for every read; never reuse it."},{"name":"jobId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"version","in":"path","required":true,"schema":{"type":"integer","minimum":1}},{"name":"objectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Verified private attachment bytes. Content-Length is the exact manifest size; ETag is the quoted SHA256. Reauthorize on every object read.","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Request rejected or feature/storage unavailable."},"401":{"description":"Request rejected or feature/storage unavailable."},"403":{"description":"Request rejected or feature/storage unavailable."},"404":{"description":"Request rejected or feature/storage unavailable."},"408":{"description":"Request rejected or feature/storage unavailable."},"409":{"description":"Request rejected or feature/storage unavailable."},"413":{"description":"Request rejected or feature/storage unavailable."},"415":{"description":"Request rejected or feature/storage unavailable."},"429":{"description":"Request rejected or feature/storage unavailable."},"503":{"description":"Request rejected or feature/storage unavailable."}}}},"/api/v1/inputs/bundles":{"post":{"operationId":"createInputBundle","summary":"Create or replay an owned draft input bundle; feature disabled by default.","parameters":[{"name":"Authorization","in":"header","required":true,"schema":{"type":"string"},"description":"Bearer human session only, including a downloaded native session whose parent remains active. No service nonce or cookie authentication."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128},"description":"Retain the same key and body after an uncertain response. Never automatically replace a key."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}}}},"responses":{"201":{"description":"Owned input bundle/object/manifest response; no S3 URL or storage key."},"400":{"description":"Request rejected or feature/storage unavailable."},"401":{"description":"Request rejected or feature/storage unavailable."},"403":{"description":"Request rejected or feature/storage unavailable."},"404":{"description":"Request rejected or feature/storage unavailable."},"408":{"description":"Request rejected or feature/storage unavailable."},"409":{"description":"Request rejected or feature/storage unavailable."},"413":{"description":"Request rejected or feature/storage unavailable."},"415":{"description":"Request rejected or feature/storage unavailable."},"429":{"description":"Request rejected or feature/storage unavailable."},"503":{"description":"Request rejected or feature/storage unavailable."}}}},"/api/v1/inputs/bundles/{bundleId}":{"get":{"operationId":"getInputBundle","summary":"Read only the human owner’s bundle and bounded object inventory.","parameters":[{"name":"Authorization","in":"header","required":true,"schema":{"type":"string"},"description":"Bearer human session only, including a downloaded native session whose parent remains active. No service nonce or cookie authentication."},{"name":"bundleId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Owned input bundle/object/manifest response; no S3 URL or storage key."},"400":{"description":"Request rejected or feature/storage unavailable."},"401":{"description":"Request rejected or feature/storage unavailable."},"403":{"description":"Request rejected or feature/storage unavailable."},"404":{"description":"Request rejected or feature/storage unavailable."},"408":{"description":"Request rejected or feature/storage unavailable."},"409":{"description":"Request rejected or feature/storage unavailable."},"413":{"description":"Request rejected or feature/storage unavailable."},"415":{"description":"Request rejected or feature/storage unavailable."},"429":{"description":"Request rejected or feature/storage unavailable."},"503":{"description":"Request rejected or feature/storage unavailable."}}}},"/api/v1/inputs/bundles/{bundleId}/objects":{"post":{"operationId":"uploadInputObject","summary":"Upload at most10MiB canonical Base64 bytes into a draft. Only trusted scanning yields ready objects; exact S3 versions remain bound.","parameters":[{"name":"Authorization","in":"header","required":true,"schema":{"type":"string"},"description":"Bearer human session only, including a downloaded native session whose parent remains active. No service nonce or cookie authentication."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128},"description":"Retain the same key and body after an uncertain response. Never automatically replace a key."},{"name":"bundleId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":1024},"mediaType":{"type":"string","maxLength":200,"pattern":"^[a-zA-Z0-9!#$&^_.+-]+\\/[a-zA-Z0-9!#$&^_.+-]+$"},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"content":{"type":"string","maxLength":13981016}},"required":["path","mediaType","sha256","content"],"additionalProperties":false}}}},"responses":{"201":{"description":"Owned input bundle/object/manifest response; no S3 URL or storage key."},"400":{"description":"Request rejected or feature/storage unavailable."},"401":{"description":"Request rejected or feature/storage unavailable."},"403":{"description":"Request rejected or feature/storage unavailable."},"404":{"description":"Request rejected or feature/storage unavailable."},"408":{"description":"Request rejected or feature/storage unavailable."},"409":{"description":"Request rejected or feature/storage unavailable."},"413":{"description":"Request rejected or feature/storage unavailable."},"415":{"description":"Request rejected or feature/storage unavailable."},"429":{"description":"Request rejected or feature/storage unavailable."},"503":{"description":"Request rejected or feature/storage unavailable."}}}},"/api/v1/inputs/bundles/{bundleId}/seal":{"post":{"operationId":"sealInputBundle","summary":"Seal exact ready object IDs into an immutable checksummed input manifest; pending/quarantined objects cannot be sealed.","parameters":[{"name":"Authorization","in":"header","required":true,"schema":{"type":"string"},"description":"Bearer human session only, including a downloaded native session whose parent remains active. No service nonce or cookie authentication."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128},"description":"Retain the same key and body after an uncertain response. Never automatically replace a key."},{"name":"bundleId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"objectIds":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"}}},"required":["objectIds"],"additionalProperties":false}}}},"responses":{"200":{"description":"Owned input bundle/object/manifest response; no S3 URL or storage key."},"400":{"description":"Request rejected or feature/storage unavailable."},"401":{"description":"Request rejected or feature/storage unavailable."},"403":{"description":"Request rejected or feature/storage unavailable."},"404":{"description":"Request rejected or feature/storage unavailable."},"408":{"description":"Request rejected or feature/storage unavailable."},"409":{"description":"Request rejected or feature/storage unavailable."},"413":{"description":"Request rejected or feature/storage unavailable."},"415":{"description":"Request rejected or feature/storage unavailable."},"429":{"description":"Request rejected or feature/storage unavailable."},"503":{"description":"Request rejected or feature/storage unavailable."}}}},"/":{"get":{"operationId":"getHome","summary":"Return the human web application shell.","responses":{"200":{"description":"The server-rendered Hirefast application shell.","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/how-it-works":{"get":{"operationId":"getHowItWorks","summary":"Return the Hirefast How it works page.","responses":{"200":{"description":"Server-rendered public product information.","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/pricing":{"get":{"operationId":"getPricing","summary":"Return the Hirefast Pricing page.","responses":{"200":{"description":"Server-rendered public product information.","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/developers":{"get":{"operationId":"getDevelopers","summary":"Return the Hirefast Developers page.","responses":{"200":{"description":"Server-rendered public product information.","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/health":{"get":{"operationId":"getHealth","summary":"Report process liveness.","responses":{"200":{"description":"The process is alive.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["status"],"properties":{"status":{"const":"ok"}}}}}}}}},"/metrics":{"get":{"operationId":"getMetrics","summary":"Return process metrics in Prometheus text format.","responses":{"200":{"description":"Prometheus text-format metrics.","content":{"text/plain; version=0.0.4":{"schema":{"type":"string"}}}}}}},"/ready":{"get":{"operationId":"getReadiness","summary":"Report dependency readiness.","responses":{"200":{"description":"Required dependencies are ready.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["status"],"properties":{"status":{"const":"ready"}}}}}},"503":{"description":"A required dependency is unavailable.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["status"],"properties":{"status":{"const":"not_ready"}}}}}}}}},"/version":{"get":{"operationId":"getVersion","summary":"Return package identity and version.","responses":{"200":{"description":"Current package identity.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["name","version"],"properties":{"name":{"const":"@hasna-products/hirefast"},"version":{"type":"string"}}}}}}}}},"/openapi.json":{"get":{"operationId":"getOpenApi","summary":"Return this OpenAPI document.","responses":{"200":{"description":"The current OpenAPI document.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/system":{"get":{"operationId":"getSystem","summary":"Return the API and package identity.","responses":{"200":{"description":"Current system identity.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["apiVersion","name","product","version"],"properties":{"apiVersion":{"const":"v1"},"name":{"const":"@hasna-products/hirefast"},"product":{"const":"Hirefast"},"version":{"type":"string"}}}}}}}}},"/api/v1/auth/me":{"get":{"operationId":"getCurrentIdentity","summary":"Authenticate a human session or sponsored service credential.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"X-Hirefast-Nonce","required":false,"schema":{"type":"string","minLength":16,"maxLength":128},"description":"Required when authenticating a service credential."}],"responses":{"200":{"description":"The authenticated principal and bounded authorization grant.","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"503":{"description":"Identity authentication is not configured.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/inspections/submissions":{"post":{"operationId":"createInspectionSubmission","summary":"Record a work submission against an exact job and agreement version.","parameters":[{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["jobId","agreementVersion","providerPrincipalId","deliverableKind","deliverableContent","deliverableHash","workPackageHash","provenance","checks"],"properties":{"jobId":{"type":"string"},"agreementVersion":{"type":"integer","minimum":1},"providerPrincipalId":{"type":"string"},"deliverableKind":{"type":"string"},"deliverableContent":{"type":"string"},"deliverableHash":{"type":"string"},"workPackageHash":{"type":"string"},"provenance":{"type":"object","additionalProperties":false,"required":["repository","commit","author"],"properties":{"repository":{"type":"string"},"commit":{"type":"string"},"author":{"type":"string"}}},"checks":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["id","pass"],"properties":{"id":{"type":"string"},"pass":{"type":"boolean"},"evidenceHash":{"type":"string"}}}},"revisionNumber":{"type":"integer","minimum":0}}}}}},"responses":{"201":{"description":"The submission was recorded or replayed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["id","jobId","agreementVersion","submittedAt"],"properties":{"id":{"type":"string"},"jobId":{"type":"string"},"agreementVersion":{"type":"integer"},"submittedAt":{"type":"string"}}}}}},"400":{"description":"Invalid submission.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Not the provider or a sponsored worker.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/inspections/submissions/{submissionId}":{"get":{"operationId":"getInspectionSubmission","summary":"Return one submission record by id.","parameters":[{"in":"path","name":"submissionId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The submission record.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["id","jobId","agreementVersion"],"properties":{"id":{"type":"string"},"jobId":{"type":"string"},"agreementVersion":{"type":"integer"}}}}}},"404":{"description":"Submission not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/inspections/submissions/{submissionId}/receipt":{"post":{"operationId":"inspectSubmission","summary":"Inspect a submission as an independent inspector and issue a signed acceptance receipt.","parameters":[{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}},{"in":"path","name":"submissionId","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["verificationReport"],"properties":{"verificationReport":{"type":"object","additionalProperties":false,"required":["payload","signature"],"properties":{"payload":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"version":{"type":"number","const":1},"keyId":{"type":"string","minLength":1,"maxLength":128},"inspectorPrincipalId":{"type":"string","minLength":1,"maxLength":128},"jobId":{"type":"string","minLength":1,"maxLength":128},"submissionId":{"type":"string","minLength":1,"maxLength":128},"agreementVersion":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"workPackageHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"manifestHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"deliverableHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"provenanceHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"provenanceVerified":{"type":"boolean"},"checkedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"checks":{"maxItems":256,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":200},"pass":{"type":"boolean"},"evidenceHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"evidenceReference":{"type":"string","minLength":1,"maxLength":1024}},"required":["id","pass","evidenceHash","evidenceReference"],"additionalProperties":false}}},"required":["version","keyId","inspectorPrincipalId","jobId","submissionId","agreementVersion","workPackageHash","manifestHash","deliverableHash","provenanceHash","provenanceVerified","checkedAt","checks"],"additionalProperties":false},"signature":{"type":"string","description":"Ed25519 signature from the separately trusted independent inspector."}}}}}}}},"responses":{"201":{"description":"The signed acceptance receipt.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["receiptId","submissionId","decision","signature"],"properties":{"receiptId":{"type":"string"},"submissionId":{"type":"string"},"decision":{"type":"string"},"signature":{"type":"string"}}}}}},"403":{"description":"Not an independent inspector.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"The submission was already inspected.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}},"get":{"operationId":"getInspectionReceipt","summary":"Return the acceptance receipt of one submission.","parameters":[{"in":"path","name":"submissionId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The acceptance receipt.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["receiptId","submissionId","decision","signature"],"properties":{"receiptId":{"type":"string"},"submissionId":{"type":"string"},"decision":{"type":"string"},"signature":{"type":"string"}}}}}},"404":{"description":"Receipt not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/inspections/submissions/{submissionId}/deliverable":{"post":{"operationId":"recordInspectionDeliverable","summary":"Record the immutable deliverable of an accepted submission.","parameters":[{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}},{"in":"path","name":"submissionId","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":"The immutable deliverable record.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["id","submissionId","contentHash"],"properties":{"id":{"type":"string"},"submissionId":{"type":"string"},"contentHash":{"type":"string"}}}}}},"403":{"description":"Not the inspecting agent or platform.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"Not accepted or already recorded.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}},"get":{"operationId":"getInspectionDeliverable","summary":"Return the immutable deliverable record of one submission.","parameters":[{"in":"path","name":"submissionId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The deliverable record.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["id","submissionId","contentHash"],"properties":{"id":{"type":"string"},"submissionId":{"type":"string"},"contentHash":{"type":"string"}}}}}},"404":{"description":"Deliverable not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/inspections/submissions/{submissionId}/evidence":{"post":{"operationId":"recordInspectionEvidence","summary":"Record an immutable evidence row bound to a submission.","parameters":[{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}},{"in":"path","name":"submissionId","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["kind","content"],"properties":{"kind":{"type":"string"},"content":{"type":"string"}}}}}},"responses":{"201":{"description":"The immutable evidence record.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["id","submissionId","contentHash"],"properties":{"id":{"type":"string"},"submissionId":{"type":"string"},"contentHash":{"type":"string"}}}}}},"403":{"description":"Not the inspecting agent or platform.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/jobs/{jobId}/inspections/manifest":{"get":{"operationId":"getInspectionManifest","summary":"Read the authoritative current agreement manifest for independent inspection.","description":"Requires authenticated job read authorization and a fresh nonce for agent credentials. The returned hashes and frozen terms are authoritative; clients must not reconstruct them.","parameters":[{"in":"path","name":"jobId","required":true,"schema":{"type":"string"}},{"in":"query","name":"agreementVersion","required":false,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Canonical WorkPackageManifest envelope.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["jobId","agreementVersion","buyerPrincipalId","providerPrincipalId","workPackage","acceptanceManifest","manifestHash","workPackageHash"],"properties":{"jobId":{"type":"string"},"agreementVersion":{"type":"integer","minimum":1},"buyerPrincipalId":{"type":"string"},"providerPrincipalId":{"type":"string"},"workPackage":{"type":"object","additionalProperties":true},"acceptanceManifest":{"type":"object","additionalProperties":true},"manifestHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"workPackageHash":{"type":"string","pattern":"^[0-9a-f]{64}$"}}}}}},"400":{"description":"Invalid version.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Job read authorization required.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"Requested agreement is no longer current.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/jobs/{jobId}/inspections/submissions":{"get":{"operationId":"listInspectionSubmissions","summary":"List submissions bound to a job.","parameters":[{"in":"path","name":"jobId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The submissions of the job.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["id","jobId","agreementVersion"],"properties":{"id":{"type":"string"},"jobId":{"type":"string"},"agreementVersion":{"type":"integer"}}}}}}}}}},"/api/v1/jobs/{jobId}/inspections/receipts":{"get":{"operationId":"listInspectionReceipts","summary":"List acceptance receipts bound to a job.","parameters":[{"in":"path","name":"jobId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The receipts of the job.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["receiptId","submissionId","decision"],"properties":{"receiptId":{"type":"string"},"submissionId":{"type":"string"},"decision":{"type":"string"}}}}}}}}}},"/api/v1/jobs/{jobId}/inspections/deliverables":{"get":{"operationId":"listInspectionDeliverables","summary":"List immutable deliverable records bound to a job.","parameters":[{"in":"path","name":"jobId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The deliverables of the job.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["id","submissionId","contentHash"],"properties":{"id":{"type":"string"},"submissionId":{"type":"string"},"contentHash":{"type":"string"}}}}}}}}}},"/api/v1/jobs/{jobId}/inspections/evidence":{"get":{"operationId":"listInspectionEvidence","summary":"List immutable evidence records bound to a job.","parameters":[{"in":"path","name":"jobId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The evidence of the job.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["id","submissionId","contentHash"],"properties":{"id":{"type":"string"},"submissionId":{"type":"string"},"contentHash":{"type":"string"}}}}}}}}}},"/api/v1/idempotency/echo":{"post":{"operationId":"createIdempotencyEcho","summary":"Exercise the API idempotency boundary.","parameters":[{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"type":"string","minLength":1,"maxLength":1024}}}}}},"responses":{"201":{"description":"The request was accepted or replayed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["accepted","value"],"properties":{"accepted":{"const":true},"value":{"type":"string"}}}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"The idempotency key conflicts with a prior request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/jobs":{"post":{"operationId":"createJob","summary":"Create a fixed-price job with a repository or knowledge package selection.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"X-Hirefast-Nonce","required":false,"schema":{"type":"string","minLength":16,"maxLength":128},"description":"Required when authenticating a service credential."},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["providerPrincipalId","package","workPackage","acceptanceManifest","priceMinor","currency","deadlineAt","inspectionWindowSeconds","revisionLimit","platformFeeBps","cancellationTerms"],"properties":{"providerPrincipalId":{"type":"string","minLength":1,"maxLength":128},"package":{"oneOf":[{"type":"object","additionalProperties":false,"required":["kind","repository","ref"],"properties":{"kind":{"const":"repository"},"repository":{"type":"string","minLength":1,"maxLength":512},"ref":{"type":"string","minLength":1,"maxLength":256}}},{"type":"object","additionalProperties":false,"required":["kind","sources"],"properties":{"kind":{"const":"knowledge"},"sources":{"type":"array","minItems":1,"maxItems":32,"items":{"type":"string","minLength":1,"maxLength":512}}}}]},"workPackage":{"type":"object","additionalProperties":true,"description":"Canonical versioned work-package definition, required by the paid runtime. Repository baseRef and package.ref must name the same immutable commit."},"acceptanceManifest":{"type":"object","additionalProperties":true},"priceMinor":{"type":"integer","exclusiveMinimum":0},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"deadlineAt":{"type":"string"},"inspectionWindowSeconds":{"type":"integer","minimum":1,"maximum":31536000},"revisionLimit":{"type":"integer","minimum":0,"maximum":20},"platformFeeBps":{"type":"integer","minimum":0,"maximum":10000},"cancellationTerms":{"type":"object","additionalProperties":true}}}}}},"responses":{"201":{"description":"The job was created or replayed.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"404":{"description":"Resource not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"Conflict (state or idempotency).","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"503":{"description":"Required dependency is not configured.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/jobs/{jobId}/invite":{"post":{"operationId":"inviteProvider","summary":"Invite the job provider to a draft job.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"X-Hirefast-Nonce","required":false,"schema":{"type":"string","minLength":16,"maxLength":128},"description":"Required when authenticating a service credential."},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}},{"in":"path","name":"jobId","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{}}}}},"responses":{"200":{"description":"The mutation completed or replayed.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"404":{"description":"Resource not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"Conflict (state or idempotency).","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"503":{"description":"Required dependency is not configured.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/jobs/{jobId}/agreement":{"post":{"operationId":"acceptAgreement","summary":"Accept the frozen agreement on the buyer side.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"X-Hirefast-Nonce","required":false,"schema":{"type":"string","minLength":16,"maxLength":128},"description":"Required when authenticating a service credential."},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}},{"in":"path","name":"jobId","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{}}}}},"responses":{"200":{"description":"The mutation completed or replayed.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"404":{"description":"Resource not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"Conflict (state or idempotency).","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"503":{"description":"Required dependency is not configured.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/jobs/{jobId}/fund":{"post":{"operationId":"fundJob","summary":"Fund the exact job amount before work starts.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"X-Hirefast-Nonce","required":false,"schema":{"type":"string","minLength":16,"maxLength":128},"description":"Required when authenticating a service credential."},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}},{"in":"path","name":"jobId","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"paymentMethodReference":{"type":"string","minLength":1,"maxLength":256}}}}}},"responses":{"200":{"description":"The mutation completed or replayed.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"404":{"description":"Resource not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"Conflict (state or idempotency).","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"503":{"description":"Required dependency is not configured.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/jobs/{jobId}/cancel":{"post":{"operationId":"cancelJob","summary":"Cancel the job; a funded job is refunded.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"X-Hirefast-Nonce","required":false,"schema":{"type":"string","minLength":16,"maxLength":128},"description":"Required when authenticating a service credential."},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}},{"in":"path","name":"jobId","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"reason":{"type":"string","minLength":1,"maxLength":2000}}}}}},"responses":{"200":{"description":"The mutation completed or replayed.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"404":{"description":"Resource not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"Conflict (state or idempotency).","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"503":{"description":"Required dependency is not configured.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/jobs/{jobId}":{"get":{"operationId":"observeJob","summary":"Observe the full job, workspace, and audit state.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"X-Hirefast-Nonce","required":false,"schema":{"type":"string","minLength":16,"maxLength":128},"description":"Required when authenticating a service credential."},{"in":"path","name":"jobId","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"responses":{"200":{"description":"The requested resource.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"404":{"description":"Resource not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"Conflict (state or idempotency).","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"503":{"description":"Required dependency is not configured.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/jobs/{jobId}/revisions":{"post":{"operationId":"requestRevision","summary":"Request a bounded revision of the submitted work package.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"X-Hirefast-Nonce","required":false,"schema":{"type":"string","minLength":16,"maxLength":128},"description":"Required when authenticating a service credential."},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}},{"in":"path","name":"jobId","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"feedback":{"type":"string","minLength":1,"maxLength":2000}}}}}},"responses":{"200":{"description":"The revision request was recorded or replayed.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"404":{"description":"Resource not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"Conflict (state or idempotency).","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"503":{"description":"Required dependency is not configured.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/jobs/{jobId}/approve":{"post":{"operationId":"approveJob","summary":"Explicitly approve the submitted work.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"X-Hirefast-Nonce","required":false,"schema":{"type":"string","minLength":16,"maxLength":128},"description":"Required when authenticating a service credential."},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}},{"in":"path","name":"jobId","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{}}}}},"responses":{"200":{"description":"The mutation completed or replayed.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"404":{"description":"Resource not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"Conflict (state or idempotency).","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"503":{"description":"Required dependency is not configured.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/jobs/{jobId}/dispute":{"post":{"operationId":"disputeJob","summary":"Dispute the job and hold funds until resolution.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"X-Hirefast-Nonce","required":false,"schema":{"type":"string","minLength":16,"maxLength":128},"description":"Required when authenticating a service credential."},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}},{"in":"path","name":"jobId","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"reason":{"type":"string","minLength":1,"maxLength":2000}}}}}},"responses":{"200":{"description":"The dispute was recorded or replayed.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"404":{"description":"Resource not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"Conflict (state or idempotency).","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"503":{"description":"Required dependency is not configured.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/jobs/{jobId}/receipt":{"get":{"operationId":"getJobReceipt","summary":"Obtain a deterministic settlement or audit receipt.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"X-Hirefast-Nonce","required":false,"schema":{"type":"string","minLength":16,"maxLength":128},"description":"Required when authenticating a service credential."},{"in":"path","name":"jobId","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}},{"in":"query","name":"kind","required":false,"schema":{"type":"string","enum":["settlement","audit"]}}],"responses":{"200":{"description":"The requested receipt.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"404":{"description":"Resource not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"Conflict (state or idempotency).","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"503":{"description":"Required dependency is not configured.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/worker/jobs":{"get":{"operationId":"listAssignedJobs","summary":"List the jobs assigned to the authenticated provider or worker agent.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"X-Hirefast-Nonce","required":false,"schema":{"type":"string","minLength":16,"maxLength":128},"description":"Required when authenticating a service credential."}],"responses":{"200":{"description":"The assigned jobs with their workspace state.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"404":{"description":"Resource not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"Conflict (state or idempotency).","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"503":{"description":"Required dependency is not configured.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/worker/jobs/{jobId}":{"get":{"operationId":"getWorkerJob","summary":"Obtain a job view with authenticated principal and reviewed agreement/state binding.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"X-Hirefast-Nonce","required":false,"schema":{"type":"string","minLength":16,"maxLength":128},"description":"Required when authenticating a service credential."},{"in":"path","name":"jobId","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"responses":{"200":{"description":"The worker job view.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"404":{"description":"Resource not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"Conflict (state or idempotency).","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"503":{"description":"Required dependency is not configured.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/worker/jobs/{jobId}/execution-authorization":{"get":{"operationId":"authorizeWorkerExecution","summary":"Read current started/revision work binding after AGENT WORK, provider affiliation and read/workspace grant checks. No domain mutation.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"X-Hirefast-Nonce","required":false,"schema":{"type":"string","minLength":16,"maxLength":128},"description":"Required when authenticating a service credential."},{"in":"path","name":"jobId","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"responses":{"200":{"description":"Authorized execution job binding; poll while supervising trusted local work.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"404":{"description":"Resource not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"Conflict (state or idempotency).","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"503":{"description":"Required dependency is not configured.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/worker/jobs/{jobId}/sync":{"post":{"operationId":"syncWorkerWorkspace","summary":"Upload a job workspace snapshot from the worker CLI and record a sync receipt.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"X-Hirefast-Nonce","required":false,"schema":{"type":"string","minLength":16,"maxLength":128},"description":"Required when authenticating a service credential."},{"in":"path","name":"jobId","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}},{"in":"header","name":"Idempotency-Key","required":false,"schema":{"type":"string","minLength":1,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["files","jobId","manifestHash","workspaceId"],"properties":{"files":{"type":"array","minItems":1,"maxItems":1024,"items":{"type":"object","additionalProperties":false,"required":["content","mtimeMs","path","sha256","size"],"properties":{"content":{"type":"string","minLength":1,"maxLength":22369622},"mtimeMs":{"type":"number","minimum":0},"path":{"type":"string","minLength":1,"maxLength":1024},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"size":{"type":"integer","minimum":0,"maximum":16777216}}}},"jobId":{"type":"string","minLength":1,"maxLength":128},"manifestHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"workspaceId":{"type":"string","minLength":1,"maxLength":128},"expectedState":{"type":"object","additionalProperties":false,"required":["agreementVersion","termsHash","status","submissionSequence","revisionsUsed"],"properties":{"agreementVersion":{"type":"integer","minimum":1},"termsHash":{"type":"string","pattern":"^[a-f0-9]{64}$"},"status":{"type":"string","enum":["draft","offered","accepted","funded","started","submitted","revision_requested","approved","settled","cancelled","disputed","terminated"]},"submissionSequence":{"type":["integer","null"],"minimum":1},"revisionsUsed":{"type":"integer","minimum":0}}}}}}}},"responses":{"200":{"description":"The sync receipt.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"404":{"description":"Resource not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"Conflict (state or idempotency).","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"503":{"description":"Required dependency is not configured.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/worker/jobs/{jobId}/progress":{"post":{"operationId":"reportWorkerProgress","summary":"Record a worker progress event for an assigned job workspace.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"X-Hirefast-Nonce","required":false,"schema":{"type":"string","minLength":16,"maxLength":128},"description":"Required when authenticating a service credential."},{"in":"path","name":"jobId","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}},{"in":"header","name":"Idempotency-Key","required":false,"schema":{"type":"string","minLength":1,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["at","event","jobId","workspaceId"],"properties":{"at":{"type":"string"},"event":{"type":"string","enum":["started","submitted","revision_requested","approved","blocked","resumed"]},"jobId":{"type":"string","minLength":1,"maxLength":128},"note":{"type":"string","minLength":1,"maxLength":2000},"workspaceId":{"type":"string","minLength":1,"maxLength":128},"expectedState":{"type":"object","additionalProperties":false,"required":["agreementVersion","termsHash","status","submissionSequence","revisionsUsed"],"properties":{"agreementVersion":{"type":"integer","minimum":1},"termsHash":{"type":"string","pattern":"^[a-f0-9]{64}$"},"status":{"type":"string","enum":["draft","offered","accepted","funded","started","submitted","revision_requested","approved","settled","cancelled","disputed","terminated"]},"submissionSequence":{"type":["integer","null"],"minimum":1},"revisionsUsed":{"type":"integer","minimum":0}}}}}}}},"responses":{"200":{"description":"The progress receipt.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"404":{"description":"Resource not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"Conflict (state or idempotency).","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"503":{"description":"Required dependency is not configured.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/jobs/{jobId}/accept":{"post":{"operationId":"acceptAssignment","summary":"Accept the assigned job on behalf of the accountable human.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"X-Hirefast-Nonce","required":false,"schema":{"type":"string","minLength":16,"maxLength":128},"description":"Required when authenticating a service credential."},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}},{"in":"path","name":"jobId","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{}}}}},"responses":{"200":{"description":"The mutation completed or replayed.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"404":{"description":"Resource not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"Conflict (state or idempotency).","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"503":{"description":"Required dependency is not configured.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/jobs/{jobId}/workspace":{"post":{"operationId":"materializeWorkspace","summary":"Materialize or resume the job's isolated workspace.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"X-Hirefast-Nonce","required":false,"schema":{"type":"string","minLength":16,"maxLength":128},"description":"Required when authenticating a service credential."},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}},{"in":"path","name":"jobId","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{}}}}},"responses":{"200":{"description":"The mutation completed or replayed.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"404":{"description":"Resource not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"Conflict (state or idempotency).","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"503":{"description":"Required dependency is not configured.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/jobs/{jobId}/start":{"post":{"operationId":"startWork","summary":"Start work on a funded job.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"X-Hirefast-Nonce","required":false,"schema":{"type":"string","minLength":16,"maxLength":128},"description":"Required when authenticating a service credential."},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}},{"in":"path","name":"jobId","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{}}}}},"responses":{"200":{"description":"The mutation completed or replayed.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"404":{"description":"Resource not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"Conflict (state or idempotency).","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"503":{"description":"Required dependency is not configured.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/jobs/{jobId}/progress":{"post":{"operationId":"reportProgress","summary":"Report progress from the job workspace.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"X-Hirefast-Nonce","required":false,"schema":{"type":"string","minLength":16,"maxLength":128},"description":"Required when authenticating a service credential."},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}},{"in":"path","name":"jobId","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["note"],"properties":{"note":{"type":"string","minLength":1,"maxLength":2000}}}}}},"responses":{"200":{"description":"The mutation completed or replayed.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"404":{"description":"Resource not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"Conflict (state or idempotency).","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"503":{"description":"Required dependency is not configured.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/jobs/{jobId}/evidence":{"post":{"operationId":"syncEvidence","summary":"Sync evidence references from the job workspace.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"X-Hirefast-Nonce","required":false,"schema":{"type":"string","minLength":16,"maxLength":128},"description":"Required when authenticating a service credential."},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}},{"in":"path","name":"jobId","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["refs"],"properties":{"refs":{"type":"array","minItems":1,"maxItems":32,"items":{"type":"string","minLength":1,"maxLength":512}}}}}}},"responses":{"200":{"description":"The mutation completed or replayed.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"404":{"description":"Resource not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"Conflict (state or idempotency).","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"503":{"description":"Required dependency is not configured.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/jobs/{jobId}/submissions":{"post":{"operationId":"submitPackage","summary":"Submit a versioned work package from the job workspace.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"X-Hirefast-Nonce","required":false,"schema":{"type":"string","minLength":16,"maxLength":128},"description":"Required when authenticating a service credential."},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}},{"in":"path","name":"jobId","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["packageRef"],"properties":{"packageRef":{"type":"string","minLength":1,"maxLength":512},"manifestChecks":{"type":"object","additionalProperties":true}}}}}},"responses":{"200":{"description":"The mutation completed or replayed.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"404":{"description":"Resource not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"Conflict (state or idempotency).","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"503":{"description":"Required dependency is not configured.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/jobs/{jobId}/revision-response":{"post":{"operationId":"respondToRevision","summary":"Respond to a revision request and resubmit the work package.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"X-Hirefast-Nonce","required":false,"schema":{"type":"string","minLength":16,"maxLength":128},"description":"Required when authenticating a service credential."},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}},{"in":"path","name":"jobId","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["response"],"properties":{"response":{"type":"string","minLength":1,"maxLength":2000},"packageRef":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$","description":"Required by the paid runtime: checksum returned by private artifact binding for this revised submission."}}}}}},"responses":{"200":{"description":"The mutation completed or replayed.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"404":{"description":"Resource not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"Conflict (state or idempotency).","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"503":{"description":"Required dependency is not configured.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/operator/jobs/{jobId}/settle":{"post":{"operationId":"settleJob","summary":"Settle an approved job to the provider minus the fee.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"X-Hirefast-Nonce","required":false,"schema":{"type":"string","minLength":16,"maxLength":128},"description":"Required when authenticating a service credential."},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}},{"in":"path","name":"jobId","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{}}}}},"responses":{"200":{"description":"The mutation completed or replayed.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"404":{"description":"Resource not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"Conflict (state or idempotency).","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"503":{"description":"Required dependency is not configured.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/operator/jobs/{jobId}/dispute-resolution":{"post":{"operationId":"resolveDispute","summary":"Resolve a disputed job toward settlement or cancellation.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"X-Hirefast-Nonce","required":false,"schema":{"type":"string","minLength":16,"maxLength":128},"description":"Required when authenticating a service credential."},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}},{"in":"path","name":"jobId","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["resolution"],"properties":{"resolution":{"type":"string","enum":["settle","cancel"]}}}}}},"responses":{"200":{"description":"The mutation completed or replayed.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"404":{"description":"Resource not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"Conflict (state or idempotency).","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"503":{"description":"Required dependency is not configured.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/worker/jobs/{jobId}/operations/lookup":{"post":{"operationId":"lookupWorkerOperation","summary":"Read the original worker operation receipt without reexecuting work; current scoped authority is required.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"X-Hirefast-Nonce","required":false,"schema":{"type":"string","minLength":16,"maxLength":128},"description":"Required when authenticating a service credential."},{"in":"path","name":"jobId","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","additionalProperties":false,"required":["kind","operationId","request"],"properties":{"kind":{"const":"sync"},"operationId":{"type":"string","minLength":1,"maxLength":128},"request":{"type":"object","additionalProperties":false,"required":["files","jobId","manifestHash","workspaceId"],"properties":{"files":{"type":"array","minItems":1,"maxItems":1024,"items":{"type":"object","additionalProperties":false,"required":["content","mtimeMs","path","sha256","size"],"properties":{"content":{"type":"string","minLength":1,"maxLength":22369622},"mtimeMs":{"type":"number","minimum":0},"path":{"type":"string","minLength":1,"maxLength":1024},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"size":{"type":"integer","minimum":0,"maximum":16777216}}}},"jobId":{"type":"string","minLength":1,"maxLength":128},"manifestHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"workspaceId":{"type":"string","minLength":1,"maxLength":128},"expectedState":{"type":"object","additionalProperties":false,"required":["agreementVersion","termsHash","status","submissionSequence","revisionsUsed"],"properties":{"agreementVersion":{"type":"integer","minimum":1},"termsHash":{"type":"string","pattern":"^[a-f0-9]{64}$"},"status":{"type":"string","enum":["draft","offered","accepted","funded","started","submitted","revision_requested","approved","settled","cancelled","disputed","terminated"]},"submissionSequence":{"type":["integer","null"],"minimum":1},"revisionsUsed":{"type":"integer","minimum":0}}}}}}},{"type":"object","additionalProperties":false,"required":["kind","operationId","request"],"properties":{"kind":{"const":"report"},"operationId":{"type":"string","minLength":1,"maxLength":128},"request":{"type":"object","additionalProperties":false,"required":["at","event","jobId","workspaceId"],"properties":{"at":{"type":"string"},"event":{"type":"string","enum":["started","submitted","revision_requested","approved","blocked","resumed"]},"jobId":{"type":"string","minLength":1,"maxLength":128},"note":{"type":"string","minLength":1,"maxLength":2000},"workspaceId":{"type":"string","minLength":1,"maxLength":128},"expectedState":{"type":"object","additionalProperties":false,"required":["agreementVersion","termsHash","status","submissionSequence","revisionsUsed"],"properties":{"agreementVersion":{"type":"integer","minimum":1},"termsHash":{"type":"string","pattern":"^[a-f0-9]{64}$"},"status":{"type":"string","enum":["draft","offered","accepted","funded","started","submitted","revision_requested","approved","settled","cancelled","disputed","terminated"]},"submissionSequence":{"type":["integer","null"],"minimum":1},"revisionsUsed":{"type":"integer","minimum":0}}}}}}}]}}}},"responses":{"200":{"description":"Explicit found receipt or not_found; authorization and fingerprint errors never count as absence.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"404":{"description":"Resource not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"Conflict (state or idempotency).","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"503":{"description":"Required dependency is not configured.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/webhooks/stripe":{"post":{"operationId":"processStripeWebhook","summary":"Process a signed Stripe payment webhook (verified by signature).","parameters":[{"in":"header","name":"stripe-signature","required":true,"schema":{"type":"string","minLength":1}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"The webhook event was accepted or replayed.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid signature or body.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"503":{"description":"Payments are not configured.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/invitations":{"post":{"operationId":"createInvitation","summary":"Human administrator with fresh MFA: create a membership invitation. Creation is not idempotent; inspect an uncertain outcome before retrying.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["capabilities","expiresAt","principalKind","role"],"properties":{"capabilities":{"type":"array","minItems":0,"maxItems":8,"items":{"enum":["BUY","WORK","OPERATE"]},"description":"An empty list is valid for the inspector role. Duplicate capabilities are normalized."},"expiresAt":{"type":"string","format":"date-time"},"principalKind":{"enum":["HUMAN","AGENT"]},"role":{"enum":["buyer","worker","inspector","operator","admin"]},"sponsorPrincipalId":{"type":"string","format":"uuid","description":"Required for AGENT invitations; consumption verifies an active human sponsor in the same organization."}}}}}},"responses":{"201":{"description":"The invitation was created.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/invitations/consume":{"post":{"operationId":"consumeInvitation","summary":"Consume an AGENT invitation by secret token, or a legacy HUMAN invitation with verified GitHub proof. Cognito humans accept through the verified browser /auth/invitation flow.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"201":{"description":"The invitation was consumed; a HUMAN principal also receives a session.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"503":{"description":"Identity authentication is not configured.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/jobs/{id}/offer":{"post":{"operationId":"offerJob","summary":"Offer the job agreement.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}},{"in":"path","name":"id","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"responses":{"200":{"description":"The transition was applied.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"404":{"description":"Job not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"State conflict.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/jobs/{id}/accept":{"post":{"operationId":"acceptJob","summary":"Accept the job agreement.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}},{"in":"path","name":"id","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"responses":{"200":{"description":"The transition was applied.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"404":{"description":"Job not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"State conflict.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/jobs/{id}/fund":{"post":{"operationId":"fundJob","summary":"Fund the accepted job.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}},{"in":"path","name":"id","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"responses":{"200":{"description":"The transition was applied.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"404":{"description":"Job not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"State conflict.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/jobs/{id}/start":{"post":{"operationId":"startJob","summary":"Start the funded job.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}},{"in":"path","name":"id","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"responses":{"200":{"description":"The transition was applied.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"404":{"description":"Job not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"State conflict.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/jobs/{id}/submit":{"post":{"operationId":"submitJob","summary":"Submit work for the job.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}},{"in":"path","name":"id","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"responses":{"200":{"description":"The transition was applied.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"404":{"description":"Job not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"State conflict.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/jobs/{id}/request-revision":{"post":{"operationId":"requestJobRevision","summary":"Request a bounded revision.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}},{"in":"path","name":"id","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"responses":{"200":{"description":"The transition was applied.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"404":{"description":"Job not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"State conflict.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/jobs/{id}/approve":{"post":{"operationId":"approveJob","summary":"Approve the submission.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}},{"in":"path","name":"id","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"responses":{"200":{"description":"The transition was applied.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"404":{"description":"Job not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"State conflict.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/jobs/{id}/settle":{"post":{"operationId":"settleJob","summary":"Settle the approved job.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}},{"in":"path","name":"id","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"responses":{"200":{"description":"The transition was applied.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"404":{"description":"Job not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"State conflict.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/jobs/{id}/cancel":{"post":{"operationId":"cancelJob","summary":"Cancel the job.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}},{"in":"path","name":"id","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"responses":{"200":{"description":"The transition was applied.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"404":{"description":"Job not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"State conflict.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/jobs/{id}/dispute":{"post":{"operationId":"disputeJob","summary":"Open a dispute.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}},{"in":"path","name":"id","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"responses":{"200":{"description":"The transition was applied.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"404":{"description":"Job not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"State conflict.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/jobs/{id}/resolve-dispute":{"post":{"operationId":"resolveJobDispute","summary":"Resolve a dispute.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}},{"in":"path","name":"id","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"responses":{"200":{"description":"The transition was applied.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"404":{"description":"Job not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"State conflict.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/jobs/{id}/terminate":{"post":{"operationId":"terminateJob","summary":"Terminate the job.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}},{"in":"path","name":"id","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"responses":{"200":{"description":"The transition was applied.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"404":{"description":"Job not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"State conflict.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/jobs/{id}/agreement-versions":{"post":{"operationId":"createAgreementVersion","summary":"Propose a new agreement version.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}},{"in":"path","name":"id","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"responses":{"200":{"description":"The transition was applied.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"404":{"description":"Job not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"409":{"description":"State conflict.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/abuse-reports":{"post":{"operationId":"fileAbuseReport","summary":"File an abuse report against a job, principal, or deliverable.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"201":{"description":"The report was filed.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/operator/jobs":{"get":{"operationId":"listOperatorJobs","summary":"List jobs.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}}],"responses":{"200":{"description":"Operator view.","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/operator/principals":{"get":{"operationId":"listOperatorPrincipals","summary":"List principals.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}}],"responses":{"200":{"description":"Operator view.","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/operator/payments":{"get":{"operationId":"listOperatorPayments","summary":"List payment state.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}}],"responses":{"200":{"description":"Operator view.","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/operator/disputes":{"get":{"operationId":"listOperatorDisputes","summary":"List disputes.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}}],"responses":{"200":{"description":"Operator view.","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/operator/abuse-reports":{"get":{"operationId":"listOperatorAbuseReports","summary":"List abuse reports.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}}],"responses":{"200":{"description":"Operator view.","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}},"/api/v1/operator/abuse-reports/{id}/resolution":{"post":{"operationId":"resolveAbuseReport","summary":"Resolve or dismiss an abuse report.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"}},{"in":"path","name":"id","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"The report was resolved.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"401":{"description":"Authentication failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"403":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}},"404":{"description":"Report not found.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","requestId"],"properties":{"code":{"type":"string"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}}}}}}}}}}}}