@giveitsmaller/contracts 0.68.0 → 0.70.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 (517) hide show
  1. package/README.md +2 -2
  2. package/accepted-options/accepted-options.json +1 -1
  3. package/accepted-options/image-output-routes.json +1 -1
  4. package/asyncapi/events.yaml +32 -1
  5. package/availability/availability.json +5 -5
  6. package/code-builder/code-builder-metadata.json +5 -5
  7. package/dist/openapi/models/AccountLimitEntry.d.ts +18 -3
  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 +1 -1
  22. package/dist/openapi/models/AuthErrorType.js +1 -1
  23. package/dist/openapi/models/AuthRejectionEnvelope.d.ts +1 -1
  24. package/dist/openapi/models/AuthRejectionEnvelope.js +1 -1
  25. package/dist/openapi/models/AuthenticatedIdentity.d.ts +1 -1
  26. package/dist/openapi/models/AuthenticatedIdentity.js +1 -1
  27. package/dist/openapi/models/AvailabilityValue.d.ts +1 -1
  28. package/dist/openapi/models/AvailabilityValue.js +1 -1
  29. package/dist/openapi/models/BalanceExhaustedResponse.d.ts +1 -1
  30. package/dist/openapi/models/BalanceExhaustedResponse.js +1 -1
  31. package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.d.ts +1 -1
  32. package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.js +1 -1
  33. package/dist/openapi/models/BillingCheckoutRequest.d.ts +1 -1
  34. package/dist/openapi/models/BillingCheckoutRequest.js +1 -1
  35. package/dist/openapi/models/BillingCheckoutSession.d.ts +1 -1
  36. package/dist/openapi/models/BillingCheckoutSession.js +1 -1
  37. package/dist/openapi/models/BillingCheckoutSuccessEnvelope.d.ts +1 -1
  38. package/dist/openapi/models/BillingCheckoutSuccessEnvelope.js +1 -1
  39. package/dist/openapi/models/CallbackEventType.d.ts +1 -1
  40. package/dist/openapi/models/CallbackEventType.js +1 -1
  41. package/dist/openapi/models/CancelAccountDeletion200Response.d.ts +1 -1
  42. package/dist/openapi/models/CancelAccountDeletion200Response.js +1 -1
  43. package/dist/openapi/models/CancelAccountDeletion200ResponseData.d.ts +1 -1
  44. package/dist/openapi/models/CancelAccountDeletion200ResponseData.js +1 -1
  45. package/dist/openapi/models/CapabilityCondition.d.ts +1 -1
  46. package/dist/openapi/models/CapabilityCondition.js +1 -1
  47. package/dist/openapi/models/CapabilityConditionOneOf.d.ts +1 -1
  48. package/dist/openapi/models/CapabilityConditionOneOf.js +1 -1
  49. package/dist/openapi/models/CapabilityConditionOneOf1.d.ts +1 -1
  50. package/dist/openapi/models/CapabilityConditionOneOf1.js +1 -1
  51. package/dist/openapi/models/CapabilityConditionOneOf2.d.ts +1 -1
  52. package/dist/openapi/models/CapabilityConditionOneOf2.js +1 -1
  53. package/dist/openapi/models/CapabilityConditionOneOf3.d.ts +1 -1
  54. package/dist/openapi/models/CapabilityConditionOneOf3.js +1 -1
  55. package/dist/openapi/models/CapabilityConditionOneOf4.d.ts +1 -1
  56. package/dist/openapi/models/CapabilityConditionOneOf4.js +1 -1
  57. package/dist/openapi/models/CapabilityConditionOneOf5.d.ts +1 -1
  58. package/dist/openapi/models/CapabilityConditionOneOf5.js +1 -1
  59. package/dist/openapi/models/CapabilityConditionOneOf6.d.ts +1 -1
  60. package/dist/openapi/models/CapabilityConditionOneOf6.js +1 -1
  61. package/dist/openapi/models/CapabilityConstraint.d.ts +1 -1
  62. package/dist/openapi/models/CapabilityConstraint.js +1 -1
  63. package/dist/openapi/models/CapabilityInputSpec.d.ts +1 -1
  64. package/dist/openapi/models/CapabilityInputSpec.js +1 -1
  65. package/dist/openapi/models/CapabilityProduces.d.ts +1 -1
  66. package/dist/openapi/models/CapabilityProduces.js +1 -1
  67. package/dist/openapi/models/CapabilityProducesOneOf.d.ts +1 -1
  68. package/dist/openapi/models/CapabilityProducesOneOf.js +1 -1
  69. package/dist/openapi/models/CapabilityProducesOneOf1.d.ts +1 -1
  70. package/dist/openapi/models/CapabilityProducesOneOf1.js +1 -1
  71. package/dist/openapi/models/CapabilityProducesOneOf2.d.ts +1 -1
  72. package/dist/openapi/models/CapabilityProducesOneOf2.js +1 -1
  73. package/dist/openapi/models/ChangePasswordRequest.d.ts +1 -1
  74. package/dist/openapi/models/ChangePasswordRequest.js +1 -1
  75. package/dist/openapi/models/CodegenSource.d.ts +1 -1
  76. package/dist/openapi/models/CodegenSource.js +1 -1
  77. package/dist/openapi/models/CodegenSourceInput.d.ts +1 -1
  78. package/dist/openapi/models/CodegenSourceInput.js +1 -1
  79. package/dist/openapi/models/CodegenSourceJob.d.ts +1 -1
  80. package/dist/openapi/models/CodegenSourceJob.js +1 -1
  81. package/dist/openapi/models/CodegenSourceJobSource.d.ts +1 -1
  82. package/dist/openapi/models/CodegenSourceJobSource.js +1 -1
  83. package/dist/openapi/models/CodegenSourceOperation.d.ts +1 -1
  84. package/dist/openapi/models/CodegenSourceOperation.js +1 -1
  85. package/dist/openapi/models/CodegenUploadPlaceholder.d.ts +1 -1
  86. package/dist/openapi/models/CodegenUploadPlaceholder.js +1 -1
  87. package/dist/openapi/models/CompositionPlan.d.ts +1 -1
  88. package/dist/openapi/models/CompositionPlan.js +1 -1
  89. package/dist/openapi/models/CompositionPlanJob.d.ts +1 -1
  90. package/dist/openapi/models/CompositionPlanJob.js +1 -1
  91. package/dist/openapi/models/CompositionPlanOperation.d.ts +1 -1
  92. package/dist/openapi/models/CompositionPlanOperation.js +1 -1
  93. package/dist/openapi/models/ConfirmEmailChange200Response.d.ts +1 -1
  94. package/dist/openapi/models/ConfirmEmailChange200Response.js +1 -1
  95. package/dist/openapi/models/ConfirmEmailChange200ResponseData.d.ts +1 -1
  96. package/dist/openapi/models/ConfirmEmailChange200ResponseData.js +1 -1
  97. package/dist/openapi/models/ConfirmEmailChangeRequest.d.ts +1 -1
  98. package/dist/openapi/models/ConfirmEmailChangeRequest.js +1 -1
  99. package/dist/openapi/models/ConnectionSource.d.ts +1 -1
  100. package/dist/openapi/models/ConnectionSource.js +1 -1
  101. package/dist/openapi/models/ContactRequest.d.ts +1 -1
  102. package/dist/openapi/models/ContactRequest.js +1 -1
  103. package/dist/openapi/models/ContactSubject.d.ts +1 -1
  104. package/dist/openapi/models/ContactSubject.js +1 -1
  105. package/dist/openapi/models/ContactValidationErrorResponse.d.ts +1 -1
  106. package/dist/openapi/models/ContactValidationErrorResponse.js +1 -1
  107. package/dist/openapi/models/CreateApiKey201Response.d.ts +1 -1
  108. package/dist/openapi/models/CreateApiKey201Response.js +1 -1
  109. package/dist/openapi/models/CreateApiKey201ResponseData.d.ts +1 -1
  110. package/dist/openapi/models/CreateApiKey201ResponseData.js +1 -1
  111. package/dist/openapi/models/CreateApiKeyRequest.d.ts +1 -1
  112. package/dist/openapi/models/CreateApiKeyRequest.js +1 -1
  113. package/dist/openapi/models/CreateBillingCheckoutSession422Response.d.ts +1 -1
  114. package/dist/openapi/models/CreateBillingCheckoutSession422Response.js +1 -1
  115. package/dist/openapi/models/CreateExternalImport403Response.d.ts +1 -1
  116. package/dist/openapi/models/CreateExternalImport403Response.js +1 -1
  117. package/dist/openapi/models/CreateExternalImport422Response.d.ts +1 -1
  118. package/dist/openapi/models/CreateExternalImport422Response.js +1 -1
  119. package/dist/openapi/models/CreateWorkflow401Response.d.ts +1 -1
  120. package/dist/openapi/models/CreateWorkflow401Response.js +1 -1
  121. package/dist/openapi/models/CreateWorkflow422Response.d.ts +1 -1
  122. package/dist/openapi/models/CreateWorkflow422Response.js +1 -1
  123. package/dist/openapi/models/CreditTransaction.d.ts +39 -5
  124. package/dist/openapi/models/CreditTransaction.js +1 -1
  125. package/dist/openapi/models/CreditTransactionSourceBucket.d.ts +1 -1
  126. package/dist/openapi/models/CreditTransactionSourceBucket.js +1 -1
  127. package/dist/openapi/models/CreditsBalanceResponse.d.ts +1 -1
  128. package/dist/openapi/models/CreditsBalanceResponse.js +1 -1
  129. package/dist/openapi/models/CreditsBalanceSuccessEnvelope.d.ts +1 -1
  130. package/dist/openapi/models/CreditsBalanceSuccessEnvelope.js +1 -1
  131. package/dist/openapi/models/CreditsUsageResponse.d.ts +1 -1
  132. package/dist/openapi/models/CreditsUsageResponse.js +1 -1
  133. package/dist/openapi/models/CreditsUsageSuccessEnvelope.d.ts +1 -1
  134. package/dist/openapi/models/CreditsUsageSuccessEnvelope.js +1 -1
  135. package/dist/openapi/models/Delivery.d.ts +1 -1
  136. package/dist/openapi/models/Delivery.js +1 -1
  137. package/dist/openapi/models/DeliveryOutputRef.d.ts +1 -1
  138. package/dist/openapi/models/DeliveryOutputRef.js +1 -1
  139. package/dist/openapi/models/DeliveryPlan.d.ts +1 -1
  140. package/dist/openapi/models/DeliveryPlan.js +1 -1
  141. package/dist/openapi/models/DeliveryPlanOutput.d.ts +1 -1
  142. package/dist/openapi/models/DeliveryPlanOutput.js +1 -1
  143. package/dist/openapi/models/DeliveryPlanReason.d.ts +1 -1
  144. package/dist/openapi/models/DeliveryPlanReason.js +1 -1
  145. package/dist/openapi/models/DeliverySelection.d.ts +1 -1
  146. package/dist/openapi/models/DeliverySelection.js +1 -1
  147. package/dist/openapi/models/DownloadBundle.d.ts +1 -1
  148. package/dist/openapi/models/DownloadBundle.js +1 -1
  149. package/dist/openapi/models/DroppedOption.d.ts +1 -1
  150. package/dist/openapi/models/DroppedOption.js +1 -1
  151. package/dist/openapi/models/EmailNotify.d.ts +1 -1
  152. package/dist/openapi/models/EmailNotify.js +1 -1
  153. package/dist/openapi/models/EmptySuccessEnvelope.d.ts +1 -1
  154. package/dist/openapi/models/EmptySuccessEnvelope.js +1 -1
  155. package/dist/openapi/models/EndpointProjection.d.ts +1 -1
  156. package/dist/openapi/models/EndpointProjection.js +1 -1
  157. package/dist/openapi/models/EndpointProjectionServersInner.d.ts +1 -1
  158. package/dist/openapi/models/EndpointProjectionServersInner.js +1 -1
  159. package/dist/openapi/models/ErrorEnvelope.d.ts +1 -1
  160. package/dist/openapi/models/ErrorEnvelope.js +1 -1
  161. package/dist/openapi/models/EstimateQuality.d.ts +1 -1
  162. package/dist/openapi/models/EstimateQuality.js +1 -1
  163. package/dist/openapi/models/EstimateRange.d.ts +1 -1
  164. package/dist/openapi/models/EstimateRange.js +1 -1
  165. package/dist/openapi/models/ExportAccountData200Response.d.ts +1 -1
  166. package/dist/openapi/models/ExportAccountData200Response.js +1 -1
  167. package/dist/openapi/models/ExportAccountData200ResponseData.d.ts +1 -1
  168. package/dist/openapi/models/ExportAccountData200ResponseData.js +1 -1
  169. package/dist/openapi/models/ExternalDestination.d.ts +1 -1
  170. package/dist/openapi/models/ExternalDestination.js +1 -1
  171. package/dist/openapi/models/ExternalImportCreatedResponse.d.ts +1 -1
  172. package/dist/openapi/models/ExternalImportCreatedResponse.js +1 -1
  173. package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.d.ts +1 -1
  174. package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.js +1 -1
  175. package/dist/openapi/models/ExternalImportRequest.d.ts +1 -1
  176. package/dist/openapi/models/ExternalImportRequest.js +1 -1
  177. package/dist/openapi/models/ExternalImportToken.d.ts +1 -1
  178. package/dist/openapi/models/ExternalImportToken.js +1 -1
  179. package/dist/openapi/models/ExternalSource.d.ts +1 -1
  180. package/dist/openapi/models/ExternalSource.js +1 -1
  181. package/dist/openapi/models/FeatureNotAvailableResponse.d.ts +1 -1
  182. package/dist/openapi/models/FeatureNotAvailableResponse.js +1 -1
  183. package/dist/openapi/models/FeatureTierRestrictedResponse.d.ts +1 -1
  184. package/dist/openapi/models/FeatureTierRestrictedResponse.js +1 -1
  185. package/dist/openapi/models/FeatureViolation.d.ts +1 -1
  186. package/dist/openapi/models/FeatureViolation.js +1 -1
  187. package/dist/openapi/models/GetProfile200Response.d.ts +1 -1
  188. package/dist/openapi/models/GetProfile200Response.js +1 -1
  189. package/dist/openapi/models/GetProfile200ResponseData.d.ts +1 -1
  190. package/dist/openapi/models/GetProfile200ResponseData.js +1 -1
  191. package/dist/openapi/models/ImageEncodeCapabilities.d.ts +1 -1
  192. package/dist/openapi/models/ImageEncodeCapabilities.js +1 -1
  193. package/dist/openapi/models/JobDefinition.d.ts +1 -1
  194. package/dist/openapi/models/JobDefinition.js +1 -1
  195. package/dist/openapi/models/JobDownload.d.ts +1 -1
  196. package/dist/openapi/models/JobDownload.js +1 -1
  197. package/dist/openapi/models/JobInputV2.d.ts +1 -1
  198. package/dist/openapi/models/JobInputV2.js +1 -1
  199. package/dist/openapi/models/JobMediaClass.d.ts +1 -1
  200. package/dist/openapi/models/JobMediaClass.js +1 -1
  201. package/dist/openapi/models/JobOutputSource.d.ts +1 -1
  202. package/dist/openapi/models/JobOutputSource.js +1 -1
  203. package/dist/openapi/models/JobResponse.d.ts +1 -1
  204. package/dist/openapi/models/JobResponse.js +1 -1
  205. package/dist/openapi/models/JobStatus.d.ts +1 -1
  206. package/dist/openapi/models/JobStatus.js +1 -1
  207. package/dist/openapi/models/JobType.d.ts +1 -1
  208. package/dist/openapi/models/JobType.js +1 -1
  209. package/dist/openapi/models/LivenessResponse.d.ts +1 -1
  210. package/dist/openapi/models/LivenessResponse.js +1 -1
  211. package/dist/openapi/models/LoginUser200Response.d.ts +1 -1
  212. package/dist/openapi/models/LoginUser200Response.js +1 -1
  213. package/dist/openapi/models/LoginUser200ResponseData.d.ts +1 -1
  214. package/dist/openapi/models/LoginUser200ResponseData.js +1 -1
  215. package/dist/openapi/models/LoginUser200ResponseDataUser.d.ts +1 -1
  216. package/dist/openapi/models/LoginUser200ResponseDataUser.js +1 -1
  217. package/dist/openapi/models/LoginUser401Response.d.ts +1 -1
  218. package/dist/openapi/models/LoginUser401Response.js +1 -1
  219. package/dist/openapi/models/LoginUserRequest.d.ts +1 -1
  220. package/dist/openapi/models/LoginUserRequest.js +1 -1
  221. package/dist/openapi/models/LongFormConcurrencyLimitResponse.d.ts +1 -1
  222. package/dist/openapi/models/LongFormConcurrencyLimitResponse.js +1 -1
  223. package/dist/openapi/models/LongFormConcurrencyLimitResponseAllOfLinks.d.ts +1 -1
  224. package/dist/openapi/models/LongFormConcurrencyLimitResponseAllOfLinks.js +1 -1
  225. package/dist/openapi/models/MetadataResponse.d.ts +1 -1
  226. package/dist/openapi/models/MetadataResponse.js +1 -1
  227. package/dist/openapi/models/MetadataResponseDimensions.d.ts +1 -1
  228. package/dist/openapi/models/MetadataResponseDimensions.js +1 -1
  229. package/dist/openapi/models/MetadataResponseExif.d.ts +1 -1
  230. package/dist/openapi/models/MetadataResponseExif.js +1 -1
  231. package/dist/openapi/models/MetadataResponseExifGps.d.ts +1 -1
  232. package/dist/openapi/models/MetadataResponseExifGps.js +1 -1
  233. package/dist/openapi/models/MetadataSuccessEnvelope.d.ts +1 -1
  234. package/dist/openapi/models/MetadataSuccessEnvelope.js +1 -1
  235. package/dist/openapi/models/MimeGroupSchema.d.ts +1 -1
  236. package/dist/openapi/models/MimeGroupSchema.js +1 -1
  237. package/dist/openapi/models/MultiInputSource.d.ts +1 -1
  238. package/dist/openapi/models/MultiInputSource.js +1 -1
  239. package/dist/openapi/models/MultipartCompleteRequest.d.ts +1 -1
  240. package/dist/openapi/models/MultipartCompleteRequest.js +1 -1
  241. package/dist/openapi/models/MultipartCompleteRequestPartsInner.d.ts +1 -1
  242. package/dist/openapi/models/MultipartCompleteRequestPartsInner.js +1 -1
  243. package/dist/openapi/models/MultipartCompleteResponse.d.ts +1 -1
  244. package/dist/openapi/models/MultipartCompleteResponse.js +1 -1
  245. package/dist/openapi/models/MultipartCompleteSuccessEnvelope.d.ts +1 -1
  246. package/dist/openapi/models/MultipartCompleteSuccessEnvelope.js +1 -1
  247. package/dist/openapi/models/MultipartInitiateRequestMetadataHint.d.ts +1 -1
  248. package/dist/openapi/models/MultipartInitiateRequestMetadataHint.js +1 -1
  249. package/dist/openapi/models/MultipartInitiateResponse.d.ts +1 -1
  250. package/dist/openapi/models/MultipartInitiateResponse.js +1 -1
  251. package/dist/openapi/models/MultipartInitiateSuccessEnvelope.d.ts +1 -1
  252. package/dist/openapi/models/MultipartInitiateSuccessEnvelope.js +1 -1
  253. package/dist/openapi/models/MultipartKeepaliveResponse.d.ts +1 -1
  254. package/dist/openapi/models/MultipartKeepaliveResponse.js +1 -1
  255. package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.d.ts +1 -1
  256. package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.js +1 -1
  257. package/dist/openapi/models/MultipartPartListing.d.ts +1 -1
  258. package/dist/openapi/models/MultipartPartListing.js +1 -1
  259. package/dist/openapi/models/MultipartPresignRequest.d.ts +1 -1
  260. package/dist/openapi/models/MultipartPresignRequest.js +1 -1
  261. package/dist/openapi/models/MultipartPresignResponse.d.ts +1 -1
  262. package/dist/openapi/models/MultipartPresignResponse.js +1 -1
  263. package/dist/openapi/models/MultipartPresignSuccessEnvelope.d.ts +1 -1
  264. package/dist/openapi/models/MultipartPresignSuccessEnvelope.js +1 -1
  265. package/dist/openapi/models/MultipartStatusResponse.d.ts +1 -1
  266. package/dist/openapi/models/MultipartStatusResponse.js +1 -1
  267. package/dist/openapi/models/MultipartStatusSuccessEnvelope.d.ts +1 -1
  268. package/dist/openapi/models/MultipartStatusSuccessEnvelope.js +1 -1
  269. package/dist/openapi/models/NotifyConfig.d.ts +1 -1
  270. package/dist/openapi/models/NotifyConfig.js +1 -1
  271. package/dist/openapi/models/OperationCapability.d.ts +1 -1
  272. package/dist/openapi/models/OperationCapability.js +1 -1
  273. package/dist/openapi/models/OperationDefinition.d.ts +1 -1
  274. package/dist/openapi/models/OperationDefinition.js +1 -1
  275. package/dist/openapi/models/OperationDownload.d.ts +1 -1
  276. package/dist/openapi/models/OperationDownload.js +1 -1
  277. package/dist/openapi/models/OperationInputModel.d.ts +1 -1
  278. package/dist/openapi/models/OperationInputModel.js +1 -1
  279. package/dist/openapi/models/OperationResponse.d.ts +1 -1
  280. package/dist/openapi/models/OperationResponse.js +1 -1
  281. package/dist/openapi/models/OperationResult.d.ts +1 -1
  282. package/dist/openapi/models/OperationResult.js +1 -1
  283. package/dist/openapi/models/OperationResultMetadata.d.ts +1 -1
  284. package/dist/openapi/models/OperationResultMetadata.js +1 -1
  285. package/dist/openapi/models/OperationResultMetrics.d.ts +1 -1
  286. package/dist/openapi/models/OperationResultMetrics.js +1 -1
  287. package/dist/openapi/models/OperationSchemaDefinition.d.ts +1 -1
  288. package/dist/openapi/models/OperationSchemaDefinition.js +1 -1
  289. package/dist/openapi/models/OperationStatus.d.ts +1 -1
  290. package/dist/openapi/models/OperationStatus.js +1 -1
  291. package/dist/openapi/models/OperationType.d.ts +1 -1
  292. package/dist/openapi/models/OperationType.js +1 -1
  293. package/dist/openapi/models/OperationsSchemaResponse.d.ts +1 -1
  294. package/dist/openapi/models/OperationsSchemaResponse.js +1 -1
  295. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.d.ts +1 -1
  296. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.js +1 -1
  297. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.d.ts +1 -1
  298. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.js +1 -1
  299. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.d.ts +1 -1
  300. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.js +1 -1
  301. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.d.ts +1 -1
  302. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.js +1 -1
  303. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesProcessing.d.ts +1 -1
  304. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesProcessing.js +1 -1
  305. package/dist/openapi/models/OptionSchema.d.ts +1 -1
  306. package/dist/openapi/models/OptionSchema.js +1 -1
  307. package/dist/openapi/models/OutputProperties.d.ts +1 -1
  308. package/dist/openapi/models/OutputProperties.js +1 -1
  309. package/dist/openapi/models/OutputPropertiesIsAnimated.d.ts +1 -1
  310. package/dist/openapi/models/OutputPropertiesIsAnimated.js +1 -1
  311. package/dist/openapi/models/PerClassAvailabilityEntry.d.ts +1 -1
  312. package/dist/openapi/models/PerClassAvailabilityEntry.js +1 -1
  313. package/dist/openapi/models/PerRoleCardinalityEntry.d.ts +1 -1
  314. package/dist/openapi/models/PerRoleCardinalityEntry.js +1 -1
  315. package/dist/openapi/models/PerValueAvailabilityEntry.d.ts +1 -1
  316. package/dist/openapi/models/PerValueAvailabilityEntry.js +1 -1
  317. package/dist/openapi/models/PresignedUrlPart.d.ts +1 -1
  318. package/dist/openapi/models/PresignedUrlPart.js +1 -1
  319. package/dist/openapi/models/ProbePendingResponse.d.ts +1 -1
  320. package/dist/openapi/models/ProbePendingResponse.js +1 -1
  321. package/dist/openapi/models/ProcessingClass.d.ts +1 -1
  322. package/dist/openapi/models/ProcessingClass.js +1 -1
  323. package/dist/openapi/models/ProcessingClassBandViolation.d.ts +1 -1
  324. package/dist/openapi/models/ProcessingClassBandViolation.js +1 -1
  325. package/dist/openapi/models/ProcessingClassConstraints.d.ts +1 -1
  326. package/dist/openapi/models/ProcessingClassConstraints.js +1 -1
  327. package/dist/openapi/models/ProcessingClassEntry.d.ts +1 -1
  328. package/dist/openapi/models/ProcessingClassEntry.js +1 -1
  329. package/dist/openapi/models/ProcessingClassExceedsBandResponse.d.ts +1 -1
  330. package/dist/openapi/models/ProcessingClassExceedsBandResponse.js +1 -1
  331. package/dist/openapi/models/ProcessingClassHint.d.ts +1 -1
  332. package/dist/openapi/models/ProcessingClassHint.js +1 -1
  333. package/dist/openapi/models/ProcessingClassReason.d.ts +1 -1
  334. package/dist/openapi/models/ProcessingClassReason.js +1 -1
  335. package/dist/openapi/models/ProcessingClassRejectReason.d.ts +1 -1
  336. package/dist/openapi/models/ProcessingClassRejectReason.js +1 -1
  337. package/dist/openapi/models/ProcessingPlan.d.ts +1 -1
  338. package/dist/openapi/models/ProcessingPlan.js +1 -1
  339. package/dist/openapi/models/ProcessingPlanJob.d.ts +1 -1
  340. package/dist/openapi/models/ProcessingPlanJob.js +1 -1
  341. package/dist/openapi/models/ReEncodeDecision.d.ts +1 -1
  342. package/dist/openapi/models/ReEncodeDecision.js +1 -1
  343. package/dist/openapi/models/ReadinessResponse.d.ts +1 -1
  344. package/dist/openapi/models/ReadinessResponse.js +1 -1
  345. package/dist/openapi/models/RegisterUser422Response.d.ts +1 -1
  346. package/dist/openapi/models/RegisterUser422Response.js +1 -1
  347. package/dist/openapi/models/RegisterUserRequest.d.ts +1 -1
  348. package/dist/openapi/models/RegisterUserRequest.js +1 -1
  349. package/dist/openapi/models/RequestAccountDeletion200Response.d.ts +1 -1
  350. package/dist/openapi/models/RequestAccountDeletion200Response.js +1 -1
  351. package/dist/openapi/models/RequestAccountDeletion200ResponseData.d.ts +1 -1
  352. package/dist/openapi/models/RequestAccountDeletion200ResponseData.js +1 -1
  353. package/dist/openapi/models/RequestAccountDeletionRequest.d.ts +1 -1
  354. package/dist/openapi/models/RequestAccountDeletionRequest.js +1 -1
  355. package/dist/openapi/models/ResendVerificationEmailRequest.d.ts +1 -1
  356. package/dist/openapi/models/ResendVerificationEmailRequest.js +1 -1
  357. package/dist/openapi/models/ResetPasswordRequest.d.ts +1 -1
  358. package/dist/openapi/models/ResetPasswordRequest.js +1 -1
  359. package/dist/openapi/models/ResponseEnvelope.d.ts +1 -1
  360. package/dist/openapi/models/ResponseEnvelope.js +1 -1
  361. package/dist/openapi/models/RetryResponse.d.ts +1 -1
  362. package/dist/openapi/models/RetryResponse.js +1 -1
  363. package/dist/openapi/models/RetrySuccessEnvelope.d.ts +1 -1
  364. package/dist/openapi/models/RetrySuccessEnvelope.js +1 -1
  365. package/dist/openapi/models/SseCompletionBase.d.ts +1 -1
  366. package/dist/openapi/models/SseCompletionBase.js +1 -1
  367. package/dist/openapi/models/SseEventType.d.ts +1 -1
  368. package/dist/openapi/models/SseEventType.js +1 -1
  369. package/dist/openapi/models/SseJobCompletedData.d.ts +1 -1
  370. package/dist/openapi/models/SseJobCompletedData.js +1 -1
  371. package/dist/openapi/models/SseJobFailedData.d.ts +1 -1
  372. package/dist/openapi/models/SseJobFailedData.js +1 -1
  373. package/dist/openapi/models/SseMultiOutputCompletion.d.ts +1 -1
  374. package/dist/openapi/models/SseMultiOutputCompletion.js +1 -1
  375. package/dist/openapi/models/SseMultiOutputCompletionMetrics.d.ts +1 -1
  376. package/dist/openapi/models/SseMultiOutputCompletionMetrics.js +1 -1
  377. package/dist/openapi/models/SseMultiOutputCompletionWithKind.d.ts +1 -1
  378. package/dist/openapi/models/SseMultiOutputCompletionWithKind.js +1 -1
  379. package/dist/openapi/models/SseMultiOutputResultEntry.d.ts +1 -1
  380. package/dist/openapi/models/SseMultiOutputResultEntry.js +1 -1
  381. package/dist/openapi/models/SseOperationCompletedData.d.ts +1 -1
  382. package/dist/openapi/models/SseOperationCompletedData.js +1 -1
  383. package/dist/openapi/models/SseOperationCompletionResult.d.ts +1 -1
  384. package/dist/openapi/models/SseOperationCompletionResult.js +1 -1
  385. package/dist/openapi/models/SseOperationFailedData.d.ts +1 -1
  386. package/dist/openapi/models/SseOperationFailedData.js +1 -1
  387. package/dist/openapi/models/SseOperationProgressData.d.ts +1 -1
  388. package/dist/openapi/models/SseOperationProgressData.js +1 -1
  389. package/dist/openapi/models/SseSingleOutputCompletion.d.ts +1 -1
  390. package/dist/openapi/models/SseSingleOutputCompletion.js +1 -1
  391. package/dist/openapi/models/SseWorkflowTerminalData.d.ts +1 -1
  392. package/dist/openapi/models/SseWorkflowTerminalData.js +1 -1
  393. package/dist/openapi/models/TierRestrictionKind.d.ts +1 -1
  394. package/dist/openapi/models/TierRestrictionKind.js +1 -1
  395. package/dist/openapi/models/TierRestrictionResponse.d.ts +1 -1
  396. package/dist/openapi/models/TierRestrictionResponse.js +1 -1
  397. package/dist/openapi/models/UpdateProfile200Response.d.ts +1 -1
  398. package/dist/openapi/models/UpdateProfile200Response.js +1 -1
  399. package/dist/openapi/models/UpdateProfile200ResponseData.d.ts +1 -1
  400. package/dist/openapi/models/UpdateProfile200ResponseData.js +1 -1
  401. package/dist/openapi/models/UpdateProfile422Response.d.ts +1 -1
  402. package/dist/openapi/models/UpdateProfile422Response.js +1 -1
  403. package/dist/openapi/models/UpdateProfileRequest.d.ts +1 -1
  404. package/dist/openapi/models/UpdateProfileRequest.js +1 -1
  405. package/dist/openapi/models/UploadConstraintsApplied.d.ts +1 -1
  406. package/dist/openapi/models/UploadConstraintsApplied.js +1 -1
  407. package/dist/openapi/models/UploadDurationExceedsTierResponse.d.ts +1 -1
  408. package/dist/openapi/models/UploadDurationExceedsTierResponse.js +1 -1
  409. package/dist/openapi/models/UploadFile403Response.d.ts +1 -1
  410. package/dist/openapi/models/UploadFile403Response.js +1 -1
  411. package/dist/openapi/models/UploadFile422Response.d.ts +1 -1
  412. package/dist/openapi/models/UploadFile422Response.js +1 -1
  413. package/dist/openapi/models/UploadProbeMediaMetadata.d.ts +1 -1
  414. package/dist/openapi/models/UploadProbeMediaMetadata.js +1 -1
  415. package/dist/openapi/models/UploadProbeProcessingClass.d.ts +1 -1
  416. package/dist/openapi/models/UploadProbeProcessingClass.js +1 -1
  417. package/dist/openapi/models/UploadProbeResponse.d.ts +1 -1
  418. package/dist/openapi/models/UploadProbeResponse.js +1 -1
  419. package/dist/openapi/models/UploadProbeStatus.d.ts +1 -1
  420. package/dist/openapi/models/UploadProbeStatus.js +1 -1
  421. package/dist/openapi/models/UploadProbeSuccessEnvelope.d.ts +1 -1
  422. package/dist/openapi/models/UploadProbeSuccessEnvelope.js +1 -1
  423. package/dist/openapi/models/UploadResponse.d.ts +1 -1
  424. package/dist/openapi/models/UploadResponse.js +1 -1
  425. package/dist/openapi/models/UploadSizeExceedsTierResponse.d.ts +1 -1
  426. package/dist/openapi/models/UploadSizeExceedsTierResponse.js +1 -1
  427. package/dist/openapi/models/UploadSource.d.ts +1 -1
  428. package/dist/openapi/models/UploadSource.js +1 -1
  429. package/dist/openapi/models/UploadSuccessEnvelope.d.ts +1 -1
  430. package/dist/openapi/models/UploadSuccessEnvelope.js +1 -1
  431. package/dist/openapi/models/UploadThresholds.d.ts +26 -5
  432. package/dist/openapi/models/UploadThresholds.js +1 -1
  433. package/dist/openapi/models/UserTier.d.ts +1 -1
  434. package/dist/openapi/models/UserTier.js +1 -1
  435. package/dist/openapi/models/ValidationErrorEnvelope.d.ts +1 -1
  436. package/dist/openapi/models/ValidationErrorEnvelope.js +1 -1
  437. package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.d.ts +1 -1
  438. package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.js +1 -1
  439. package/dist/openapi/models/VerifyEmailRequest.d.ts +1 -1
  440. package/dist/openapi/models/VerifyEmailRequest.js +1 -1
  441. package/dist/openapi/models/WarningType.d.ts +1 -1
  442. package/dist/openapi/models/WarningType.js +1 -1
  443. package/dist/openapi/models/WebhookOperationContext.d.ts +1 -1
  444. package/dist/openapi/models/WebhookOperationContext.js +1 -1
  445. package/dist/openapi/models/WebhookPayload.d.ts +1 -1
  446. package/dist/openapi/models/WebhookPayload.js +1 -1
  447. package/dist/openapi/models/WorkflowArchiveResponse.d.ts +1 -1
  448. package/dist/openapi/models/WorkflowArchiveResponse.js +1 -1
  449. package/dist/openapi/models/WorkflowArchiveSuccessEnvelope.d.ts +1 -1
  450. package/dist/openapi/models/WorkflowArchiveSuccessEnvelope.js +1 -1
  451. package/dist/openapi/models/WorkflowCancelBillingEffect.d.ts +1 -1
  452. package/dist/openapi/models/WorkflowCancelBillingEffect.js +1 -1
  453. package/dist/openapi/models/WorkflowCancelResponse.d.ts +1 -1
  454. package/dist/openapi/models/WorkflowCancelResponse.js +1 -1
  455. package/dist/openapi/models/WorkflowCancelSuccessEnvelope.d.ts +1 -1
  456. package/dist/openapi/models/WorkflowCancelSuccessEnvelope.js +1 -1
  457. package/dist/openapi/models/WorkflowCreateRequest.d.ts +17 -1
  458. package/dist/openapi/models/WorkflowCreateRequest.js +1 -1
  459. package/dist/openapi/models/WorkflowCreateResponse.d.ts +1 -1
  460. package/dist/openapi/models/WorkflowCreateResponse.js +1 -1
  461. package/dist/openapi/models/WorkflowCreateSuccessEnvelope.d.ts +1 -1
  462. package/dist/openapi/models/WorkflowCreateSuccessEnvelope.js +1 -1
  463. package/dist/openapi/models/WorkflowCreditSummary.d.ts +1 -1
  464. package/dist/openapi/models/WorkflowCreditSummary.js +1 -1
  465. package/dist/openapi/models/WorkflowDownloadResponse.d.ts +1 -1
  466. package/dist/openapi/models/WorkflowDownloadResponse.js +1 -1
  467. package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.d.ts +1 -1
  468. package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.js +1 -1
  469. package/dist/openapi/models/WorkflowEdge.d.ts +1 -1
  470. package/dist/openapi/models/WorkflowEdge.js +1 -1
  471. package/dist/openapi/models/WorkflowExpiredResponse.d.ts +1 -1
  472. package/dist/openapi/models/WorkflowExpiredResponse.js +1 -1
  473. package/dist/openapi/models/WorkflowListResponse.d.ts +1 -1
  474. package/dist/openapi/models/WorkflowListResponse.js +1 -1
  475. package/dist/openapi/models/WorkflowListSuccessEnvelope.d.ts +1 -1
  476. package/dist/openapi/models/WorkflowListSuccessEnvelope.js +1 -1
  477. package/dist/openapi/models/WorkflowPauseRequiredAction.d.ts +1 -1
  478. package/dist/openapi/models/WorkflowPauseRequiredAction.js +1 -1
  479. package/dist/openapi/models/WorkflowPausedDetail.d.ts +1 -1
  480. package/dist/openapi/models/WorkflowPausedDetail.js +1 -1
  481. package/dist/openapi/models/WorkflowPausedDetailLinks.d.ts +1 -1
  482. package/dist/openapi/models/WorkflowPausedDetailLinks.js +1 -1
  483. package/dist/openapi/models/WorkflowProcessing.d.ts +1 -1
  484. package/dist/openapi/models/WorkflowProcessing.js +1 -1
  485. package/dist/openapi/models/WorkflowRestoreResponse.d.ts +1 -1
  486. package/dist/openapi/models/WorkflowRestoreResponse.js +1 -1
  487. package/dist/openapi/models/WorkflowRestoreSuccessEnvelope.d.ts +1 -1
  488. package/dist/openapi/models/WorkflowRestoreSuccessEnvelope.js +1 -1
  489. package/dist/openapi/models/WorkflowResumeResponse.d.ts +1 -1
  490. package/dist/openapi/models/WorkflowResumeResponse.js +1 -1
  491. package/dist/openapi/models/WorkflowResumeSuccessEnvelope.d.ts +1 -1
  492. package/dist/openapi/models/WorkflowResumeSuccessEnvelope.js +1 -1
  493. package/dist/openapi/models/WorkflowSource.d.ts +1 -1
  494. package/dist/openapi/models/WorkflowSource.js +1 -1
  495. package/dist/openapi/models/WorkflowStatus.d.ts +1 -1
  496. package/dist/openapi/models/WorkflowStatus.js +1 -1
  497. package/dist/openapi/models/WorkflowStatusResponse.d.ts +1 -1
  498. package/dist/openapi/models/WorkflowStatusResponse.js +1 -1
  499. package/dist/openapi/models/WorkflowStatusSuccessEnvelope.d.ts +1 -1
  500. package/dist/openapi/models/WorkflowStatusSuccessEnvelope.js +1 -1
  501. package/dist/openapi/models/WorkflowSummary.d.ts +1 -1
  502. package/dist/openapi/models/WorkflowSummary.js +1 -1
  503. package/dist/openapi/models/WorkflowSummaryJob.d.ts +1 -1
  504. package/dist/openapi/models/WorkflowSummaryJob.js +1 -1
  505. package/dist/openapi/models/WorkflowWarning.d.ts +1 -1
  506. package/dist/openapi/models/WorkflowWarning.js +1 -1
  507. package/dist/openapi/models/WorkflowWarningSeverity.d.ts +1 -1
  508. package/dist/openapi/models/WorkflowWarningSeverity.js +1 -1
  509. package/dist/openapi/runtime.d.ts +1 -1
  510. package/dist/openapi/runtime.js +1 -1
  511. package/dist/operations/audio_to_video.metadata.js +1 -1
  512. package/dist/operations/video_watermark.metadata.js +2 -2
  513. package/openapi/api.yaml +324 -41
  514. package/operation-capabilities/operation-capabilities.json +3 -3
  515. package/operations/schemas/audio_to_video.yaml +1 -1
  516. package/operations/schemas/video_watermark.yaml +2 -2
  517. package/package.json +3 -3
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.198.0
92
+ version: 2.201.0
93
93
  contact:
94
94
  name: API Support
95
95
 
@@ -454,10 +454,26 @@ paths:
454
454
  feature_tier_restricted: '#/components/schemas/FeatureTierRestrictedResponse'
455
455
  '413':
456
456
  description: |
457
- File exceeds the absolute maximum upload size (across all
458
- tiers). For tier-specific size caps below this absolute
459
- limit, the server returns 403 with
460
- `error_type: tier_restriction, restriction_kind: file_size`.
457
+ Two rejection cases, discriminated by the `ErrorEnvelope.error`
458
+ code — the same pair as `POST /api/uploads`.
459
+
460
+ - **Byte size** — the file exceeds the absolute maximum upload size
461
+ (across all tiers). For tier-specific size caps below this
462
+ absolute limit, the server returns 403 with
463
+ `error_type: tier_restriction, restriction_kind: file_size`.
464
+ - **Pixel dimensions** (`error: IMAGE_DIMENSIONS_TOO_LARGE`) — as
465
+ declared on `POST /api/uploads`: a decodable raster image whose
466
+ `width x height` exceeds the configured pixel ceiling
467
+ (`UPLOAD_MAX_IMAGE_PIXELS`, default 16 MP), read from the file
468
+ **header** and rejected **before** decoding.
469
+
470
+ 🔴 **THIS CASE WAS UNDECLARED HERE UNTIL 2026-08-28, AND THIS IS
471
+ THE PATH IT MATTERS MOST ON.** Multipart exists for LARGE uploads,
472
+ so a high-pixel image is *more* likely to arrive here than on the
473
+ single-shot endpoint where the ceiling was documented. A ceiling
474
+ declared on the small-file path and omitted from the large-file
475
+ path is worse than one declared nowhere: a consumer who reads the
476
+ contract concludes the rule does not apply here.
461
477
  content:
462
478
  application/json:
463
479
  schema:
@@ -1244,20 +1260,29 @@ paths:
1244
1260
  - name: archived
1245
1261
  in: query
1246
1262
  required: false
1247
- x-availability: planned
1248
- description: |
1249
- 🔴 **NOT IMPLEMENTED — see the `planned` note below. A server
1250
- that does not support this parameter SILENTLY IGNORES IT and
1251
- returns the DEFAULT (non-archived) list.** That is the dangerous
1252
- half of this feature and the reason it is called out here rather
1253
- than only on the endpoints: `POST .../archive` would 404, which is
1254
- loud and teaches the caller immediately, whereas
1255
- **`archived=true` returns a 200 carrying the wrong rows.** A
1256
- consumer asking for their archive receives their NON-archived
1257
- workflows and is told nothing. **Silent wrong data beats a 404
1258
- every time for damage.**
1259
- Until the server implements it, a client MUST NOT present an
1260
- "archived" view built on this parameter.
1263
+ x-availability: stable
1264
+ description: |
1265
+ ⚠️ **A SERVER THAT DOES NOT SUPPORT THIS PARAMETER SILENTLY
1266
+ IGNORES IT and returns the DEFAULT (non-archived) list** — it
1267
+ does not error. That asymmetry is why this is called out on the
1268
+ parameter and not only on the endpoints: `POST .../archive`
1269
+ would 404, which is loud and teaches the caller immediately,
1270
+ whereas **`archived=true` returns a 200 carrying the wrong
1271
+ rows** — a consumer asking for their archive receives their
1272
+ NON-archived workflows and is told nothing. **Silent wrong data
1273
+ beats a 404 every time for damage.**
1274
+
1275
+ ✅ **IMPLEMENTED. This was `planned` and carried a "clients MUST
1276
+ NOT present an archived view" prohibition; both are struck.**
1277
+ Verified on `compression_api` `origin/main` before the flip
1278
+ rather than on report: the `ArchiveWorkflow` and
1279
+ `RestoreWorkflow` command handlers exist, and
1280
+ `WorkflowListReadPort` takes the `bool $archived` filter.
1281
+ ⚠️ **What that establishes is that the code is MERGED, not that
1282
+ a given environment is running it** — availability in this
1283
+ contract has no environment axis, so read this as the shape
1284
+ being committed, and confirm deployment from the environment
1285
+ rather than from here.
1261
1286
 
