@giveitsmaller/contracts 0.54.0 → 0.57.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (485) hide show
  1. package/LICENSE +202 -0
  2. package/accepted-options/accepted-options.json +5 -15
  3. package/accepted-options/image-output-routes.json +1 -1
  4. package/asyncapi/events.yaml +9 -5
  5. package/availability/availability.json +19 -62
  6. package/code-builder/code-builder-metadata.json +16 -167
  7. package/dist/openapi/models/AccountLimitEntry.d.ts +1 -1
  8. package/dist/openapi/models/AccountLimitEntry.js +1 -1
  9. package/dist/openapi/models/AccountLimits.d.ts +1 -1
  10. package/dist/openapi/models/AccountLimits.js +1 -1
  11. package/dist/openapi/models/AccountLimitsLimits.d.ts +1 -1
  12. package/dist/openapi/models/AccountLimitsLimits.js +1 -1
  13. package/dist/openapi/models/AccountLimitsSuccessEnvelope.d.ts +1 -1
  14. package/dist/openapi/models/AccountLimitsSuccessEnvelope.js +1 -1
  15. package/dist/openapi/models/AudioWatermarkDecodeRequest.d.ts +1 -1
  16. package/dist/openapi/models/AudioWatermarkDecodeRequest.js +1 -1
  17. package/dist/openapi/models/AudioWatermarkDecodeResponse.d.ts +1 -1
  18. package/dist/openapi/models/AudioWatermarkDecodeResponse.js +1 -1
  19. package/dist/openapi/models/AuthErrorResponse.d.ts +1 -1
  20. package/dist/openapi/models/AuthErrorResponse.js +1 -1
  21. package/dist/openapi/models/AuthErrorType.d.ts +52 -31
  22. package/dist/openapi/models/AuthErrorType.js +53 -32
  23. package/dist/openapi/models/AuthRejectionEnvelope.d.ts +1 -1
  24. package/dist/openapi/models/AuthRejectionEnvelope.js +1 -1
  25. package/dist/openapi/models/AvailabilityValue.d.ts +1 -1
  26. package/dist/openapi/models/AvailabilityValue.js +1 -1
  27. package/dist/openapi/models/BalanceExhaustedResponse.d.ts +1 -1
  28. package/dist/openapi/models/BalanceExhaustedResponse.js +1 -1
  29. package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.d.ts +1 -1
  30. package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.js +1 -1
  31. package/dist/openapi/models/BillingCheckoutRequest.d.ts +1 -1
  32. package/dist/openapi/models/BillingCheckoutRequest.js +1 -1
  33. package/dist/openapi/models/BillingCheckoutSession.d.ts +1 -1
  34. package/dist/openapi/models/BillingCheckoutSession.js +1 -1
  35. package/dist/openapi/models/BillingCheckoutSuccessEnvelope.d.ts +1 -1
  36. package/dist/openapi/models/BillingCheckoutSuccessEnvelope.js +1 -1
  37. package/dist/openapi/models/CallbackEventType.d.ts +1 -1
  38. package/dist/openapi/models/CallbackEventType.js +1 -1
  39. package/dist/openapi/models/CapabilityCondition.d.ts +1 -1
  40. package/dist/openapi/models/CapabilityCondition.js +1 -1
  41. package/dist/openapi/models/CapabilityConditionOneOf.d.ts +1 -1
  42. package/dist/openapi/models/CapabilityConditionOneOf.js +1 -1
  43. package/dist/openapi/models/CapabilityConditionOneOf1.d.ts +1 -1
  44. package/dist/openapi/models/CapabilityConditionOneOf1.js +1 -1
  45. package/dist/openapi/models/CapabilityConditionOneOf2.d.ts +1 -1
  46. package/dist/openapi/models/CapabilityConditionOneOf2.js +1 -1
  47. package/dist/openapi/models/CapabilityConditionOneOf3.d.ts +1 -1
  48. package/dist/openapi/models/CapabilityConditionOneOf3.js +1 -1
  49. package/dist/openapi/models/CapabilityConditionOneOf4.d.ts +1 -1
  50. package/dist/openapi/models/CapabilityConditionOneOf4.js +1 -1
  51. package/dist/openapi/models/CapabilityConditionOneOf5.d.ts +1 -1
  52. package/dist/openapi/models/CapabilityConditionOneOf5.js +1 -1
  53. package/dist/openapi/models/CapabilityConditionOneOf6.d.ts +1 -1
  54. package/dist/openapi/models/CapabilityConditionOneOf6.js +1 -1
  55. package/dist/openapi/models/CapabilityConstraint.d.ts +1 -1
  56. package/dist/openapi/models/CapabilityConstraint.js +1 -1
  57. package/dist/openapi/models/CapabilityInputSpec.d.ts +1 -1
  58. package/dist/openapi/models/CapabilityInputSpec.js +1 -1
  59. package/dist/openapi/models/CapabilityProduces.d.ts +1 -1
  60. package/dist/openapi/models/CapabilityProduces.js +1 -1
  61. package/dist/openapi/models/CapabilityProducesOneOf.d.ts +1 -1
  62. package/dist/openapi/models/CapabilityProducesOneOf.js +1 -1
  63. package/dist/openapi/models/CapabilityProducesOneOf1.d.ts +1 -1
  64. package/dist/openapi/models/CapabilityProducesOneOf1.js +1 -1
  65. package/dist/openapi/models/CapabilityProducesOneOf2.d.ts +1 -1
  66. package/dist/openapi/models/CapabilityProducesOneOf2.js +1 -1
  67. package/dist/openapi/models/ChangePasswordRequest.d.ts +1 -1
  68. package/dist/openapi/models/ChangePasswordRequest.js +1 -1
  69. package/dist/openapi/models/CodegenSource.d.ts +1 -1
  70. package/dist/openapi/models/CodegenSource.js +1 -1
  71. package/dist/openapi/models/CodegenSourceInput.d.ts +1 -1
  72. package/dist/openapi/models/CodegenSourceInput.js +1 -1
  73. package/dist/openapi/models/CodegenSourceJob.d.ts +1 -1
  74. package/dist/openapi/models/CodegenSourceJob.js +1 -1
  75. package/dist/openapi/models/CodegenSourceJobSource.d.ts +1 -1
  76. package/dist/openapi/models/CodegenSourceJobSource.js +1 -1
  77. package/dist/openapi/models/CodegenSourceOperation.d.ts +1 -1
  78. package/dist/openapi/models/CodegenSourceOperation.js +1 -1
  79. package/dist/openapi/models/CodegenUploadPlaceholder.d.ts +1 -1
  80. package/dist/openapi/models/CodegenUploadPlaceholder.js +1 -1
  81. package/dist/openapi/models/CompositionPlan.d.ts +1 -1
  82. package/dist/openapi/models/CompositionPlan.js +1 -1
  83. package/dist/openapi/models/CompositionPlanJob.d.ts +1 -1
  84. package/dist/openapi/models/CompositionPlanJob.js +1 -1
  85. package/dist/openapi/models/CompositionPlanOperation.d.ts +1 -1
  86. package/dist/openapi/models/CompositionPlanOperation.js +1 -1
  87. package/dist/openapi/models/ConfirmEmailChange200Response.d.ts +1 -1
  88. package/dist/openapi/models/ConfirmEmailChange200Response.js +1 -1
  89. package/dist/openapi/models/ConfirmEmailChange200ResponseData.d.ts +1 -1
  90. package/dist/openapi/models/ConfirmEmailChange200ResponseData.js +1 -1
  91. package/dist/openapi/models/ConfirmEmailChangeRequest.d.ts +1 -1
  92. package/dist/openapi/models/ConfirmEmailChangeRequest.js +1 -1
  93. package/dist/openapi/models/ConnectionSource.d.ts +1 -1
  94. package/dist/openapi/models/ConnectionSource.js +1 -1
  95. package/dist/openapi/models/ContactRequest.d.ts +1 -1
  96. package/dist/openapi/models/ContactRequest.js +1 -1
  97. package/dist/openapi/models/ContactSubject.d.ts +1 -1
  98. package/dist/openapi/models/ContactSubject.js +1 -1
  99. package/dist/openapi/models/ContactValidationErrorResponse.d.ts +1 -1
  100. package/dist/openapi/models/ContactValidationErrorResponse.js +1 -1
  101. package/dist/openapi/models/CreateApiKey201Response.d.ts +1 -1
  102. package/dist/openapi/models/CreateApiKey201Response.js +1 -1
  103. package/dist/openapi/models/CreateApiKey201ResponseData.d.ts +1 -1
  104. package/dist/openapi/models/CreateApiKey201ResponseData.js +1 -1
  105. package/dist/openapi/models/CreateApiKeyRequest.d.ts +1 -1
  106. package/dist/openapi/models/CreateApiKeyRequest.js +1 -1
  107. package/dist/openapi/models/CreateBillingCheckoutSession422Response.d.ts +1 -1
  108. package/dist/openapi/models/CreateBillingCheckoutSession422Response.js +1 -1
  109. package/dist/openapi/models/CreateExternalImport403Response.d.ts +1 -1
  110. package/dist/openapi/models/CreateExternalImport403Response.js +1 -1
  111. package/dist/openapi/models/CreateExternalImport422Response.d.ts +1 -1
  112. package/dist/openapi/models/CreateExternalImport422Response.js +1 -1
  113. package/dist/openapi/models/CreateWorkflow401Response.d.ts +160 -0
  114. package/dist/openapi/models/CreateWorkflow401Response.js +73 -0
  115. package/dist/openapi/models/CreateWorkflow422Response.d.ts +1 -1
  116. package/dist/openapi/models/CreateWorkflow422Response.js +1 -1
  117. package/dist/openapi/models/CreditTransaction.d.ts +1 -1
  118. package/dist/openapi/models/CreditTransaction.js +1 -1
  119. package/dist/openapi/models/CreditTransactionSourceBucket.d.ts +1 -1
  120. package/dist/openapi/models/CreditTransactionSourceBucket.js +1 -1
  121. package/dist/openapi/models/CreditsBalanceResponse.d.ts +1 -1
  122. package/dist/openapi/models/CreditsBalanceResponse.js +1 -1
  123. package/dist/openapi/models/CreditsBalanceSuccessEnvelope.d.ts +1 -1
  124. package/dist/openapi/models/CreditsBalanceSuccessEnvelope.js +1 -1
  125. package/dist/openapi/models/CreditsUsageResponse.d.ts +1 -1
  126. package/dist/openapi/models/CreditsUsageResponse.js +1 -1
  127. package/dist/openapi/models/CreditsUsageSuccessEnvelope.d.ts +1 -1
  128. package/dist/openapi/models/CreditsUsageSuccessEnvelope.js +1 -1
  129. package/dist/openapi/models/Delivery.d.ts +1 -1
  130. package/dist/openapi/models/Delivery.js +1 -1
  131. package/dist/openapi/models/DeliveryOutputRef.d.ts +1 -1
  132. package/dist/openapi/models/DeliveryOutputRef.js +1 -1
  133. package/dist/openapi/models/DeliveryPlan.d.ts +1 -1
  134. package/dist/openapi/models/DeliveryPlan.js +1 -1
  135. package/dist/openapi/models/DeliveryPlanOutput.d.ts +1 -1
  136. package/dist/openapi/models/DeliveryPlanOutput.js +1 -1
  137. package/dist/openapi/models/DeliveryPlanReason.d.ts +1 -1
  138. package/dist/openapi/models/DeliveryPlanReason.js +1 -1
  139. package/dist/openapi/models/DeliverySelection.d.ts +1 -1
  140. package/dist/openapi/models/DeliverySelection.js +1 -1
  141. package/dist/openapi/models/DownloadBundle.d.ts +1 -1
  142. package/dist/openapi/models/DownloadBundle.js +1 -1
  143. package/dist/openapi/models/EmailNotify.d.ts +73 -0
  144. package/dist/openapi/models/EmailNotify.js +46 -0
  145. package/dist/openapi/models/EmptySuccessEnvelope.d.ts +1 -1
  146. package/dist/openapi/models/EmptySuccessEnvelope.js +1 -1
  147. package/dist/openapi/models/EndpointProjection.d.ts +1 -1
  148. package/dist/openapi/models/EndpointProjection.js +1 -1
  149. package/dist/openapi/models/ErrorEnvelope.d.ts +1 -1
  150. package/dist/openapi/models/ErrorEnvelope.js +1 -1
  151. package/dist/openapi/models/EstimateQuality.d.ts +1 -1
  152. package/dist/openapi/models/EstimateQuality.js +1 -1
  153. package/dist/openapi/models/EstimateRange.d.ts +1 -1
  154. package/dist/openapi/models/EstimateRange.js +1 -1
  155. package/dist/openapi/models/ExternalDestination.d.ts +1 -1
  156. package/dist/openapi/models/ExternalDestination.js +1 -1
  157. package/dist/openapi/models/ExternalImportCreatedResponse.d.ts +1 -1
  158. package/dist/openapi/models/ExternalImportCreatedResponse.js +1 -1
  159. package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.d.ts +1 -1
  160. package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.js +1 -1
  161. package/dist/openapi/models/ExternalImportRequest.d.ts +1 -1
  162. package/dist/openapi/models/ExternalImportRequest.js +1 -1
  163. package/dist/openapi/models/ExternalImportToken.d.ts +1 -1
  164. package/dist/openapi/models/ExternalImportToken.js +1 -1
  165. package/dist/openapi/models/ExternalSource.d.ts +1 -1
  166. package/dist/openapi/models/ExternalSource.js +1 -1
  167. package/dist/openapi/models/FeatureNotAvailableResponse.d.ts +1 -1
  168. package/dist/openapi/models/FeatureNotAvailableResponse.js +1 -1
  169. package/dist/openapi/models/FeatureTierRestrictedResponse.d.ts +1 -1
  170. package/dist/openapi/models/FeatureTierRestrictedResponse.js +1 -1
  171. package/dist/openapi/models/FeatureViolation.d.ts +1 -1
  172. package/dist/openapi/models/FeatureViolation.js +1 -1
  173. package/dist/openapi/models/ImageEncodeCapabilities.d.ts +1 -1
  174. package/dist/openapi/models/ImageEncodeCapabilities.js +1 -1
  175. package/dist/openapi/models/JobDefinition.d.ts +1 -1
  176. package/dist/openapi/models/JobDefinition.js +1 -1
  177. package/dist/openapi/models/JobDownload.d.ts +1 -1
  178. package/dist/openapi/models/JobDownload.js +1 -1
  179. package/dist/openapi/models/JobInputV2.d.ts +1 -1
  180. package/dist/openapi/models/JobInputV2.js +1 -1
  181. package/dist/openapi/models/JobMediaClass.d.ts +1 -1
  182. package/dist/openapi/models/JobMediaClass.js +1 -1
  183. package/dist/openapi/models/JobOutputSource.d.ts +1 -1
  184. package/dist/openapi/models/JobOutputSource.js +1 -1
  185. package/dist/openapi/models/JobResponse.d.ts +1 -1
  186. package/dist/openapi/models/JobResponse.js +1 -1
  187. package/dist/openapi/models/JobStatus.d.ts +1 -1
  188. package/dist/openapi/models/JobStatus.js +1 -1
  189. package/dist/openapi/models/JobType.d.ts +1 -1
  190. package/dist/openapi/models/JobType.js +1 -1
  191. package/dist/openapi/models/LivenessResponse.d.ts +1 -1
  192. package/dist/openapi/models/LivenessResponse.js +1 -1
  193. package/dist/openapi/models/LoginUser200Response.d.ts +1 -1
  194. package/dist/openapi/models/LoginUser200Response.js +1 -1
  195. package/dist/openapi/models/LoginUser200ResponseData.d.ts +1 -1
  196. package/dist/openapi/models/LoginUser200ResponseData.js +1 -1
  197. package/dist/openapi/models/LoginUser200ResponseDataUser.d.ts +1 -1
  198. package/dist/openapi/models/LoginUser200ResponseDataUser.js +1 -1
  199. package/dist/openapi/models/LoginUser401Response.d.ts +158 -0
  200. package/dist/openapi/models/LoginUser401Response.js +71 -0
  201. package/dist/openapi/models/LoginUserRequest.d.ts +1 -1
  202. package/dist/openapi/models/LoginUserRequest.js +1 -1
  203. package/dist/openapi/models/LongFormConcurrencyLimitResponse.d.ts +1 -1
  204. package/dist/openapi/models/LongFormConcurrencyLimitResponse.js +1 -1
  205. package/dist/openapi/models/LongFormConcurrencyLimitResponseAllOfLinks.d.ts +1 -1
  206. package/dist/openapi/models/LongFormConcurrencyLimitResponseAllOfLinks.js +1 -1
  207. package/dist/openapi/models/MetadataResponse.d.ts +1 -1
  208. package/dist/openapi/models/MetadataResponse.js +1 -1
  209. package/dist/openapi/models/MetadataResponseDimensions.d.ts +1 -1
  210. package/dist/openapi/models/MetadataResponseDimensions.js +1 -1
  211. package/dist/openapi/models/MetadataResponseExif.d.ts +1 -1
  212. package/dist/openapi/models/MetadataResponseExif.js +1 -1
  213. package/dist/openapi/models/MetadataResponseExifGps.d.ts +1 -1
  214. package/dist/openapi/models/MetadataResponseExifGps.js +1 -1
  215. package/dist/openapi/models/MetadataSuccessEnvelope.d.ts +1 -1
  216. package/dist/openapi/models/MetadataSuccessEnvelope.js +1 -1
  217. package/dist/openapi/models/MimeGroupSchema.d.ts +1 -1
  218. package/dist/openapi/models/MimeGroupSchema.js +1 -1
  219. package/dist/openapi/models/MultiInputSource.d.ts +1 -1
  220. package/dist/openapi/models/MultiInputSource.js +1 -1
  221. package/dist/openapi/models/MultipartCompleteRequest.d.ts +1 -1
  222. package/dist/openapi/models/MultipartCompleteRequest.js +1 -1
  223. package/dist/openapi/models/MultipartCompleteRequestPartsInner.d.ts +1 -1
  224. package/dist/openapi/models/MultipartCompleteRequestPartsInner.js +1 -1
  225. package/dist/openapi/models/MultipartCompleteResponse.d.ts +1 -1
  226. package/dist/openapi/models/MultipartCompleteResponse.js +1 -1
  227. package/dist/openapi/models/MultipartCompleteSuccessEnvelope.d.ts +1 -1
  228. package/dist/openapi/models/MultipartCompleteSuccessEnvelope.js +1 -1
  229. package/dist/openapi/models/MultipartInitiateRequestMetadataHint.d.ts +1 -1
  230. package/dist/openapi/models/MultipartInitiateRequestMetadataHint.js +1 -1
  231. package/dist/openapi/models/MultipartInitiateResponse.d.ts +1 -1
  232. package/dist/openapi/models/MultipartInitiateResponse.js +1 -1
  233. package/dist/openapi/models/MultipartInitiateSuccessEnvelope.d.ts +1 -1
  234. package/dist/openapi/models/MultipartInitiateSuccessEnvelope.js +1 -1
  235. package/dist/openapi/models/MultipartKeepaliveResponse.d.ts +1 -1
  236. package/dist/openapi/models/MultipartKeepaliveResponse.js +1 -1
  237. package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.d.ts +1 -1
  238. package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.js +1 -1
  239. package/dist/openapi/models/MultipartPartListing.d.ts +1 -1
  240. package/dist/openapi/models/MultipartPartListing.js +1 -1
  241. package/dist/openapi/models/MultipartPresignRequest.d.ts +1 -1
  242. package/dist/openapi/models/MultipartPresignRequest.js +1 -1
  243. package/dist/openapi/models/MultipartPresignResponse.d.ts +1 -1
  244. package/dist/openapi/models/MultipartPresignResponse.js +1 -1
  245. package/dist/openapi/models/MultipartPresignSuccessEnvelope.d.ts +1 -1
  246. package/dist/openapi/models/MultipartPresignSuccessEnvelope.js +1 -1
  247. package/dist/openapi/models/MultipartStatusResponse.d.ts +1 -1
  248. package/dist/openapi/models/MultipartStatusResponse.js +1 -1
  249. package/dist/openapi/models/MultipartStatusSuccessEnvelope.d.ts +1 -1
  250. package/dist/openapi/models/MultipartStatusSuccessEnvelope.js +1 -1
  251. package/dist/openapi/models/NotifyConfig.d.ts +46 -0
  252. package/dist/openapi/models/NotifyConfig.js +42 -0
  253. package/dist/openapi/models/OperationCapability.d.ts +1 -1
  254. package/dist/openapi/models/OperationCapability.js +1 -1
  255. package/dist/openapi/models/OperationDefinition.d.ts +1 -1
  256. package/dist/openapi/models/OperationDefinition.js +1 -1
  257. package/dist/openapi/models/OperationDownload.d.ts +1 -1
  258. package/dist/openapi/models/OperationDownload.js +1 -1
  259. package/dist/openapi/models/OperationInputModel.d.ts +1 -1
  260. package/dist/openapi/models/OperationInputModel.js +1 -1
  261. package/dist/openapi/models/OperationResponse.d.ts +1 -1
  262. package/dist/openapi/models/OperationResponse.js +1 -1
  263. package/dist/openapi/models/OperationResult.d.ts +1 -1
  264. package/dist/openapi/models/OperationResult.js +1 -1
  265. package/dist/openapi/models/OperationResultMetadata.d.ts +1 -1
  266. package/dist/openapi/models/OperationResultMetadata.js +1 -1
  267. package/dist/openapi/models/OperationResultMetrics.d.ts +1 -1
  268. package/dist/openapi/models/OperationResultMetrics.js +1 -1
  269. package/dist/openapi/models/OperationSchemaDefinition.d.ts +1 -1
  270. package/dist/openapi/models/OperationSchemaDefinition.js +1 -1
  271. package/dist/openapi/models/OperationStatus.d.ts +1 -1
  272. package/dist/openapi/models/OperationStatus.js +1 -1
  273. package/dist/openapi/models/OperationType.d.ts +1 -1
  274. package/dist/openapi/models/OperationType.js +1 -1
  275. package/dist/openapi/models/OperationsSchemaResponse.d.ts +1 -1
  276. package/dist/openapi/models/OperationsSchemaResponse.js +1 -1
  277. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.d.ts +1 -1
  278. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.js +1 -1
  279. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.d.ts +1 -1
  280. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.js +1 -1
  281. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.d.ts +1 -1
  282. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.js +1 -1
  283. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.d.ts +1 -1
  284. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.js +1 -1
  285. package/dist/openapi/models/OptionSchema.d.ts +1 -1
  286. package/dist/openapi/models/OptionSchema.js +1 -1
  287. package/dist/openapi/models/OutputProperties.d.ts +1 -1
  288. package/dist/openapi/models/OutputProperties.js +1 -1
  289. package/dist/openapi/models/OutputPropertiesIsAnimated.d.ts +1 -1
  290. package/dist/openapi/models/OutputPropertiesIsAnimated.js +1 -1
  291. package/dist/openapi/models/PerRoleCardinalityEntry.d.ts +1 -1
  292. package/dist/openapi/models/PerRoleCardinalityEntry.js +1 -1
  293. package/dist/openapi/models/PerValueAvailabilityEntry.d.ts +1 -1
  294. package/dist/openapi/models/PerValueAvailabilityEntry.js +1 -1
  295. package/dist/openapi/models/PresignedUrlPart.d.ts +1 -1
  296. package/dist/openapi/models/PresignedUrlPart.js +1 -1
  297. package/dist/openapi/models/ProbePendingResponse.d.ts +1 -1
  298. package/dist/openapi/models/ProbePendingResponse.js +1 -1
  299. package/dist/openapi/models/ProcessingClass.d.ts +1 -1
  300. package/dist/openapi/models/ProcessingClass.js +1 -1
  301. package/dist/openapi/models/ProcessingClassBandViolation.d.ts +1 -1
  302. package/dist/openapi/models/ProcessingClassBandViolation.js +1 -1
  303. package/dist/openapi/models/ProcessingClassConstraints.d.ts +1 -1
  304. package/dist/openapi/models/ProcessingClassConstraints.js +1 -1
  305. package/dist/openapi/models/ProcessingClassEntry.d.ts +1 -1
  306. package/dist/openapi/models/ProcessingClassEntry.js +1 -1
  307. package/dist/openapi/models/ProcessingClassExceedsBandResponse.d.ts +1 -1
  308. package/dist/openapi/models/ProcessingClassExceedsBandResponse.js +1 -1
  309. package/dist/openapi/models/ProcessingClassHint.d.ts +1 -1
  310. package/dist/openapi/models/ProcessingClassHint.js +1 -1
  311. package/dist/openapi/models/ProcessingClassReason.d.ts +1 -1
  312. package/dist/openapi/models/ProcessingClassReason.js +1 -1
  313. package/dist/openapi/models/ProcessingClassRejectReason.d.ts +1 -1
  314. package/dist/openapi/models/ProcessingClassRejectReason.js +1 -1
  315. package/dist/openapi/models/ProcessingPlan.d.ts +1 -1
  316. package/dist/openapi/models/ProcessingPlan.js +1 -1
  317. package/dist/openapi/models/ProcessingPlanJob.d.ts +1 -1
  318. package/dist/openapi/models/ProcessingPlanJob.js +1 -1
  319. package/dist/openapi/models/ReEncodeDecision.d.ts +1 -1
  320. package/dist/openapi/models/ReEncodeDecision.js +1 -1
  321. package/dist/openapi/models/ReadinessResponse.d.ts +1 -1
  322. package/dist/openapi/models/ReadinessResponse.js +1 -1
  323. package/dist/openapi/models/RegisterUser422Response.d.ts +1 -1
  324. package/dist/openapi/models/RegisterUser422Response.js +1 -1
  325. package/dist/openapi/models/RegisterUserRequest.d.ts +1 -1
  326. package/dist/openapi/models/RegisterUserRequest.js +1 -1
  327. package/dist/openapi/models/{ForgotPasswordRequest.d.ts → ResendVerificationEmailRequest.d.ts} +10 -10
  328. package/dist/openapi/models/{ForgotPasswordRequest.js → ResendVerificationEmailRequest.js} +9 -9
  329. package/dist/openapi/models/ResetPasswordRequest.d.ts +1 -1
  330. package/dist/openapi/models/ResetPasswordRequest.js +1 -1
  331. package/dist/openapi/models/ResponseEnvelope.d.ts +1 -1
  332. package/dist/openapi/models/ResponseEnvelope.js +1 -1
  333. package/dist/openapi/models/RetryResponse.d.ts +1 -1
  334. package/dist/openapi/models/RetryResponse.js +1 -1
  335. package/dist/openapi/models/RetrySuccessEnvelope.d.ts +1 -1
  336. package/dist/openapi/models/RetrySuccessEnvelope.js +1 -1
  337. package/dist/openapi/models/SseCompletionBase.d.ts +1 -1
  338. package/dist/openapi/models/SseCompletionBase.js +1 -1
  339. package/dist/openapi/models/SseEventType.d.ts +1 -1
  340. package/dist/openapi/models/SseEventType.js +1 -1
  341. package/dist/openapi/models/SseJobCompletedData.d.ts +1 -1
  342. package/dist/openapi/models/SseJobCompletedData.js +1 -1
  343. package/dist/openapi/models/SseJobFailedData.d.ts +1 -1
  344. package/dist/openapi/models/SseJobFailedData.js +1 -1
  345. package/dist/openapi/models/SseMultiOutputCompletion.d.ts +1 -1
  346. package/dist/openapi/models/SseMultiOutputCompletion.js +1 -1
  347. package/dist/openapi/models/SseMultiOutputCompletionMetrics.d.ts +1 -1
  348. package/dist/openapi/models/SseMultiOutputCompletionMetrics.js +1 -1
  349. package/dist/openapi/models/SseMultiOutputCompletionWithKind.d.ts +1 -1
  350. package/dist/openapi/models/SseMultiOutputCompletionWithKind.js +1 -1
  351. package/dist/openapi/models/SseMultiOutputResultEntry.d.ts +1 -1
  352. package/dist/openapi/models/SseMultiOutputResultEntry.js +1 -1
  353. package/dist/openapi/models/SseOperationCompletedData.d.ts +1 -1
  354. package/dist/openapi/models/SseOperationCompletedData.js +1 -1
  355. package/dist/openapi/models/SseOperationCompletionResult.d.ts +1 -1
  356. package/dist/openapi/models/SseOperationCompletionResult.js +1 -1
  357. package/dist/openapi/models/SseOperationFailedData.d.ts +1 -1
  358. package/dist/openapi/models/SseOperationFailedData.js +1 -1
  359. package/dist/openapi/models/SseOperationProgressData.d.ts +1 -1
  360. package/dist/openapi/models/SseOperationProgressData.js +1 -1
  361. package/dist/openapi/models/SseSingleOutputCompletion.d.ts +1 -1
  362. package/dist/openapi/models/SseSingleOutputCompletion.js +1 -1
  363. package/dist/openapi/models/SseWorkflowTerminalData.d.ts +1 -1
  364. package/dist/openapi/models/SseWorkflowTerminalData.js +1 -1
  365. package/dist/openapi/models/TierRestrictionKind.d.ts +1 -1
  366. package/dist/openapi/models/TierRestrictionKind.js +1 -1
  367. package/dist/openapi/models/TierRestrictionResponse.d.ts +1 -1
  368. package/dist/openapi/models/TierRestrictionResponse.js +1 -1
  369. package/dist/openapi/models/UpdateProfile200Response.d.ts +1 -1
  370. package/dist/openapi/models/UpdateProfile200Response.js +1 -1
  371. package/dist/openapi/models/UpdateProfile200ResponseData.d.ts +1 -1
  372. package/dist/openapi/models/UpdateProfile200ResponseData.js +1 -1
  373. package/dist/openapi/models/UpdateProfile422Response.d.ts +1 -1
  374. package/dist/openapi/models/UpdateProfile422Response.js +1 -1
  375. package/dist/openapi/models/UpdateProfileRequest.d.ts +1 -1
  376. package/dist/openapi/models/UpdateProfileRequest.js +1 -1
  377. package/dist/openapi/models/UploadConstraintsApplied.d.ts +1 -1
  378. package/dist/openapi/models/UploadConstraintsApplied.js +1 -1
  379. package/dist/openapi/models/UploadDurationExceedsTierResponse.d.ts +1 -1
  380. package/dist/openapi/models/UploadDurationExceedsTierResponse.js +1 -1
  381. package/dist/openapi/models/UploadFile403Response.d.ts +1 -1
  382. package/dist/openapi/models/UploadFile403Response.js +1 -1
  383. package/dist/openapi/models/UploadFile422Response.d.ts +1 -1
  384. package/dist/openapi/models/UploadFile422Response.js +1 -1
  385. package/dist/openapi/models/UploadProbeMediaMetadata.d.ts +1 -1
  386. package/dist/openapi/models/UploadProbeMediaMetadata.js +1 -1
  387. package/dist/openapi/models/UploadProbeProcessingClass.d.ts +1 -1
  388. package/dist/openapi/models/UploadProbeProcessingClass.js +1 -1
  389. package/dist/openapi/models/UploadProbeResponse.d.ts +1 -1
  390. package/dist/openapi/models/UploadProbeResponse.js +1 -1
  391. package/dist/openapi/models/UploadProbeStatus.d.ts +1 -1
  392. package/dist/openapi/models/UploadProbeStatus.js +1 -1
  393. package/dist/openapi/models/UploadProbeSuccessEnvelope.d.ts +1 -1
  394. package/dist/openapi/models/UploadProbeSuccessEnvelope.js +1 -1
  395. package/dist/openapi/models/UploadResponse.d.ts +1 -1
  396. package/dist/openapi/models/UploadResponse.js +1 -1
  397. package/dist/openapi/models/UploadSizeExceedsTierResponse.d.ts +1 -1
  398. package/dist/openapi/models/UploadSizeExceedsTierResponse.js +1 -1
  399. package/dist/openapi/models/UploadSource.d.ts +19 -1
  400. package/dist/openapi/models/UploadSource.js +3 -1
  401. package/dist/openapi/models/UploadSuccessEnvelope.d.ts +1 -1
  402. package/dist/openapi/models/UploadSuccessEnvelope.js +1 -1
  403. package/dist/openapi/models/UploadThresholds.d.ts +1 -1
  404. package/dist/openapi/models/UploadThresholds.js +1 -1
  405. package/dist/openapi/models/UserTier.d.ts +1 -1
  406. package/dist/openapi/models/UserTier.js +1 -1
  407. package/dist/openapi/models/ValidationErrorEnvelope.d.ts +1 -1
  408. package/dist/openapi/models/ValidationErrorEnvelope.js +1 -1
  409. package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.d.ts +1 -1
  410. package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.js +1 -1
  411. package/dist/openapi/models/VerifyEmailRequest.d.ts +1 -1
  412. package/dist/openapi/models/VerifyEmailRequest.js +1 -1
  413. package/dist/openapi/models/WarningType.d.ts +1 -1
  414. package/dist/openapi/models/WarningType.js +1 -1
  415. package/dist/openapi/models/WebhookOperationContext.d.ts +1 -1
  416. package/dist/openapi/models/WebhookOperationContext.js +1 -1
  417. package/dist/openapi/models/WebhookPayload.d.ts +1 -1
  418. package/dist/openapi/models/WebhookPayload.js +1 -1
  419. package/dist/openapi/models/WorkflowCancelBillingEffect.d.ts +1 -1
  420. package/dist/openapi/models/WorkflowCancelBillingEffect.js +1 -1
  421. package/dist/openapi/models/WorkflowCancelResponse.d.ts +1 -1
  422. package/dist/openapi/models/WorkflowCancelResponse.js +1 -1
  423. package/dist/openapi/models/WorkflowCancelSuccessEnvelope.d.ts +1 -1
  424. package/dist/openapi/models/WorkflowCancelSuccessEnvelope.js +1 -1
  425. package/dist/openapi/models/WorkflowCreateRequest.d.ts +22 -1
  426. package/dist/openapi/models/WorkflowCreateRequest.js +4 -1
  427. package/dist/openapi/models/WorkflowCreateResponse.d.ts +1 -1
  428. package/dist/openapi/models/WorkflowCreateResponse.js +1 -1
  429. package/dist/openapi/models/WorkflowCreateSuccessEnvelope.d.ts +1 -1
  430. package/dist/openapi/models/WorkflowCreateSuccessEnvelope.js +1 -1
  431. package/dist/openapi/models/WorkflowCreditSummary.d.ts +1 -1
  432. package/dist/openapi/models/WorkflowCreditSummary.js +1 -1
  433. package/dist/openapi/models/WorkflowDownloadResponse.d.ts +1 -1
  434. package/dist/openapi/models/WorkflowDownloadResponse.js +1 -1
  435. package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.d.ts +1 -1
  436. package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.js +1 -1
  437. package/dist/openapi/models/WorkflowEdge.d.ts +1 -1
  438. package/dist/openapi/models/WorkflowEdge.js +1 -1
  439. package/dist/openapi/models/WorkflowExpiredResponse.d.ts +1 -1
  440. package/dist/openapi/models/WorkflowExpiredResponse.js +1 -1
  441. package/dist/openapi/models/WorkflowListResponse.d.ts +1 -1
  442. package/dist/openapi/models/WorkflowListResponse.js +1 -1
  443. package/dist/openapi/models/WorkflowListSuccessEnvelope.d.ts +1 -1
  444. package/dist/openapi/models/WorkflowListSuccessEnvelope.js +1 -1
  445. package/dist/openapi/models/WorkflowPauseRequiredAction.d.ts +1 -1
  446. package/dist/openapi/models/WorkflowPauseRequiredAction.js +1 -1
  447. package/dist/openapi/models/WorkflowPausedDetail.d.ts +1 -1
  448. package/dist/openapi/models/WorkflowPausedDetail.js +1 -1
  449. package/dist/openapi/models/WorkflowPausedDetailLinks.d.ts +1 -1
  450. package/dist/openapi/models/WorkflowPausedDetailLinks.js +1 -1
  451. package/dist/openapi/models/WorkflowProcessing.d.ts +1 -1
  452. package/dist/openapi/models/WorkflowProcessing.js +1 -1
  453. package/dist/openapi/models/WorkflowResumeResponse.d.ts +1 -1
  454. package/dist/openapi/models/WorkflowResumeResponse.js +1 -1
  455. package/dist/openapi/models/WorkflowResumeSuccessEnvelope.d.ts +1 -1
  456. package/dist/openapi/models/WorkflowResumeSuccessEnvelope.js +1 -1
  457. package/dist/openapi/models/WorkflowSource.d.ts +1 -1
  458. package/dist/openapi/models/WorkflowSource.js +1 -1
  459. package/dist/openapi/models/WorkflowStatus.d.ts +1 -1
  460. package/dist/openapi/models/WorkflowStatus.js +1 -1
  461. package/dist/openapi/models/WorkflowStatusResponse.d.ts +1 -1
  462. package/dist/openapi/models/WorkflowStatusResponse.js +1 -1
  463. package/dist/openapi/models/WorkflowStatusSuccessEnvelope.d.ts +1 -1
  464. package/dist/openapi/models/WorkflowStatusSuccessEnvelope.js +1 -1
  465. package/dist/openapi/models/WorkflowSummary.d.ts +1 -1
  466. package/dist/openapi/models/WorkflowSummary.js +1 -1
  467. package/dist/openapi/models/WorkflowSummaryJob.d.ts +1 -1
  468. package/dist/openapi/models/WorkflowSummaryJob.js +1 -1
  469. package/dist/openapi/models/WorkflowWarning.d.ts +1 -1
  470. package/dist/openapi/models/WorkflowWarning.js +1 -1
  471. package/dist/openapi/models/WorkflowWarningSeverity.d.ts +1 -1
  472. package/dist/openapi/models/WorkflowWarningSeverity.js +1 -1
  473. package/dist/openapi/models/index.d.ts +5 -1
  474. package/dist/openapi/models/index.js +5 -1
  475. package/dist/openapi/runtime.d.ts +1 -1
  476. package/dist/openapi/runtime.js +1 -1
  477. package/dist/operations/compress.d.ts +1 -21
  478. package/dist/operations/compress.js +0 -14
  479. package/dist/operations/compress.metadata.js +2 -29
  480. package/dist/operations/merge.metadata.js +1 -1
  481. package/openapi/api.yaml +355 -95
  482. package/operation-capabilities/operation-capabilities.json +48 -4
  483. package/operations/schemas/compress.yaml +45 -57
  484. package/operations/schemas/merge.yaml +8 -4
  485. package/package.json +2 -2
