@giveitsmaller/contracts 0.80.0 → 0.82.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 (557) 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/anonymous-policy.yaml +41 -0
  5. package/availability/availability.json +211 -14
  6. package/code-builder/code-builder-metadata.json +209 -12
  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/AnonymousOperationNotAllowedResponse.d.ts +8 -6
  16. package/dist/openapi/models/AnonymousOperationNotAllowedResponse.js +1 -1
  17. package/dist/openapi/models/AnonymousQuotaExhaustedResponse.d.ts +1 -1
  18. package/dist/openapi/models/AnonymousQuotaExhaustedResponse.js +1 -1
  19. package/dist/openapi/models/AudioWatermarkDecodeRequest.d.ts +1 -1
  20. package/dist/openapi/models/AudioWatermarkDecodeRequest.js +1 -1
  21. package/dist/openapi/models/AudioWatermarkDecodeResponse.d.ts +1 -1
  22. package/dist/openapi/models/AudioWatermarkDecodeResponse.js +1 -1
  23. package/dist/openapi/models/AuthErrorResponse.d.ts +1 -1
  24. package/dist/openapi/models/AuthErrorResponse.js +1 -1
  25. package/dist/openapi/models/AuthErrorType.d.ts +1 -1
  26. package/dist/openapi/models/AuthErrorType.js +1 -1
  27. package/dist/openapi/models/AuthRejectionEnvelope.d.ts +1 -1
  28. package/dist/openapi/models/AuthRejectionEnvelope.js +1 -1
  29. package/dist/openapi/models/AuthenticatedIdentity.d.ts +1 -1
  30. package/dist/openapi/models/AuthenticatedIdentity.js +1 -1
  31. package/dist/openapi/models/AvailabilityValue.d.ts +1 -1
  32. package/dist/openapi/models/AvailabilityValue.js +1 -1
  33. package/dist/openapi/models/BalanceExhaustedResponse.d.ts +1 -1
  34. package/dist/openapi/models/BalanceExhaustedResponse.js +1 -1
  35. package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.d.ts +1 -1
  36. package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.js +1 -1
  37. package/dist/openapi/models/BillingCheckoutRequest.d.ts +1 -1
  38. package/dist/openapi/models/BillingCheckoutRequest.js +1 -1
  39. package/dist/openapi/models/BillingCheckoutSession.d.ts +1 -1
  40. package/dist/openapi/models/BillingCheckoutSession.js +1 -1
  41. package/dist/openapi/models/BillingCheckoutSuccessEnvelope.d.ts +1 -1
  42. package/dist/openapi/models/BillingCheckoutSuccessEnvelope.js +1 -1
  43. package/dist/openapi/models/CallbackEventType.d.ts +1 -1
  44. package/dist/openapi/models/CallbackEventType.js +1 -1
  45. package/dist/openapi/models/CancelAccountDeletion200Response.d.ts +1 -1
  46. package/dist/openapi/models/CancelAccountDeletion200Response.js +1 -1
  47. package/dist/openapi/models/CancelAccountDeletion200ResponseData.d.ts +1 -1
  48. package/dist/openapi/models/CancelAccountDeletion200ResponseData.js +1 -1
  49. package/dist/openapi/models/CapabilityCondition.d.ts +1 -1
  50. package/dist/openapi/models/CapabilityCondition.js +1 -1
  51. package/dist/openapi/models/CapabilityConditionOneOf.d.ts +1 -1
  52. package/dist/openapi/models/CapabilityConditionOneOf.js +1 -1
  53. package/dist/openapi/models/CapabilityConditionOneOf1.d.ts +1 -1
  54. package/dist/openapi/models/CapabilityConditionOneOf1.js +1 -1
  55. package/dist/openapi/models/CapabilityConditionOneOf2.d.ts +1 -1
  56. package/dist/openapi/models/CapabilityConditionOneOf2.js +1 -1
  57. package/dist/openapi/models/CapabilityConditionOneOf3.d.ts +1 -1
  58. package/dist/openapi/models/CapabilityConditionOneOf3.js +1 -1
  59. package/dist/openapi/models/CapabilityConditionOneOf4.d.ts +1 -1
  60. package/dist/openapi/models/CapabilityConditionOneOf4.js +1 -1
  61. package/dist/openapi/models/CapabilityConditionOneOf5.d.ts +1 -1
  62. package/dist/openapi/models/CapabilityConditionOneOf5.js +1 -1
  63. package/dist/openapi/models/CapabilityConditionOneOf6.d.ts +1 -1
  64. package/dist/openapi/models/CapabilityConditionOneOf6.js +1 -1
  65. package/dist/openapi/models/CapabilityConstraint.d.ts +1 -1
  66. package/dist/openapi/models/CapabilityConstraint.js +1 -1
  67. package/dist/openapi/models/CapabilityInputSpec.d.ts +1 -1
  68. package/dist/openapi/models/CapabilityInputSpec.js +1 -1
  69. package/dist/openapi/models/CapabilityProduces.d.ts +1 -1
  70. package/dist/openapi/models/CapabilityProduces.js +1 -1
  71. package/dist/openapi/models/CapabilityProducesOneOf.d.ts +1 -1
  72. package/dist/openapi/models/CapabilityProducesOneOf.js +1 -1
  73. package/dist/openapi/models/CapabilityProducesOneOf1.d.ts +1 -1
  74. package/dist/openapi/models/CapabilityProducesOneOf1.js +1 -1
  75. package/dist/openapi/models/CapabilityProducesOneOf2.d.ts +1 -1
  76. package/dist/openapi/models/CapabilityProducesOneOf2.js +1 -1
  77. package/dist/openapi/models/ChangePasswordRequest.d.ts +1 -1
  78. package/dist/openapi/models/ChangePasswordRequest.js +1 -1
  79. package/dist/openapi/models/CheckoutSessionStatusResponse.d.ts +1 -1
  80. package/dist/openapi/models/CheckoutSessionStatusResponse.js +1 -1
  81. package/dist/openapi/models/CheckoutSessionStatusResponseData.d.ts +1 -1
  82. package/dist/openapi/models/CheckoutSessionStatusResponseData.js +1 -1
  83. package/dist/openapi/models/CodegenSource.d.ts +1 -1
  84. package/dist/openapi/models/CodegenSource.js +1 -1
  85. package/dist/openapi/models/CodegenSourceInput.d.ts +1 -1
  86. package/dist/openapi/models/CodegenSourceInput.js +1 -1
  87. package/dist/openapi/models/CodegenSourceJob.d.ts +1 -1
  88. package/dist/openapi/models/CodegenSourceJob.js +1 -1
  89. package/dist/openapi/models/CodegenSourceJobSource.d.ts +1 -1
  90. package/dist/openapi/models/CodegenSourceJobSource.js +1 -1
  91. package/dist/openapi/models/CodegenSourceOperation.d.ts +1 -1
  92. package/dist/openapi/models/CodegenSourceOperation.js +1 -1
  93. package/dist/openapi/models/CodegenUploadPlaceholder.d.ts +1 -1
  94. package/dist/openapi/models/CodegenUploadPlaceholder.js +1 -1
  95. package/dist/openapi/models/CompositionPlan.d.ts +1 -1
  96. package/dist/openapi/models/CompositionPlan.js +1 -1
  97. package/dist/openapi/models/CompositionPlanJob.d.ts +1 -1
  98. package/dist/openapi/models/CompositionPlanJob.js +1 -1
  99. package/dist/openapi/models/CompositionPlanOperation.d.ts +1 -1
  100. package/dist/openapi/models/CompositionPlanOperation.js +1 -1
  101. package/dist/openapi/models/ConfirmEmailChange200Response.d.ts +1 -1
  102. package/dist/openapi/models/ConfirmEmailChange200Response.js +1 -1
  103. package/dist/openapi/models/ConfirmEmailChange200ResponseData.d.ts +1 -1
  104. package/dist/openapi/models/ConfirmEmailChange200ResponseData.js +1 -1
  105. package/dist/openapi/models/ConfirmEmailChangeRequest.d.ts +1 -1
  106. package/dist/openapi/models/ConfirmEmailChangeRequest.js +1 -1
  107. package/dist/openapi/models/ConnectionSource.d.ts +1 -1
  108. package/dist/openapi/models/ConnectionSource.js +1 -1
  109. package/dist/openapi/models/ContactRequest.d.ts +1 -1
  110. package/dist/openapi/models/ContactRequest.js +1 -1
  111. package/dist/openapi/models/ContactSubject.d.ts +1 -1
  112. package/dist/openapi/models/ContactSubject.js +1 -1
  113. package/dist/openapi/models/ContactValidationErrorResponse.d.ts +1 -1
  114. package/dist/openapi/models/ContactValidationErrorResponse.js +1 -1
  115. package/dist/openapi/models/CreateApiKey201Response.d.ts +1 -1
  116. package/dist/openapi/models/CreateApiKey201Response.js +1 -1
  117. package/dist/openapi/models/CreateApiKey201ResponseData.d.ts +1 -1
  118. package/dist/openapi/models/CreateApiKey201ResponseData.js +1 -1
  119. package/dist/openapi/models/CreateApiKeyRequest.d.ts +1 -1
  120. package/dist/openapi/models/CreateApiKeyRequest.js +1 -1
  121. package/dist/openapi/models/CreateBillingCheckoutSession422Response.d.ts +1 -1
  122. package/dist/openapi/models/CreateBillingCheckoutSession422Response.js +1 -1
  123. package/dist/openapi/models/CreateExternalImport403Response.d.ts +1 -1
  124. package/dist/openapi/models/CreateExternalImport403Response.js +1 -1
  125. package/dist/openapi/models/CreateExternalImport422Response.d.ts +1 -1
  126. package/dist/openapi/models/CreateExternalImport422Response.js +1 -1
  127. package/dist/openapi/models/CreateWorkflow401Response.d.ts +1 -1
  128. package/dist/openapi/models/CreateWorkflow401Response.js +1 -1
  129. package/dist/openapi/models/CreateWorkflow403Response.d.ts +1 -1
  130. package/dist/openapi/models/CreateWorkflow403Response.js +1 -1
  131. package/dist/openapi/models/CreateWorkflow422Response.d.ts +1 -1
  132. package/dist/openapi/models/CreateWorkflow422Response.js +1 -1
  133. package/dist/openapi/models/CreditTransaction.d.ts +1 -1
  134. package/dist/openapi/models/CreditTransaction.js +1 -1
  135. package/dist/openapi/models/CreditTransactionSourceBucket.d.ts +1 -1
  136. package/dist/openapi/models/CreditTransactionSourceBucket.js +1 -1
  137. package/dist/openapi/models/CreditsBalanceResponse.d.ts +1 -1
  138. package/dist/openapi/models/CreditsBalanceResponse.js +1 -1
  139. package/dist/openapi/models/CreditsBalanceSuccessEnvelope.d.ts +1 -1
  140. package/dist/openapi/models/CreditsBalanceSuccessEnvelope.js +1 -1
  141. package/dist/openapi/models/CreditsUsageResponse.d.ts +1 -1
  142. package/dist/openapi/models/CreditsUsageResponse.js +1 -1
  143. package/dist/openapi/models/CreditsUsageSuccessEnvelope.d.ts +1 -1
  144. package/dist/openapi/models/CreditsUsageSuccessEnvelope.js +1 -1
  145. package/dist/openapi/models/Delivery.d.ts +1 -1
  146. package/dist/openapi/models/Delivery.js +1 -1
  147. package/dist/openapi/models/DeliveryOutputRef.d.ts +1 -1
  148. package/dist/openapi/models/DeliveryOutputRef.js +1 -1
  149. package/dist/openapi/models/DeliveryPlan.d.ts +1 -1
  150. package/dist/openapi/models/DeliveryPlan.js +1 -1
  151. package/dist/openapi/models/DeliveryPlanOutput.d.ts +1 -1
  152. package/dist/openapi/models/DeliveryPlanOutput.js +1 -1
  153. package/dist/openapi/models/DeliveryPlanReason.d.ts +1 -1
  154. package/dist/openapi/models/DeliveryPlanReason.js +1 -1
  155. package/dist/openapi/models/DeliverySelection.d.ts +1 -1
  156. package/dist/openapi/models/DeliverySelection.js +1 -1
  157. package/dist/openapi/models/DownloadBundle.d.ts +1 -1
  158. package/dist/openapi/models/DownloadBundle.js +1 -1
  159. package/dist/openapi/models/DroppedOption.d.ts +1 -1
  160. package/dist/openapi/models/DroppedOption.js +1 -1
  161. package/dist/openapi/models/EmailNotify.d.ts +1 -1
  162. package/dist/openapi/models/EmailNotify.js +1 -1
  163. package/dist/openapi/models/EmptySuccessEnvelope.d.ts +1 -1
  164. package/dist/openapi/models/EmptySuccessEnvelope.js +1 -1
  165. package/dist/openapi/models/EndpointProjection.d.ts +1 -1
  166. package/dist/openapi/models/EndpointProjection.js +1 -1
  167. package/dist/openapi/models/EndpointProjectionServersInner.d.ts +1 -1
  168. package/dist/openapi/models/EndpointProjectionServersInner.js +1 -1
  169. package/dist/openapi/models/ErrorEnvelope.d.ts +1 -1
  170. package/dist/openapi/models/ErrorEnvelope.js +1 -1
  171. package/dist/openapi/models/EstimateQuality.d.ts +1 -1
  172. package/dist/openapi/models/EstimateQuality.js +1 -1
  173. package/dist/openapi/models/EstimateRange.d.ts +1 -1
  174. package/dist/openapi/models/EstimateRange.js +1 -1
  175. package/dist/openapi/models/ExportAccountData200Response.d.ts +1 -1
  176. package/dist/openapi/models/ExportAccountData200Response.js +1 -1
  177. package/dist/openapi/models/ExportAccountData200ResponseData.d.ts +1 -1
  178. package/dist/openapi/models/ExportAccountData200ResponseData.js +1 -1
  179. package/dist/openapi/models/ExportAccountData200ResponseDataBilling.d.ts +1 -1
  180. package/dist/openapi/models/ExportAccountData200ResponseDataBilling.js +1 -1
  181. package/dist/openapi/models/ExportAccountData200ResponseDataBillingCheckoutSessionsInner.d.ts +1 -1
  182. package/dist/openapi/models/ExportAccountData200ResponseDataBillingCheckoutSessionsInner.js +1 -1
  183. package/dist/openapi/models/ExternalDestination.d.ts +1 -1
  184. package/dist/openapi/models/ExternalDestination.js +1 -1
  185. package/dist/openapi/models/ExternalImportCreatedResponse.d.ts +1 -1
  186. package/dist/openapi/models/ExternalImportCreatedResponse.js +1 -1
  187. package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.d.ts +1 -1
  188. package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.js +1 -1
  189. package/dist/openapi/models/ExternalImportRequest.d.ts +1 -1
  190. package/dist/openapi/models/ExternalImportRequest.js +1 -1
  191. package/dist/openapi/models/ExternalImportToken.d.ts +1 -1
  192. package/dist/openapi/models/ExternalImportToken.js +1 -1
  193. package/dist/openapi/models/ExternalSource.d.ts +1 -1
  194. package/dist/openapi/models/ExternalSource.js +1 -1
  195. package/dist/openapi/models/FeatureNotAvailableResponse.d.ts +1 -1
  196. package/dist/openapi/models/FeatureNotAvailableResponse.js +1 -1
  197. package/dist/openapi/models/FeatureTierRestrictedResponse.d.ts +1 -1
  198. package/dist/openapi/models/FeatureTierRestrictedResponse.js +1 -1
  199. package/dist/openapi/models/FeatureViolation.d.ts +1 -1
  200. package/dist/openapi/models/FeatureViolation.js +1 -1
  201. package/dist/openapi/models/GetProfile200Response.d.ts +1 -1
  202. package/dist/openapi/models/GetProfile200Response.js +1 -1
  203. package/dist/openapi/models/GetProfile200ResponseData.d.ts +1 -1
  204. package/dist/openapi/models/GetProfile200ResponseData.js +1 -1
  205. package/dist/openapi/models/ImageEncodeCapabilities.d.ts +1 -1
  206. package/dist/openapi/models/ImageEncodeCapabilities.js +1 -1
  207. package/dist/openapi/models/JobDefinition.d.ts +1 -1
  208. package/dist/openapi/models/JobDefinition.js +1 -1
  209. package/dist/openapi/models/JobDownload.d.ts +1 -1
  210. package/dist/openapi/models/JobDownload.js +1 -1
  211. package/dist/openapi/models/JobInputV2.d.ts +1 -1
  212. package/dist/openapi/models/JobInputV2.js +1 -1
  213. package/dist/openapi/models/JobMediaClass.d.ts +1 -1
  214. package/dist/openapi/models/JobMediaClass.js +1 -1
  215. package/dist/openapi/models/JobOutputSource.d.ts +1 -1
  216. package/dist/openapi/models/JobOutputSource.js +1 -1
  217. package/dist/openapi/models/JobResponse.d.ts +1 -1
  218. package/dist/openapi/models/JobResponse.js +1 -1
  219. package/dist/openapi/models/JobStatus.d.ts +1 -1
  220. package/dist/openapi/models/JobStatus.js +1 -1
  221. package/dist/openapi/models/JobType.d.ts +1 -1
  222. package/dist/openapi/models/JobType.js +1 -1
  223. package/dist/openapi/models/LivenessResponse.d.ts +1 -1
  224. package/dist/openapi/models/LivenessResponse.js +1 -1
  225. package/dist/openapi/models/LoginUser200Response.d.ts +1 -1
  226. package/dist/openapi/models/LoginUser200Response.js +1 -1
  227. package/dist/openapi/models/LoginUser200ResponseData.d.ts +1 -1
  228. package/dist/openapi/models/LoginUser200ResponseData.js +1 -1
  229. package/dist/openapi/models/LoginUser200ResponseDataUser.d.ts +1 -1
  230. package/dist/openapi/models/LoginUser200ResponseDataUser.js +1 -1
  231. package/dist/openapi/models/LoginUser401Response.d.ts +1 -1
  232. package/dist/openapi/models/LoginUser401Response.js +1 -1
  233. package/dist/openapi/models/LoginUserRequest.d.ts +1 -1
  234. package/dist/openapi/models/LoginUserRequest.js +1 -1
  235. package/dist/openapi/models/LongFormConcurrencyLimitResponse.d.ts +1 -1
  236. package/dist/openapi/models/LongFormConcurrencyLimitResponse.js +1 -1
  237. package/dist/openapi/models/LongFormConcurrencyLimitResponseAllOfLinks.d.ts +1 -1
  238. package/dist/openapi/models/LongFormConcurrencyLimitResponseAllOfLinks.js +1 -1
  239. package/dist/openapi/models/MetadataResponse.d.ts +1 -1
  240. package/dist/openapi/models/MetadataResponse.js +1 -1
  241. package/dist/openapi/models/MetadataResponseDimensions.d.ts +1 -1
  242. package/dist/openapi/models/MetadataResponseDimensions.js +1 -1
  243. package/dist/openapi/models/MetadataResponseExif.d.ts +1 -1
  244. package/dist/openapi/models/MetadataResponseExif.js +1 -1
  245. package/dist/openapi/models/MetadataResponseExifGps.d.ts +1 -1
  246. package/dist/openapi/models/MetadataResponseExifGps.js +1 -1
  247. package/dist/openapi/models/MetadataSuccessEnvelope.d.ts +1 -1
  248. package/dist/openapi/models/MetadataSuccessEnvelope.js +1 -1
  249. package/dist/openapi/models/MimeGroupSchema.d.ts +69 -1
  250. package/dist/openapi/models/MimeGroupSchema.js +12 -1
  251. package/dist/openapi/models/MultiInputSource.d.ts +1 -1
  252. package/dist/openapi/models/MultiInputSource.js +1 -1
  253. package/dist/openapi/models/MultipartCompleteRequest.d.ts +1 -1
  254. package/dist/openapi/models/MultipartCompleteRequest.js +1 -1
  255. package/dist/openapi/models/MultipartCompleteRequestPartsInner.d.ts +1 -1
  256. package/dist/openapi/models/MultipartCompleteRequestPartsInner.js +1 -1
  257. package/dist/openapi/models/MultipartCompleteResponse.d.ts +1 -1
  258. package/dist/openapi/models/MultipartCompleteResponse.js +1 -1
  259. package/dist/openapi/models/MultipartCompleteSuccessEnvelope.d.ts +1 -1
  260. package/dist/openapi/models/MultipartCompleteSuccessEnvelope.js +1 -1
  261. package/dist/openapi/models/MultipartInitiateRequestMetadataHint.d.ts +1 -1
  262. package/dist/openapi/models/MultipartInitiateRequestMetadataHint.js +1 -1
  263. package/dist/openapi/models/MultipartInitiateResponse.d.ts +1 -1
  264. package/dist/openapi/models/MultipartInitiateResponse.js +1 -1
  265. package/dist/openapi/models/MultipartInitiateSuccessEnvelope.d.ts +1 -1
  266. package/dist/openapi/models/MultipartInitiateSuccessEnvelope.js +1 -1
  267. package/dist/openapi/models/MultipartKeepaliveResponse.d.ts +1 -1
  268. package/dist/openapi/models/MultipartKeepaliveResponse.js +1 -1
  269. package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.d.ts +1 -1
  270. package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.js +1 -1
  271. package/dist/openapi/models/MultipartPartListing.d.ts +1 -1
  272. package/dist/openapi/models/MultipartPartListing.js +1 -1
  273. package/dist/openapi/models/MultipartPresignRequest.d.ts +1 -1
  274. package/dist/openapi/models/MultipartPresignRequest.js +1 -1
  275. package/dist/openapi/models/MultipartPresignResponse.d.ts +1 -1
  276. package/dist/openapi/models/MultipartPresignResponse.js +1 -1
  277. package/dist/openapi/models/MultipartPresignSuccessEnvelope.d.ts +1 -1
  278. package/dist/openapi/models/MultipartPresignSuccessEnvelope.js +1 -1
  279. package/dist/openapi/models/MultipartStatusResponse.d.ts +1 -1
  280. package/dist/openapi/models/MultipartStatusResponse.js +1 -1
  281. package/dist/openapi/models/MultipartStatusSuccessEnvelope.d.ts +1 -1
  282. package/dist/openapi/models/MultipartStatusSuccessEnvelope.js +1 -1
  283. package/dist/openapi/models/NotifyConfig.d.ts +1 -1
  284. package/dist/openapi/models/NotifyConfig.js +1 -1
  285. package/dist/openapi/models/OperationCapability.d.ts +1 -1
  286. package/dist/openapi/models/OperationCapability.js +1 -1
  287. package/dist/openapi/models/OperationDefinition.d.ts +1 -1
  288. package/dist/openapi/models/OperationDefinition.js +1 -1
  289. package/dist/openapi/models/OperationDownload.d.ts +1 -1
  290. package/dist/openapi/models/OperationDownload.js +1 -1
  291. package/dist/openapi/models/OperationInputModel.d.ts +1 -1
  292. package/dist/openapi/models/OperationInputModel.js +1 -1
  293. package/dist/openapi/models/OperationMessageParamsValue.d.ts +1 -1
  294. package/dist/openapi/models/OperationMessageParamsValue.js +1 -1
  295. package/dist/openapi/models/OperationResponse.d.ts +1 -1
  296. package/dist/openapi/models/OperationResponse.js +1 -1
  297. package/dist/openapi/models/OperationResult.d.ts +1 -1
  298. package/dist/openapi/models/OperationResult.js +1 -1
  299. package/dist/openapi/models/OperationResultMetadata.d.ts +1 -1
  300. package/dist/openapi/models/OperationResultMetadata.js +1 -1
  301. package/dist/openapi/models/OperationResultMetrics.d.ts +1 -1
  302. package/dist/openapi/models/OperationResultMetrics.js +1 -1
  303. package/dist/openapi/models/OperationSchemaDefinition.d.ts +1 -1
  304. package/dist/openapi/models/OperationSchemaDefinition.js +1 -1
  305. package/dist/openapi/models/OperationStatus.d.ts +1 -1
  306. package/dist/openapi/models/OperationStatus.js +1 -1
  307. package/dist/openapi/models/OperationType.d.ts +1 -1
  308. package/dist/openapi/models/OperationType.js +1 -1
  309. package/dist/openapi/models/OperationsSchemaResponse.d.ts +1 -1
  310. package/dist/openapi/models/OperationsSchemaResponse.js +1 -1
  311. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.d.ts +1 -1
  312. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.js +1 -1
  313. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.d.ts +1 -1
  314. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.js +1 -1
  315. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.d.ts +1 -1
  316. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.js +1 -1
  317. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.d.ts +1 -1
  318. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.js +1 -1
  319. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesProcessing.d.ts +1 -1
  320. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesProcessing.js +1 -1
  321. package/dist/openapi/models/OptionSchema.d.ts +1 -1
  322. package/dist/openapi/models/OptionSchema.js +1 -1
  323. package/dist/openapi/models/OutputProperties.d.ts +1 -1
  324. package/dist/openapi/models/OutputProperties.js +1 -1
  325. package/dist/openapi/models/OutputPropertiesIsAnimated.d.ts +1 -1
  326. package/dist/openapi/models/OutputPropertiesIsAnimated.js +1 -1
  327. package/dist/openapi/models/PerClassAvailabilityEntry.d.ts +1 -1
  328. package/dist/openapi/models/PerClassAvailabilityEntry.js +1 -1
  329. package/dist/openapi/models/PerRoleCardinalityEntry.d.ts +1 -1
  330. package/dist/openapi/models/PerRoleCardinalityEntry.js +1 -1
  331. package/dist/openapi/models/PerValueAvailabilityEntry.d.ts +1 -1
  332. package/dist/openapi/models/PerValueAvailabilityEntry.js +1 -1
  333. package/dist/openapi/models/PresignedUrlPart.d.ts +1 -1
  334. package/dist/openapi/models/PresignedUrlPart.js +1 -1
  335. package/dist/openapi/models/ProbePendingResponse.d.ts +1 -1
  336. package/dist/openapi/models/ProbePendingResponse.js +1 -1
  337. package/dist/openapi/models/ProcessingClass.d.ts +1 -1
  338. package/dist/openapi/models/ProcessingClass.js +1 -1
  339. package/dist/openapi/models/ProcessingClassBandViolation.d.ts +1 -1
  340. package/dist/openapi/models/ProcessingClassBandViolation.js +1 -1
  341. package/dist/openapi/models/ProcessingClassConstraints.d.ts +1 -1
  342. package/dist/openapi/models/ProcessingClassConstraints.js +1 -1
  343. package/dist/openapi/models/ProcessingClassEntry.d.ts +32 -1
  344. package/dist/openapi/models/ProcessingClassEntry.js +10 -1
  345. package/dist/openapi/models/ProcessingClassEntryInputUniformity.d.ts +1 -1
  346. package/dist/openapi/models/ProcessingClassEntryInputUniformity.js +1 -1
  347. package/dist/openapi/models/ProcessingClassEntryResolutionBands.d.ts +1 -1
  348. package/dist/openapi/models/ProcessingClassEntryResolutionBands.js +1 -1
  349. package/dist/openapi/models/ProcessingClassExceedsBandResponse.d.ts +1 -1
  350. package/dist/openapi/models/ProcessingClassExceedsBandResponse.js +1 -1
  351. package/dist/openapi/models/ProcessingClassHint.d.ts +1 -1
  352. package/dist/openapi/models/ProcessingClassHint.js +1 -1
  353. package/dist/openapi/models/ProcessingClassReason.d.ts +1 -1
  354. package/dist/openapi/models/ProcessingClassReason.js +1 -1
  355. package/dist/openapi/models/ProcessingClassRejectReason.d.ts +1 -1
  356. package/dist/openapi/models/ProcessingClassRejectReason.js +1 -1
  357. package/dist/openapi/models/ProcessingPlan.d.ts +1 -1
  358. package/dist/openapi/models/ProcessingPlan.js +1 -1
  359. package/dist/openapi/models/ProcessingPlanJob.d.ts +1 -1
  360. package/dist/openapi/models/ProcessingPlanJob.js +1 -1
  361. package/dist/openapi/models/ReEncodeDecision.d.ts +1 -1
  362. package/dist/openapi/models/ReEncodeDecision.js +1 -1
  363. package/dist/openapi/models/ReadinessResponse.d.ts +1 -1
  364. package/dist/openapi/models/ReadinessResponse.js +1 -1
  365. package/dist/openapi/models/RegisterUser422Response.d.ts +1 -1
  366. package/dist/openapi/models/RegisterUser422Response.js +1 -1
  367. package/dist/openapi/models/RegisterUserRequest.d.ts +1 -1
  368. package/dist/openapi/models/RegisterUserRequest.js +1 -1
  369. package/dist/openapi/models/RequestAccountDeletion200Response.d.ts +1 -1
  370. package/dist/openapi/models/RequestAccountDeletion200Response.js +1 -1
  371. package/dist/openapi/models/RequestAccountDeletion200ResponseData.d.ts +1 -1
  372. package/dist/openapi/models/RequestAccountDeletion200ResponseData.js +1 -1
  373. package/dist/openapi/models/RequestAccountDeletionRequest.d.ts +1 -1
  374. package/dist/openapi/models/RequestAccountDeletionRequest.js +1 -1
  375. package/dist/openapi/models/ResendVerificationEmailRequest.d.ts +1 -1
  376. package/dist/openapi/models/ResendVerificationEmailRequest.js +1 -1
  377. package/dist/openapi/models/ResetPasswordRequest.d.ts +1 -1
  378. package/dist/openapi/models/ResetPasswordRequest.js +1 -1
  379. package/dist/openapi/models/ResolutionBand.d.ts +1 -1
  380. package/dist/openapi/models/ResolutionBand.js +1 -1
  381. package/dist/openapi/models/ResolutionBandCeiling.d.ts +14 -1
  382. package/dist/openapi/models/ResolutionBandCeiling.js +4 -1
  383. package/dist/openapi/models/ResolutionBandCeilingConstraints.d.ts +1 -1
  384. package/dist/openapi/models/ResolutionBandCeilingConstraints.js +1 -1
  385. package/dist/openapi/models/ResolutionBandCeilingDerivation.d.ts +1 -1
  386. package/dist/openapi/models/ResolutionBandCeilingDerivation.js +1 -1
  387. package/dist/openapi/models/ResponseEnvelope.d.ts +1 -1
  388. package/dist/openapi/models/ResponseEnvelope.js +1 -1
  389. package/dist/openapi/models/RetryResponse.d.ts +1 -1
  390. package/dist/openapi/models/RetryResponse.js +1 -1
  391. package/dist/openapi/models/RetrySuccessEnvelope.d.ts +1 -1
  392. package/dist/openapi/models/RetrySuccessEnvelope.js +1 -1
  393. package/dist/openapi/models/SseCompletionBase.d.ts +1 -1
  394. package/dist/openapi/models/SseCompletionBase.js +1 -1
  395. package/dist/openapi/models/SseConnectionLimitResponse.d.ts +1 -1
  396. package/dist/openapi/models/SseConnectionLimitResponse.js +1 -1
  397. package/dist/openapi/models/SseEventType.d.ts +1 -1
  398. package/dist/openapi/models/SseEventType.js +1 -1
  399. package/dist/openapi/models/SseJobCompletedData.d.ts +1 -1
  400. package/dist/openapi/models/SseJobCompletedData.js +1 -1
  401. package/dist/openapi/models/SseJobFailedData.d.ts +1 -1
  402. package/dist/openapi/models/SseJobFailedData.js +1 -1
  403. package/dist/openapi/models/SseMultiOutputCompletion.d.ts +1 -1
  404. package/dist/openapi/models/SseMultiOutputCompletion.js +1 -1
  405. package/dist/openapi/models/SseMultiOutputCompletionMetrics.d.ts +1 -1
  406. package/dist/openapi/models/SseMultiOutputCompletionMetrics.js +1 -1
  407. package/dist/openapi/models/SseMultiOutputCompletionWithKind.d.ts +1 -1
  408. package/dist/openapi/models/SseMultiOutputCompletionWithKind.js +1 -1
  409. package/dist/openapi/models/SseMultiOutputResultEntry.d.ts +1 -1
  410. package/dist/openapi/models/SseMultiOutputResultEntry.js +1 -1
  411. package/dist/openapi/models/SseOperationCompletedData.d.ts +1 -1
  412. package/dist/openapi/models/SseOperationCompletedData.js +1 -1
  413. package/dist/openapi/models/SseOperationCompletionResult.d.ts +1 -1
  414. package/dist/openapi/models/SseOperationCompletionResult.js +1 -1
  415. package/dist/openapi/models/SseOperationFailedData.d.ts +1 -1
  416. package/dist/openapi/models/SseOperationFailedData.js +1 -1
  417. package/dist/openapi/models/SseOperationProgressData.d.ts +1 -1
  418. package/dist/openapi/models/SseOperationProgressData.js +1 -1
  419. package/dist/openapi/models/SseSingleOutputCompletion.d.ts +1 -1
  420. package/dist/openapi/models/SseSingleOutputCompletion.js +1 -1
  421. package/dist/openapi/models/SseWorkflowTerminalData.d.ts +1 -1
  422. package/dist/openapi/models/SseWorkflowTerminalData.js +1 -1
  423. package/dist/openapi/models/TierRestrictionKind.d.ts +1 -1
  424. package/dist/openapi/models/TierRestrictionKind.js +1 -1
  425. package/dist/openapi/models/TierRestrictionResponse.d.ts +1 -1
  426. package/dist/openapi/models/TierRestrictionResponse.js +1 -1
  427. package/dist/openapi/models/UpdateProfile200Response.d.ts +1 -1
  428. package/dist/openapi/models/UpdateProfile200Response.js +1 -1
  429. package/dist/openapi/models/UpdateProfile200ResponseData.d.ts +1 -1
  430. package/dist/openapi/models/UpdateProfile200ResponseData.js +1 -1
  431. package/dist/openapi/models/UpdateProfile422Response.d.ts +1 -1
  432. package/dist/openapi/models/UpdateProfile422Response.js +1 -1
  433. package/dist/openapi/models/UpdateProfileRequest.d.ts +1 -1
  434. package/dist/openapi/models/UpdateProfileRequest.js +1 -1
  435. package/dist/openapi/models/UploadConstraintsApplied.d.ts +1 -1
  436. package/dist/openapi/models/UploadConstraintsApplied.js +1 -1
  437. package/dist/openapi/models/UploadDurationExceedsTierResponse.d.ts +1 -1
  438. package/dist/openapi/models/UploadDurationExceedsTierResponse.js +1 -1
  439. package/dist/openapi/models/UploadFile403Response.d.ts +1 -1
  440. package/dist/openapi/models/UploadFile403Response.js +1 -1
  441. package/dist/openapi/models/UploadFile422Response.d.ts +1 -1
  442. package/dist/openapi/models/UploadFile422Response.js +1 -1
  443. package/dist/openapi/models/UploadProbeMediaMetadata.d.ts +1 -1
  444. package/dist/openapi/models/UploadProbeMediaMetadata.js +1 -1
  445. package/dist/openapi/models/UploadProbeProcessingClass.d.ts +1 -1
  446. package/dist/openapi/models/UploadProbeProcessingClass.js +1 -1
  447. package/dist/openapi/models/UploadProbeResponse.d.ts +1 -1
  448. package/dist/openapi/models/UploadProbeResponse.js +1 -1
  449. package/dist/openapi/models/UploadProbeStatus.d.ts +1 -1
  450. package/dist/openapi/models/UploadProbeStatus.js +1 -1
  451. package/dist/openapi/models/UploadProbeSuccessEnvelope.d.ts +1 -1
  452. package/dist/openapi/models/UploadProbeSuccessEnvelope.js +1 -1
  453. package/dist/openapi/models/UploadResponse.d.ts +1 -1
  454. package/dist/openapi/models/UploadResponse.js +1 -1
  455. package/dist/openapi/models/UploadSizeExceedsTierResponse.d.ts +1 -1
  456. package/dist/openapi/models/UploadSizeExceedsTierResponse.js +1 -1
  457. package/dist/openapi/models/UploadSource.d.ts +1 -1
  458. package/dist/openapi/models/UploadSource.js +1 -1
  459. package/dist/openapi/models/UploadSuccessEnvelope.d.ts +1 -1
  460. package/dist/openapi/models/UploadSuccessEnvelope.js +1 -1
  461. package/dist/openapi/models/UploadThresholds.d.ts +1 -1
  462. package/dist/openapi/models/UploadThresholds.js +1 -1
  463. package/dist/openapi/models/UserTier.d.ts +1 -1
  464. package/dist/openapi/models/UserTier.js +1 -1
  465. package/dist/openapi/models/ValidationErrorEnvelope.d.ts +1 -1
  466. package/dist/openapi/models/ValidationErrorEnvelope.js +1 -1
  467. package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.d.ts +1 -1
  468. package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.js +1 -1
  469. package/dist/openapi/models/VerifyEmailRequest.d.ts +1 -1
  470. package/dist/openapi/models/VerifyEmailRequest.js +1 -1
  471. package/dist/openapi/models/WarningType.d.ts +1 -1
  472. package/dist/openapi/models/WarningType.js +1 -1
  473. package/dist/openapi/models/WebhookOperationContext.d.ts +1 -1
  474. package/dist/openapi/models/WebhookOperationContext.js +1 -1
  475. package/dist/openapi/models/WebhookPayload.d.ts +1 -1
  476. package/dist/openapi/models/WebhookPayload.js +1 -1
  477. package/dist/openapi/models/WorkflowArchiveResponse.d.ts +1 -1
  478. package/dist/openapi/models/WorkflowArchiveResponse.js +1 -1
  479. package/dist/openapi/models/WorkflowArchiveSuccessEnvelope.d.ts +1 -1
  480. package/dist/openapi/models/WorkflowArchiveSuccessEnvelope.js +1 -1
  481. package/dist/openapi/models/WorkflowCancelBillingEffect.d.ts +1 -1
  482. package/dist/openapi/models/WorkflowCancelBillingEffect.js +1 -1
  483. package/dist/openapi/models/WorkflowCancelResponse.d.ts +1 -1
  484. package/dist/openapi/models/WorkflowCancelResponse.js +1 -1
  485. package/dist/openapi/models/WorkflowCancelSuccessEnvelope.d.ts +1 -1
  486. package/dist/openapi/models/WorkflowCancelSuccessEnvelope.js +1 -1
  487. package/dist/openapi/models/WorkflowCreateRequest.d.ts +1 -1
  488. package/dist/openapi/models/WorkflowCreateRequest.js +1 -1
  489. package/dist/openapi/models/WorkflowCreateResponse.d.ts +1 -1
  490. package/dist/openapi/models/WorkflowCreateResponse.js +1 -1
  491. package/dist/openapi/models/WorkflowCreateSuccessEnvelope.d.ts +1 -1
  492. package/dist/openapi/models/WorkflowCreateSuccessEnvelope.js +1 -1
  493. package/dist/openapi/models/WorkflowCreditSummary.d.ts +1 -1
  494. package/dist/openapi/models/WorkflowCreditSummary.js +1 -1
  495. package/dist/openapi/models/WorkflowDownloadResponse.d.ts +1 -1
  496. package/dist/openapi/models/WorkflowDownloadResponse.js +1 -1
  497. package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.d.ts +1 -1
  498. package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.js +1 -1
  499. package/dist/openapi/models/WorkflowEdge.d.ts +1 -1
  500. package/dist/openapi/models/WorkflowEdge.js +1 -1
  501. package/dist/openapi/models/WorkflowExpiredResponse.d.ts +1 -1
  502. package/dist/openapi/models/WorkflowExpiredResponse.js +1 -1
  503. package/dist/openapi/models/WorkflowListResponse.d.ts +1 -1
  504. package/dist/openapi/models/WorkflowListResponse.js +1 -1
  505. package/dist/openapi/models/WorkflowListSuccessEnvelope.d.ts +1 -1
  506. package/dist/openapi/models/WorkflowListSuccessEnvelope.js +1 -1
  507. package/dist/openapi/models/WorkflowPauseRequiredAction.d.ts +1 -1
  508. package/dist/openapi/models/WorkflowPauseRequiredAction.js +1 -1
  509. package/dist/openapi/models/WorkflowPausedDetail.d.ts +1 -1
  510. package/dist/openapi/models/WorkflowPausedDetail.js +1 -1
  511. package/dist/openapi/models/WorkflowPausedDetailLinks.d.ts +1 -1
  512. package/dist/openapi/models/WorkflowPausedDetailLinks.js +1 -1
  513. package/dist/openapi/models/WorkflowProcessing.d.ts +1 -1
  514. package/dist/openapi/models/WorkflowProcessing.js +1 -1
  515. package/dist/openapi/models/WorkflowRestoreResponse.d.ts +1 -1
  516. package/dist/openapi/models/WorkflowRestoreResponse.js +1 -1
  517. package/dist/openapi/models/WorkflowRestoreSuccessEnvelope.d.ts +1 -1
  518. package/dist/openapi/models/WorkflowRestoreSuccessEnvelope.js +1 -1
  519. package/dist/openapi/models/WorkflowResumeResponse.d.ts +1 -1
  520. package/dist/openapi/models/WorkflowResumeResponse.js +1 -1
  521. package/dist/openapi/models/WorkflowResumeSuccessEnvelope.d.ts +1 -1
  522. package/dist/openapi/models/WorkflowResumeSuccessEnvelope.js +1 -1
  523. package/dist/openapi/models/WorkflowSource.d.ts +1 -1
  524. package/dist/openapi/models/WorkflowSource.js +1 -1
  525. package/dist/openapi/models/WorkflowStatus.d.ts +1 -1
  526. package/dist/openapi/models/WorkflowStatus.js +1 -1
  527. package/dist/openapi/models/WorkflowStatusResponse.d.ts +1 -1
  528. package/dist/openapi/models/WorkflowStatusResponse.js +1 -1
  529. package/dist/openapi/models/WorkflowStatusSuccessEnvelope.d.ts +1 -1
  530. package/dist/openapi/models/WorkflowStatusSuccessEnvelope.js +1 -1
  531. package/dist/openapi/models/WorkflowSummary.d.ts +1 -1
  532. package/dist/openapi/models/WorkflowSummary.js +1 -1
  533. package/dist/openapi/models/WorkflowSummaryJob.d.ts +1 -1
  534. package/dist/openapi/models/WorkflowSummaryJob.js +1 -1
  535. package/dist/openapi/models/WorkflowWarning.d.ts +1 -1
  536. package/dist/openapi/models/WorkflowWarning.js +1 -1
  537. package/dist/openapi/models/WorkflowWarningSeverity.d.ts +1 -1
  538. package/dist/openapi/models/WorkflowWarningSeverity.js +1 -1
  539. package/dist/openapi/runtime.d.ts +1 -1
  540. package/dist/openapi/runtime.js +1 -1
  541. package/dist/operations/merge.metadata.js +1 -1
  542. package/dist/operations/thumbnail.metadata.js +2 -2
  543. package/openapi/api.yaml +139 -25
  544. package/operation-capabilities/operation-capabilities.json +1 -1
  545. package/operations/schemas/audio_overlay.yaml +16 -0
  546. package/operations/schemas/audio_to_video.yaml +2 -0
  547. package/operations/schemas/audio_watermark.yaml +16 -0
  548. package/operations/schemas/compress.yaml +85 -22
  549. package/operations/schemas/convert.yaml +36 -0
  550. package/operations/schemas/custom_luma.yaml +8 -0
  551. package/operations/schemas/merge.yaml +55 -5
  552. package/operations/schemas/split.yaml +8 -0
  553. package/operations/schemas/thumbnail.yaml +23 -2
  554. package/operations/schemas/transform.yaml +8 -0
  555. package/operations/schemas/video_text_watermark.yaml +8 -0
  556. package/operations/schemas/video_watermark.yaml +8 -0
  557. package/package.json +6 -4