1262
1287
  Archived-row filter (ticket
1263
1288
  [`j2s6T2qf`](https://trello.com/c/j2s6T2qf)). **Default `false`**:
@@ -5827,7 +5852,29 @@ paths:
5827
5852
  summary: Get current credit balance
5828
5853
  description: |
5829
5854
  Returns a snapshot of the caller's credit position at request
5830
- time. Per ticket [I23 `DffjC3zm`](https://trello.com/c/DffjC3zm)
5855
+ time.
5856
+
5857
+ 🔴 **EVENTUALLY CONSISTENT WITH A COMPLETED CHECKOUT, AND THIS
5858
+ RESPONSE CARRIES NO FRESHNESS SIGNAL.** A credit-pack purchase is
5859
+ granted on an asynchronous server-to-server callback, so a
5860
+ snapshot taken just after the Stripe redirect **may legitimately
5861
+ predate the grant**. There is **no timestamp, no version, no
5862
+ pending state and no session correlation** here — the fields
5863
+ below are the whole of it — so **this endpoint cannot
5864
+ distinguish "the grant has not landed yet" from "the payment did
5865
+ not credit you".**
5866
+
5867
+ ⇒ **Do not treat an unchanged balance after checkout as a
5868
+ failure.** Those two states need opposite handling — *wait*
5869
+ versus *contact support* — and the way to tell them apart is
5870
+ `GET /api/v2/credits/usage`, correlating on the checkout
5871
+ `session_id`, not this endpoint. See
5872
+ `POST /api/billing/checkout` for the full model, **including
5873
+ that nothing detects a callback which never arrives.**
5874
+
5875
+ ⛔ **No interval is stated anywhere in this contract**, because
5876
+ none has been measured end to end. Any client timeout is the
5877
+ client's own choice and is not sanctioned here. Per ticket [I23 `DffjC3zm`](https://trello.com/c/DffjC3zm)
5831
5878
  + plan v5 §F9 round-13 narrowing — this endpoint is the
5832
5879
  canonical user-visible billing-state surface.
5833
5880
 
@@ -6232,6 +6279,58 @@ paths:
6232
6279
  frontend can hide/disable the upgrade affordance without
6233
6280
  hard-coding the rollout state.
6234
6281
 
6282
+ 🔴 **THE CREDIT GRANT IS ASYNCHRONOUS. THE BALANCE WILL NOT
6283
+ REFLECT IT WHEN STRIPE REDIRECTS THE USER BACK.** Credits are
6284
+ granted on the server-to-server callback, which arrives
6285
+ independently of the browser redirect. A client reading
6286
+ `GET /api/v2/credits/balance` immediately on return **may
6287
+ legitimately see the pre-purchase value, and that is not an
6288
+ error.**
6289
+
6290
+ **How to observe the grant:** poll `GET /api/v2/credits/usage`
6291
+ for a transaction whose `reference_id` equals the `session_id`
6292
+ returned here, and whose `reference_type` is
6293
+ `stripe_checkout_session`. That is the only client-observable
6294
+ correlation between a checkout and its credits.
6295
+
6296
+ 🔴 **MATCH ON `reference_type` + `reference_id`, AND DO NOT
6297
+ FILTER ON `type`.** The pack grant is written as an
6298
+ **`adjustment`** row, not a `top_up` — a client filtering for
6299
+ `type: top_up` finds nothing however long it polls. `type` is a
6300
+ free-form string here, and the pack path's value is the one
6301
+ named in this sentence.
6302
+
6303
+ ⚠️ **This block previously said the pack path did not populate
6304
+ `reference_id` "yet".** It does. That sentence told a client the
6305
+ correlation was unavailable, so a client believing it built no
6306
+ correlation at all and fell back to guessing from timing or from
6307
+ description text — **the exact ambiguity the field exists to
6308
+ remove.** A stale "not yet" retires a capability that shipped,
6309
+ and this direction of staleness is invisible: nothing fails, the
6310
+ client simply never asks.
6311
+
6312
+ ⛔ **NO TIMING IS STATED, DELIBERATELY.** The interval is
6313
+ dominated by the provider's callback delivery latency, which
6314
+ **this system does not measure**. Production has processed
6315
+ **zero** such events; staging exactly one, a synthetic rehearsal
6316
+ purchase — n=1, idle box, caller not a browser. **No bound is
6317
+ derivable from that**, and a client MUST NOT build a timeout
6318
+ from any figure in this contract, because there is none.
6319
+
6320
+ ⇒ **Show a pending state rather than a failure.** Absence of
6321
+ credits after checkout is **indeterminate, not negative**.
6322
+
6323
+ 🔴 **AND THE BRANCH A CLIENT MUST NOT BE PROMISED AWAY FROM:
6324
+ NOTHING DETECTS A CALLBACK THAT NEVER ARRIVES.** Recovery relies
6325
+ on the provider's own retries. There is **no server-side
6326
+ reconciliation** comparing completed checkouts against granted
6327
+ credits, and an event already marked terminal **cannot be
6328
+ reopened**. **No customer-visible recovery route exists and no
6329
+ automated one** — the manual path is an operator action. ⇒ A
6330
+ client that has waited past any interval it considers reasonable
6331
+ should **direct the user to support with the `session_id`**,
6332
+ which is the only handle both sides share.
6333
+
6235
6334
  The Stripe **webhook** (`POST /api/webhooks/stripe`) is a
6236
6335
  server-to-server, signature-authenticated callback and is
6237
6336
  deliberately **not** part of this client contract.
@@ -6945,6 +7044,10 @@ components:
6945
7044
  customer path carries the same signal as the SSE/message
6946
7045
  surface. Cross-spec enum parity is verified by
6947
7046
  `tests/test_asyncapi_named_schemas.py`.
7047
+ # OPEN. Purely diagnostic — it reports which path `auto` took so a caller can
7048
+ # see why. An unrecognised path does not change any decision a consumer makes,
7049
+ # so a new one is safely ignorable and additive.
7050
+ x-enum-openness: open
6948
7051
  enum:
6949
7052
  - stream_copy
6950
7053
  - re_encode
@@ -6971,6 +7074,12 @@ components:
6971
7074
  See `schemas/FORMAT.md` §Availability Taxonomy and
6972
7075
  `docs/decisions/0001-contract-first-availability.md` for the full
6973
7076
  rules, vocabulary rationale, and parser obligations.
7077
+ # CLOSED. A consumer uses this to decide whether to EXPOSE a feature, so an
7078
+ # unrecognised level cannot be handled safely in either direction — hiding a
7079
+ # live capability or surfacing one that is not. ADR-0001 §1.3 defines exactly
7080
+ # these five; a sixth is a contract event that consumers must be updated for,
7081
+ # and failing loudly is the correct way to require that.
7082
+ x-enum-openness: closed
6974
7083
  enum:
6975
7084
  - stable
6976
7085
  - beta
@@ -7873,8 +7982,23 @@ components:
7873
7982
  overridden:
7874
7983
  type: boolean
7875
7984
  description: |
7876
- True iff a per-account override is active (i.e. `effective`
7877
- comes from an override rather than the tier default).
7985
+ Whether `effective` came from a per-account override rather than
7986
+ the tier default.
7987
+
7988
+ 🔴 **RESERVED, AND STRUCTURALLY `false` TODAY — DO NOT BRANCH ON
7989
+ IT.** No per-account override store exists, and the API's resolver
7990
+ is called with no override for either limit, so **every response
7991
+ carries `false`, and will until an override store ships.**
7992
+ Measured by `compression_api` on 2026-08-28.
7993
+
7994
+ ⚠️ It is declared **required**, so a consumer must handle a field
7995
+ that currently takes exactly one value. It is kept rather than
7996
+ removed because this is the shape an environment-overridable limit
7997
+ needs, and removing it would be a breaking change to re-make later.
7998
+
7999
+ 📌 **A test asserting `overridden === false` would be a decoration
8000
+ — no input makes it fail.** When an override store exists, assert
8001
+ against that, not against this field now.
7878
8002
 
7879
8003
  CreditTransaction:
7880
8004
  type: object
@@ -8001,10 +8125,44 @@ components:
8001
8125
  type: string
8002
8126
  description: |
8003
8127
  Identifier of the referenced entity. Typically a UUID v7
8004
- for `workflow` references, but other reference types
8005
- (`top_up` carrying a Stripe payment intent ID,
8006
- `cycle_grant` carrying a cycle date, etc.) may use
8007
- non-UUID identifiers. NOT constrained to `UuidV7`.
8128
+ for `workflow` references; other reference types may use
8129
+ non-UUID identifiers and this is NOT constrained to
8130
+ `UuidV7`.
8131
+
8132
+ 🔴 **FOR A CREDIT-PACK PURCHASE THIS IS THE CHECKOUT
8133
+ SESSION ID (`cs_...`) — THE IDENTIFIER THE CLIENT ACTUALLY
8134
+ HOLDS**, paired with a `reference_type` of
8135
+ `stripe_checkout_session`. It is returned as
8136
+ `BillingCheckoutSession.session_id` when the session is
8137
+ created, and it is the handle that makes the asynchronous
8138
+ credit grant observable. See `POST /api/billing/checkout`.
8139
+
8140
+ 🔴 **THE ROW IS AN `adjustment`, NOT A `top_up`.** Filter on
8141
+ `reference_type` — not on `type` — or the poll described on
8142
+ checkout matches nothing.
8143
+
8144
+ ⚠️ **Populated only when the provider callback carries a
8145
+ session id.** It is written straight from that callback, so
8146
+ a callback without one leaves both `reference_type` and
8147
+ `reference_id` `null` rather than inventing a correlator.
8148
+ Treat absence as "not correlatable", never as "not granted".
8149
+
8150
+ ⚠️ **This description previously named a Stripe PAYMENT
8151
+ INTENT id.** A client never receives one — checkout returns
8152
+ `checkout_url` and `session_id` and nothing else — so the
8153
+ only correlator this contract named was one the caller
8154
+ could not obtain.
8155
+
8156
+ ⚠️ **AND IT THEN SAID THE PACK PATH LEFT THIS FIELD EMPTY
8157
+ "until the session id is wired through".** It is wired:
8158
+ measured on `compression_api` `origin/main` (`8c136261`),
8159
+ `CheckoutSessionCompletedHandler::fulfillPack` passes
8160
+ `referenceType: 'stripe_checkout_session'` and
8161
+ `referenceId: $sessionId`. Both values reach the wire
8162
+ through `GetCreditUsageQueryHandler`. **A stale "not yet"
8163
+ retires a shipped capability and nothing detects it** — the
8164
+ claim reads as caution, and a client that believes it stops
8165
+ looking.
8008
8166
  created_at:
8009
8167
  type: string
8010
8168
  format: date-time
@@ -8528,6 +8686,9 @@ components:
8528
8686
  rule when product/Lambda confirms detection logic.)
8529
8687
 
8530
8688
  Per ticket [I25 `i5yCuSZc`](https://trello.com/c/i5yCuSZc).
8689
+ # `WarningType` carries the NORMATIVE statement of the additive convention
8690
+ # ("SDKs MUST treat the enum as additive"), so it is open by its own declaration.
8691
+ x-enum-openness: open
8531
8692
  enum:
8532
8693
  - redundant_pre_encode_before_reencode_merge
8533
8694
 
@@ -8839,6 +9000,14 @@ components:
8839
9000
  429 response). **The per-tier numbers are deliberately not restated
8840
9001
  here** — read them from the source above.
8841
9002
 
9003
+ # CLOSED, AND DELIBERATELY SO. The values are an ORDERED ladder driving upgrade
9004
+ # prompts and tier comparisons — an unknown tier cannot be RANKED, so a consumer
9005
+ # that silently accepted one would place it arbitrarily in that ordering.
9006
+ # Failing on an unknown tier is the correct behaviour.
9007
+ # SURVEY TRAP: this schema's description mentions "typed-open", but that
9008
+ # sentence is about `AccountLimits.limits`, NOT about this enum. A keyword
9009
+ # sweep reads it as open. It is not.
9010
+ x-enum-openness: closed
8842
9011
  enum:
8843
9012
  - basic
8844
9013
  - free
@@ -9459,6 +9628,9 @@ components:
9459
9628
  server. Equivalent to `cancelled` for downstream
9460
9629
  accounting; distinct status so dashboards can surface the
9461
9630
  natural-expiry vs caller-initiated distinction.
9631
+ # Declared "additive widening; V1 clients ignoring unknown enum values
9632
+ # continue to function".
9633
+ x-enum-openness: open
9462
9634
  enum:
9463
9635
  - pending
9464
9636
  - in_progress
@@ -9486,6 +9658,8 @@ components:
9486
9658
  - `in_progress`: At least one operation is running.
9487
9659
  - `completed`: All operations completed successfully.
9488
9660
  - `failed`: Job failed (at least one operation failed).
9661
+ # Declared "additive widening".
9662
+ x-enum-openness: open
9489
9663
  enum:
9490
9664
  - pending
9491
9665
  - waiting
@@ -9559,6 +9733,13 @@ components:
9559
9733
  V1 `watermark` operation removed at V2 cutover (I4-CONS) —
9560
9734
  replaced by `image_watermark` + `text_watermark` per ADR-0004
9561
9735
  §"Greenfield V2.0 cutover".
9736
+ # CLOSED on BOTH sides, and the two sides declare DIFFERENT VALUE SETS on
9737
+ # purpose — see schemas/cross-document-enums.yaml. openapi types the CREATE
9738
+ # SURFACE; asyncapi types the PAYLOAD FIELD, which stays coarse because the
9739
+ # thumbnail sub-types travel on the SNS message ATTRIBUTE, not in the payload.
9740
+ # Closed because an unrecognised operation type cannot be dispatched or
9741
+ # rendered; guessing is never right.
9742
+ x-enum-openness: closed
9562
9743
  enum:
9563
9744
  - compress
9564
9745
  - thumbnail
@@ -9668,10 +9849,31 @@ components:
9668
9849
  use the multipart flow
9669
9850
  (`POST /api/uploads/multipart/initiate` → chunk PUTs →
9670
9851
  `POST /api/uploads/multipart/complete`). 10 MB /
9671
- 10,000,000 bytes — chosen to match the ALB-fronted
9672
- single-request body cap. Raising this requires
9673
- infrastructure work (ALB swap or rearchitect; out of
9674
- scope for this ticket).
9852
+ 10,000,000 bytes — matching the **API Gateway HTTP API
9853
+ payload quota** that fronts `api.<domain>`.
9854
+
9855
+ 🔴 **THIS CANNOT BE INCREASED.** AWS documents the HTTP API
9856
+ payload limit as 10 MB, "Can be increased: No". It is a
9857
+ platform quota, not a tunable setting, so there is no
9858
+ configuration change or support request that raises it —
9859
+ only a different ingress would.
9860
+
9861
+ ⚠️ **This line previously said the cap matched an
9862
+ "ALB-fronted single-request body cap" and that raising it
9863
+ required an "ALB swap".** There is no ALB in front of
9864
+ `/api/uploads`; the ALB module is instantiated only for
9865
+ `stream.<domain>`. `compression_api` measured this on
9866
+ 2026-08-28.
9867
+
9868
+ ⇒ **The NUMBER was right and the RECORDED REASON was wrong,
9869
+ which is the more dangerous way round**: a correct value
9870
+ never triggers a review, and the rationale is what the next
9871
+ person acts on. **And the error pointed the permissive
9872
+ way** — it named a load-balancer setting somebody could
9873
+ raise, where the real constraint is a non-adjustable quota.
9874
+ Anyone revisiting this would have gone looking for a load
9875
+ balancer that is not there, concluded the cap was tunable,
9876
+ and planned work that cannot succeed.
9675
9877
  multipart_chunk_size:
9676
9878
  type: integer
9677
9879
  format: int64
@@ -10406,6 +10608,22 @@ components:
10406
10608
  The two forms are mutually exclusive (a request supplies exactly
10407
10609
  one — enforced by the `oneOf` below); they are NOT combined.
10408
10610
 
10611
+ 🔴 **THE FLAT FORM IS `planned`, AND THE SERVER DOES NOT ACCEPT IT
10612
+ YET.** Send `jobs[]`. A flat request is rejected today, and the
10613
+ rejection is currently a generic *"At least one job is required"*
10614
+ rather than the `feature_not_available` (422) envelope this contract
10615
+ requires for a `planned` shape — tracked against `compression_api`,
10616
+ so do not read that generic message as a validation error in your
10617
+ own payload.
10618
+
10619
+ ⚠️ **The equivalence stated above is the DESIGN, not observed
10620
+ behaviour.** It describes what the server will do once the lowering
10621
+ ships. It carried no availability marker from v2.64.0 until
10622
+ 2026-09-10, which per ADR-0001 §1.4 meant it read as `stable` — a GA
10623
+ claim about a shape nothing accepts. Neither shipped SDK ever emitted
10624
+ it: the TypeScript and PHP builders both always send `jobs[]`, so the
10625
+ exposure was a hand-built payload and this document's own claim.
10626
+
10409
10627
  Because the flat form lowers to ONE single-input job, its
10410
10628
  `operations[]` admits only **single-input** operation types. The
10411
10629
  multi-input / role operations (`merge`, `archive`,
@@ -10421,12 +10639,31 @@ components:
10421
10639
  otherwise behave exactly as for one explicit job.
10422
10640
  oneOf:
10423
10641
  - title: Explicit jobs form
10642
+ # Stated rather than defaulted. This IS the served form, so `stable` is
10643
+ # the value it would have inherited anyway — and that is exactly why it
10644
+ # is written down: an unmarked branch and a deliberately-stable branch
10645
+ # are indistinguishable on the page, which is how the flat form below
10646
+ # spent three months claiming GA. Every form answers for itself.
10647
+ x-availability: stable
10424
10648
  required: [jobs]
10425
10649
  not:
10426
10650
  anyOf:
10427
10651
  - required: [source]
10428
10652
  - required: [operations]
10429
10653
  - title: Flat single-job form
10654
+ # 🔴 PLANNED — DECLARED, NOT SERVED. The server rejects this form
10655
+ # today (`compression_api` 2.198.0 answers "At least one job is
10656
+ # required"), so the equivalence stated in the description above is a
10657
+ # DESIGN, not a behaviour. Hub ruling 2026-09-10, decision 192.
10658
+ #
10659
+ # ⚠️ It carried NO availability marker from v2.64.0 until now, which
10660
+ # per ADR-0001 §1.4 means it defaulted to `stable` — the contract made
10661
+ # a GA claim about a shape nothing accepts, for three months.
10662
+ # `planned` is the honest value and the reason it is not simply
10663
+ # deleted: the thin-alias design was ratified and codex-reviewed
10664
+ # (`D0Gsri8V`), and deleting it would throw the design away to make a
10665
+ # document true.
10666
+ x-availability: planned
10430
10667
  required: [source, operations]
10431
10668
  not:
10432
10669
  anyOf:
@@ -11332,6 +11569,10 @@ components:
11332
11569
  value is that sentence. Emit it in preference to a
11333
11570
  measurement-asserting value whenever the metrics were absent,
11334
11571
  even if the class ultimately chosen happens to be correct.
11572
+ # OPEN BY CITED CONVENTION, AND IT SAID SO NOWHERE. `WarningType` names it in
11573
+ # the precedent set and this declaration was silent — so a generator reading
11574
+ # only this schema could not learn it. That is the gap this marker closes.
11575
+ x-enum-openness: open
11335
11576
  enum:
11336
11577
  - within_short_form_limits
11337
11578
  - input_size_exceeds_short_form
@@ -11757,6 +11998,11 @@ components:
11757
11998
  could not extract enough metadata to make a routing
11758
11999
  decision. Caller may proceed at their own risk; the
11759
12000
  workflow-create routing fallback applies.
12001
+ # OPEN. `ok` is the only proceed value and everything else is a reason not to,
12002
+ # so a consumer branches on `ok` rather than enumerating failures. A new
12003
+ # failure reason is additive and an old consumer treats it correctly as
12004
+ # not-ok.
12005
+ x-enum-openness: open
11760
12006
  enum:
11761
12007
  - ok
11762
12008
  - corrupt
@@ -11773,6 +12019,11 @@ components:
11773
12019
  the file (e.g. free-tier caller probing a long-form clip,
11774
12020
  or any caller probing a `corrupt` / `unsupported_codec`
11775
12021
  file).
12022
+ # CLOSED. It GATES AN AFFORDANCE: `blocked` is a hard stop and the others
12023
+ # predict routing. An unrecognised class cannot be safely treated as routable —
12024
+ # a consumer guessing would offer an upload the server will refuse. A new
12025
+ # class must reach consumers deliberately.
12026
+ x-enum-openness: closed
11776
12027
  enum:
11777
12028
  - short_form
11778
12029
  - long_form
@@ -14191,17 +14442,49 @@ components:
14191
14442
  once no consumer reads it.
14192
14443
 
14193
14444
  🔴 **KNOWN READER OF `environment`, RECORDED SO THE REMOVAL
14194
- CONDITION IS CHECKABLE RATHER THAN ASSUMED:**
14195
- `compression_api` reads it — `CapabilitiesSidecar::fromArray`
14196
- does `$raw['environment'] ?? null` and `OperationSchemaController`
14197
- emits it conditionally (reported by that session, 2026-08-25).
14198
-
14199
- ⚠️ **THEIR ONLY TRIPWIRE IS A TEST THAT REMOVAL TURNS RED AND
14200
- DEPRECATION DOES NOT** — it asserts `environment === 'baseline'`
14201
- against the real vendored sidecar. So the null-coalesce means a
14202
- removal drops the field from `/api/operations/schema` **with no
14203
- error anywhere**, and the deprecation window generates no signal
14204
- they can act on.
14445
+ CONDITION IS CHECKABLE RATHER THAN ASSUMED:** `compression_api`
14446
+ reads it.
14447
+
14448
+ **AS MERGED ON THEIR `main` — api #662, merge commit `25801c8d`,
14449
+ verified by ref 2026-08-28, not taken on report:**
14450
+
14451
+ - the read is **successor-preferred**: `capabilities_profile`
14452
+ when provided, `environment` only as a fallback for a sidecar
14453
+ predating the rename. `null` and `''` count as *not provided*
14454
+ and fall back; a **present-but-wrong-type successor does NOT
14455
+ fall back**, so a corrupt successor is never masked by the
14456
+ predecessor's value.
14457
+ - `DeprecatedEnvironmentKeyRemovalTriggerTest` fires on **four**
14458
+ conditions — this contract **stops declaring** `environment`,
14459
+ **loses `deprecated: true`**, **stops naming its successor**
14460
+ via `x-superseded-by`, or **`availability.json` stops carrying
14461
+ `environment`**. ⇒ **api goes red on the removal by itself**,
14462
+ whichever artefact moves first.
14463
+
14464
+ 🔴 **THE SIDECAR IS STILL A LEVER — ON THEIR BUILD, NOT ON THEIR
14465
+ WIRE, AND THE TWO NOW POINT OPPOSITE WAYS.** api emits
14466
+ `environment` as a **MIRROR of the resolved profile** rather than
14467
+ as an independent read of the sidecar, so dropping it from
14468
+ `availability.json` **no longer changes their wire output** — it
14469
+ used to. It does now turn their **CI test suite** red, via
14470
+ `testTheSidecarStillCarriesTheDeprecatedKeyItIsMirroredFrom`,
14471
+ proved by mutation rather than by reading.
14472
+ ⛔ **That is a PHPUnit alarm, NOT a build or deploy gate.** Their
14473
+ production image installs without dev dependencies and neither
14474
+ `ci-deploy.yml` nor `deploy-prod.yml` runs PHPUnit — `phpunit`
14475
+ appears in `ci.yml` alone (verified against their `origin/main`).
14476
+ ⇒ **An affected revision can BUILD AND DEPLOY, with the alarm
14477
+ arriving separately.** The control gives detection, not
14478
+ prevention, and the two must not be read as one.
14479
+ ⚠️ **Under expand → migrate → contract the sidecar half fires
14480
+ FIRST**, because the normal ordering drops the key there before
14481
+ retiring the declaration here. ⇒ **Retiring the key quietly via
14482
+ the sidecar ahead of this schema no longer half-works silently;
14483
+ it fails loudly**, which is the outcome to want.
14484
+ ⚠️ **That decoupling is the deliberate price of mirroring**, which
14485
+ is what stops the successor drifting from the field it
14486
+ supersedes; the four-condition control is what pays for it.
14487
+ Recorded here rather than discovered later.
14205
14488
 
14206
14489
  ⇒ **REMOVAL IS A CO-LAND, NOT A CUT.** Tell every reader listed
14207
14490
  here BEFORE the removal ships, and remove a name from this list
@@ -51,7 +51,7 @@
51
51
  "accepts": [
52
52
  "audio"
53
53
  ],
54
- "availability": "beta",
54
+ "availability": "stable",
55
55
  "input": {
56
56
  "max": 2,
57
57
  "min": 1,
@@ -638,7 +638,7 @@
638
638
  "accepts": [
639
639
  "video"
640
640
  ],
641
- "availability": "beta",
641
+ "availability": "stable",
642
642
  "input": {
643
643
  "max": 2,
644
644
  "min": 2,
@@ -732,5 +732,5 @@
732
732
  "isAnimated": "maybe"
733
733
  }
734
734
  },
735
- "schema_version": "2.198.0"
735
+ "schema_version": "2.201.0"
736
736
  }
@@ -2,7 +2,7 @@ schema_version: "2.0.0"
2
2
 
3
3
  operation:
4
4
  type: audio_to_video
5
- availability: beta
5
+ availability: stable
6
6
  description: |
7
7
  Produce a video from an audio input plus an OPTIONAL still image
8
8
  overlay. Use cases: podcast → YouTube uploads, audio-only tracks
@@ -2,7 +2,7 @@ schema_version: "2.0.0"
2
2
 
3
3
  operation:
4
4
  type: video_watermark
5
- availability: beta
5
+ availability: stable
6
6
  description: |
7
7
  Apply an image overlay onto a base video
8
8
  asset. Multi-input role-based:
@@ -62,7 +62,7 @@ operation:
62
62
  - video/webm
63
63
  processing_class:
64
64
  short_form:
65
- availability: beta
65
+ availability: stable
66
66
  constraints:
67
67
  max_input_duration: "PT5M"
68
68
  max_input_size_bytes: 524288000
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@giveitsmaller/contracts",
3
- "version": "0.68.0",
4
- "description": "Generated contract types for GISL (Give It Smaller). Generated from compression_contracts spec v2.198.0.",
5
- "gislContractsSpec": "v2.198.0",
3
+ "version": "0.70.0",
4
+ "description": "Generated contract types for GISL (Give It Smaller). Generated from compression_contracts spec v2.201.0.",
5
+ "gislContractsSpec": "v2.201.0",
6
6
  "license": "Apache-2.0",
7
7
  "homepage": "https://docs.giveitsmaller.com",
8
8
  "bugs": {