package/openapi/api.yaml CHANGED
@@ -89,7 +89,7 @@ info:
89
89
  of truth instead of hardcoding magic numbers. A runtime
90
90
  `GET /api/uploads/limits` endpoint for dynamic discovery
91
91
  (per-tier / per-environment overrides) is a deferred follow-up.
92
- version: 2.158.0
92
+ version: 2.170.0
93
93
  contact:
94
94
  name: API Support
95
95
 
@@ -1567,6 +1567,49 @@ paths:
1567
1567
  success: false
1568
1568
  error: "BAD_REQUEST"
1569
1569
  message: "Invalid workflow request"
1570
+ '401':
1571
+ description: |
1572
+ An authentication credential was **presented** on this endpoint's
1573
+ mixed auth surface (`security: [{}, bearerAuth, sessionAuth]`) but
1574
+ was rejected. `error_type` (an `AuthErrorType`) discriminates:
1575
+
1576
+ - `reauthentication_required` — a **session** credential was
1577
+ present but is stale (expired / revoked / owner no longer
1578
+ resolves). The endpoint **fails closed** rather than silently
1579
+ creating an anonymous, null-owner workflow (apxXxptO); the caller
1580
+ *was* authenticated and must re-authenticate. Clients branch on
1581
+ this value to surface a re-auth prompt and retry, preserving
1582
+ in-progress work.
1583
+ - Bearer-path failures — an `Authorization: Bearer <key>` credential
1584
+ rejected by `ApiKeyAuthenticator` before the controller ran:
1585
+ `api_key_invalid` (key not found / revoked / owner missing), or
1586
+ `authentication_required` (the authenticator's fallback for an
1587
+ otherwise-unmodelled auth failure).
1588
+
1589
+ A genuinely **anonymous** request (no credential at all) is NOT a
1590
+ `401` — it is accepted and creates an anonymous workflow. The
1591
+ `error_type` is narrowed to exactly these three codes (an `allOf`
1592
+ over `AuthErrorResponse`): the login-only `invalid_credentials` and
1593
+ the four `account_*` codes (which are `403` outcomes) are excluded,
1594
+ so the contract advertises only what this endpoint can actually emit
1595
+ at `401`.
1596
+ content:
1597
+ application/json:
1598
+ schema:
1599
+ allOf:
1600
+ - $ref: '#/components/schemas/AuthErrorResponse'
1601
+ - type: object
1602
+ properties:
1603
+ error_type:
1604
+ enum:
1605
+ - reauthentication_required
1606
+ - api_key_invalid
1607
+ - authentication_required
1608
+ example:
1609
+ success: false
1610
+ error: "REAUTHENTICATION_REQUIRED"
1611
+ error_type: "reauthentication_required"
1612
+ message: "Your session has expired. Please sign in again."
1570
1613
  '403':
