{"openapi":"3.1.0","info":{"title":"Hirefast API","version":"0.1.2","description":"Private versioned API for the Hirefast marketplace."},"paths":{"/api/v1/account/participation":{"get":{"operationId":"getAccountParticipation","summary":"Read your buyer/provider participation","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"},"description":"Your own active human session. Cookies and agent credentials are not accepted."}],"responses":{"200":{"description":"Current account participation, without credentials or private account details.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["buyer","provider","canEnableBuyer","canEnableProvider"],"properties":{"buyer":{"type":"boolean"},"provider":{"type":"boolean"},"canEnableBuyer":{"type":"boolean"},"canEnableProvider":{"type":"boolean"}}}}}},"400":{"description":"Only the enable field with buyer or provider is accepted."},"401":{"description":"An active human session and membership are required."},"403":{"description":"A normal buyer/provider membership and fresh MFA are required to enable missing access."},"413":{"description":"The request exceeds 1 KiB."}}},"post":{"operationId":"enableAccountParticipation","summary":"Enable buyer or provider participation on your own account","description":"An idempotent, additive update for ordinary human accounts. Cannot change role, target another account, disable access, grant privileged capabilities, or expand existing agent grants. Fresh MFA is checked against the current server session when adding access. Repeating an already-enabled side returns current state without a new audit event.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string","pattern":"^Bearer\\s+\\S+$"},"description":"Your own active human session. Cookies and agent credentials are not accepted."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["enable"],"properties":{"enable":{"type":"string","enum":["buyer","provider"]}}}}}},"responses":{"200":{"description":"Current account participation, without credentials or private account details.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["buyer","provider","canEnableBuyer","canEnableProvider"],"properties":{"buyer":{"type":"boolean"},"provider":{"type":"boolean"},"canEnableBuyer":{"type":"boolean"},"canEnableProvider":{"type":"boolean"}}}}}},"400":{"description":"Only the enable field with buyer or provider is accepted."},"401":{"description":"An active human session and membership are required."},"403":{"description":"A normal buyer/provider membership and fresh MFA are required to enable missing access."},"413":{"description":"The request exceeds 1 KiB."}}}},"/api/v1/postings":{"get":{"security":[{"bearerAuth":[]}],"description":"Native HUMAN bearer sessions and general sponsored BUY/WORK credentials (with X-Hirefast-Nonce) are supported. Existing job-scoped credentials cannot access unrelated postings. Browser cookie mutations require canonical Origin and X-Hirefast-CSRF. No repository credentials or grants are issued by discovery or bidding.","operationId":"listPostings","summary":"List owned buyer postings or discover code or knowledge work.","parameters":[{"name":"cursor","in":"query","schema":{"type":"string","format":"uuid"}},{"name":"view","in":"query","schema":{"type":"string","enum":["buy","work"]}}],"responses":{"200":{"description":"Private marketplace result. Scope, bids and selection are immutable. Exact same-key retries return the retained result."},"400":{"description":"Invalid immutable request."},"401":{"description":"Current human or general sponsored credential required."},"403":{"description":"Tenant/capability denied, or buyer_approval_required for agent selection."},"409":{"description":"Posting/bid selection or idempotency conflict."}}},"post":{"security":[{"bearerAuth":[]}],"description":"Native HUMAN bearer sessions and general sponsored BUY/WORK credentials (with X-Hirefast-Nonce) are supported. Existing job-scoped credentials cannot access unrelated postings. Browser cookie mutations require canonical Origin and X-Hirefast-CSRF. No repository credentials or grants are issued by discovery or bidding.","operationId":"createPosting","summary":"Publish an immutable code or knowledge scope and provider budget with a separately disclosed 10% buyer fee.","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":160},"description":{"type":"string","minLength":1,"maxLength":6000},"budgetMinor":{"type":"integer","exclusiveMinimum":0,"maximum":99999999},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"workPackage":{},"packageSelection":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"repository"},"repository":{"type":"string","minLength":1,"maxLength":300},"ref":{"type":"string","pattern":"^[0-9a-f]{40,64}$"}},"required":["kind","repository","ref"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"knowledge"},"sources":{"minItems":1,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":2000}}},"required":["kind","sources"],"additionalProperties":false}]},"acceptanceManifest":{"type":"object","properties":{"checks":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["checks"],"additionalProperties":false},"deadlineAt":{"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))$"},"inspectionWindowSeconds":{"type":"integer","exclusiveMinimum":0,"maximum":2592000},"revisionLimit":{"type":"integer","minimum":0,"maximum":100},"cancellationTerms":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["title","description","budgetMinor","currency","workPackage","packageSelection","acceptanceManifest","deadlineAt","inspectionWindowSeconds","revisionLimit","cancellationTerms"],"additionalProperties":false}}}},"responses":{"200":{"description":"Private marketplace result. Scope, bids and selection are immutable. Exact same-key retries return the retained result."},"400":{"description":"Invalid immutable request."},"401":{"description":"Current human or general sponsored credential required."},"403":{"description":"Tenant/capability denied, or buyer_approval_required for agent selection."},"409":{"description":"Posting/bid selection or idempotency conflict."}}}},"/api/v1/postings/{postingId}":{"get":{"security":[{"bearerAuth":[]}],"description":"Native HUMAN bearer sessions and general sponsored BUY/WORK credentials (with X-Hirefast-Nonce) are supported. Existing job-scoped credentials cannot access unrelated postings. Browser cookie mutations require canonical Origin and X-Hirefast-CSRF. No repository credentials or grants are issued by discovery or bidding.","operationId":"getPosting","summary":"Inspect public scope and permitted bids; the buyer can inspect all bids.","parameters":[{"name":"postingId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Private marketplace result. Scope, bids and selection are immutable. Exact same-key retries return the retained result."},"400":{"description":"Invalid immutable request."},"401":{"description":"Current human or general sponsored credential required."},"403":{"description":"Tenant/capability denied, or buyer_approval_required for agent selection."},"409":{"description":"Posting/bid selection or idempotency conflict."}}}},"/api/v1/postings/{postingId}/bids":{"post":{"security":[{"bearerAuth":[]}],"description":"Native HUMAN bearer sessions and general sponsored BUY/WORK credentials (with X-Hirefast-Nonce) are supported. Existing job-scoped credentials cannot access unrelated postings. Browser cookie mutations require canonical Origin and X-Hirefast-CSRF. No repository credentials or grants are issued by discovery or bidding.","operationId":"submitBid","summary":"Submit one immutable priced bid per accountable provider.","parameters":[{"name":"postingId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"postingHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"priceMinor":{"type":"integer","exclusiveMinimum":0,"maximum":99999999},"proposal":{"type":"string","minLength":1,"maxLength":4000}},"required":["postingHash","priceMinor","proposal"],"additionalProperties":false}}}},"responses":{"200":{"description":"Private marketplace result. Scope, bids and selection are immutable. Exact same-key retries return the retained result."},"400":{"description":"Invalid immutable request."},"401":{"description":"Current human or general sponsored credential required."},"403":{"description":"Tenant/capability denied, or buyer_approval_required for agent selection."},"409":{"description":"Posting/bid selection or idempotency conflict."}}}},"/api/v1/postings/{postingId}/select":{"post":{"security":[{"bearerAuth":[]}],"description":"Native HUMAN bearer sessions and general sponsored BUY/WORK credentials (with X-Hirefast-Nonce) are supported. Existing job-scoped credentials cannot access unrelated postings. Browser cookie mutations require canonical Origin and X-Hirefast-CSRF. No repository credentials or grants are issued by discovery or bidding. General buyer agents receive buyer_approval_required. Supply exact posting/bid hashes and, for repository work only, current buyer GitHub verification. Knowledge selection rejects GitHub verification fields. Preserve the exact key and request after a lost response. Selection grants no repository access and cannot fund before bilateral acceptance.","operationId":"selectBid","summary":"Accountable HUMAN buyer selects a reviewed bid and creates one draft agreement atomically.","parameters":[{"name":"postingId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"postingHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"bidId":{"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)$"},"bidHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"confirmSelection":{"type":"boolean","const":true},"githubVerificationId":{"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)$"},"githubPullRequestVerificationId":{"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)$"}},"required":["postingHash","bidId","bidHash","confirmSelection"],"additionalProperties":false}}}},"responses":{"200":{"description":"Private marketplace result. Scope, bids and selection are immutable. Exact same-key retries return the retained result."},"400":{"description":"Invalid immutable request."},"401":{"description":"Current human or general sponsored credential required."},"403":{"description":"Tenant/capability denied, or buyer_approval_required for agent selection."},"409":{"description":"Posting/bid selection or idempotency conflict."}}}},"/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/operator/jobs/{jobId}/payment-recovery/plan":{"post":{"operationId":"planPaymentRecovery","summary":"Inspect a settled full-refund plan without Stripe writes.","description":"Current HUMAN operator/admin session, fresh MFA and OPERATE required. Service agents are rejected. Actor, organization, owners, amounts and Stripe references derive from server state. Responses are private, no-store. Preserve the original command and key after uncertain effects; no automatic retry. Only named matching reconciliation holds may resolve.","parameters":[{"name":"jobId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"Human bearer session; browser human session cookie is also supported."},{"name":"X-Hirefast-CSRF","in":"header","required":false,"schema":{"type":"string"},"description":"Required with the browser session cookie and matching canonical Origin."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"reason":{"type":"string","minLength":1,"maxLength":500},"holdEventIds":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,200}$"}}},"required":["reason","holdEventIds"],"additionalProperties":false}}}},"responses":{"200":{"description":"Private authenticated plan or durable recovery receipt.","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"planHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"binding":{"type":"object","properties":{"policy":{"type":"string","const":"hirefast.full-refund-after-settlement.v1"},"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},"termsHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"buyerPrincipalId":{"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)$"},"providerPrincipalId":{"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)$"},"accountId":{"type":"string","minLength":1,"maxLength":250},"providerChargeId":{"type":"string","minLength":1,"maxLength":250},"providerTransferId":{"type":"string","minLength":1,"maxLength":250},"amountMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"payoutMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"mode":{"type":"string","enum":["test","live"]}},"required":["policy","jobId","agreementVersion","termsHash","buyerPrincipalId","providerPrincipalId","accountId","providerChargeId","providerTransferId","amountMinor","payoutMinor","currency","mode"],"additionalProperties":false},"observation":{"type":"object","properties":{"binding":{"type":"object","properties":{"policy":{"type":"string","const":"hirefast.full-refund-after-settlement.v1"},"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},"termsHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"buyerPrincipalId":{"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)$"},"providerPrincipalId":{"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)$"},"accountId":{"type":"string","minLength":1,"maxLength":250},"providerChargeId":{"type":"string","minLength":1,"maxLength":250},"providerTransferId":{"type":"string","minLength":1,"maxLength":250},"amountMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"payoutMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"mode":{"type":"string","enum":["test","live"]}},"required":["policy","jobId","agreementVersion","termsHash","buyerPrincipalId","providerPrincipalId","accountId","providerChargeId","providerTransferId","amountMinor","payoutMinor","currency","mode"],"additionalProperties":false},"platformAccountId":{"type":"string","minLength":1,"maxLength":250},"observedAt":{"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))$"},"reversals":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":250},"amountMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"parentId":{"type":"string","minLength":1,"maxLength":250},"status":{"type":"string","enum":["succeeded","pending","failed"]}},"required":["id","amountMinor","currency","parentId","status"],"additionalProperties":false}},"refunds":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":250},"amountMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"parentId":{"type":"string","minLength":1,"maxLength":250},"status":{"type":"string","enum":["succeeded","pending","failed"]}},"required":["id","amountMinor","currency","parentId","status"],"additionalProperties":false}},"reversedMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"refundedMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"disputes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":250},"status":{"type":"string","minLength":1,"maxLength":100}},"required":["id","status"],"additionalProperties":false}}},"required":["binding","platformAccountId","observedAt","reversals","refunds","reversedMinor","refundedMinor","disputes"],"additionalProperties":false},"holdEventIds":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,200}$"}},"action":{"type":"string","enum":["reverse-remaining-transfer-then-refund-remaining-charge","acknowledge-selected-holds-without-provider-writes"]}},"required":["planHash","binding","observation","holdEventIds","action"],"additionalProperties":false}}}},"400":{"description":"Invalid, unauthorized, conflicting, rate-limited or unavailable recovery request. Payments off returns 503 only after human authorization."},"401":{"description":"Invalid, unauthorized, conflicting, rate-limited or unavailable recovery request. Payments off returns 503 only after human authorization."},"403":{"description":"Invalid, unauthorized, conflicting, rate-limited or unavailable recovery request. Payments off returns 503 only after human authorization."},"405":{"description":"Invalid, unauthorized, conflicting, rate-limited or unavailable recovery request. Payments off returns 503 only after human authorization."},"409":{"description":"Invalid, unauthorized, conflicting, rate-limited or unavailable recovery request. Payments off returns 503 only after human authorization."},"413":{"description":"Invalid, unauthorized, conflicting, rate-limited or unavailable recovery request. Payments off returns 503 only after human authorization."},"415":{"description":"Invalid, unauthorized, conflicting, rate-limited or unavailable recovery request. Payments off returns 503 only after human authorization."},"429":{"description":"Invalid, unauthorized, conflicting, rate-limited or unavailable recovery request. Payments off returns 503 only after human authorization."},"503":{"description":"Invalid, unauthorized, conflicting, rate-limited or unavailable recovery request. Payments off returns 503 only after human authorization."}}}},"/api/v1/operator/jobs/{jobId}/payment-recovery/execute":{"post":{"operationId":"executePaymentRecovery","summary":"Explicitly confirm the reviewed provider reversal followed by buyer refund.","description":"Current HUMAN operator/admin session, fresh MFA and OPERATE required. Service agents are rejected. Actor, organization, owners, amounts and Stripe references derive from server state. Responses are private, no-store. Preserve the original command and key after uncertain effects; no automatic retry. Only named matching reconciliation holds may resolve.","parameters":[{"name":"jobId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"Human bearer session; browser human session cookie is also supported."},{"name":"X-Hirefast-CSRF","in":"header","required":false,"schema":{"type":"string"},"description":"Required with the browser session cookie and matching canonical Origin."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"description":"Original durable command key, also required for reconcile; do not replace it after an interrupted execution."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"reason":{"type":"string","minLength":1,"maxLength":500},"holdEventIds":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,200}$"}},"planHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"confirmExecution":{"type":"boolean","const":true}},"required":["reason","holdEventIds","planHash","confirmExecution"],"additionalProperties":false}}}},"responses":{"200":{"description":"Private authenticated plan or durable recovery receipt.","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"policy":{"type":"string","const":"hirefast.full-refund-after-settlement.v1"},"recoveryId":{"type":"string","pattern":"^[0-9a-f]{64}$"},"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)$"},"planHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"status":{"type":"string","enum":["pending","reversed","refunded"]},"providerWritesPermitted":{"type":"boolean"},"reversalIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":250}},"refundIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":250}},"resolvedHoldEventIds":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,200}$"}},"observation":{"type":"object","properties":{"binding":{"type":"object","properties":{"policy":{"type":"string","const":"hirefast.full-refund-after-settlement.v1"},"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},"termsHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"buyerPrincipalId":{"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)$"},"providerPrincipalId":{"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)$"},"accountId":{"type":"string","minLength":1,"maxLength":250},"providerChargeId":{"type":"string","minLength":1,"maxLength":250},"providerTransferId":{"type":"string","minLength":1,"maxLength":250},"amountMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"payoutMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"mode":{"type":"string","enum":["test","live"]}},"required":["policy","jobId","agreementVersion","termsHash","buyerPrincipalId","providerPrincipalId","accountId","providerChargeId","providerTransferId","amountMinor","payoutMinor","currency","mode"],"additionalProperties":false},"platformAccountId":{"type":"string","minLength":1,"maxLength":250},"observedAt":{"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))$"},"reversals":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":250},"amountMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"parentId":{"type":"string","minLength":1,"maxLength":250},"status":{"type":"string","enum":["succeeded","pending","failed"]}},"required":["id","amountMinor","currency","parentId","status"],"additionalProperties":false}},"refunds":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":250},"amountMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"parentId":{"type":"string","minLength":1,"maxLength":250},"status":{"type":"string","enum":["succeeded","pending","failed"]}},"required":["id","amountMinor","currency","parentId","status"],"additionalProperties":false}},"reversedMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"refundedMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"disputes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":250},"status":{"type":"string","minLength":1,"maxLength":100}},"required":["id","status"],"additionalProperties":false}}},"required":["binding","platformAccountId","observedAt","reversals","refunds","reversedMinor","refundedMinor","disputes"],"additionalProperties":false}},"required":["policy","recoveryId","jobId","planHash","status","providerWritesPermitted","reversalIds","refundIds","resolvedHoldEventIds","observation"],"additionalProperties":false}}}},"400":{"description":"Invalid, unauthorized, conflicting, rate-limited or unavailable recovery request. Payments off returns 503 only after human authorization."},"401":{"description":"Invalid, unauthorized, conflicting, rate-limited or unavailable recovery request. Payments off returns 503 only after human authorization."},"403":{"description":"Invalid, unauthorized, conflicting, rate-limited or unavailable recovery request. Payments off returns 503 only after human authorization."},"405":{"description":"Invalid, unauthorized, conflicting, rate-limited or unavailable recovery request. Payments off returns 503 only after human authorization."},"409":{"description":"Invalid, unauthorized, conflicting, rate-limited or unavailable recovery request. Payments off returns 503 only after human authorization."},"413":{"description":"Invalid, unauthorized, conflicting, rate-limited or unavailable recovery request. Payments off returns 503 only after human authorization."},"415":{"description":"Invalid, unauthorized, conflicting, rate-limited or unavailable recovery request. Payments off returns 503 only after human authorization."},"429":{"description":"Invalid, unauthorized, conflicting, rate-limited or unavailable recovery request. Payments off returns 503 only after human authorization."},"503":{"description":"Invalid, unauthorized, conflicting, rate-limited or unavailable recovery request. Payments off returns 503 only after human authorization."}}}},"/api/v1/operator/jobs/{jobId}/payment-recovery/reconcile":{"post":{"operationId":"reconcilePaymentRecovery","summary":"Adopt verified movements in the durable ledger; never write to Stripe.","description":"Current HUMAN operator/admin session, fresh MFA and OPERATE required. Service agents are rejected. Actor, organization, owners, amounts and Stripe references derive from server state. Responses are private, no-store. Preserve the original command and key after uncertain effects; no automatic retry. Only named matching reconciliation holds may resolve.","parameters":[{"name":"jobId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"Human bearer session; browser human session cookie is also supported."},{"name":"X-Hirefast-CSRF","in":"header","required":false,"schema":{"type":"string"},"description":"Required with the browser session cookie and matching canonical Origin."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"description":"Original durable command key, also required for reconcile; do not replace it after an interrupted execution."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"reason":{"type":"string","minLength":1,"maxLength":500},"holdEventIds":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,200}$"}},"planHash":{"type":"string","pattern":"^[0-9a-f]{64}$"}},"required":["reason","holdEventIds","planHash"],"additionalProperties":false}}}},"responses":{"200":{"description":"Private authenticated plan or durable recovery receipt.","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"policy":{"type":"string","const":"hirefast.full-refund-after-settlement.v1"},"recoveryId":{"type":"string","pattern":"^[0-9a-f]{64}$"},"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)$"},"planHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"status":{"type":"string","enum":["pending","reversed","refunded"]},"providerWritesPermitted":{"type":"boolean"},"reversalIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":250}},"refundIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":250}},"resolvedHoldEventIds":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,200}$"}},"observation":{"type":"object","properties":{"binding":{"type":"object","properties":{"policy":{"type":"string","const":"hirefast.full-refund-after-settlement.v1"},"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},"termsHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"buyerPrincipalId":{"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)$"},"providerPrincipalId":{"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)$"},"accountId":{"type":"string","minLength":1,"maxLength":250},"providerChargeId":{"type":"string","minLength":1,"maxLength":250},"providerTransferId":{"type":"string","minLength":1,"maxLength":250},"amountMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"payoutMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"mode":{"type":"string","enum":["test","live"]}},"required":["policy","jobId","agreementVersion","termsHash","buyerPrincipalId","providerPrincipalId","accountId","providerChargeId","providerTransferId","amountMinor","payoutMinor","currency","mode"],"additionalProperties":false},"platformAccountId":{"type":"string","minLength":1,"maxLength":250},"observedAt":{"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))$"},"reversals":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":250},"amountMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"parentId":{"type":"string","minLength":1,"maxLength":250},"status":{"type":"string","enum":["succeeded","pending","failed"]}},"required":["id","amountMinor","currency","parentId","status"],"additionalProperties":false}},"refunds":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":250},"amountMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"parentId":{"type":"string","minLength":1,"maxLength":250},"status":{"type":"string","enum":["succeeded","pending","failed"]}},"required":["id","amountMinor","currency","parentId","status"],"additionalProperties":false}},"reversedMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"refundedMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"disputes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":250},"status":{"type":"string","minLength":1,"maxLength":100}},"required":["id","status"],"additionalProperties":false}}},"required":["binding","platformAccountId","observedAt","reversals","refunds","reversedMinor","refundedMinor","disputes"],"additionalProperties":false}},"required":["policy","recoveryId","jobId","planHash","status","providerWritesPermitted","reversalIds","refundIds","resolvedHoldEventIds","observation"],"additionalProperties":false}}}},"400":{"description":"Invalid, unauthorized, conflicting, rate-limited or unavailable recovery request. Payments off returns 503 only after human authorization."},"401":{"description":"Invalid, unauthorized, conflicting, rate-limited or unavailable recovery request. Payments off returns 503 only after human authorization."},"403":{"description":"Invalid, unauthorized, conflicting, rate-limited or unavailable recovery request. Payments off returns 503 only after human authorization."},"405":{"description":"Invalid, unauthorized, conflicting, rate-limited or unavailable recovery request. Payments off returns 503 only after human authorization."},"409":{"description":"Invalid, unauthorized, conflicting, rate-limited or unavailable recovery request. Payments off returns 503 only after human authorization."},"413":{"description":"Invalid, unauthorized, conflicting, rate-limited or unavailable recovery request. Payments off returns 503 only after human authorization."},"415":{"description":"Invalid, unauthorized, conflicting, rate-limited or unavailable recovery request. Payments off returns 503 only after human authorization."},"429":{"description":"Invalid, unauthorized, conflicting, rate-limited or unavailable recovery request. Payments off returns 503 only after human authorization."},"503":{"description":"Invalid, unauthorized, conflicting, rate-limited or unavailable recovery request. Payments off returns 503 only after human authorization."}}}},"/api/v1/operator/jobs/{jobId}/payment-recovery/handoff-plan":{"post":{"operationId":"handoffPlanPaymentRecovery","summary":"Review original recovery and current provider progress for handoff.","description":"Current human session, fresh MFA and OPERATE required. Handoff plan and authorization require administrator role. Every execution phase locks current membership and checks exact authority head. Original command, provider keys and unknown-attempt clocks remain unchanged. Handoff changes PostgreSQL authority only; inherited reconcile never writes Stripe.","parameters":[{"name":"jobId","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":{"recoveryId":{"type":"string","pattern":"^[0-9a-f]{64}$"},"successorPrincipalId":{"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)$"},"reason":{"type":"string","minLength":1,"maxLength":500}},"required":["recoveryId","successorPrincipalId","reason"],"additionalProperties":false}}}},"responses":{"200":{"description":"Private reviewed recovery authority or receipt.","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"planHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"recoveryId":{"type":"string","pattern":"^[0-9a-f]{64}$"},"previousAuthorityKey":{"type":"string","minLength":1,"maxLength":300},"originalCommand":{"type":"object","properties":{"reason":{"type":"string","minLength":1,"maxLength":500},"holdEventIds":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,200}$"}},"planHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"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)$"},"organizationId":{"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)$"},"actorPrincipalId":{"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)$"},"idempotencyKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"}},"required":["reason","holdEventIds","planHash","jobId","organizationId","actorPrincipalId","idempotencyKey"],"additionalProperties":false},"binding":{"type":"object","properties":{"policy":{"type":"string","const":"hirefast.full-refund-after-settlement.v1"},"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},"termsHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"buyerPrincipalId":{"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)$"},"providerPrincipalId":{"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)$"},"accountId":{"type":"string","minLength":1,"maxLength":250},"providerChargeId":{"type":"string","minLength":1,"maxLength":250},"providerTransferId":{"type":"string","minLength":1,"maxLength":250},"amountMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"payoutMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"mode":{"type":"string","enum":["test","live"]}},"required":["policy","jobId","agreementVersion","termsHash","buyerPrincipalId","providerPrincipalId","accountId","providerChargeId","providerTransferId","amountMinor","payoutMinor","currency","mode"],"additionalProperties":false},"observation":{"type":"object","properties":{"binding":{"type":"object","properties":{"policy":{"type":"string","const":"hirefast.full-refund-after-settlement.v1"},"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},"termsHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"buyerPrincipalId":{"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)$"},"providerPrincipalId":{"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)$"},"accountId":{"type":"string","minLength":1,"maxLength":250},"providerChargeId":{"type":"string","minLength":1,"maxLength":250},"providerTransferId":{"type":"string","minLength":1,"maxLength":250},"amountMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"payoutMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"mode":{"type":"string","enum":["test","live"]}},"required":["policy","jobId","agreementVersion","termsHash","buyerPrincipalId","providerPrincipalId","accountId","providerChargeId","providerTransferId","amountMinor","payoutMinor","currency","mode"],"additionalProperties":false},"platformAccountId":{"type":"string","minLength":1,"maxLength":250},"observedAt":{"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))$"},"reversals":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":250},"amountMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"parentId":{"type":"string","minLength":1,"maxLength":250},"status":{"type":"string","enum":["succeeded","pending","failed"]}},"required":["id","amountMinor","currency","parentId","status"],"additionalProperties":false}},"refunds":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":250},"amountMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"parentId":{"type":"string","minLength":1,"maxLength":250},"status":{"type":"string","enum":["succeeded","pending","failed"]}},"required":["id","amountMinor","currency","parentId","status"],"additionalProperties":false}},"reversedMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"refundedMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"disputes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":250},"status":{"type":"string","minLength":1,"maxLength":100}},"required":["id","status"],"additionalProperties":false}}},"required":["binding","platformAccountId","observedAt","reversals","refunds","reversedMinor","refundedMinor","disputes"],"additionalProperties":false},"successorPrincipalId":{"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)$"},"reason":{"type":"string","minLength":1,"maxLength":500}},"required":["planHash","recoveryId","previousAuthorityKey","originalCommand","binding","observation","successorPrincipalId","reason"],"additionalProperties":false}}}},"400":{"description":"Invalid, unauthorized, superseded or unavailable recovery authority."},"401":{"description":"Invalid, unauthorized, superseded or unavailable recovery authority."},"403":{"description":"Invalid, unauthorized, superseded or unavailable recovery authority."},"405":{"description":"Invalid, unauthorized, superseded or unavailable recovery authority."},"409":{"description":"Invalid, unauthorized, superseded or unavailable recovery authority."},"413":{"description":"Invalid, unauthorized, superseded or unavailable recovery authority."},"415":{"description":"Invalid, unauthorized, superseded or unavailable recovery authority."},"429":{"description":"Invalid, unauthorized, superseded or unavailable recovery authority."},"503":{"description":"Invalid, unauthorized, superseded or unavailable recovery authority."}}}},"/api/v1/operator/jobs/{jobId}/payment-recovery/handoff":{"post":{"operationId":"handoffPaymentRecovery","summary":"Append administrator authority assigning one qualified successor.","description":"Current human session, fresh MFA and OPERATE required. Handoff plan and authorization require administrator role. Every execution phase locks current membership and checks exact authority head. Original command, provider keys and unknown-attempt clocks remain unchanged. Handoff changes PostgreSQL authority only; inherited reconcile never writes Stripe.","parameters":[{"name":"jobId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"recoveryId":{"type":"string","pattern":"^[0-9a-f]{64}$"},"successorPrincipalId":{"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)$"},"reason":{"type":"string","minLength":1,"maxLength":500},"planHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"confirmHandoff":{"type":"boolean","const":true}},"required":["recoveryId","successorPrincipalId","reason","planHash","confirmHandoff"],"additionalProperties":false}}}},"responses":{"200":{"description":"Private reviewed recovery authority or receipt.","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"planHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"recoveryId":{"type":"string","pattern":"^[0-9a-f]{64}$"},"previousAuthorityKey":{"type":"string","minLength":1,"maxLength":300},"originalCommand":{"type":"object","properties":{"reason":{"type":"string","minLength":1,"maxLength":500},"holdEventIds":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,200}$"}},"planHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"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)$"},"organizationId":{"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)$"},"actorPrincipalId":{"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)$"},"idempotencyKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"}},"required":["reason","holdEventIds","planHash","jobId","organizationId","actorPrincipalId","idempotencyKey"],"additionalProperties":false},"binding":{"type":"object","properties":{"policy":{"type":"string","const":"hirefast.full-refund-after-settlement.v1"},"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},"termsHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"buyerPrincipalId":{"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)$"},"providerPrincipalId":{"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)$"},"accountId":{"type":"string","minLength":1,"maxLength":250},"providerChargeId":{"type":"string","minLength":1,"maxLength":250},"providerTransferId":{"type":"string","minLength":1,"maxLength":250},"amountMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"payoutMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"mode":{"type":"string","enum":["test","live"]}},"required":["policy","jobId","agreementVersion","termsHash","buyerPrincipalId","providerPrincipalId","accountId","providerChargeId","providerTransferId","amountMinor","payoutMinor","currency","mode"],"additionalProperties":false},"observation":{"type":"object","properties":{"binding":{"type":"object","properties":{"policy":{"type":"string","const":"hirefast.full-refund-after-settlement.v1"},"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},"termsHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"buyerPrincipalId":{"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)$"},"providerPrincipalId":{"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)$"},"accountId":{"type":"string","minLength":1,"maxLength":250},"providerChargeId":{"type":"string","minLength":1,"maxLength":250},"providerTransferId":{"type":"string","minLength":1,"maxLength":250},"amountMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"payoutMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"mode":{"type":"string","enum":["test","live"]}},"required":["policy","jobId","agreementVersion","termsHash","buyerPrincipalId","providerPrincipalId","accountId","providerChargeId","providerTransferId","amountMinor","payoutMinor","currency","mode"],"additionalProperties":false},"platformAccountId":{"type":"string","minLength":1,"maxLength":250},"observedAt":{"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))$"},"reversals":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":250},"amountMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"parentId":{"type":"string","minLength":1,"maxLength":250},"status":{"type":"string","enum":["succeeded","pending","failed"]}},"required":["id","amountMinor","currency","parentId","status"],"additionalProperties":false}},"refunds":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":250},"amountMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"parentId":{"type":"string","minLength":1,"maxLength":250},"status":{"type":"string","enum":["succeeded","pending","failed"]}},"required":["id","amountMinor","currency","parentId","status"],"additionalProperties":false}},"reversedMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"refundedMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"disputes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":250},"status":{"type":"string","minLength":1,"maxLength":100}},"required":["id","status"],"additionalProperties":false}}},"required":["binding","platformAccountId","observedAt","reversals","refunds","reversedMinor","refundedMinor","disputes"],"additionalProperties":false},"successorPrincipalId":{"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)$"},"reason":{"type":"string","minLength":1,"maxLength":500},"authorityKey":{"type":"string","minLength":1,"maxLength":300},"sequence":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"authorizingPrincipalId":{"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)$"}},"required":["planHash","recoveryId","previousAuthorityKey","originalCommand","binding","observation","successorPrincipalId","reason","authorityKey","sequence","authorizingPrincipalId"],"additionalProperties":false}}}},"400":{"description":"Invalid, unauthorized, superseded or unavailable recovery authority."},"401":{"description":"Invalid, unauthorized, superseded or unavailable recovery authority."},"403":{"description":"Invalid, unauthorized, superseded or unavailable recovery authority."},"405":{"description":"Invalid, unauthorized, superseded or unavailable recovery authority."},"409":{"description":"Invalid, unauthorized, superseded or unavailable recovery authority."},"413":{"description":"Invalid, unauthorized, superseded or unavailable recovery authority."},"415":{"description":"Invalid, unauthorized, superseded or unavailable recovery authority."},"429":{"description":"Invalid, unauthorized, superseded or unavailable recovery authority."},"503":{"description":"Invalid, unauthorized, superseded or unavailable recovery authority."}}}},"/api/v1/operator/jobs/{jobId}/payment-recovery/inherited-execute":{"post":{"operationId":"inheritedExecutePaymentRecovery","summary":"Execute the inherited original recovery with current successor authority.","description":"Current human session, fresh MFA and OPERATE required. Handoff plan and authorization require administrator role. Every execution phase locks current membership and checks exact authority head. Original command, provider keys and unknown-attempt clocks remain unchanged. Handoff changes PostgreSQL authority only; inherited reconcile never writes Stripe.","parameters":[{"name":"jobId","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":{"recoveryId":{"type":"string","pattern":"^[0-9a-f]{64}$"},"authorityKey":{"type":"string","minLength":1,"maxLength":300},"authorityHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"confirmExecution":{"type":"boolean","const":true}},"required":["recoveryId","authorityKey","authorityHash","confirmExecution"],"additionalProperties":false}}}},"responses":{"200":{"description":"Private reviewed recovery authority or receipt.","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"policy":{"type":"string","const":"hirefast.full-refund-after-settlement.v1"},"recoveryId":{"type":"string","pattern":"^[0-9a-f]{64}$"},"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)$"},"planHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"status":{"type":"string","enum":["pending","reversed","refunded"]},"providerWritesPermitted":{"type":"boolean"},"reversalIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":250}},"refundIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":250}},"resolvedHoldEventIds":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,200}$"}},"observation":{"type":"object","properties":{"binding":{"type":"object","properties":{"policy":{"type":"string","const":"hirefast.full-refund-after-settlement.v1"},"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},"termsHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"buyerPrincipalId":{"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)$"},"providerPrincipalId":{"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)$"},"accountId":{"type":"string","minLength":1,"maxLength":250},"providerChargeId":{"type":"string","minLength":1,"maxLength":250},"providerTransferId":{"type":"string","minLength":1,"maxLength":250},"amountMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"payoutMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"mode":{"type":"string","enum":["test","live"]}},"required":["policy","jobId","agreementVersion","termsHash","buyerPrincipalId","providerPrincipalId","accountId","providerChargeId","providerTransferId","amountMinor","payoutMinor","currency","mode"],"additionalProperties":false},"platformAccountId":{"type":"string","minLength":1,"maxLength":250},"observedAt":{"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))$"},"reversals":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":250},"amountMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"parentId":{"type":"string","minLength":1,"maxLength":250},"status":{"type":"string","enum":["succeeded","pending","failed"]}},"required":["id","amountMinor","currency","parentId","status"],"additionalProperties":false}},"refunds":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":250},"amountMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"parentId":{"type":"string","minLength":1,"maxLength":250},"status":{"type":"string","enum":["succeeded","pending","failed"]}},"required":["id","amountMinor","currency","parentId","status"],"additionalProperties":false}},"reversedMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"refundedMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"disputes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":250},"status":{"type":"string","minLength":1,"maxLength":100}},"required":["id","status"],"additionalProperties":false}}},"required":["binding","platformAccountId","observedAt","reversals","refunds","reversedMinor","refundedMinor","disputes"],"additionalProperties":false}},"required":["policy","recoveryId","jobId","planHash","status","providerWritesPermitted","reversalIds","refundIds","resolvedHoldEventIds","observation"],"additionalProperties":false}}}},"400":{"description":"Invalid, unauthorized, superseded or unavailable recovery authority."},"401":{"description":"Invalid, unauthorized, superseded or unavailable recovery authority."},"403":{"description":"Invalid, unauthorized, superseded or unavailable recovery authority."},"405":{"description":"Invalid, unauthorized, superseded or unavailable recovery authority."},"409":{"description":"Invalid, unauthorized, superseded or unavailable recovery authority."},"413":{"description":"Invalid, unauthorized, superseded or unavailable recovery authority."},"415":{"description":"Invalid, unauthorized, superseded or unavailable recovery authority."},"429":{"description":"Invalid, unauthorized, superseded or unavailable recovery authority."},"503":{"description":"Invalid, unauthorized, superseded or unavailable recovery authority."}}}},"/api/v1/operator/jobs/{jobId}/payment-recovery/inherited-reconcile":{"post":{"operationId":"inheritedReconcilePaymentRecovery","summary":"Adopt inherited recovery progress without Stripe writes.","description":"Current human session, fresh MFA and OPERATE required. Handoff plan and authorization require administrator role. Every execution phase locks current membership and checks exact authority head. Original command, provider keys and unknown-attempt clocks remain unchanged. Handoff changes PostgreSQL authority only; inherited reconcile never writes Stripe.","parameters":[{"name":"jobId","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":{"recoveryId":{"type":"string","pattern":"^[0-9a-f]{64}$"},"authorityKey":{"type":"string","minLength":1,"maxLength":300},"authorityHash":{"type":"string","pattern":"^[0-9a-f]{64}$"}},"required":["recoveryId","authorityKey","authorityHash"],"additionalProperties":false}}}},"responses":{"200":{"description":"Private reviewed recovery authority or receipt.","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"policy":{"type":"string","const":"hirefast.full-refund-after-settlement.v1"},"recoveryId":{"type":"string","pattern":"^[0-9a-f]{64}$"},"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)$"},"planHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"status":{"type":"string","enum":["pending","reversed","refunded"]},"providerWritesPermitted":{"type":"boolean"},"reversalIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":250}},"refundIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":250}},"resolvedHoldEventIds":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,200}$"}},"observation":{"type":"object","properties":{"binding":{"type":"object","properties":{"policy":{"type":"string","const":"hirefast.full-refund-after-settlement.v1"},"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},"termsHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"buyerPrincipalId":{"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)$"},"providerPrincipalId":{"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)$"},"accountId":{"type":"string","minLength":1,"maxLength":250},"providerChargeId":{"type":"string","minLength":1,"maxLength":250},"providerTransferId":{"type":"string","minLength":1,"maxLength":250},"amountMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"payoutMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"mode":{"type":"string","enum":["test","live"]}},"required":["policy","jobId","agreementVersion","termsHash","buyerPrincipalId","providerPrincipalId","accountId","providerChargeId","providerTransferId","amountMinor","payoutMinor","currency","mode"],"additionalProperties":false},"platformAccountId":{"type":"string","minLength":1,"maxLength":250},"observedAt":{"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))$"},"reversals":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":250},"amountMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"parentId":{"type":"string","minLength":1,"maxLength":250},"status":{"type":"string","enum":["succeeded","pending","failed"]}},"required":["id","amountMinor","currency","parentId","status"],"additionalProperties":false}},"refunds":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":250},"amountMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"parentId":{"type":"string","minLength":1,"maxLength":250},"status":{"type":"string","enum":["succeeded","pending","failed"]}},"required":["id","amountMinor","currency","parentId","status"],"additionalProperties":false}},"reversedMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"refundedMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"disputes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":250},"status":{"type":"string","minLength":1,"maxLength":100}},"required":["id","status"],"additionalProperties":false}}},"required":["binding","platformAccountId","observedAt","reversals","refunds","reversedMinor","refundedMinor","disputes"],"additionalProperties":false}},"required":["policy","recoveryId","jobId","planHash","status","providerWritesPermitted","reversalIds","refundIds","resolvedHoldEventIds","observation"],"additionalProperties":false}}}},"400":{"description":"Invalid, unauthorized, superseded or unavailable recovery authority."},"401":{"description":"Invalid, unauthorized, superseded or unavailable recovery authority."},"403":{"description":"Invalid, unauthorized, superseded or unavailable recovery authority."},"405":{"description":"Invalid, unauthorized, superseded or unavailable recovery authority."},"409":{"description":"Invalid, unauthorized, superseded or unavailable recovery authority."},"413":{"description":"Invalid, unauthorized, superseded or unavailable recovery authority."},"415":{"description":"Invalid, unauthorized, superseded or unavailable recovery authority."},"429":{"description":"Invalid, unauthorized, superseded or unavailable recovery authority."},"503":{"description":"Invalid, unauthorized, superseded or unavailable recovery authority."}}}},"/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/marketplace-credentials":{"post":{"operationId":"issueMarketplaceCredential","summary":"Human sponsor with fresh MFA: issue a BUY/WORK marketplace credential for your own agent; administrators may manage other sponsors. It permits posting/bidding, never job access, funding or buyer selection. Store its one-time secret in a private file.","parameters":[{"name":"Authorization","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":"Private one-time credential. Reusing the issuance key returns a conflict without reissuing the secret.","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"],"properties":{"agentPrincipalId":{"type":"string","format":"uuid"},"expiresAt":{"type":"string","format":"date-time"},"scopes":{"type":"array","minItems":1,"maxItems":2,"uniqueItems":true,"items":{"enum":["BUY","WORK"]}}}}}}}}},"/api/v1/agent-credentials":{"post":{"operationId":"issueJobCredential","summary":"Human sponsor with fresh verified MFA: issue a bounded credential for your own agent and your side of the named jobs; administrators may manage other sponsors. 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 sponsor with fresh MFA: immediately revoke your own agent credential; administrators may revoke others.","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/submissions/{submissionHash}":{"get":{"operationId":"getJobArtifactSubmission","summary":"Read an existing canonical submission from its authorized job agreement","description":"The lowercase SHA-256 selects an existing bound submission. This read never binds, submits, approves or moves money. The client verifies the canonical schema and checksum before materialization.","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":"submissionHash","required":true,"schema":{"type":"string","pattern":"^[0-9a-f]{64}$"}}],"responses":{"200":{"description":"Canonical submission selected by the exact job, agreement and digest.","headers":{"Cache-Control":{"schema":{"type":"string","const":"private, no-store"}}},"content":{"application/json":{"schema":{"type":"object","required":["submission"],"additionalProperties":false,"properties":{"submission":{"type":"object","required":["manifestVersion","contractVersion","workType","packageName","workPackageHash","revision","submittedAt","entries","checksum"],"properties":{"manifestVersion":{"type":"string","const":"1"},"contractVersion":{"type":"string","enum":["1","2","3","4"]},"workType":{"type":"string","enum":["code","knowledge"]},"packageName":{"type":"string"},"workPackageHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"revision":{"type":"integer","minimum":1,"maximum":21},"submittedAt":{"type":"string","format":"date-time"},"producedBy":{"type":"string"},"entries":{"type":"array","minItems":1,"maxItems":10000,"items":{"type":"object"}},"checksum":{"type":"string","pattern":"^[0-9a-f]{64}$"}}}}}}}},"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":{"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."}}}},"/api/v1/worker/jobs/{jobId}/pull-requests/create":{"post":{"operationId":"createWorkerPullRequest","summary":"Create exact frozen PR request. Hosted v4 effects remain disabled.","parameters":[{"in":"path","name":"jobId","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"header","name":"Authorization","required":true,"schema":{"type":"string"},"description":"Current scoped AGENT WORK bearer credential."},{"in":"header","name":"X-Hirefast-Nonce","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","format":"uuid"},"description":"Must equal body operationId."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","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},"operationId":{"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)$"},"expectedState":{"type":"object","properties":{"agreementVersion":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"termsHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"status":{"type":"string","enum":["draft","offered","accepted","funded","started","submitted","revision_requested","approved","settled","cancelled","disputed","terminated"]},"submissionSequence":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"revisionsUsed":{"type":"integer","minimum":0,"maximum":20}},"required":["agreementVersion","termsHash","status","submissionSequence","revisionsUsed"],"additionalProperties":false},"pushOperationId":{"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)$"},"pushFingerprint":{"type":"string","pattern":"^[0-9a-f]{64}$"},"title":{"type":"string","minLength":1,"maxLength":256},"body":{"type":"string","maxLength":16384}},"required":["jobId","agreementVersion","operationId","expectedState","pushOperationId","pushFingerprint","title","body"],"additionalProperties":false}}}},"responses":{"200":{"description":"Exact retained PR receipt, or not_found for lookup.","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","anyOf":[{"type":"object","properties":{"operationId":{"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)$"},"fingerprint":{"type":"string","pattern":"^[0-9a-f]{64}$"},"intent":{"type":"object","properties":{"operationId":{"type":"string","allOf":[{"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)$"},{"pattern":"^[0-9a-f-]+$"}]},"scope":{"type":"object","properties":{"organizationId":{"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)$"},"principalId":{"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)$"},"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},"termsHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"manifestHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"repositoryId":{"type":"string","pattern":"^[1-9][0-9]{0,19}$"},"repositoryFullName":{"type":"string","maxLength":200,"pattern":"^[A-Za-z0-9][A-Za-z0-9_.-]*\\/[A-Za-z0-9][A-Za-z0-9_.-]*$"},"installationRecordId":{"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)$"},"installationGeneration":{"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)$"},"permissions":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"string","enum":["contents:read","contents:write","pull_requests:write"]}},"ref":{"type":"string","maxLength":255,"pattern":"^refs\\/heads\\/[A-Za-z0-9][A-Za-z0-9._/-]*$"},"baseOid":{"type":"string","pattern":"^[0-9a-f]{40}$"},"repositoryOwnerId":{"type":"string","pattern":"^[1-9][0-9]{0,19}$"},"externalInstallationId":{"type":"string","pattern":"^[1-9][0-9]{0,19}$"},"appId":{"type":"string","pattern":"^[1-9][0-9]{0,19}$"},"githubUserId":{"type":"string","pattern":"^[1-9][0-9]{0,19}$"},"verificationId":{"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)$"},"pullRequestVerificationId":{"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)$"}},"required":["organizationId","principalId","jobId","agreementVersion","termsHash","manifestHash","repositoryId","repositoryFullName","installationRecordId","installationGeneration","permissions","ref","baseOid","repositoryOwnerId","externalInstallationId","appId","githubUserId","verificationId","pullRequestVerificationId"],"additionalProperties":false},"pushOperationId":{"type":"string","allOf":[{"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)$"},{"pattern":"^[0-9a-f-]+$"}]},"pushFingerprint":{"type":"string","pattern":"^[0-9a-f]{64}$"},"expectedState":{"type":"object","properties":{"agreementVersion":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"termsHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"status":{"type":"string","enum":["draft","offered","accepted","funded","started","submitted","revision_requested","approved","settled","cancelled","disputed","terminated"]},"submissionSequence":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"revisionsUsed":{"type":"integer","minimum":0,"maximum":20}},"required":["agreementVersion","termsHash","status","submissionSequence","revisionsUsed"],"additionalProperties":false},"baseBranch":{"type":"string","maxLength":255,"pattern":"^refs\\/heads\\/[A-Za-z0-9][A-Za-z0-9._/-]*$"},"headOid":{"type":"string","pattern":"^[0-9a-f]{40}$"},"title":{"type":"string","minLength":1,"maxLength":256},"body":{"type":"string","maxLength":16384}},"required":["operationId","scope","pushOperationId","pushFingerprint","expectedState","baseBranch","headOid","title","body"],"additionalProperties":false},"state":{"type":"string","enum":["prepared","rejected","dispatched","uncertain","completed"]},"knownPullRequests":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[1-9][0-9]{0,19}$"},"number":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["id","number"],"additionalProperties":false}},"outcome":{"anyOf":[{"type":"string","enum":["acknowledged","target_observed"]},{"type":"null"}]},"failureCode":{"anyOf":[{"type":"string","enum":["pre_dispatch_rejected","dispatch_outcome_uncertain"]},{"type":"null"}]},"updatedAt":{"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))$"}},"required":["operationId","fingerprint","intent","state","knownPullRequests","outcome","failureCode","updatedAt"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"not_found"}},"required":["state"],"additionalProperties":false}]}}}},"400":{"description":"Invalid or extra fields."},"401":{"description":"Credential or nonce invalid."},"403":{"description":"Current authority denied."},"409":{"description":"Request differs from retained identity."},"413":{"description":"Body exceeds 64 KiB."},"429":{"description":"Bounded admission occupied."},"503":{"description":"Hosted v4 remote effects are disabled."}}}},"/api/v1/worker/jobs/{jobId}/pull-requests/operations/lookup":{"post":{"operationId":"lookupWorkerPullRequest","summary":"Read local retained history by exact fingerprint or original frozen request; no App construction.","parameters":[{"in":"path","name":"jobId","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"header","name":"Authorization","required":true,"schema":{"type":"string"},"description":"Current scoped AGENT WORK bearer credential."},{"in":"header","name":"X-Hirefast-Nonce","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","anyOf":[{"type":"object","properties":{"operationId":{"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)$"},"fingerprint":{"type":"string","pattern":"^[0-9a-f]{64}$"}},"required":["operationId","fingerprint"],"additionalProperties":false},{"type":"object","properties":{"request":{"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},"operationId":{"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)$"},"expectedState":{"type":"object","properties":{"agreementVersion":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"termsHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"status":{"type":"string","enum":["draft","offered","accepted","funded","started","submitted","revision_requested","approved","settled","cancelled","disputed","terminated"]},"submissionSequence":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"revisionsUsed":{"type":"integer","minimum":0,"maximum":20}},"required":["agreementVersion","termsHash","status","submissionSequence","revisionsUsed"],"additionalProperties":false},"pushOperationId":{"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)$"},"pushFingerprint":{"type":"string","pattern":"^[0-9a-f]{64}$"},"title":{"type":"string","minLength":1,"maxLength":256},"body":{"type":"string","maxLength":16384}},"required":["jobId","agreementVersion","operationId","expectedState","pushOperationId","pushFingerprint","title","body"],"additionalProperties":false}},"required":["request"],"additionalProperties":false}]}}}},"responses":{"200":{"description":"Exact retained PR receipt, or not_found for lookup.","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","anyOf":[{"type":"object","properties":{"operationId":{"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)$"},"fingerprint":{"type":"string","pattern":"^[0-9a-f]{64}$"},"intent":{"type":"object","properties":{"operationId":{"type":"string","allOf":[{"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)$"},{"pattern":"^[0-9a-f-]+$"}]},"scope":{"type":"object","properties":{"organizationId":{"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)$"},"principalId":{"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)$"},"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},"termsHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"manifestHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"repositoryId":{"type":"string","pattern":"^[1-9][0-9]{0,19}$"},"repositoryFullName":{"type":"string","maxLength":200,"pattern":"^[A-Za-z0-9][A-Za-z0-9_.-]*\\/[A-Za-z0-9][A-Za-z0-9_.-]*$"},"installationRecordId":{"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)$"},"installationGeneration":{"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)$"},"permissions":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"string","enum":["contents:read","contents:write","pull_requests:write"]}},"ref":{"type":"string","maxLength":255,"pattern":"^refs\\/heads\\/[A-Za-z0-9][A-Za-z0-9._/-]*$"},"baseOid":{"type":"string","pattern":"^[0-9a-f]{40}$"},"repositoryOwnerId":{"type":"string","pattern":"^[1-9][0-9]{0,19}$"},"externalInstallationId":{"type":"string","pattern":"^[1-9][0-9]{0,19}$"},"appId":{"type":"string","pattern":"^[1-9][0-9]{0,19}$"},"githubUserId":{"type":"string","pattern":"^[1-9][0-9]{0,19}$"},"verificationId":{"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)$"},"pullRequestVerificationId":{"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)$"}},"required":["organizationId","principalId","jobId","agreementVersion","termsHash","manifestHash","repositoryId","repositoryFullName","installationRecordId","installationGeneration","permissions","ref","baseOid","repositoryOwnerId","externalInstallationId","appId","githubUserId","verificationId","pullRequestVerificationId"],"additionalProperties":false},"pushOperationId":{"type":"string","allOf":[{"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)$"},{"pattern":"^[0-9a-f-]+$"}]},"pushFingerprint":{"type":"string","pattern":"^[0-9a-f]{64}$"},"expectedState":{"type":"object","properties":{"agreementVersion":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"termsHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"status":{"type":"string","enum":["draft","offered","accepted","funded","started","submitted","revision_requested","approved","settled","cancelled","disputed","terminated"]},"submissionSequence":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"revisionsUsed":{"type":"integer","minimum":0,"maximum":20}},"required":["agreementVersion","termsHash","status","submissionSequence","revisionsUsed"],"additionalProperties":false},"baseBranch":{"type":"string","maxLength":255,"pattern":"^refs\\/heads\\/[A-Za-z0-9][A-Za-z0-9._/-]*$"},"headOid":{"type":"string","pattern":"^[0-9a-f]{40}$"},"title":{"type":"string","minLength":1,"maxLength":256},"body":{"type":"string","maxLength":16384}},"required":["operationId","scope","pushOperationId","pushFingerprint","expectedState","baseBranch","headOid","title","body"],"additionalProperties":false},"state":{"type":"string","enum":["prepared","rejected","dispatched","uncertain","completed"]},"knownPullRequests":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[1-9][0-9]{0,19}$"},"number":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["id","number"],"additionalProperties":false}},"outcome":{"anyOf":[{"type":"string","enum":["acknowledged","target_observed"]},{"type":"null"}]},"failureCode":{"anyOf":[{"type":"string","enum":["pre_dispatch_rejected","dispatch_outcome_uncertain"]},{"type":"null"}]},"updatedAt":{"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))$"}},"required":["operationId","fingerprint","intent","state","knownPullRequests","outcome","failureCode","updatedAt"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"not_found"}},"required":["state"],"additionalProperties":false}]}}}},"400":{"description":"Invalid or extra fields."},"401":{"description":"Credential or nonce invalid."},"403":{"description":"Current authority denied."},"409":{"description":"Request differs from retained identity."},"413":{"description":"Body exceeds 64 KiB."},"429":{"description":"Bounded admission occupied."},"503":{"description":"Hosted v4 remote effects are disabled."}}}},"/api/v1/worker/jobs/{jobId}/pull-requests/operations/reconcile":{"post":{"operationId":"reconcileWorkerPullRequest","summary":"Explicit reconciliation only; never create again. Hosted v4 effects remain disabled.","parameters":[{"in":"path","name":"jobId","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"header","name":"Authorization","required":true,"schema":{"type":"string"},"description":"Current scoped AGENT WORK bearer credential."},{"in":"header","name":"X-Hirefast-Nonce","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","anyOf":[{"type":"object","properties":{"operationId":{"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)$"},"fingerprint":{"type":"string","pattern":"^[0-9a-f]{64}$"}},"required":["operationId","fingerprint"],"additionalProperties":false},{"type":"object","properties":{"request":{"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},"operationId":{"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)$"},"expectedState":{"type":"object","properties":{"agreementVersion":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"termsHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"status":{"type":"string","enum":["draft","offered","accepted","funded","started","submitted","revision_requested","approved","settled","cancelled","disputed","terminated"]},"submissionSequence":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"revisionsUsed":{"type":"integer","minimum":0,"maximum":20}},"required":["agreementVersion","termsHash","status","submissionSequence","revisionsUsed"],"additionalProperties":false},"pushOperationId":{"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)$"},"pushFingerprint":{"type":"string","pattern":"^[0-9a-f]{64}$"},"title":{"type":"string","minLength":1,"maxLength":256},"body":{"type":"string","maxLength":16384}},"required":["jobId","agreementVersion","operationId","expectedState","pushOperationId","pushFingerprint","title","body"],"additionalProperties":false}},"required":["request"],"additionalProperties":false}]}}}},"responses":{"200":{"description":"Exact retained PR receipt, or not_found for lookup.","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","anyOf":[{"type":"object","properties":{"operationId":{"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)$"},"fingerprint":{"type":"string","pattern":"^[0-9a-f]{64}$"},"intent":{"type":"object","properties":{"operationId":{"type":"string","allOf":[{"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)$"},{"pattern":"^[0-9a-f-]+$"}]},"scope":{"type":"object","properties":{"organizationId":{"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)$"},"principalId":{"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)$"},"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},"termsHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"manifestHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"repositoryId":{"type":"string","pattern":"^[1-9][0-9]{0,19}$"},"repositoryFullName":{"type":"string","maxLength":200,"pattern":"^[A-Za-z0-9][A-Za-z0-9_.-]*\\/[A-Za-z0-9][A-Za-z0-9_.-]*$"},"installationRecordId":{"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)$"},"installationGeneration":{"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)$"},"permissions":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"string","enum":["contents:read","contents:write","pull_requests:write"]}},"ref":{"type":"string","maxLength":255,"pattern":"^refs\\/heads\\/[A-Za-z0-9][A-Za-z0-9._/-]*$"},"baseOid":{"type":"string","pattern":"^[0-9a-f]{40}$"},"repositoryOwnerId":{"type":"string","pattern":"^[1-9][0-9]{0,19}$"},"externalInstallationId":{"type":"string","pattern":"^[1-9][0-9]{0,19}$"},"appId":{"type":"string","pattern":"^[1-9][0-9]{0,19}$"},"githubUserId":{"type":"string","pattern":"^[1-9][0-9]{0,19}$"},"verificationId":{"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)$"},"pullRequestVerificationId":{"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)$"}},"required":["organizationId","principalId","jobId","agreementVersion","termsHash","manifestHash","repositoryId","repositoryFullName","installationRecordId","installationGeneration","permissions","ref","baseOid","repositoryOwnerId","externalInstallationId","appId","githubUserId","verificationId","pullRequestVerificationId"],"additionalProperties":false},"pushOperationId":{"type":"string","allOf":[{"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)$"},{"pattern":"^[0-9a-f-]+$"}]},"pushFingerprint":{"type":"string","pattern":"^[0-9a-f]{64}$"},"expectedState":{"type":"object","properties":{"agreementVersion":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"termsHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"status":{"type":"string","enum":["draft","offered","accepted","funded","started","submitted","revision_requested","approved","settled","cancelled","disputed","terminated"]},"submissionSequence":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"revisionsUsed":{"type":"integer","minimum":0,"maximum":20}},"required":["agreementVersion","termsHash","status","submissionSequence","revisionsUsed"],"additionalProperties":false},"baseBranch":{"type":"string","maxLength":255,"pattern":"^refs\\/heads\\/[A-Za-z0-9][A-Za-z0-9._/-]*$"},"headOid":{"type":"string","pattern":"^[0-9a-f]{40}$"},"title":{"type":"string","minLength":1,"maxLength":256},"body":{"type":"string","maxLength":16384}},"required":["operationId","scope","pushOperationId","pushFingerprint","expectedState","baseBranch","headOid","title","body"],"additionalProperties":false},"state":{"type":"string","enum":["prepared","rejected","dispatched","uncertain","completed"]},"knownPullRequests":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[1-9][0-9]{0,19}$"},"number":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["id","number"],"additionalProperties":false}},"outcome":{"anyOf":[{"type":"string","enum":["acknowledged","target_observed"]},{"type":"null"}]},"failureCode":{"anyOf":[{"type":"string","enum":["pre_dispatch_rejected","dispatch_outcome_uncertain"]},{"type":"null"}]},"updatedAt":{"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))$"}},"required":["operationId","fingerprint","intent","state","knownPullRequests","outcome","failureCode","updatedAt"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"not_found"}},"required":["state"],"additionalProperties":false}]}}}},"400":{"description":"Invalid or extra fields."},"401":{"description":"Credential or nonce invalid."},"403":{"description":"Current authority denied."},"409":{"description":"Request differs from retained identity."},"413":{"description":"Body exceeds 64 KiB."},"429":{"description":"Bounded admission occupied."},"503":{"description":"Hosted v4 remote effects are disabled."}}}},"/api/v1/inspection/jobs/{jobId}/git/validate-receipt":{"post":{"operationId":"validateInspectorGitReceipt","summary":"Validate an exact completed v4 checkout receipt under current inspector authority.","description":"Read-only. Requires a current independent INSPECT agent, exact completed server audit and active v4 runtime. It does not fetch a pack, mint a token or grant authority to a caller-created receipt.","parameters":[{"in":"path","name":"jobId","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"header","name":"Authorization","required":true,"schema":{"type":"string"}},{"in":"header","name":"X-Hirefast-Nonce","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"scope":{"type":"object","properties":{"purpose":{"type":"string","const":"inspection"},"organizationId":{"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)$"},"inspectorPrincipalId":{"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)$"},"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},"termsHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"manifestHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"submissionHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"submissionRevision":{"type":"integer","exclusiveMinimum":0,"maximum":21},"producedBy":{"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)$"},"repositoryId":{"type":"string","pattern":"^[1-9][0-9]{0,19}$"},"repositoryFullName":{"type":"string","maxLength":200,"pattern":"^[A-Za-z0-9][A-Za-z0-9_.-]*\\/[A-Za-z0-9][A-Za-z0-9_.-]*$"},"installationRecordId":{"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)$"},"installationGeneration":{"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)$"},"baseOid":{"type":"string","pattern":"^[0-9a-f]{40}$"},"headOid":{"type":"string","pattern":"^[0-9a-f]{40}$"},"access":{"type":"string","const":"contents:read"}},"required":["purpose","organizationId","inspectorPrincipalId","jobId","agreementVersion","termsHash","manifestHash","submissionHash","submissionRevision","producedBy","repositoryId","repositoryFullName","installationRecordId","installationGeneration","baseOid","headOid","access"],"additionalProperties":false},"packSha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"sizeBytes":{"type":"integer","minimum":32,"maximum":67108864}},"required":["scope","packSha256","sizeBytes"],"additionalProperties":false}}}},"responses":{"200":{"description":"The current authority and exact completed audit match. Private, no-store.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["validated","headerFingerprint"],"properties":{"validated":{"type":"boolean","const":true},"headerFingerprint":{"type":"string","pattern":"^[a-f0-9]{64}$"}}}}}},"400":{"description":"Invalid or mismatched receipt header."},"401":{"description":"Missing, expired or revoked credential or nonce."},"403":{"description":"Current independent authority or completed audit does not match."},"409":{"description":"The retained agreement, submission or PR evidence conflicts."},"503":{"description":"The complete version-scoped runtime is unavailable."}}}},"/api/v1/buyer/github/verifications":{"post":{"operationId":"verifyGithubRepository","summary":"Issue an explicit immutable buyer proof using protected GitHub App user custody.","description":"Requires the current HUMAN buyer session and fresh MFA. No GitHub token input, service nonce, worker delegation or implicit permission expansion. PR verification additionally requires fully enabled code v4. Unavailable hosts refuse the request; clients do not retry automatically.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string"},"description":"Current HUMAN bearer session; service credentials are refused."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"externalInstallationId":{"type":"string","pattern":"^[1-9][0-9]{0,15}$"},"repository":{"type":"object","properties":{"id":{"type":"string","pattern":"^[1-9][0-9]{0,15}$"},"ownerId":{"type":"string","pattern":"^[1-9][0-9]{0,15}$"},"fullName":{"type":"string","maxLength":240,"pattern":"^[A-Za-z0-9_.-]+\\/[A-Za-z0-9_.-]+$"}},"required":["id","ownerId","fullName"],"additionalProperties":false},"contents":{"type":"string","enum":["read","write"]}},"required":["externalInstallationId","repository","contents"],"additionalProperties":false}}}},"responses":{"201":{"description":"Exact server-issued proof references; never provider credentials.","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"installationId":{"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)$"},"installationGeneration":{"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)$"},"repositoryId":{"type":"string","pattern":"^[1-9][0-9]{0,15}$"},"repository":{"type":"string","maxLength":240,"pattern":"^[A-Za-z0-9_.-]+\\/[A-Za-z0-9_.-]+$"},"verifiedAt":{"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))$"},"expiresAt":{"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))$"},"verificationId":{"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)$"},"contents":{"type":"string","enum":["read","write"]}},"required":["installationId","installationGeneration","repositoryId","repository","verifiedAt","expiresAt","verificationId","contents"],"additionalProperties":false}}}},"400":{"description":"Invalid or unsupported input."},"401":{"description":"Current human authentication required."},"403":{"description":"Current buyer, MFA or repository authority refused."},"409":{"description":"Selected binding or installation changed."},"503":{"description":"Code authoring or provider prerequisites unavailable."}}}},"/api/v1/buyer/github/pull-request-verifications":{"post":{"operationId":"verifyGithubPullRequest","summary":"Issue an explicit immutable buyer proof using protected GitHub App user custody.","description":"Requires the current HUMAN buyer session and fresh MFA. No GitHub token input, service nonce, worker delegation or implicit permission expansion. PR verification additionally requires fully enabled code v4. Unavailable hosts refuse the request; clients do not retry automatically.","parameters":[{"in":"header","name":"Authorization","required":true,"schema":{"type":"string"},"description":"Current HUMAN bearer session; service credentials are refused."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"contentsVerificationId":{"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)$"}},"required":["contentsVerificationId"],"additionalProperties":false}}}},"responses":{"201":{"description":"Exact server-issued proof references; never provider credentials.","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"installationId":{"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)$"},"installationGeneration":{"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)$"},"repositoryId":{"type":"string","pattern":"^[1-9][0-9]{0,15}$"},"repository":{"type":"string","maxLength":240,"pattern":"^[A-Za-z0-9_.-]+\\/[A-Za-z0-9_.-]+$"},"verifiedAt":{"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))$"},"expiresAt":{"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))$"},"contentsVerificationId":{"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)$"},"pullRequestVerificationId":{"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)$"}},"required":["installationId","installationGeneration","repositoryId","repository","verifiedAt","expiresAt","contentsVerificationId","pullRequestVerificationId"],"additionalProperties":false}}}},"400":{"description":"Invalid or unsupported input."},"401":{"description":"Current human authentication required."},"403":{"description":"Current buyer, MFA or repository authority refused."},"409":{"description":"Selected binding or installation changed."},"503":{"description":"Code authoring or provider prerequisites 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"}}}}}}},"/privacy":{"get":{"operationId":"getPrivacyPage","summary":"Public privacy policy and Hirefast data handling.","responses":{"200":{"description":"The privacy page.","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/support":{"get":{"operationId":"getSupportPage","summary":"Public Hirefast support contact and guidance","responses":{"200":{"description":"Support page","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/terms":{"get":{"operationId":"getTermsPage","summary":"Public service terms and repository work agreements.","responses":{"200":{"description":"The service terms page.","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}/content":{"get":{"operationId":"getInspectionSubmissionContent","summary":"Read the original submission text for an authorized inspection job.","description":"Requires authenticated organization and job read authority. The content string preserves the original whitespace, Unicode and JSON key order; its UTF-8 SHA-256 must match deliverableHash. The response is not cacheable.","parameters":[{"in":"path","name":"submissionId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Original content verified against its immutable submission subject.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["submissionId","jobId","agreementVersion","deliverableHash","content"],"properties":{"submissionId":{"type":"string"},"jobId":{"type":"string"},"agreementVersion":{"type":"integer","minimum":1},"deliverableHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"content":{"type":"string"}}}}}},"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 authority denied.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"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":"Submission content 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":"Submission content integrity 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/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},"githubPullRequestVerificationId":{"type":"string","format":"uuid","description":"Explicit server-issued PR verification required for v4 only; rejected on versions 1–3."},"githubVerificationId":{"type":"string","format":"uuid","description":"Exact server-issued buyer verification required for v3 code authoring. Hosted code requires a complete enabled runtime; this reference is not a credential."},"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,"default":1000},"feeModel":{"type":"string","enum":["buyer-paid-v1"],"description":"Required for new paid agreements: price is the provider bid and buyer pays that bid plus the rounded-down platform fee. Omission preserves historical request fingerprints for exact retries."},"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/webhooks/stripe-connect":{"post":{"operationId":"processStripeConnectWebhook","summary":"Refresh a bound payout account from a separately signed Stripe Connect event.","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, replayed, or ignored as unrelated.","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 with fresh MFA: buyers/providers may invite their own BUY/WORK agent; administrators manage other membership invitations. 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"}}}}}}}}}}}}}