@@ -465,6 +465,12 @@
465
465
  "processing_class": {
466
466
  "long_form": {
467
467
  "availability": "planned",
468
+ "ceiling_basis": {
469
+ "max_input_duration": "unproven",
470
+ "max_input_size_bytes": "unproven",
471
+ "per_tier.enterprise.max_input_size_bytes": "unproven",
472
+ "per_tier.max.max_input_size_bytes": "unproven"
473
+ },
468
474
  "constraints": {
469
475
  "max_input_duration": "PT12H",
470
476
  "max_input_size_bytes": 5000000000,
@@ -483,6 +489,10 @@
483
489
  },
484
490
  "short_form": {
485
491
  "availability": "planned",
492
+ "ceiling_basis": {
493
+ "max_input_duration": "unproven",
494
+ "max_input_size_bytes": "unproven"
495
+ },
486
496
  "constraints": {
487
497
  "max_input_duration": "PT5M",
488
498
  "max_input_size_bytes": 524288000,
@@ -684,6 +694,12 @@
684
694
  "processing_class": {
685
695
  "long_form": {
686
696
  "availability": "planned",
697
+ "ceiling_basis": {
698
+ "max_input_duration": "unproven",
699
+ "max_input_size_bytes": "unproven",
700
+ "per_tier.enterprise.max_input_size_bytes": "unproven",
701
+ "per_tier.max.max_input_size_bytes": "unproven"
702
+ },
687
703
  "constraints": {
688
704
  "max_input_duration": "PT12H",
689
705
  "max_input_size_bytes": 5000000000,
@@ -702,6 +718,10 @@
702
718
  },
703
719
  "short_form": {
704
720
  "availability": "planned",
721
+ "ceiling_basis": {
722
+ "max_input_duration": "unproven",
723
+ "max_input_size_bytes": "unproven"
724
+ },
705
725
  "constraints": {
706
726
  "max_input_duration": "PT5M",
707
727
  "max_input_size_bytes": 524288000,
@@ -733,6 +753,9 @@
733
753
  "input_model": "multi",
734
754
  "media_groups": {
735
755
  "audio": {
756
+ "ceiling_basis": {
757
+ "max_input_duration": "unproven"
758
+ },
736
759
  "max_input_duration": "PT2H",
737
760
  "media_group": "audio",
738
761
  "mimes": [
@@ -916,6 +939,12 @@
916
939
  "processing_class": {
917
940
  "long_form": {
918
941
  "availability": "planned",
942
+ "ceiling_basis": {
943
+ "max_input_duration": "unproven",
944
+ "max_input_size_bytes": "unproven",
945
+ "per_tier.enterprise.max_input_size_bytes": "unproven",
946
+ "per_tier.max.max_input_size_bytes": "unproven"
947
+ },
919
948
  "constraints": {
920
949
  "max_input_duration": "PT12H",
921
950
  "max_input_size_bytes": 5000000000,
@@ -934,6 +963,10 @@
934
963
  },
935
964
  "short_form": {
936
965
  "availability": "planned",
966
+ "ceiling_basis": {
967
+ "max_input_duration": "unproven",
968
+ "max_input_size_bytes": "unproven"
969
+ },
937
970
  "constraints": {
938
971
  "max_input_duration": "PT5M",
939
972
  "max_input_size_bytes": 524288000,
@@ -1021,6 +1054,12 @@
1021
1054
  "processing_class": {
1022
1055
  "long_form": {
1023
1056
  "availability": "planned",
1057
+ "ceiling_basis": {
1058
+ "max_input_duration": "unproven",
1059
+ "max_input_size_bytes": "unproven",
1060
+ "per_tier.enterprise.max_input_size_bytes": "unproven",
1061
+ "per_tier.max.max_input_size_bytes": "unproven"
1062
+ },
1024
1063
  "constraints": {
1025
1064
  "max_input_duration": "PT12H",
1026
1065
  "max_input_size_bytes": 5000000000,
@@ -1039,6 +1078,10 @@
1039
1078
  },
1040
1079
  "short_form": {
1041
1080
  "availability": "planned",
1081
+ "ceiling_basis": {
1082
+ "max_input_duration": "unproven",
1083
+ "max_input_size_bytes": "unproven"
1084
+ },
1042
1085
  "constraints": {
1043
1086
  "max_input_duration": "PT5M",
1044
1087
  "max_input_size_bytes": 524288000,
@@ -1214,6 +1257,9 @@
1214
1257
  }
1215
1258
  },
1216
1259
  "document_epub": {
1260
+ "ceiling_basis": {
1261
+ "max_input_size_bytes": "proven"
1262
+ },
1217
1263
  "max_input_size_bytes": 209715200,
1218
1264
  "media_group": "document",
1219
1265
  "mimes": [
@@ -1263,6 +1309,9 @@
1263
1309
  }
1264
1310
  },
1265
1311
  "document_odf": {
1312
+ "ceiling_basis": {
1313
+ "max_input_size_bytes": "proven"
1314
+ },
1266
1315
  "max_input_size_bytes": 209715200,
1267
1316
  "media_group": "document",
1268
1317
  "mimes": [
@@ -1314,6 +1363,9 @@
1314
1363
  }
1315
1364
  },
1316
1365
  "document_office": {
1366
+ "ceiling_basis": {
1367
+ "max_input_size_bytes": "proven"
1368
+ },
1317
1369
  "max_input_size_bytes": 209715200,
1318
1370
  "media_group": "document",
1319
1371
  "mimes": [
@@ -1376,6 +1428,9 @@
1376
1428
  }
1377
1429
  },
1378
1430
  "image": {
1431
+ "ceiling_basis": {
1432
+ "max_input_size_bytes": "unproven"
1433
+ },
1379
1434
  "max_input_size_bytes": 524288000,
1380
1435
  "max_output_pixels": 16000000,
1381
1436
  "media_group": "image",
@@ -1574,6 +1629,9 @@
1574
1629
  }
1575
1630
  },
1576
1631
  "image_avif": {
1632
+ "ceiling_basis": {
1633
+ "max_input_size_bytes": "proven"
1634
+ },
1577
1635
  "max_input_size_bytes": 20971520,
1578
1636
  "max_output_pixels": 16000000,
1579
1637
  "media_group": "image",
@@ -1840,7 +1898,12 @@
1840
1898
  }
1841
1899
  },
1842
1900
  "image_jpeg": {
1843
- "max_input_size_bytes": 524288000,
1901
+ "ceiling_basis": {
1902
+ "max_input_pixels": "proven",
1903
+ "max_input_size_bytes": "proven"
1904
+ },
1905
+ "max_input_pixels": 90000000,
1906
+ "max_input_size_bytes": 370000000,
1844
1907
  "max_output_pixels": 16000000,
1845
1908
  "media_group": "image",
1846
1909
  "mimes": [
@@ -2141,7 +2204,12 @@
2141
2204
  }
2142
2205
  },
2143
2206
  "image_png": {
2144
- "max_input_size_bytes": 524288000,
2207
+ "ceiling_basis": {
2208
+ "max_input_pixels": "unproven",
2209
+ "max_input_size_bytes": "proven"
2210
+ },
2211
+ "max_input_pixels": 100000000,
2212
+ "max_input_size_bytes": 360000000,
2145
2213
  "max_output_pixels": 16000000,
2146
2214
  "media_group": "image",
2147
2215
  "mimes": [
@@ -2344,7 +2412,10 @@
2344
2412
  }
2345
2413
  },
2346
2414
  "image_svg": {
2347
- "max_input_size_bytes": 524288000,
2415
+ "ceiling_basis": {
2416
+ "max_input_size_bytes": "unproven"
2417
+ },
2418
+ "max_input_size_bytes": 1000000,
2348
2419
  "media_group": "image",
2349
2420
  "mimes": [
2350
2421
  "image/svg+xml"
@@ -2429,7 +2500,12 @@
2429
2500
  }
2430
2501
  },
2431
2502
  "image_webp": {
2432
- "max_input_size_bytes": 524288000,
2503
+ "ceiling_basis": {
2504
+ "max_input_pixels": "proven",
2505
+ "max_input_size_bytes": "proven"
2506
+ },
2507
+ "max_input_pixels": 75000000,
2508
+ "max_input_size_bytes": 270000000,
2433
2509
  "max_output_pixels": 16000000,
2434
2510
  "media_group": "image",
2435
2511
  "mimes": [
@@ -3024,6 +3100,12 @@
3024
3100
  "processing_class": {
3025
3101
  "long_form": {
3026
3102
  "availability": "stable",
3103
+ "ceiling_basis": {
3104
+ "max_input_duration": "unproven",
3105
+ "max_input_size_bytes": "unproven",
3106
+ "per_tier.enterprise.max_input_size_bytes": "unproven",
3107
+ "per_tier.max.max_input_size_bytes": "unproven"
3108
+ },
3027
3109
  "constraints": {
3028
3110
  "max_input_duration": "PT12H",
3029
3111
  "max_input_size_bytes": 5000000000,
@@ -3042,6 +3124,10 @@
3042
3124
  },
3043
3125
  "short_form": {
3044
3126
  "availability": "stable",
3127
+ "ceiling_basis": {
3128
+ "max_input_duration": "proven",
3129
+ "max_input_size_bytes": "proven"
3130
+ },
3045
3131
  "constraints": {
3046
3132
  "max_input_duration": "PT5M",
3047
3133
  "max_input_size_bytes": 524288000,
@@ -3769,6 +3855,12 @@
3769
3855
  "processing_class": {
3770
3856
  "long_form": {
3771
3857
  "availability": "planned",
3858
+ "ceiling_basis": {
3859
+ "max_input_duration": "unproven",
3860
+ "max_input_size_bytes": "unproven",
3861
+ "per_tier.enterprise.max_input_size_bytes": "unproven",
3862
+ "per_tier.max.max_input_size_bytes": "unproven"
3863
+ },
3772
3864
  "constraints": {
3773
3865
  "max_input_duration": "PT12H",
3774
3866
  "max_input_size_bytes": 5000000000,
@@ -3787,10 +3879,39 @@
3787
3879
  },
3788
3880
  "short_form": {
3789
3881
  "availability": "stable",
3882
+ "ceiling_basis": {
3883
+ "max_input_duration": "unproven",
3884
+ "max_input_size_bytes": "unproven"
3885
+ },
3790
3886
  "constraints": {
3791
3887
  "max_input_duration": "PT5M",
3792
3888
  "max_input_size_bytes": 524288000,
3793
3889
  "max_output_size_bytes": 524288000
3890
+ },
3891
+ "resolution_bands": {
3892
+ "gt_1080p": {
3893
+ "basis": "not_served"
3894
+ },
3895
+ "le_720p": {
3896
+ "basis": "proven",
3897
+ "constraints": {
3898
+ "max_input_duration": "PT2M25S"
3899
+ },
3900
+ "source": "9c5mOnq1-720p-145s"
3901
+ },
3902
+ "p1080": {
3903
+ "basis": "proven",
3904
+ "constraints": {
3905
+ "max_input_duration": "PT1M20S"
3906
+ },
3907
+ "source": "9c5mOnq1-1080p-80s"
3908
+ },
3909
+ "unknown": {
3910
+ "basis": "ruled",
3911
+ "constraints": {
3912
+ "max_input_duration": "PT2M25S"
3913
+ }
3914
+ }
3794
3915
  }
3795
3916
  }
3796
3917
  }
@@ -3875,6 +3996,12 @@
3875
3996
  "processing_class": {
3876
3997
  "long_form": {
3877
3998
  "availability": "planned",
3999
+ "ceiling_basis": {
4000
+ "max_input_duration": "unproven",
4001
+ "max_input_size_bytes": "unproven",
4002
+ "per_tier.enterprise.max_input_size_bytes": "unproven",
4003
+ "per_tier.max.max_input_size_bytes": "unproven"
4004
+ },
3878
4005
  "constraints": {
3879
4006
  "max_input_duration": "PT12H",
3880
4007
  "max_input_size_bytes": 5000000000,
@@ -3893,6 +4020,10 @@
3893
4020
  },
3894
4021
  "short_form": {
3895
4022
  "availability": "planned",
4023
+ "ceiling_basis": {
4024
+ "max_input_duration": "unproven",
4025
+ "max_input_size_bytes": "unproven"
4026
+ },
3896
4027
  "constraints": {
3897
4028
  "max_input_duration": "PT5M",
3898
4029
  "max_input_size_bytes": 524288000,
@@ -4828,8 +4959,8 @@
4828
4959
  ]
4829
4960
  },
4830
4961
  "normalize_audio": {
4831
- "default": true,
4832
- "description": "Normalize audio levels across all clips. NOT available on the long-form path, which forces loudness normalisation off \u2014 a defaulted value is dropped and reported there rather than silently ignored.",
4962
+ "default": false,
4963
+ "description": "Normalize audio levels across all clips. Off by default (the server applies the default when the option is omitted). Known issue: at each join of video clips, audio may lead video by up to about 40 ms with the default (`false`); the offset is per join and does not add up across joins. With `true`, an offset of about 45 ms was measured at a single join; merges with more joins are not yet measured on that setting. Turning it on re-encodes every clip, which lowers the limit: about 120 seconds of combined 720p video was measured to fit, instead of 5 minutes. NOT available on the long-form path, which forces loudness normalisation off.",
4833
4964
  "origin": "contract",
4834
4965
  "per_class_availability": {
4835
4966
  "long_form_re_encode": {
@@ -5305,6 +5436,12 @@
5305
5436
  "processing_class": {
5306
5437
  "long_form_re_encode": {
5307
5438
  "availability": "stable",
5439
+ "ceiling_basis": {
5440
+ "max_total_duration": "unproven",
5441
+ "max_total_input_size_bytes": "unproven",
5442
+ "per_tier.enterprise.max_total_input_size_bytes": "unproven",
5443
+ "per_tier.max.max_total_input_size_bytes": "unproven"
5444
+ },
5308
5445
  "constraints": {
5309
5446
  "max_total_duration": "PT24H",
5310
5447
  "max_total_input_size_bytes": 5000000000
@@ -5354,9 +5491,13 @@
5354
5491
  },
5355
5492
  "short_form_concat": {
5356
5493
  "availability": "stable",
5494
+ "ceiling_basis": {
5495
+ "max_total_duration": "proven",
5496
+ "max_total_input_size_bytes": "proven"
5497
+ },
5357
5498
  "constraints": {
5358
5499
  "max_total_duration": "PT5M",
5359
- "max_total_input_size_bytes": 1073741824
5500
+ "max_total_input_size_bytes": 524288000
5360
5501
  }
5361
5502
  }
5362
5503
  }
@@ -5829,6 +5970,12 @@
5829
5970
  "processing_class": {
5830
5971
  "long_form": {
5831
5972
  "availability": "beta",
5973
+ "ceiling_basis": {
5974
+ "max_input_duration": "unproven",
5975
+ "max_input_size_bytes": "unproven",
5976
+ "per_tier.enterprise.max_input_size_bytes": "unproven",
5977
+ "per_tier.max.max_input_size_bytes": "unproven"
5978
+ },
5832
5979
  "constraints": {
5833
5980
  "max_input_duration": "PT12H",
5834
5981
  "max_input_size_bytes": 5000000000,
@@ -5847,6 +5994,10 @@
5847
5994
  },
5848
5995
  "short_form": {
5849
5996
  "availability": "beta",
5997
+ "ceiling_basis": {
5998
+ "max_input_duration": "unproven",
5999
+ "max_input_size_bytes": "unproven"
6000
+ },
5850
6001
  "constraints": {
5851
6002
  "max_input_duration": "PT5M",
5852
6003
  "max_input_size_bytes": 524288000,
@@ -6330,6 +6481,9 @@
6330
6481
  "input_model": "single",
6331
6482
  "media_groups": {
6332
6483
  "document_epub": {
6484
+ "ceiling_basis": {
6485
+ "max_input_size_bytes": "proven"
6486
+ },
6333
6487
  "max_input_size_bytes": 104857600,
6334
6488
  "max_output_pixels": 16000000,
6335
6489
  "media_group": "document",
@@ -6424,6 +6578,9 @@
6424
6578
  }
6425
6579
  },
6426
6580
  "document_office": {
6581
+ "ceiling_basis": {
6582
+ "max_input_size_bytes": "proven"
6583
+ },
6427
6584
  "max_input_size_bytes": 157286400,
6428
6585
  "max_output_pixels": 16000000,
6429
6586
  "media_group": "document",
@@ -6833,6 +6990,12 @@
6833
6990
  "processing_class": {
6834
6991
  "long_form": {
6835
6992
  "availability": "planned",
6993
+ "ceiling_basis": {
6994
+ "max_input_duration": "unproven",
6995
+ "max_input_size_bytes": "unproven",
6996
+ "per_tier.enterprise.max_input_size_bytes": "unproven",
6997
+ "per_tier.max.max_input_size_bytes": "unproven"
6998
+ },
6836
6999
  "constraints": {
6837
7000
  "max_input_duration": "PT12H",
6838
7001
  "max_input_size_bytes": 5000000000
@@ -6848,9 +7011,13 @@
6848
7011
  },
6849
7012
  "short_form": {
6850
7013
  "availability": "stable",
7014
+ "ceiling_basis": {
7015
+ "max_input_duration": "proven",
7016
+ "max_input_size_bytes": "proven"
7017
+ },
6851
7018
  "constraints": {
6852
- "max_input_duration": "PT5M",
6853
- "max_input_size_bytes": 524288000
7019
+ "max_input_duration": "PT30M",
7020
+ "max_input_size_bytes": 950000000
6854
7021
  }
6855
7022
  }
6856
7023
  }
@@ -7057,6 +7224,12 @@
7057
7224
  "processing_class": {
7058
7225
  "long_form": {
7059
7226
  "availability": "planned",
7227
+ "ceiling_basis": {
7228
+ "max_input_duration": "unproven",
7229
+ "max_input_size_bytes": "unproven",
7230
+ "per_tier.enterprise.max_input_size_bytes": "unproven",
7231
+ "per_tier.max.max_input_size_bytes": "unproven"
7232
+ },
7060
7233
  "constraints": {
7061
7234
  "max_input_duration": "PT12H",
7062
7235
  "max_input_size_bytes": 5000000000,
@@ -7075,6 +7248,10 @@
7075
7248
  },
7076
7249
  "short_form": {
7077
7250
  "availability": "planned",
7251
+ "ceiling_basis": {
7252
+ "max_input_duration": "unproven",
7253
+ "max_input_size_bytes": "unproven"
7254
+ },
7078
7255
  "constraints": {
7079
7256
  "max_input_duration": "PT5M",
7080
7257
  "max_input_size_bytes": 524288000,
@@ -7248,6 +7425,12 @@
7248
7425
  "processing_class": {
7249
7426
  "long_form": {
7250
7427
  "availability": "planned",
7428
+ "ceiling_basis": {
7429
+ "max_input_duration": "unproven",
7430
+ "max_input_size_bytes": "unproven",
7431
+ "per_tier.enterprise.max_input_size_bytes": "unproven",
7432
+ "per_tier.max.max_input_size_bytes": "unproven"
7433
+ },
7251
7434
  "constraints": {
7252
7435
  "max_input_duration": "PT12H",
7253
7436
  "max_input_size_bytes": 5000000000,
@@ -7266,6 +7449,10 @@
7266
7449
  },
7267
7450
  "short_form": {
7268
7451
  "availability": "planned",
7452
+ "ceiling_basis": {
7453
+ "max_input_duration": "unproven",
7454
+ "max_input_size_bytes": "unproven"
7455
+ },
7269
7456
  "constraints": {
7270
7457
  "max_input_duration": "PT5M",
7271
7458
  "max_input_size_bytes": 524288000,
@@ -7412,6 +7599,12 @@
7412
7599
  "processing_class": {
7413
7600
  "long_form": {
7414
7601
  "availability": "planned",
7602
+ "ceiling_basis": {
7603
+ "max_input_duration": "unproven",
7604
+ "max_input_size_bytes": "unproven",
7605
+ "per_tier.enterprise.max_input_size_bytes": "unproven",
7606
+ "per_tier.max.max_input_size_bytes": "unproven"
7607
+ },
7415
7608
  "constraints": {
7416
7609
  "max_input_duration": "PT12H",
7417
7610
  "max_input_size_bytes": 5000000000,
@@ -7430,6 +7623,10 @@
7430
7623
  },
7431
7624
  "short_form": {
7432
7625
  "availability": "planned",
7626
+ "ceiling_basis": {
7627
+ "max_input_duration": "unproven",
7628
+ "max_input_size_bytes": "unproven"
7629
+ },
7433
7630
  "constraints": {
7434
7631
  "max_input_duration": "PT5M",
7435
7632
  "max_input_size_bytes": 524288000,
@@ -7446,7 +7643,7 @@
7446
7643
  }
7447
7644
  },
7448
7645
  "preset_config_hash": "sha256:354814f7906f85be6a6ca5ede6c0722c83cdc058fd658a9bb2b0996520466c6d",
7449
- "schema_version": "2.215.0",
7450
- "sdk_spec_version": "2.9.0",
7451
- "source_hash": "sha256:db2944d32d7c000b7c66d1dd4e8ba108d2a93a27b89337165807ba2e3047cf13"
7646
+ "schema_version": "2.217.0",
7647
+ "sdk_spec_version": "2.10.0",
7648
+ "source_hash": "sha256:ceb884bc449ef43132183525188505bfcb6b5db4dfb49335a5118844444ddcad"
7452
7649
  }
@@ -2,7 +2,7 @@
2
2
  * GISL Compression API
3
3
  * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag revalidation per ADR-0002 + I3), health probes return flat objects, and `POST /api/contact` returns 204 with no body. **Availability metadata.** This spec uses the `x-availability` vendor extension as **decorative documentation only**. Per [ADR-0001](../docs/decisions/0001-contract-first-availability.md) §1.5, the runtime endpoint `GET /api/operations/schema` (ticket I3) is the authoritative source; the sidecar `availability.json` (ticket I3b) is the authoritative companion (generated, never hand-edited; CI cross-checks runtime ⇄ sidecar). SDKs MUST NOT depend on `x-availability` reaching generated code — code-generators that surface vendor extensions may emit it as documentation, but consumers read availability from the runtime endpoint, not from the generated bindings. The 5-value vocabulary (`stable | beta | experimental | planned | deprecated`) is defined in the `AvailabilityValue` schema. See `schemas/FORMAT.md` §Availability Taxonomy for the operational rules (parser obligation: absent = stable; per-enum-value granularity is the `per_value_availability` primitive landed via ticket I17). **Free-text string fields: `x-string-vocabulary` (ticket [`Q79yjcFF`](https://trello.com/c/Q79yjcFF)).** A `type: string` field with no `enum` that names example values says, as data, what a client may do with them (the same marker is used in the AsyncAPI document): - `open` — a vocabulary that grows. Each published value keeps its meaning, the SET is not closed: switch on the values you know and handle an unknown one as the generic case (e.g. `ErrorEnvelope.error`). - `advisory` — explanatory text. Display or log it; **never switch on it** (e.g. `SseWorkflowTerminalData.reason`). - `none` — not a vocabulary at all (an expression or an identifier, e.g. `OptionSchema.pattern`). A field whose description hedges with \"common values\" or \"free-form\" must carry the marker; a test enforces it. **Localisation (per ticket [I26](https://trello.com/c/rcnqwgI4)).** Error responses + paused/blocked workflow statuses carry a localised human-readable `message` alongside a stable, never-localised `message_key`. Machine-readable fields (`error`, enum values, status codes) stay canonical English. - **Currently committed locales:** `en-GB` only (per ticket [`4GKyuYo6`](https://trello.com/c/4GKyuYo6)). The I26 carrier shape (`Accept-Language` + `Content-Language` + `Vary` headers + `locale` envelope field + `message_key` + `message_params`) is stable and exercised; the **catalog** of translated `message` strings is en-GB-only at runtime today. Additional locales (e.g. `pt-PT`) will be advertised by name when their catalogs ship — the request/response carrier shape does NOT change when a new locale lands. Treat unrequested locales as \"machine-code + `message_key` path is committed; localised `message` prose is not\" until this prose enumerates them by name. - **Request:** `Accept-Language` header per RFC 9110 §12.5.4 (q-value negotiation supported). The server selects the best-match locale from its supported list; falls back to `en-GB` when no match — which, until additional catalogs land, is every non-`en-GB` `Accept-Language`. - **Response:** `Content-Language: <locale>` echo on every localised response; `Vary: Accept-Language` on every response (CDN/cache correctness — different `Accept-Language` requests produce different responses). `Vary` is emitted unconditionally so the header contract does not flip when a second locale ships. - **Fallback locale:** `en-GB` (also the canonical locale for `message_key` translations and English `message` prose). - **SDK guidance:** switch on `error` (machine code) for typed error branches; surface `message_key` to client-side i18n catalogs (SDK companion work tracked at X19, cross-repo); display `message` for end-user UI; **never parse `message` for control flow** — it changes per locale. Carrier shape lives on `ErrorEnvelope` (envelope-level optional `message_key` + `message` + `locale` + `message_params`) and `ValidationErrorEnvelope` (also per-`details[]` entry). Existing 402 / 403 / 422 envelopes (`BalanceExhaustedResponse`, `FeatureNotAvailableResponse`, `FeatureTierRestrictedResponse`, `WorkflowPausedDetail`) inherit the convention. **Upload thresholds (per tickets [u0ar7Yye](https://trello.com/c/u0ar7Yye) + [58nBQLWQ](https://trello.com/c/58nBQLWQ)).** Canonical upload constants (single-shot cap, multipart chunk size, multipart concurrency default, multipart first-chunk size) live on the `UploadThresholds` schema with `const:`-pinned values. SDK generators emit these as typed binding constants so frontend / API / SDKs reference one source of truth instead of hardcoding magic numbers. A runtime `GET /api/uploads/limits` endpoint for dynamic discovery (per-tier / per-environment overrides) is a deferred follow-up.
4
4
  *
5
- * The version of the OpenAPI document: 2.215.0
5
+ * The version of the OpenAPI document: 2.217.0
6
6
  *
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -4,7 +4,7 @@
4
4
  * GISL Compression API
5
5
  * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag revalidation per ADR-0002 + I3), health probes return flat objects, and `POST /api/contact` returns 204 with no body. **Availability metadata.** This spec uses the `x-availability` vendor extension as **decorative documentation only**. Per [ADR-0001](../docs/decisions/0001-contract-first-availability.md) §1.5, the runtime endpoint `GET /api/operations/schema` (ticket I3) is the authoritative source; the sidecar `availability.json` (ticket I3b) is the authoritative companion (generated, never hand-edited; CI cross-checks runtime ⇄ sidecar). SDKs MUST NOT depend on `x-availability` reaching generated code — code-generators that surface vendor extensions may emit it as documentation, but consumers read availability from the runtime endpoint, not from the generated bindings. The 5-value vocabulary (`stable | beta | experimental | planned | deprecated`) is defined in the `AvailabilityValue` schema. See `schemas/FORMAT.md` §Availability Taxonomy for the operational rules (parser obligation: absent = stable; per-enum-value granularity is the `per_value_availability` primitive landed via ticket I17). **Free-text string fields: `x-string-vocabulary` (ticket [`Q79yjcFF`](https://trello.com/c/Q79yjcFF)).** A `type: string` field with no `enum` that names example values says, as data, what a client may do with them (the same marker is used in the AsyncAPI document): - `open` — a vocabulary that grows. Each published value keeps its meaning, the SET is not closed: switch on the values you know and handle an unknown one as the generic case (e.g. `ErrorEnvelope.error`). - `advisory` — explanatory text. Display or log it; **never switch on it** (e.g. `SseWorkflowTerminalData.reason`). - `none` — not a vocabulary at all (an expression or an identifier, e.g. `OptionSchema.pattern`). A field whose description hedges with \"common values\" or \"free-form\" must carry the marker; a test enforces it. **Localisation (per ticket [I26](https://trello.com/c/rcnqwgI4)).** Error responses + paused/blocked workflow statuses carry a localised human-readable `message` alongside a stable, never-localised `message_key`. Machine-readable fields (`error`, enum values, status codes) stay canonical English. - **Currently committed locales:** `en-GB` only (per ticket [`4GKyuYo6`](https://trello.com/c/4GKyuYo6)). The I26 carrier shape (`Accept-Language` + `Content-Language` + `Vary` headers + `locale` envelope field + `message_key` + `message_params`) is stable and exercised; the **catalog** of translated `message` strings is en-GB-only at runtime today. Additional locales (e.g. `pt-PT`) will be advertised by name when their catalogs ship — the request/response carrier shape does NOT change when a new locale lands. Treat unrequested locales as \"machine-code + `message_key` path is committed; localised `message` prose is not\" until this prose enumerates them by name. - **Request:** `Accept-Language` header per RFC 9110 §12.5.4 (q-value negotiation supported). The server selects the best-match locale from its supported list; falls back to `en-GB` when no match — which, until additional catalogs land, is every non-`en-GB` `Accept-Language`. - **Response:** `Content-Language: <locale>` echo on every localised response; `Vary: Accept-Language` on every response (CDN/cache correctness — different `Accept-Language` requests produce different responses). `Vary` is emitted unconditionally so the header contract does not flip when a second locale ships. - **Fallback locale:** `en-GB` (also the canonical locale for `message_key` translations and English `message` prose). - **SDK guidance:** switch on `error` (machine code) for typed error branches; surface `message_key` to client-side i18n catalogs (SDK companion work tracked at X19, cross-repo); display `message` for end-user UI; **never parse `message` for control flow** — it changes per locale. Carrier shape lives on `ErrorEnvelope` (envelope-level optional `message_key` + `message` + `locale` + `message_params`) and `ValidationErrorEnvelope` (also per-`details[]` entry). Existing 402 / 403 / 422 envelopes (`BalanceExhaustedResponse`, `FeatureNotAvailableResponse`, `FeatureTierRestrictedResponse`, `WorkflowPausedDetail`) inherit the convention. **Upload thresholds (per tickets [u0ar7Yye](https://trello.com/c/u0ar7Yye) + [58nBQLWQ](https://trello.com/c/58nBQLWQ)).** Canonical upload constants (single-shot cap, multipart chunk size, multipart concurrency default, multipart first-chunk size) live on the `UploadThresholds` schema with `const:`-pinned values. SDK generators emit these as typed binding constants so frontend / API / SDKs reference one source of truth instead of hardcoding magic numbers. A runtime `GET /api/uploads/limits` endpoint for dynamic discovery (per-tier / per-environment overrides) is a deferred follow-up.
6
6
  *
7
- * The version of the OpenAPI document: 2.215.0
7
+ * The version of the OpenAPI document: 2.217.0
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -2,7 +2,7 @@
2
2
  * GISL Compression API
3
3
  * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag revalidation per ADR-0002 + I3), health probes return flat objects, and `POST /api/contact` returns 204 with no body. **Availability metadata.** This spec uses the `x-availability` vendor extension as **decorative documentation only**. Per [ADR-0001](../docs/decisions/0001-contract-first-availability.md) §1.5, the runtime endpoint `GET /api/operations/schema` (ticket I3) is the authoritative source; the sidecar `availability.json` (ticket I3b) is the authoritative companion (generated, never hand-edited; CI cross-checks runtime ⇄ sidecar). SDKs MUST NOT depend on `x-availability` reaching generated code — code-generators that surface vendor extensions may emit it as documentation, but consumers read availability from the runtime endpoint, not from the generated bindings. The 5-value vocabulary (`stable | beta | experimental | planned | deprecated`) is defined in the `AvailabilityValue` schema. See `schemas/FORMAT.md` §Availability Taxonomy for the operational rules (parser obligation: absent = stable; per-enum-value granularity is the `per_value_availability` primitive landed via ticket I17). **Free-text string fields: `x-string-vocabulary` (ticket [`Q79yjcFF`](https://trello.com/c/Q79yjcFF)).** A `type: string` field with no `enum` that names example values says, as data, what a client may do with them (the same marker is used in the AsyncAPI document): - `open` — a vocabulary that grows. Each published value keeps its meaning, the SET is not closed: switch on the values you know and handle an unknown one as the generic case (e.g. `ErrorEnvelope.error`). - `advisory` — explanatory text. Display or log it; **never switch on it** (e.g. `SseWorkflowTerminalData.reason`). - `none` — not a vocabulary at all (an expression or an identifier, e.g. `OptionSchema.pattern`). A field whose description hedges with \"common values\" or \"free-form\" must carry the marker; a test enforces it. **Localisation (per ticket [I26](https://trello.com/c/rcnqwgI4)).** Error responses + paused/blocked workflow statuses carry a localised human-readable `message` alongside a stable, never-localised `message_key`. Machine-readable fields (`error`, enum values, status codes) stay canonical English. - **Currently committed locales:** `en-GB` only (per ticket [`4GKyuYo6`](https://trello.com/c/4GKyuYo6)). The I26 carrier shape (`Accept-Language` + `Content-Language` + `Vary` headers + `locale` envelope field + `message_key` + `message_params`) is stable and exercised; the **catalog** of translated `message` strings is en-GB-only at runtime today. Additional locales (e.g. `pt-PT`) will be advertised by name when their catalogs ship — the request/response carrier shape does NOT change when a new locale lands. Treat unrequested locales as \"machine-code + `message_key` path is committed; localised `message` prose is not\" until this prose enumerates them by name. - **Request:** `Accept-Language` header per RFC 9110 §12.5.4 (q-value negotiation supported). The server selects the best-match locale from its supported list; falls back to `en-GB` when no match — which, until additional catalogs land, is every non-`en-GB` `Accept-Language`. - **Response:** `Content-Language: <locale>` echo on every localised response; `Vary: Accept-Language` on every response (CDN/cache correctness — different `Accept-Language` requests produce different responses). `Vary` is emitted unconditionally so the header contract does not flip when a second locale ships. - **Fallback locale:** `en-GB` (also the canonical locale for `message_key` translations and English `message` prose). - **SDK guidance:** switch on `error` (machine code) for typed error branches; surface `message_key` to client-side i18n catalogs (SDK companion work tracked at X19, cross-repo); display `message` for end-user UI; **never parse `message` for control flow** — it changes per locale. Carrier shape lives on `ErrorEnvelope` (envelope-level optional `message_key` + `message` + `locale` + `message_params`) and `ValidationErrorEnvelope` (also per-`details[]` entry). Existing 402 / 403 / 422 envelopes (`BalanceExhaustedResponse`, `FeatureNotAvailableResponse`, `FeatureTierRestrictedResponse`, `WorkflowPausedDetail`) inherit the convention. **Upload thresholds (per tickets [u0ar7Yye](https://trello.com/c/u0ar7Yye) + [58nBQLWQ](https://trello.com/c/58nBQLWQ)).** Canonical upload constants (single-shot cap, multipart chunk size, multipart concurrency default, multipart first-chunk size) live on the `UploadThresholds` schema with `const:`-pinned values. SDK generators emit these as typed binding constants so frontend / API / SDKs reference one source of truth instead of hardcoding magic numbers. A runtime `GET /api/uploads/limits` endpoint for dynamic discovery (per-tier / per-environment overrides) is a deferred follow-up.
4
4
  *
5
- * The version of the OpenAPI document: 2.215.0
5
+ * The version of the OpenAPI document: 2.217.0
6
6
  *
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -4,7 +4,7 @@
4
4
  * GISL Compression API
5
5
  * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag revalidation per ADR-0002 + I3), health probes return flat objects, and `POST /api/contact` returns 204 with no body. **Availability metadata.** This spec uses the `x-availability` vendor extension as **decorative documentation only**. Per [ADR-0001](../docs/decisions/0001-contract-first-availability.md) §1.5, the runtime endpoint `GET /api/operations/schema` (ticket I3) is the authoritative source; the sidecar `availability.json` (ticket I3b) is the authoritative companion (generated, never hand-edited; CI cross-checks runtime ⇄ sidecar). SDKs MUST NOT depend on `x-availability` reaching generated code — code-generators that surface vendor extensions may emit it as documentation, but consumers read availability from the runtime endpoint, not from the generated bindings. The 5-value vocabulary (`stable | beta | experimental | planned | deprecated`) is defined in the `AvailabilityValue` schema. See `schemas/FORMAT.md` §Availability Taxonomy for the operational rules (parser obligation: absent = stable; per-enum-value granularity is the `per_value_availability` primitive landed via ticket I17). **Free-text string fields: `x-string-vocabulary` (ticket [`Q79yjcFF`](https://trello.com/c/Q79yjcFF)).** A `type: string` field with no `enum` that names example values says, as data, what a client may do with them (the same marker is used in the AsyncAPI document): - `open` — a vocabulary that grows. Each published value keeps its meaning, the SET is not closed: switch on the values you know and handle an unknown one as the generic case (e.g. `ErrorEnvelope.error`). - `advisory` — explanatory text. Display or log it; **never switch on it** (e.g. `SseWorkflowTerminalData.reason`). - `none` — not a vocabulary at all (an expression or an identifier, e.g. `OptionSchema.pattern`). A field whose description hedges with \"common values\" or \"free-form\" must carry the marker; a test enforces it. **Localisation (per ticket [I26](https://trello.com/c/rcnqwgI4)).** Error responses + paused/blocked workflow statuses carry a localised human-readable `message` alongside a stable, never-localised `message_key`. Machine-readable fields (`error`, enum values, status codes) stay canonical English. - **Currently committed locales:** `en-GB` only (per ticket [`4GKyuYo6`](https://trello.com/c/4GKyuYo6)). The I26 carrier shape (`Accept-Language` + `Content-Language` + `Vary` headers + `locale` envelope field + `message_key` + `message_params`) is stable and exercised; the **catalog** of translated `message` strings is en-GB-only at runtime today. Additional locales (e.g. `pt-PT`) will be advertised by name when their catalogs ship — the request/response carrier shape does NOT change when a new locale lands. Treat unrequested locales as \"machine-code + `message_key` path is committed; localised `message` prose is not\" until this prose enumerates them by name. - **Request:** `Accept-Language` header per RFC 9110 §12.5.4 (q-value negotiation supported). The server selects the best-match locale from its supported list; falls back to `en-GB` when no match — which, until additional catalogs land, is every non-`en-GB` `Accept-Language`. - **Response:** `Content-Language: <locale>` echo on every localised response; `Vary: Accept-Language` on every response (CDN/cache correctness — different `Accept-Language` requests produce different responses). `Vary` is emitted unconditionally so the header contract does not flip when a second locale ships. - **Fallback locale:** `en-GB` (also the canonical locale for `message_key` translations and English `message` prose). - **SDK guidance:** switch on `error` (machine code) for typed error branches; surface `message_key` to client-side i18n catalogs (SDK companion work tracked at X19, cross-repo); display `message` for end-user UI; **never parse `message` for control flow** — it changes per locale. Carrier shape lives on `ErrorEnvelope` (envelope-level optional `message_key` + `message` + `locale` + `message_params`) and `ValidationErrorEnvelope` (also per-`details[]` entry). Existing 402 / 403 / 422 envelopes (`BalanceExhaustedResponse`, `FeatureNotAvailableResponse`, `FeatureTierRestrictedResponse`, `WorkflowPausedDetail`) inherit the convention. **Upload thresholds (per tickets [u0ar7Yye](https://trello.com/c/u0ar7Yye) + [58nBQLWQ](https://trello.com/c/58nBQLWQ)).** Canonical upload constants (single-shot cap, multipart chunk size, multipart concurrency default, multipart first-chunk size) live on the `UploadThresholds` schema with `const:`-pinned values. SDK generators emit these as typed binding constants so frontend / API / SDKs reference one source of truth instead of hardcoding magic numbers. A runtime `GET /api/uploads/limits` endpoint for dynamic discovery (per-tier / per-environment overrides) is a deferred follow-up.
6
6
  *
7
- * The version of the OpenAPI document: 2.215.0
7
+ * The version of the OpenAPI document: 2.217.0
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -2,7 +2,7 @@
2
2
  * GISL Compression API
3
3
  * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag revalidation per ADR-0002 + I3), health probes return flat objects, and `POST /api/contact` returns 204 with no body. **Availability metadata.** This spec uses the `x-availability` vendor extension as **decorative documentation only**. Per [ADR-0001](../docs/decisions/0001-contract-first-availability.md) §1.5, the runtime endpoint `GET /api/operations/schema` (ticket I3) is the authoritative source; the sidecar `availability.json` (ticket I3b) is the authoritative companion (generated, never hand-edited; CI cross-checks runtime ⇄ sidecar). SDKs MUST NOT depend on `x-availability` reaching generated code — code-generators that surface vendor extensions may emit it as documentation, but consumers read availability from the runtime endpoint, not from the generated bindings. The 5-value vocabulary (`stable | beta | experimental | planned | deprecated`) is defined in the `AvailabilityValue` schema. See `schemas/FORMAT.md` §Availability Taxonomy for the operational rules (parser obligation: absent = stable; per-enum-value granularity is the `per_value_availability` primitive landed via ticket I17). **Free-text string fields: `x-string-vocabulary` (ticket [`Q79yjcFF`](https://trello.com/c/Q79yjcFF)).** A `type: string` field with no `enum` that names example values says, as data, what a client may do with them (the same marker is used in the AsyncAPI document): - `open` — a vocabulary that grows. Each published value keeps its meaning, the SET is not closed: switch on the values you know and handle an unknown one as the generic case (e.g. `ErrorEnvelope.error`). - `advisory` — explanatory text. Display or log it; **never switch on it** (e.g. `SseWorkflowTerminalData.reason`). - `none` — not a vocabulary at all (an expression or an identifier, e.g. `OptionSchema.pattern`). A field whose description hedges with \"common values\" or \"free-form\" must carry the marker; a test enforces it. **Localisation (per ticket [I26](https://trello.com/c/rcnqwgI4)).** Error responses + paused/blocked workflow statuses carry a localised human-readable `message` alongside a stable, never-localised `message_key`. Machine-readable fields (`error`, enum values, status codes) stay canonical English. - **Currently committed locales:** `en-GB` only (per ticket [`4GKyuYo6`](https://trello.com/c/4GKyuYo6)). The I26 carrier shape (`Accept-Language` + `Content-Language` + `Vary` headers + `locale` envelope field + `message_key` + `message_params`) is stable and exercised; the **catalog** of translated `message` strings is en-GB-only at runtime today. Additional locales (e.g. `pt-PT`) will be advertised by name when their catalogs ship — the request/response carrier shape does NOT change when a new locale lands. Treat unrequested locales as \"machine-code + `message_key` path is committed; localised `message` prose is not\" until this prose enumerates them by name. - **Request:** `Accept-Language` header per RFC 9110 §12.5.4 (q-value negotiation supported). The server selects the best-match locale from its supported list; falls back to `en-GB` when no match — which, until additional catalogs land, is every non-`en-GB` `Accept-Language`. - **Response:** `Content-Language: <locale>` echo on every localised response; `Vary: Accept-Language` on every response (CDN/cache correctness — different `Accept-Language` requests produce different responses). `Vary` is emitted unconditionally so the header contract does not flip when a second locale ships. - **Fallback locale:** `en-GB` (also the canonical locale for `message_key` translations and English `message` prose). - **SDK guidance:** switch on `error` (machine code) for typed error branches; surface `message_key` to client-side i18n catalogs (SDK companion work tracked at X19, cross-repo); display `message` for end-user UI; **never parse `message` for control flow** — it changes per locale. Carrier shape lives on `ErrorEnvelope` (envelope-level optional `message_key` + `message` + `locale` + `message_params`) and `ValidationErrorEnvelope` (also per-`details[]` entry). Existing 402 / 403 / 422 envelopes (`BalanceExhaustedResponse`, `FeatureNotAvailableResponse`, `FeatureTierRestrictedResponse`, `WorkflowPausedDetail`) inherit the convention. **Upload thresholds (per tickets [u0ar7Yye](https://trello.com/c/u0ar7Yye) + [58nBQLWQ](https://trello.com/c/58nBQLWQ)).** Canonical upload constants (single-shot cap, multipart chunk size, multipart concurrency default, multipart first-chunk size) live on the `UploadThresholds` schema with `const:`-pinned values. SDK generators emit these as typed binding constants so frontend / API / SDKs reference one source of truth instead of hardcoding magic numbers. A runtime `GET /api/uploads/limits` endpoint for dynamic discovery (per-tier / per-environment overrides) is a deferred follow-up.
4
4
  *
5
- * The version of the OpenAPI document: 2.215.0
5
+ * The version of the OpenAPI document: 2.217.0
6
6
  *
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -4,7 +4,7 @@
4
4
  * GISL Compression API
5
5
  * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag revalidation per ADR-0002 + I3), health probes return flat objects, and `POST /api/contact` returns 204 with no body. **Availability metadata.** This spec uses the `x-availability` vendor extension as **decorative documentation only**. Per [ADR-0001](../docs/decisions/0001-contract-first-availability.md) §1.5, the runtime endpoint `GET /api/operations/schema` (ticket I3) is the authoritative source; the sidecar `availability.json` (ticket I3b) is the authoritative companion (generated, never hand-edited; CI cross-checks runtime ⇄ sidecar). SDKs MUST NOT depend on `x-availability` reaching generated code — code-generators that surface vendor extensions may emit it as documentation, but consumers read availability from the runtime endpoint, not from the generated bindings. The 5-value vocabulary (`stable | beta | experimental | planned | deprecated`) is defined in the `AvailabilityValue` schema. See `schemas/FORMAT.md` §Availability Taxonomy for the operational rules (parser obligation: absent = stable; per-enum-value granularity is the `per_value_availability` primitive landed via ticket I17). **Free-text string fields: `x-string-vocabulary` (ticket [`Q79yjcFF`](https://trello.com/c/Q79yjcFF)).** A `type: string` field with no `enum` that names example values says, as data, what a client may do with them (the same marker is used in the AsyncAPI document): - `open` — a vocabulary that grows. Each published value keeps its meaning, the SET is not closed: switch on the values you know and handle an unknown one as the generic case (e.g. `ErrorEnvelope.error`). - `advisory` — explanatory text. Display or log it; **never switch on it** (e.g. `SseWorkflowTerminalData.reason`). - `none` — not a vocabulary at all (an expression or an identifier, e.g. `OptionSchema.pattern`). A field whose description hedges with \"common values\" or \"free-form\" must carry the marker; a test enforces it. **Localisation (per ticket [I26](https://trello.com/c/rcnqwgI4)).** Error responses + paused/blocked workflow statuses carry a localised human-readable `message` alongside a stable, never-localised `message_key`. Machine-readable fields (`error`, enum values, status codes) stay canonical English. - **Currently committed locales:** `en-GB` only (per ticket [`4GKyuYo6`](https://trello.com/c/4GKyuYo6)). The I26 carrier shape (`Accept-Language` + `Content-Language` + `Vary` headers + `locale` envelope field + `message_key` + `message_params`) is stable and exercised; the **catalog** of translated `message` strings is en-GB-only at runtime today. Additional locales (e.g. `pt-PT`) will be advertised by name when their catalogs ship — the request/response carrier shape does NOT change when a new locale lands. Treat unrequested locales as \"machine-code + `message_key` path is committed; localised `message` prose is not\" until this prose enumerates them by name. - **Request:** `Accept-Language` header per RFC 9110 §12.5.4 (q-value negotiation supported). The server selects the best-match locale from its supported list; falls back to `en-GB` when no match — which, until additional catalogs land, is every non-`en-GB` `Accept-Language`. - **Response:** `Content-Language: <locale>` echo on every localised response; `Vary: Accept-Language` on every response (CDN/cache correctness — different `Accept-Language` requests produce different responses). `Vary` is emitted unconditionally so the header contract does not flip when a second locale ships. - **Fallback locale:** `en-GB` (also the canonical locale for `message_key` translations and English `message` prose). - **SDK guidance:** switch on `error` (machine code) for typed error branches; surface `message_key` to client-side i18n catalogs (SDK companion work tracked at X19, cross-repo); display `message` for end-user UI; **never parse `message` for control flow** — it changes per locale. Carrier shape lives on `ErrorEnvelope` (envelope-level optional `message_key` + `message` + `locale` + `message_params`) and `ValidationErrorEnvelope` (also per-`details[]` entry). Existing 402 / 403 / 422 envelopes (`BalanceExhaustedResponse`, `FeatureNotAvailableResponse`, `FeatureTierRestrictedResponse`, `WorkflowPausedDetail`) inherit the convention. **Upload thresholds (per tickets [u0ar7Yye](https://trello.com/c/u0ar7Yye) + [58nBQLWQ](https://trello.com/c/58nBQLWQ)).** Canonical upload constants (single-shot cap, multipart chunk size, multipart concurrency default, multipart first-chunk size) live on the `UploadThresholds` schema with `const:`-pinned values. SDK generators emit these as typed binding constants so frontend / API / SDKs reference one source of truth instead of hardcoding magic numbers. A runtime `GET /api/uploads/limits` endpoint for dynamic discovery (per-tier / per-environment overrides) is a deferred follow-up.
6
6
  *
7
- * The version of the OpenAPI document: 2.215.0
7
+ * The version of the OpenAPI document: 2.217.0
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -2,7 +2,7 @@
2
2
  * GISL Compression API
3
3
  * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag revalidation per ADR-0002 + I3), health probes return flat objects, and `POST /api/contact` returns 204 with no body. **Availability metadata.** This spec uses the `x-availability` vendor extension as **decorative documentation only**. Per [ADR-0001](../docs/decisions/0001-contract-first-availability.md) §1.5, the runtime endpoint `GET /api/operations/schema` (ticket I3) is the authoritative source; the sidecar `availability.json` (ticket I3b) is the authoritative companion (generated, never hand-edited; CI cross-checks runtime ⇄ sidecar). SDKs MUST NOT depend on `x-availability` reaching generated code — code-generators that surface vendor extensions may emit it as documentation, but consumers read availability from the runtime endpoint, not from the generated bindings. The 5-value vocabulary (`stable | beta | experimental | planned | deprecated`) is defined in the `AvailabilityValue` schema. See `schemas/FORMAT.md` §Availability Taxonomy for the operational rules (parser obligation: absent = stable; per-enum-value granularity is the `per_value_availability` primitive landed via ticket I17). **Free-text string fields: `x-string-vocabulary` (ticket [`Q79yjcFF`](https://trello.com/c/Q79yjcFF)).** A `type: string` field with no `enum` that names example values says, as data, what a client may do with them (the same marker is used in the AsyncAPI document): - `open` — a vocabulary that grows. Each published value keeps its meaning, the SET is not closed: switch on the values you know and handle an unknown one as the generic case (e.g. `ErrorEnvelope.error`). - `advisory` — explanatory text. Display or log it; **never switch on it** (e.g. `SseWorkflowTerminalData.reason`). - `none` — not a vocabulary at all (an expression or an identifier, e.g. `OptionSchema.pattern`). A field whose description hedges with \"common values\" or \"free-form\" must carry the marker; a test enforces it. **Localisation (per ticket [I26](https://trello.com/c/rcnqwgI4)).** Error responses + paused/blocked workflow statuses carry a localised human-readable `message` alongside a stable, never-localised `message_key`. Machine-readable fields (`error`, enum values, status codes) stay canonical English. - **Currently committed locales:** `en-GB` only (per ticket [`4GKyuYo6`](https://trello.com/c/4GKyuYo6)). The I26 carrier shape (`Accept-Language` + `Content-Language` + `Vary` headers + `locale` envelope field + `message_key` + `message_params`) is stable and exercised; the **catalog** of translated `message` strings is en-GB-only at runtime today. Additional locales (e.g. `pt-PT`) will be advertised by name when their catalogs ship — the request/response carrier shape does NOT change when a new locale lands. Treat unrequested locales as \"machine-code + `message_key` path is committed; localised `message` prose is not\" until this prose enumerates them by name. - **Request:** `Accept-Language` header per RFC 9110 §12.5.4 (q-value negotiation supported). The server selects the best-match locale from its supported list; falls back to `en-GB` when no match — which, until additional catalogs land, is every non-`en-GB` `Accept-Language`. - **Response:** `Content-Language: <locale>` echo on every localised response; `Vary: Accept-Language` on every response (CDN/cache correctness — different `Accept-Language` requests produce different responses). `Vary` is emitted unconditionally so the header contract does not flip when a second locale ships. - **Fallback locale:** `en-GB` (also the canonical locale for `message_key` translations and English `message` prose). - **SDK guidance:** switch on `error` (machine code) for typed error branches; surface `message_key` to client-side i18n catalogs (SDK companion work tracked at X19, cross-repo); display `message` for end-user UI; **never parse `message` for control flow** — it changes per locale. Carrier shape lives on `ErrorEnvelope` (envelope-level optional `message_key` + `message` + `locale` + `message_params`) and `ValidationErrorEnvelope` (also per-`details[]` entry). Existing 402 / 403 / 422 envelopes (`BalanceExhaustedResponse`, `FeatureNotAvailableResponse`, `FeatureTierRestrictedResponse`, `WorkflowPausedDetail`) inherit the convention. **Upload thresholds (per tickets [u0ar7Yye](https://trello.com/c/u0ar7Yye) + [58nBQLWQ](https://trello.com/c/58nBQLWQ)).** Canonical upload constants (single-shot cap, multipart chunk size, multipart concurrency default, multipart first-chunk size) live on the `UploadThresholds` schema with `const:`-pinned values. SDK generators emit these as typed binding constants so frontend / API / SDKs reference one source of truth instead of hardcoding magic numbers. A runtime `GET /api/uploads/limits` endpoint for dynamic discovery (per-tier / per-environment overrides) is a deferred follow-up.
4
4
  *
5
- * The version of the OpenAPI document: 2.215.0
5
+ * The version of the OpenAPI document: 2.217.0
6
6
  *
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).