1571
1614
  description: |
1572
1615
  Forbidden — tier-quota or feature-tier restriction. Discriminated
@@ -2765,12 +2808,16 @@ paths:
2765
2808
  via that cookie.
2766
2809
 
2767
2810
  Failure responses distinguish between:
2768
- - `401 invalid_credentials` — wrong password OR correct password on an
2769
- unverified account (collapsed for anti-enumeration).
2770
- - `403 account_locked|account_disabled|account_deleted|account_deletion_expired`
2771
- — persisted account-state failures.
2811
+ - `401 invalid_credentials` — wrong password, correct password on an
2812
+ unverified account, OR any persisted account-status failure
2813
+ (locked / disabled / deleted / deletion-expired). **All collapsed
2814
+ into a single `401 invalid_credentials`** so the login response
2815
+ never reveals whether an account exists or what state it is in
2816
+ (anti-enumeration; Mc6wiUzc). The `account_*` `error_type`s are
2817
+ NOT emitted on login — they survive only on the API-key path and
2818
+ the live-session enforcer (see `AuthErrorType`).
2772
2819
  - `429` — infrastructure rate-limit (too many attempts in the current
2773
- window). Distinct from `account_locked`, which is persisted state.
2820
+ window); carries no `error_type`.
2774
2821
  operationId: loginUser
