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