2775
2822
  security: [] # anonymous (entry point — you're logging in, no creds yet)
2776
2823
  tags:
@@ -2862,61 +2909,41 @@ paths:
2862
2909
  error: "Request body is invalid."
2863
2910
  '401':
2864
2911
  description: |
2865
- Invalid credentials, or correct password on an unverified account
2866
- (collapsed into `invalid_credentials` for anti-enumeration). The
2867
- `error` field carries the human-readable message; consumers must
2868
- not assume a particular phrasing across releases.
2912
+ Authentication failed — **always `invalid_credentials`**. Covers
2913
+ wrong password, correct password on an unverified account, AND any
2914
+ persisted account-status failure (locked / disabled / deleted /
2915
+ deletion-expired), all deliberately collapsed into one value so the
2916
+ response never reveals account existence or state (anti-enumeration;
2917
+ Mc6wiUzc). The `error` field carries a human-readable message;
2918
+ consumers must not assume a particular phrasing across releases.
2869
2919
  content:
2870
2920
  application/json:
2871
2921
  schema:
2872
- $ref: '#/components/schemas/AuthErrorResponse'
2922
+ # error_type is CONSTRAINED to `invalid_credentials` (not the
2923
+ # full AuthErrorType enum) so the anti-enumeration collapse is
2924
+ # CONTRACT-ENFORCED, not just prose — login can never emit an
2925
+ # `account_*` value (Mc6wiUzc).
2926
+ allOf:
2927
+ - $ref: '#/components/schemas/AuthErrorResponse'
2928
+ - type: object
2929
+ required:
2930
+ - error_type
2931
+ properties:
2932
+ error_type:
2933
+ type: string
2934
+ enum:
2935
+ - invalid_credentials
2873
2936
  example:
2874
2937
  success: false
2875
2938
  error: "Invalid credentials."
2876
2939
  error_type: "invalid_credentials"
2877
- '403':
2878
- description: |
2879
- Account-status failure — `error_type` is one of `account_locked`,
2880
- `account_disabled`, `account_deleted`, or `account_deletion_expired`.
2881
- These reflect persisted account state, not infrastructure throttling
2882
- (for that see 429).
2883
- content:
2884
- application/json:
2885
- schema:
2886
- $ref: '#/components/schemas/AuthErrorResponse'
2887
- examples:
2888
- accountLocked:
2889
- summary: Account is in a persisted locked state
2890
- value:
2891
- success: false
2892
- error: "Account is temporarily locked. Please try again later."
2893
- error_type: "account_locked"
2894
- accountDisabled:
2895
- summary: Account disabled by administrator
2896
- value:
2897
- success: false
2898
- error: "This account has been disabled."
2899
- error_type: "account_disabled"
2900
- accountDeleted:
2901
- summary: Account has been deleted
2902
- value:
2903
- success: false
2904
- error: "This account has been deleted."
2905
- error_type: "account_deleted"
2906
- accountDeletionExpired:
2907
- summary: Deletion grace period has expired
2908
- value:
2909
- success: false
2910
- error: "This account has been scheduled for deletion and the grace period has expired."
2911
- error_type: "account_deletion_expired"
2912
2940
  '429':
2913
2941
  description: |
2914
2942
  Rate limit exceeded (too many login attempts in the current window).
2915
- Distinct from `403 account_locked`: this is infrastructure-level
2916
- throttling, not persisted account state, and carries no `error_type`.
2917
- This is the first 429 in this spec to declare a `Retry-After`
2918
- response header — future rate-limited endpoints should follow the
2919
- same pattern.
2943
+ Infrastructure-level throttling, not credential rejection (for that
2944
+ see 401), and carries no `error_type`. This is the first 429 in this
2945
+ spec to declare a `Retry-After` response header — future
2946
+ rate-limited endpoints should follow the same pattern.
2920
2947
  headers:
2921
2948
  Retry-After:
2922
2949
  description: Seconds to wait before retrying. Delta-seconds (RFC 9110).
@@ -3217,6 +3244,110 @@ paths:
3217
3244
  schema:
3218
3245
  $ref: '#/components/schemas/ErrorEnvelope'
3219
3246
 
3247
+ /api/auth/resend-verification:
3248
+ post:
3249
+ summary: Resend the account verification email
3250
+ description: |
3251
+ Re-dispatches the registration verification email for an account
3252
+ that exists but is not yet verified — the recovery path for a user
3253
+ who lost or never received the original email (there is otherwise no
3254
+ way to obtain a fresh verification token). Reuses the same token-mint
3255
+ + Registration mailer as `POST /api/auth/register`.
3256
+
3257
+ **Anti-enumeration: this endpoint ALWAYS returns `200`**, even when
3258
+ the email does not correspond to any account OR the account is
3259
+ already verified. Callers cannot use the response to discover whether
3260
+ an account exists or its verified-state. The only non-success
3261
+ responses are structured input validation (`422`) and rate-limiting
3262
+ (`429`).
3263
+ operationId: resendVerificationEmail
3264
+ security: [] # anonymous (pre-authentication recovery entry point)
3265
+ tags:
3266
+ - Auth
3267
+ requestBody:
3268
+ required: true
3269
+ content:
3270
+ application/json:
3271
+ schema:
3272
+ type: object
3273
+ required:
3274
+ - email
3275
+ properties:
3276
+ email:
3277
+ type: string
3278
+ format: email
3279
+ example:
3280
+ email: "user@example.com"
3281
+ responses:
3282
+ '200':
3283
+ description: |
3284
+ Request accepted. A fresh verification email is dispatched only
3285
+ if the address maps to an existing UNVERIFIED account; the
3286
+ response shape is identical either way (anti-enumeration — does
3287
+ not reveal account existence or verified-state).
3288
+ content:
3289
+ application/json:
3290
+ schema:
3291
+ $ref: '#/components/schemas/EmptySuccessEnvelope'
3292
+ example:
3293
+ success: true
3294
+ data: {}
3295
+ '400':
3296
+ description: Request body is invalid (malformed JSON, wrong field types, or body too large).
3297
+ content:
3298
+ application/json:
3299
+ schema:
3300
+ $ref: '#/components/schemas/ErrorEnvelope'
3301
+ example:
3302
+ success: false
3303
+ error: "Request body is invalid."
3304
+ '422':
3305
+ description: |
3306
+ Structured input validation failure (malformed `email`) —
3307
+ `ValidationErrorEnvelope` (`error_type: validation_error`).
3308
+
3309
+ Deliberately does NOT expose the `verify-email` domain-reject
3310
+ (`unprocessable_entity` / `AuthRejectionEnvelope`) shape — that
3311
+ would leak account-existence / verified-state, defeating the
3312
+ anti-enumeration guarantee. (Mirrors `forgot-password`.)
3313
+ content:
3314
+ application/json:
3315
+ schema:
3316
+ # Kept as a single-member `oneOf` (rather than a bare `$ref`) so
3317
+ # the flip from the planned-state 2-member union reads to oasdiff
3318
+ # as a covariant-safe `response-body-one-of-removed` (info), not
3319
+ # a `response-body-type-changed`. Room to re-add branches later.
3320
+ oneOf:
3321
+ - $ref: '#/components/schemas/ValidationErrorEnvelope'
3322
+ example:
3323
+ success: false
3324
+ error_type: validation_error
3325
+ error: "Validation failed"
3326
+ details:
3327
+ - field: "email"
3328
+ message: "This value is not a valid email address."
3329
+ '429':
3330
+ description: |
3331
+ Rate limit exceeded (too many resend requests in the current
3332
+ window). Carries a `Retry-After` response header.
3333
+ headers:
3334
+ Retry-After:
3335
+ description: Seconds to wait before retrying. Delta-seconds (RFC 9110).
3336
+ schema:
3337
+ type: integer
3338
+ minimum: 0
3339
+ example: 60
3340
+ content:
3341
+ application/json:
3342
+ schema:
3343
+ $ref: '#/components/schemas/ErrorEnvelope'
3344
+ '500':
3345
+ description: Internal server error.
3346
+ content:
3347
+ application/json:
3348
+ schema:
3349
+ $ref: '#/components/schemas/ErrorEnvelope'
3350
+
3220
3351
  /api/auth/forgot-password:
3221
3352
  post:
3222
3353
  summary: Request a password-reset email
@@ -3903,9 +4034,12 @@ paths:
3903
4034
  responses:
3904
4035
  '200':
3905
4036
  description: |
3906
- Profile updated. `name_changed` and `email_change_requested`
3907
- flag which mutations took effect; an email change is pending
3908
- confirmation rather than applied.
4037
+ Profile updated. `name_changed` reports whether the display name
4038
+ changed. `email_change_requested` signals the email-change flow
4039
+ was accepted and a confirmation dispatched to the new address — it
4040
+ is returned uniformly whether or not that address is already
4041
+ registered, so the response never discloses account existence. The
4042
+ email change is pending confirmation, not applied.
3909
4043
  content:
3910
4044
  application/json:
3911
4045
  schema:
@@ -3984,17 +4118,6 @@ paths:
3984
4118
  example:
3985
4119
  success: false
3986
4120
  error: "USER_NOT_FOUND"
3987
- '409':
3988
- description: |
3989
- The requested email is already claimed by another account
3990
- (`error: EMAIL_TAKEN`).
3991
- content:
3992
- application/json:
3993
- schema:
3994
- $ref: '#/components/schemas/ErrorEnvelope'
3995
- example:
3996
- success: false
3997
- error: "EMAIL_TAKEN"
3998
4121
  '422':
3999
4122
  description: |
4000
4123
  Structured input validation failure (`ValidationErrorEnvelope`,
@@ -5583,6 +5706,25 @@ components:
5583
5706
  const: upload
5584
5707
  file_id:
5585
5708
  $ref: '#/components/schemas/UuidV7'
5709
+ declared_duration_seconds:
5710
+ type:
5711
+ - number
5712
+ - "null"
5713
+ minimum: 0
5714
+ description: |
5715
+ OPTIONAL client-declared media duration in seconds, measured on the
5716
+ client **before** upload (e.g. the browser's
5717
+ `HTMLVideoElement.duration`). A **routing hint** for long-form
5718
+ classification only ([`frlwBuQ5`](https://trello.com/c/frlwBuQ5)):
5719
+ the server prefers its own authoritative media probe and falls back
5720
+ to this value **only when the async probe duration is null** (e.g.
5721
+ the probe has not completed at classification time). It never
5722
+ overrides a successful probe, and is not billed against — duration
5723
+ billing uses the probed value. Omit (or `null`) when unknown —
5724
+ **absent behaves exactly as today** (probe-only). Ignored for
5725
+ non-timed media. Only meaningful on an `upload` source (the one the
5726
+ client measured locally); other source leaves do not carry it.
5727
+ example: 187.5
5586
5728
 
5587
5729
  JobOutputSource:
5588
5730
  type: object
@@ -7409,51 +7551,72 @@ components:
7409
7551
  - account_deleted
7410
7552
  - account_deletion_expired
7411
7553
  - authentication_required
7554
+ - reauthentication_required
7412
7555
  - api_key_invalid
7413
- - api_key_revoked
7414
7556
  description: |
7415
7557
  Machine-readable discriminator for auth HTTP errors (401/403). Distinct
7416
7558
  from rate-limit 429 responses, which carry no `error_type` and use the
7417
7559
  plain `ErrorEnvelope` with a `Retry-After` header.
7418
7560
 
7419
- Values are emitted by three auth mechanisms on the server:
7561
+ Values are emitted by these auth mechanisms on the server:
7420
7562
 
7421
7563
  - **Login** (`POST /api/auth/login`) — password-based authentication.
7564
+ Emits `invalid_credentials` ONLY (all account-status failures
7565
+ collapse into it; see Mc6wiUzc).
7422
7566
  - **`ApiEntryPoint`** — challenge emitted on any protected route
7423
7567
  when no authenticated principal is present.
7424
7568
  - **`ApiKeyAuthenticator`** — validates `Authorization: Bearer <key>`
7425
7569
  headers on the `api` firewall.
7570
+ - **`AccountStatusEnforcerListener`** — per-request live-session
7571
+ enforcement (ticket e8eSElvD): returns `403 account_*` on an
7572
+ authenticated stateful request when the account is revoked
7573
+ mid-session.
7426
7574
 
7427
7575
  Per-value attribution:
7428
7576
 
7429
- - `invalid_credentials` (Login): wrong password, OR correct password on
7430
- an unverified account. The two cases are intentionally collapsed to
7431
- avoid leaking account existence on the machine-readable channel;
7432
- this keeps the login path consistent with the backend's registration
7433
- and password-reset flows, both of which are also anti-enumeration
7434
- (no existence leak on duplicate email or unknown account).
7435
- - `account_locked` (Login OR `ApiKeyAuthenticator`): account is in a
7436
- persisted locked state (e.g. set after repeated failures on the
7437
- server side). Can occur on both mechanisms when the underlying
7438
- account is locked, regardless of credential validity.
7439
- - `account_disabled` (Login OR `ApiKeyAuthenticator`): account has been
7440
- disabled by an administrator.
7441
- - `account_deleted` (Login OR `ApiKeyAuthenticator`): account has been
7442
- deleted.
7443
- - `account_deletion_expired` (Login OR `ApiKeyAuthenticator`): grace
7444
- period expired after a user-initiated deletion request.
7445
- - `authentication_required` (`ApiEntryPoint`): unauthenticated
7446
- request reached an endpoint that requires authentication.
7447
- Emitted as a 401 challenge; no credentials were presented or
7448
- the session is absent/expired. (Endpoint-level auth requirements
7449
- are not declared in this spec yet — tracked as a separate
7450
- housekeeping item to wire `security` requirements per route.)
7451
- - `api_key_invalid` (`ApiKeyAuthenticator`): API key not found, or the
7452
- key resolves to a user that does not exist. The two cases are
7453
- intentionally collapsed for anti-enumeration (same reasoning as
7454
- `invalid_credentials`).
7455
- - `api_key_revoked` (`ApiKeyAuthenticator`): API key was found but is
7456
- no longer active (`isActive() === false`).
7577
+ - `invalid_credentials` (Login): wrong password, correct password on an
7578
+ unverified account, OR any persisted account-status failure (locked /
7579
+ disabled / deleted / deletion-expired). **All collapsed into this one
7580
+ value** so login never leaks account existence or state
7581
+ (anti-enumeration; Mc6wiUzc) — consistent with the registration +
7582
+ password-reset flows. The `account_*` values below are therefore NOT
7583
+ emitted on login.
7584
+ - `account_locked` (`ApiKeyAuthenticator` OR `AccountStatusEnforcerListener`):
7585
+ account is in a persisted locked state. Emitted as `403` when a VALID
7586
+ API key's owner is locked, or when the live-session enforcer acts on a
7587
+ locked account — NOT on login (a login attempt against a locked
7588
+ account collapses to `401 invalid_credentials`). A valid key / live
7589
+ session only reveals the caller's OWN status, so this is not an
7590
+ enumeration oracle.
7591
+ - `account_disabled` (same surfaces): account disabled by an administrator.
7592
+ - `account_deleted` (same surfaces): account has been deleted.
7593
+ - `account_deletion_expired` (same surfaces): grace period expired after
7594
+ a user-initiated deletion request.
7595
+ - `authentication_required` (`ApiEntryPoint` OR `ApiKeyAuthenticator`
7596
+ fallback): **no usable credential** was resolved. Two surfaces —
7597
+ (a) `ApiEntryPoint` challenges an unauthenticated request that reached
7598
+ an endpoint requiring authentication (no credential / absent session);
7599
+ (b) `ApiKeyAuthenticator` falls back to this value for an
7600
+ otherwise-unmodelled bearer-auth failure. A session that is **present
7601
+ but stale/expired** is NOT this value — that is
7602
+ `reauthentication_required` (below). (Endpoint-level auth requirements
7603
+ are not declared in this spec yet — tracked as a separate housekeeping
7604
+ item to wire `security` requirements per route.)
7605
+ - `reauthentication_required`: a session credential was **present**
7606
+ on the request but is stale / no longer valid (expired, revoked,
7607
+ or its owner no longer resolves). Distinct from
7608
+ `authentication_required` (no credential presented at all): the
7609
+ caller *was* authenticated and must re-authenticate. Emitted as a
7610
+ 401 by endpoints that **fail closed** on a stale session rather
7611
+ than degrading to anonymous — e.g. `POST /api/workflows`
7612
+ (apxXxptO), which would otherwise silently create an anonymous,
7613
+ null-owner workflow. Clients should surface a re-auth prompt and
7614
+ retry, preserving in-progress work.
7615
+ - `api_key_invalid` (`ApiKeyAuthenticator`): API key not found, resolves
7616
+ to a user that does not exist, OR is no longer active (revoked). All
7617
+ cases are intentionally collapsed for anti-enumeration (same reasoning
7618
+ as `invalid_credentials`); the former distinct `api_key_revoked` value
7619
+ was removed in Mc6wiUzc.
7457
7620
 
7458
7621
  AuthErrorResponse:
7459
7622
  description: |
@@ -8574,6 +8737,23 @@ components:
8574
8737
  `long_form_preferred`); defaults to `auto` when omitted.
8575
8738
  Server is the final authority on routing — `class_hint`
8576
8739
  is advisory + policy-shaping, NOT a backend selector.
8740
+ notify:
8741
+ $ref: '#/components/schemas/NotifyConfig'
8742
+ description: |
8743
+ Optional per-job completion-notification config
8744
+ (channel-agnostic). Currently exposes the `email` channel: the
8745
+ API emails the configured recipients when the selected workflow
8746
+ events occur, with a **server-composed** presigned `/downloads`
8747
+ link to the results — the request carries recipients + event
8748
+ selection only.
8749
+
8750
+ **Advertised-ahead (contract-first, ticket
8751
+ [`IQtEwVET`](https://trello.com/c/IQtEwVET)):** the completion-
8752
+ notification dispatch engine is built separately; until it ships
8753
+ the API returns `feature_not_available` (422) for any `notify`
8754
+ use. Reuses the `CallbackEventType` vocabulary shared with
8755
+ `callback_events` (webhook) — email and webhook are two channels
8756
+ off one dispatch engine.
8577
8757
 
8578
8758
  JobDefinition:
8579
8759
  type: object
@@ -12677,6 +12857,86 @@ components:
12677
12857
  - workflow.partially_failed
12678
12858
  - operation.completed
12679
12859
 
12860
+ NotifyConfig:
12861
+ type: object
12862
+ x-availability: planned
12863
+ description: |
12864
+ Channel-agnostic per-job completion-notification config (ticket
12865
+ [`IQtEwVET`](https://trello.com/c/IQtEwVET)). Currently the `email`
12866
+ channel only; `webhook` folds onto the same dispatch engine later
12867
+ (today webhook is configured via the top-level `callback_url` /
12868
+ `callback_events`). **Advertised-ahead** — the API returns
12869
+ `feature_not_available` (422) for any `notify` use until the
12870
+ dispatch engine ships. `x-availability` is decorative per
12871
+ ADR-0001 §1.5; the API is the authority on the 422 gate.
12872
+
12873
+ An **empty `notify`** (object present but no channel set) is a
12874
+ no-op — the workflow runs normally with no notifications; it is
12875
+ neither an error nor a dispatch trigger. Omit `notify` entirely to
12876
+ say the same thing.
12877
+ properties:
12878
+ email:
12879
+ $ref: '#/components/schemas/EmailNotify'
12880
+ description: Email notification channel.
12881
+
12882
+ EmailNotify:
12883
+ type: object
12884
+ required:
12885
+ - to
12886
+ description: |
12887
+ Email-channel completion notification. When a subscribed workflow
12888
+ event occurs, the API emails each recipient in `to` a link to the
12889
+ workflow's results — a **server-composed, short-lived presigned URL**
12890
+ to the same downloadable outputs as `GET /api/workflows/{id}/downloads`.
12891
+ The request carries recipients + event selection ONLY: the link's
12892
+ target, contents, and expiry are determined server-side and can never
12893
+ be supplied or influenced by the caller.
12894
+
12895
+ The emailed link is a time-limited **bearer capability** — anyone who
12896
+ holds it (including anyone the email is forwarded to) can download
12897
+ those outputs until it expires; it grants no other account access and
12898
+ conveys no session. This is the same trust model as any presigned
12899
+ download URL.
12900
+
12901
+ **Anti-abuse (security).** Because `POST /api/workflows` is callable
12902
+ with `optional` auth, an unconstrained recipient list would be an open
12903
+ mail-relay / spam-amplification vector. Recipients are therefore
12904
+ subject to **server-side anti-abuse controls** — the API restricts who
12905
+ may be emailed (the exact recipient policy, e.g. the authenticated
12906
+ account's own verified address(es), is API/product-owned and enforced
12907
+ server-side, NOT a caller-supplied setting) and applies send-rate
12908
+ limits; a request whose recipients fall outside the allowed set is
12909
+ rejected. This is part of what the `planned` gate covers until the
12910
+ dispatch engine + its abuse controls ship.
12911
+ properties:
12912
+ to:
12913
+ type: array
12914
+ minItems: 1
12915
+ maxItems: 10
12916
+ description: |
12917
+ Recipient email addresses (1–10). At least one is required when
12918
+ `email` is present. Subject to the server-side recipient policy
12919
+ above — the API may reject or narrow recipients outside the
12920
+ allowed set (anti-abuse); a caller cannot email arbitrary third
12921
+ parties.
12922
+ items:
12923
+ type: string
12924
+ format: email
12925
+ events:
12926
+ type: array
12927
+ description: |
12928
+ Which workflow events trigger the email. Reuses the
12929
+ `CallbackEventType` vocabulary shared with `callback_events`
12930
+ (webhook) — the notify surface does NOT fork the event enum.
12931
+ Defaults to terminal events only (mirrors the `callback_events`
12932
+ default); `operation.completed` is opt-in for granular progress.
12933
+ items:
12934
+ $ref: '#/components/schemas/CallbackEventType'
12935
+ default:
12936
+ - "workflow.completed"
12937
+ - "workflow.failed"
12938
+ - "workflow.partially_failed"
12939
+
12680
12940
  WebhookPayload:
12681
12941
  type: object
12682
12942
  description: |
@@ -167,6 +167,25 @@
167
167
  ]
168
168
  },
169
169
  "wire_code": "feature_not_available"
170
+ },
171
+ {
172
+ "availability": "stable",
173
+ "constraint_id": "compress.video.speed.longform",
174
+ "eval_scope": "api",
175
+ "message": "Speed adjustment is not yet available for long-form video. Adjust a short-form clip, or chain a split op.",
176
+ "when": {
177
+ "all": [
178
+ {
179
+ "equals": "long_form",
180
+ "field": "processing_class"
181
+ },
182
+ {
183
+ "field": "compress.speed",
184
+ "isSet": true
185
+ }
186
+ ]
187
+ },
188
+ "wire_code": "feature_not_available"
170
189
  }
171
190
  ],
172
191
  "input": {
@@ -244,14 +263,39 @@
244
263
  },
245
264
  {
246
265
  "availability": "stable",
247
- "constraint_id": "compress.video.codec_container.mp4_mov",
248
- "message": "MP4/MOV output supports the h264 or h265 codec; {compress.codec} is incompatible.",
266
+ "constraint_id": "compress.video.codec_container.mp4",
267
+ "message": "MP4 output supports the h264, h265 or av1 codec; {compress.codec} is incompatible.",
268
+ "when": {
269
+ "all": [
270
+ {
271
+ "field": "output_container",
272
+ "in": [
273
+ "mp4"
274
+ ]
275
+ },
276
+ {
277
+ "field": "compress.codec",
278
+ "isSet": true
279
+ },
280
+ {
281
+ "field": "compress.codec",
282
+ "in": [
283
+ "vp9"
284
+ ]
285
+ }
286
+ ]
287
+ },
288
+ "wire_code": "invalid_options"
289
+ },
290
+ {
291
+ "availability": "stable",
292
+ "constraint_id": "compress.video.codec_container.mov",
293
+ "message": "MOV output supports the h264 or h265 codec; {compress.codec} is incompatible.",
249
294
  "when": {
250
295
  "all": [
251
296
  {
252
297
  "field": "output_container",
253
298
  "in": [
254
- "mp4",
255
299
  "mov"
256
300
  ]
257
301
  },
@@ -688,5 +732,5 @@
688
732
  "isAnimated": "maybe"
689
733
  }
690
734
  },
691
- "schema_version": "2.158.0"
735
+ "schema_version": "2.170.0"
692
736
  }