@giveitsmaller/contracts 0.58.0 → 0.59.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.
- package/accepted-options/accepted-options.json +15 -1
- package/accepted-options/image-output-routes.json +1 -1
- package/asyncapi/events.yaml +17 -9
- package/availability/availability.json +123 -7
- package/code-builder/code-builder-metadata.json +127 -7
- package/dist/openapi/models/AccountLimitEntry.d.ts +1 -1
- package/dist/openapi/models/AccountLimitEntry.js +1 -1
- package/dist/openapi/models/AccountLimits.d.ts +1 -1
- package/dist/openapi/models/AccountLimits.js +1 -1
- package/dist/openapi/models/AccountLimitsLimits.d.ts +1 -1
- package/dist/openapi/models/AccountLimitsLimits.js +1 -1
- package/dist/openapi/models/AccountLimitsSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/AccountLimitsSuccessEnvelope.js +1 -1
- package/dist/openapi/models/AudioWatermarkDecodeRequest.d.ts +1 -1
- package/dist/openapi/models/AudioWatermarkDecodeRequest.js +1 -1
- package/dist/openapi/models/AudioWatermarkDecodeResponse.d.ts +1 -1
- package/dist/openapi/models/AudioWatermarkDecodeResponse.js +1 -1
- package/dist/openapi/models/AuthErrorResponse.d.ts +1 -1
- package/dist/openapi/models/AuthErrorResponse.js +1 -1
- package/dist/openapi/models/AuthErrorType.d.ts +1 -1
- package/dist/openapi/models/AuthErrorType.js +1 -1
- package/dist/openapi/models/AuthRejectionEnvelope.d.ts +1 -1
- package/dist/openapi/models/AuthRejectionEnvelope.js +1 -1
- package/dist/openapi/models/AvailabilityValue.d.ts +1 -1
- package/dist/openapi/models/AvailabilityValue.js +1 -1
- package/dist/openapi/models/BalanceExhaustedResponse.d.ts +1 -1
- package/dist/openapi/models/BalanceExhaustedResponse.js +1 -1
- package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.d.ts +1 -1
- package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.js +1 -1
- package/dist/openapi/models/BillingCheckoutRequest.d.ts +1 -1
- package/dist/openapi/models/BillingCheckoutRequest.js +1 -1
- package/dist/openapi/models/BillingCheckoutSession.d.ts +1 -1
- package/dist/openapi/models/BillingCheckoutSession.js +1 -1
- package/dist/openapi/models/BillingCheckoutSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/BillingCheckoutSuccessEnvelope.js +1 -1
- package/dist/openapi/models/CallbackEventType.d.ts +1 -1
- package/dist/openapi/models/CallbackEventType.js +1 -1
- package/dist/openapi/models/CapabilityCondition.d.ts +1 -1
- package/dist/openapi/models/CapabilityCondition.js +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf.d.ts +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf.js +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf1.d.ts +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf1.js +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf2.d.ts +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf2.js +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf3.d.ts +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf3.js +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf4.d.ts +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf4.js +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf5.d.ts +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf5.js +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf6.d.ts +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf6.js +1 -1
- package/dist/openapi/models/CapabilityConstraint.d.ts +1 -1
- package/dist/openapi/models/CapabilityConstraint.js +1 -1
- package/dist/openapi/models/CapabilityInputSpec.d.ts +1 -1
- package/dist/openapi/models/CapabilityInputSpec.js +1 -1
- package/dist/openapi/models/CapabilityProduces.d.ts +1 -1
- package/dist/openapi/models/CapabilityProduces.js +1 -1
- package/dist/openapi/models/CapabilityProducesOneOf.d.ts +1 -1
- package/dist/openapi/models/CapabilityProducesOneOf.js +1 -1
- package/dist/openapi/models/CapabilityProducesOneOf1.d.ts +1 -1
- package/dist/openapi/models/CapabilityProducesOneOf1.js +1 -1
- package/dist/openapi/models/CapabilityProducesOneOf2.d.ts +1 -1
- package/dist/openapi/models/CapabilityProducesOneOf2.js +1 -1
- package/dist/openapi/models/ChangePasswordRequest.d.ts +1 -1
- package/dist/openapi/models/ChangePasswordRequest.js +1 -1
- package/dist/openapi/models/CodegenSource.d.ts +1 -1
- package/dist/openapi/models/CodegenSource.js +1 -1
- package/dist/openapi/models/CodegenSourceInput.d.ts +1 -1
- package/dist/openapi/models/CodegenSourceInput.js +1 -1
- package/dist/openapi/models/CodegenSourceJob.d.ts +1 -1
- package/dist/openapi/models/CodegenSourceJob.js +1 -1
- package/dist/openapi/models/CodegenSourceJobSource.d.ts +1 -1
- package/dist/openapi/models/CodegenSourceJobSource.js +1 -1
- package/dist/openapi/models/CodegenSourceOperation.d.ts +1 -1
- package/dist/openapi/models/CodegenSourceOperation.js +1 -1
- package/dist/openapi/models/CodegenUploadPlaceholder.d.ts +1 -1
- package/dist/openapi/models/CodegenUploadPlaceholder.js +1 -1
- package/dist/openapi/models/CompositionPlan.d.ts +1 -1
- package/dist/openapi/models/CompositionPlan.js +1 -1
- package/dist/openapi/models/CompositionPlanJob.d.ts +1 -1
- package/dist/openapi/models/CompositionPlanJob.js +1 -1
- package/dist/openapi/models/CompositionPlanOperation.d.ts +1 -1
- package/dist/openapi/models/CompositionPlanOperation.js +1 -1
- package/dist/openapi/models/ConfirmEmailChange200Response.d.ts +1 -1
- package/dist/openapi/models/ConfirmEmailChange200Response.js +1 -1
- package/dist/openapi/models/ConfirmEmailChange200ResponseData.d.ts +1 -1
- package/dist/openapi/models/ConfirmEmailChange200ResponseData.js +1 -1
- package/dist/openapi/models/ConfirmEmailChangeRequest.d.ts +1 -1
- package/dist/openapi/models/ConfirmEmailChangeRequest.js +1 -1
- package/dist/openapi/models/ConnectionSource.d.ts +1 -1
- package/dist/openapi/models/ConnectionSource.js +1 -1
- package/dist/openapi/models/ContactRequest.d.ts +1 -1
- package/dist/openapi/models/ContactRequest.js +1 -1
- package/dist/openapi/models/ContactSubject.d.ts +1 -1
- package/dist/openapi/models/ContactSubject.js +1 -1
- package/dist/openapi/models/ContactValidationErrorResponse.d.ts +1 -1
- package/dist/openapi/models/ContactValidationErrorResponse.js +1 -1
- package/dist/openapi/models/CreateApiKey201Response.d.ts +1 -1
- package/dist/openapi/models/CreateApiKey201Response.js +1 -1
- package/dist/openapi/models/CreateApiKey201ResponseData.d.ts +1 -1
- package/dist/openapi/models/CreateApiKey201ResponseData.js +1 -1
- package/dist/openapi/models/CreateApiKeyRequest.d.ts +1 -1
- package/dist/openapi/models/CreateApiKeyRequest.js +1 -1
- package/dist/openapi/models/CreateBillingCheckoutSession422Response.d.ts +1 -1
- package/dist/openapi/models/CreateBillingCheckoutSession422Response.js +1 -1
- package/dist/openapi/models/CreateExternalImport403Response.d.ts +1 -1
- package/dist/openapi/models/CreateExternalImport403Response.js +1 -1
- package/dist/openapi/models/CreateExternalImport422Response.d.ts +1 -1
- package/dist/openapi/models/CreateExternalImport422Response.js +1 -1
- package/dist/openapi/models/CreateWorkflow401Response.d.ts +1 -1
- package/dist/openapi/models/CreateWorkflow401Response.js +1 -1
- package/dist/openapi/models/CreateWorkflow422Response.d.ts +1 -1
- package/dist/openapi/models/CreateWorkflow422Response.js +1 -1
- package/dist/openapi/models/CreditTransaction.d.ts +1 -1
- package/dist/openapi/models/CreditTransaction.js +1 -1
- package/dist/openapi/models/CreditTransactionSourceBucket.d.ts +1 -1
- package/dist/openapi/models/CreditTransactionSourceBucket.js +1 -1
- package/dist/openapi/models/CreditsBalanceResponse.d.ts +1 -1
- package/dist/openapi/models/CreditsBalanceResponse.js +1 -1
- package/dist/openapi/models/CreditsBalanceSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/CreditsBalanceSuccessEnvelope.js +1 -1
- package/dist/openapi/models/CreditsUsageResponse.d.ts +43 -1
- package/dist/openapi/models/CreditsUsageResponse.js +5 -1
- package/dist/openapi/models/CreditsUsageSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/CreditsUsageSuccessEnvelope.js +1 -1
- package/dist/openapi/models/Delivery.d.ts +1 -1
- package/dist/openapi/models/Delivery.js +1 -1
- package/dist/openapi/models/DeliveryOutputRef.d.ts +1 -1
- package/dist/openapi/models/DeliveryOutputRef.js +1 -1
- package/dist/openapi/models/DeliveryPlan.d.ts +1 -1
- package/dist/openapi/models/DeliveryPlan.js +1 -1
- package/dist/openapi/models/DeliveryPlanOutput.d.ts +1 -1
- package/dist/openapi/models/DeliveryPlanOutput.js +1 -1
- package/dist/openapi/models/DeliveryPlanReason.d.ts +1 -1
- package/dist/openapi/models/DeliveryPlanReason.js +1 -1
- package/dist/openapi/models/DeliverySelection.d.ts +1 -1
- package/dist/openapi/models/DeliverySelection.js +1 -1
- package/dist/openapi/models/DownloadBundle.d.ts +1 -1
- package/dist/openapi/models/DownloadBundle.js +1 -1
- package/dist/openapi/models/EmailNotify.d.ts +1 -1
- package/dist/openapi/models/EmailNotify.js +1 -1
- package/dist/openapi/models/EmptySuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/EmptySuccessEnvelope.js +1 -1
- package/dist/openapi/models/EndpointProjection.d.ts +1 -1
- package/dist/openapi/models/EndpointProjection.js +1 -1
- package/dist/openapi/models/ErrorEnvelope.d.ts +1 -1
- package/dist/openapi/models/ErrorEnvelope.js +1 -1
- package/dist/openapi/models/EstimateQuality.d.ts +1 -1
- package/dist/openapi/models/EstimateQuality.js +1 -1
- package/dist/openapi/models/EstimateRange.d.ts +1 -1
- package/dist/openapi/models/EstimateRange.js +1 -1
- package/dist/openapi/models/ExternalDestination.d.ts +1 -1
- package/dist/openapi/models/ExternalDestination.js +1 -1
- package/dist/openapi/models/ExternalImportCreatedResponse.d.ts +1 -1
- package/dist/openapi/models/ExternalImportCreatedResponse.js +1 -1
- package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.js +1 -1
- package/dist/openapi/models/ExternalImportRequest.d.ts +1 -1
- package/dist/openapi/models/ExternalImportRequest.js +1 -1
- package/dist/openapi/models/ExternalImportToken.d.ts +1 -1
- package/dist/openapi/models/ExternalImportToken.js +1 -1
- package/dist/openapi/models/ExternalSource.d.ts +1 -1
- package/dist/openapi/models/ExternalSource.js +1 -1
- package/dist/openapi/models/FeatureNotAvailableResponse.d.ts +1 -1
- package/dist/openapi/models/FeatureNotAvailableResponse.js +1 -1
- package/dist/openapi/models/FeatureTierRestrictedResponse.d.ts +1 -1
- package/dist/openapi/models/FeatureTierRestrictedResponse.js +1 -1
- package/dist/openapi/models/FeatureViolation.d.ts +1 -1
- package/dist/openapi/models/FeatureViolation.js +1 -1
- package/dist/openapi/models/ImageEncodeCapabilities.d.ts +1 -1
- package/dist/openapi/models/ImageEncodeCapabilities.js +1 -1
- package/dist/openapi/models/JobDefinition.d.ts +1 -1
- package/dist/openapi/models/JobDefinition.js +1 -1
- package/dist/openapi/models/JobDownload.d.ts +1 -1
- package/dist/openapi/models/JobDownload.js +1 -1
- package/dist/openapi/models/JobInputV2.d.ts +1 -1
- package/dist/openapi/models/JobInputV2.js +1 -1
- package/dist/openapi/models/JobMediaClass.d.ts +1 -1
- package/dist/openapi/models/JobMediaClass.js +1 -1
- package/dist/openapi/models/JobOutputSource.d.ts +1 -1
- package/dist/openapi/models/JobOutputSource.js +1 -1
- package/dist/openapi/models/JobResponse.d.ts +23 -1
- package/dist/openapi/models/JobResponse.js +3 -1
- package/dist/openapi/models/JobStatus.d.ts +1 -1
- package/dist/openapi/models/JobStatus.js +1 -1
- package/dist/openapi/models/JobType.d.ts +1 -1
- package/dist/openapi/models/JobType.js +1 -1
- package/dist/openapi/models/LivenessResponse.d.ts +1 -1
- package/dist/openapi/models/LivenessResponse.js +1 -1
- package/dist/openapi/models/LoginUser200Response.d.ts +1 -1
- package/dist/openapi/models/LoginUser200Response.js +1 -1
- package/dist/openapi/models/LoginUser200ResponseData.d.ts +1 -1
- package/dist/openapi/models/LoginUser200ResponseData.js +1 -1
- package/dist/openapi/models/LoginUser200ResponseDataUser.d.ts +1 -1
- package/dist/openapi/models/LoginUser200ResponseDataUser.js +1 -1
- package/dist/openapi/models/LoginUser401Response.d.ts +1 -1
- package/dist/openapi/models/LoginUser401Response.js +1 -1
- package/dist/openapi/models/LoginUserRequest.d.ts +1 -1
- package/dist/openapi/models/LoginUserRequest.js +1 -1
- package/dist/openapi/models/LongFormConcurrencyLimitResponse.d.ts +1 -1
- package/dist/openapi/models/LongFormConcurrencyLimitResponse.js +1 -1
- package/dist/openapi/models/LongFormConcurrencyLimitResponseAllOfLinks.d.ts +1 -1
- package/dist/openapi/models/LongFormConcurrencyLimitResponseAllOfLinks.js +1 -1
- package/dist/openapi/models/MetadataResponse.d.ts +1 -1
- package/dist/openapi/models/MetadataResponse.js +1 -1
- package/dist/openapi/models/MetadataResponseDimensions.d.ts +1 -1
- package/dist/openapi/models/MetadataResponseDimensions.js +1 -1
- package/dist/openapi/models/MetadataResponseExif.d.ts +1 -1
- package/dist/openapi/models/MetadataResponseExif.js +1 -1
- package/dist/openapi/models/MetadataResponseExifGps.d.ts +1 -1
- package/dist/openapi/models/MetadataResponseExifGps.js +1 -1
- package/dist/openapi/models/MetadataSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/MetadataSuccessEnvelope.js +1 -1
- package/dist/openapi/models/MimeGroupSchema.d.ts +38 -1
- package/dist/openapi/models/MimeGroupSchema.js +5 -1
- package/dist/openapi/models/MultiInputSource.d.ts +1 -1
- package/dist/openapi/models/MultiInputSource.js +1 -1
- package/dist/openapi/models/MultipartCompleteRequest.d.ts +1 -1
- package/dist/openapi/models/MultipartCompleteRequest.js +1 -1
- package/dist/openapi/models/MultipartCompleteRequestPartsInner.d.ts +1 -1
- package/dist/openapi/models/MultipartCompleteRequestPartsInner.js +1 -1
- package/dist/openapi/models/MultipartCompleteResponse.d.ts +1 -1
- package/dist/openapi/models/MultipartCompleteResponse.js +1 -1
- package/dist/openapi/models/MultipartCompleteSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/MultipartCompleteSuccessEnvelope.js +1 -1
- package/dist/openapi/models/MultipartInitiateRequestMetadataHint.d.ts +1 -1
- package/dist/openapi/models/MultipartInitiateRequestMetadataHint.js +1 -1
- package/dist/openapi/models/MultipartInitiateResponse.d.ts +1 -1
- package/dist/openapi/models/MultipartInitiateResponse.js +1 -1
- package/dist/openapi/models/MultipartInitiateSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/MultipartInitiateSuccessEnvelope.js +1 -1
- package/dist/openapi/models/MultipartKeepaliveResponse.d.ts +1 -1
- package/dist/openapi/models/MultipartKeepaliveResponse.js +1 -1
- package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.js +1 -1
- package/dist/openapi/models/MultipartPartListing.d.ts +1 -1
- package/dist/openapi/models/MultipartPartListing.js +1 -1
- package/dist/openapi/models/MultipartPresignRequest.d.ts +1 -1
- package/dist/openapi/models/MultipartPresignRequest.js +1 -1
- package/dist/openapi/models/MultipartPresignResponse.d.ts +1 -1
- package/dist/openapi/models/MultipartPresignResponse.js +1 -1
- package/dist/openapi/models/MultipartPresignSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/MultipartPresignSuccessEnvelope.js +1 -1
- package/dist/openapi/models/MultipartStatusResponse.d.ts +1 -1
- package/dist/openapi/models/MultipartStatusResponse.js +1 -1
- package/dist/openapi/models/MultipartStatusSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/MultipartStatusSuccessEnvelope.js +1 -1
- package/dist/openapi/models/NotifyConfig.d.ts +1 -1
- package/dist/openapi/models/NotifyConfig.js +1 -1
- package/dist/openapi/models/OperationCapability.d.ts +1 -1
- package/dist/openapi/models/OperationCapability.js +1 -1
- package/dist/openapi/models/OperationDefinition.d.ts +1 -1
- package/dist/openapi/models/OperationDefinition.js +1 -1
- package/dist/openapi/models/OperationDownload.d.ts +103 -5
- package/dist/openapi/models/OperationDownload.js +1 -1
- package/dist/openapi/models/OperationInputModel.d.ts +1 -1
- package/dist/openapi/models/OperationInputModel.js +1 -1
- package/dist/openapi/models/OperationResponse.d.ts +1 -1
- package/dist/openapi/models/OperationResponse.js +1 -1
- package/dist/openapi/models/OperationResult.d.ts +1 -1
- package/dist/openapi/models/OperationResult.js +1 -1
- package/dist/openapi/models/OperationResultMetadata.d.ts +1 -1
- package/dist/openapi/models/OperationResultMetadata.js +1 -1
- package/dist/openapi/models/OperationResultMetrics.d.ts +1 -1
- package/dist/openapi/models/OperationResultMetrics.js +1 -1
- package/dist/openapi/models/OperationSchemaDefinition.d.ts +1 -1
- package/dist/openapi/models/OperationSchemaDefinition.js +1 -1
- package/dist/openapi/models/OperationStatus.d.ts +1 -1
- package/dist/openapi/models/OperationStatus.js +1 -1
- package/dist/openapi/models/OperationType.d.ts +1 -1
- package/dist/openapi/models/OperationType.js +1 -1
- package/dist/openapi/models/OperationsSchemaResponse.d.ts +1 -1
- package/dist/openapi/models/OperationsSchemaResponse.js +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.d.ts +10 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.js +4 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.d.ts +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.js +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.d.ts +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.js +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.d.ts +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.js +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesProcessing.d.ts +33 -0
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesProcessing.js +42 -0
- package/dist/openapi/models/OptionSchema.d.ts +1 -1
- package/dist/openapi/models/OptionSchema.js +1 -1
- package/dist/openapi/models/OutputProperties.d.ts +1 -1
- package/dist/openapi/models/OutputProperties.js +1 -1
- package/dist/openapi/models/OutputPropertiesIsAnimated.d.ts +1 -1
- package/dist/openapi/models/OutputPropertiesIsAnimated.js +1 -1
- package/dist/openapi/models/PerRoleCardinalityEntry.d.ts +1 -1
- package/dist/openapi/models/PerRoleCardinalityEntry.js +1 -1
- package/dist/openapi/models/PerValueAvailabilityEntry.d.ts +1 -1
- package/dist/openapi/models/PerValueAvailabilityEntry.js +1 -1
- package/dist/openapi/models/PresignedUrlPart.d.ts +1 -1
- package/dist/openapi/models/PresignedUrlPart.js +1 -1
- package/dist/openapi/models/ProbePendingResponse.d.ts +1 -1
- package/dist/openapi/models/ProbePendingResponse.js +1 -1
- package/dist/openapi/models/ProcessingClass.d.ts +1 -1
- package/dist/openapi/models/ProcessingClass.js +1 -1
- package/dist/openapi/models/ProcessingClassBandViolation.d.ts +1 -1
- package/dist/openapi/models/ProcessingClassBandViolation.js +1 -1
- package/dist/openapi/models/ProcessingClassConstraints.d.ts +1 -1
- package/dist/openapi/models/ProcessingClassConstraints.js +1 -1
- package/dist/openapi/models/ProcessingClassEntry.d.ts +1 -1
- package/dist/openapi/models/ProcessingClassEntry.js +1 -1
- package/dist/openapi/models/ProcessingClassExceedsBandResponse.d.ts +1 -1
- package/dist/openapi/models/ProcessingClassExceedsBandResponse.js +1 -1
- package/dist/openapi/models/ProcessingClassHint.d.ts +23 -6
- package/dist/openapi/models/ProcessingClassHint.js +23 -6
- package/dist/openapi/models/ProcessingClassReason.d.ts +1 -1
- package/dist/openapi/models/ProcessingClassReason.js +1 -1
- package/dist/openapi/models/ProcessingClassRejectReason.d.ts +1 -1
- package/dist/openapi/models/ProcessingClassRejectReason.js +1 -1
- package/dist/openapi/models/ProcessingPlan.d.ts +1 -1
- package/dist/openapi/models/ProcessingPlan.js +1 -1
- package/dist/openapi/models/ProcessingPlanJob.d.ts +1 -1
- package/dist/openapi/models/ProcessingPlanJob.js +1 -1
- package/dist/openapi/models/ReEncodeDecision.d.ts +1 -1
- package/dist/openapi/models/ReEncodeDecision.js +1 -1
- package/dist/openapi/models/ReadinessResponse.d.ts +1 -1
- package/dist/openapi/models/ReadinessResponse.js +1 -1
- package/dist/openapi/models/RegisterUser422Response.d.ts +1 -1
- package/dist/openapi/models/RegisterUser422Response.js +1 -1
- package/dist/openapi/models/RegisterUserRequest.d.ts +1 -1
- package/dist/openapi/models/RegisterUserRequest.js +1 -1
- package/dist/openapi/models/ResendVerificationEmailRequest.d.ts +1 -1
- package/dist/openapi/models/ResendVerificationEmailRequest.js +1 -1
- package/dist/openapi/models/ResetPasswordRequest.d.ts +1 -1
- package/dist/openapi/models/ResetPasswordRequest.js +1 -1
- package/dist/openapi/models/ResponseEnvelope.d.ts +1 -1
- package/dist/openapi/models/ResponseEnvelope.js +1 -1
- package/dist/openapi/models/RetryResponse.d.ts +1 -1
- package/dist/openapi/models/RetryResponse.js +1 -1
- package/dist/openapi/models/RetrySuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/RetrySuccessEnvelope.js +1 -1
- package/dist/openapi/models/SseCompletionBase.d.ts +1 -1
- package/dist/openapi/models/SseCompletionBase.js +1 -1
- package/dist/openapi/models/SseEventType.d.ts +1 -1
- package/dist/openapi/models/SseEventType.js +1 -1
- package/dist/openapi/models/SseJobCompletedData.d.ts +1 -1
- package/dist/openapi/models/SseJobCompletedData.js +1 -1
- package/dist/openapi/models/SseJobFailedData.d.ts +1 -1
- package/dist/openapi/models/SseJobFailedData.js +1 -1
- package/dist/openapi/models/SseMultiOutputCompletion.d.ts +1 -1
- package/dist/openapi/models/SseMultiOutputCompletion.js +1 -1
- package/dist/openapi/models/SseMultiOutputCompletionMetrics.d.ts +1 -1
- package/dist/openapi/models/SseMultiOutputCompletionMetrics.js +1 -1
- package/dist/openapi/models/SseMultiOutputCompletionWithKind.d.ts +1 -1
- package/dist/openapi/models/SseMultiOutputCompletionWithKind.js +1 -1
- package/dist/openapi/models/SseMultiOutputResultEntry.d.ts +9 -4
- package/dist/openapi/models/SseMultiOutputResultEntry.js +1 -1
- package/dist/openapi/models/SseOperationCompletedData.d.ts +1 -1
- package/dist/openapi/models/SseOperationCompletedData.js +1 -1
- package/dist/openapi/models/SseOperationCompletionResult.d.ts +1 -1
- package/dist/openapi/models/SseOperationCompletionResult.js +1 -1
- package/dist/openapi/models/SseOperationFailedData.d.ts +1 -1
- package/dist/openapi/models/SseOperationFailedData.js +1 -1
- package/dist/openapi/models/SseOperationProgressData.d.ts +1 -1
- package/dist/openapi/models/SseOperationProgressData.js +1 -1
- package/dist/openapi/models/SseSingleOutputCompletion.d.ts +1 -1
- package/dist/openapi/models/SseSingleOutputCompletion.js +1 -1
- package/dist/openapi/models/SseWorkflowTerminalData.d.ts +1 -1
- package/dist/openapi/models/SseWorkflowTerminalData.js +1 -1
- package/dist/openapi/models/TierRestrictionKind.d.ts +1 -1
- package/dist/openapi/models/TierRestrictionKind.js +1 -1
- package/dist/openapi/models/TierRestrictionResponse.d.ts +1 -1
- package/dist/openapi/models/TierRestrictionResponse.js +1 -1
- package/dist/openapi/models/UpdateProfile200Response.d.ts +1 -1
- package/dist/openapi/models/UpdateProfile200Response.js +1 -1
- package/dist/openapi/models/UpdateProfile200ResponseData.d.ts +1 -1
- package/dist/openapi/models/UpdateProfile200ResponseData.js +1 -1
- package/dist/openapi/models/UpdateProfile422Response.d.ts +1 -1
- package/dist/openapi/models/UpdateProfile422Response.js +1 -1
- package/dist/openapi/models/UpdateProfileRequest.d.ts +1 -1
- package/dist/openapi/models/UpdateProfileRequest.js +1 -1
- package/dist/openapi/models/UploadConstraintsApplied.d.ts +1 -1
- package/dist/openapi/models/UploadConstraintsApplied.js +1 -1
- package/dist/openapi/models/UploadDurationExceedsTierResponse.d.ts +1 -1
- package/dist/openapi/models/UploadDurationExceedsTierResponse.js +1 -1
- package/dist/openapi/models/UploadFile403Response.d.ts +1 -1
- package/dist/openapi/models/UploadFile403Response.js +1 -1
- package/dist/openapi/models/UploadFile422Response.d.ts +1 -1
- package/dist/openapi/models/UploadFile422Response.js +1 -1
- package/dist/openapi/models/UploadProbeMediaMetadata.d.ts +1 -1
- package/dist/openapi/models/UploadProbeMediaMetadata.js +1 -1
- package/dist/openapi/models/UploadProbeProcessingClass.d.ts +1 -1
- package/dist/openapi/models/UploadProbeProcessingClass.js +1 -1
- package/dist/openapi/models/UploadProbeResponse.d.ts +1 -1
- package/dist/openapi/models/UploadProbeResponse.js +1 -1
- package/dist/openapi/models/UploadProbeStatus.d.ts +1 -1
- package/dist/openapi/models/UploadProbeStatus.js +1 -1
- package/dist/openapi/models/UploadProbeSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/UploadProbeSuccessEnvelope.js +1 -1
- package/dist/openapi/models/UploadResponse.d.ts +1 -1
- package/dist/openapi/models/UploadResponse.js +1 -1
- package/dist/openapi/models/UploadSizeExceedsTierResponse.d.ts +1 -1
- package/dist/openapi/models/UploadSizeExceedsTierResponse.js +1 -1
- package/dist/openapi/models/UploadSource.d.ts +1 -19
- package/dist/openapi/models/UploadSource.js +1 -3
- package/dist/openapi/models/UploadSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/UploadSuccessEnvelope.js +1 -1
- package/dist/openapi/models/UploadThresholds.d.ts +1 -1
- package/dist/openapi/models/UploadThresholds.js +1 -1
- package/dist/openapi/models/UserTier.d.ts +1 -1
- package/dist/openapi/models/UserTier.js +1 -1
- package/dist/openapi/models/ValidationErrorEnvelope.d.ts +1 -1
- package/dist/openapi/models/ValidationErrorEnvelope.js +1 -1
- package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.d.ts +1 -1
- package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.js +1 -1
- package/dist/openapi/models/VerifyEmailRequest.d.ts +1 -1
- package/dist/openapi/models/VerifyEmailRequest.js +1 -1
- package/dist/openapi/models/WarningType.d.ts +1 -1
- package/dist/openapi/models/WarningType.js +1 -1
- package/dist/openapi/models/WebhookOperationContext.d.ts +1 -1
- package/dist/openapi/models/WebhookOperationContext.js +1 -1
- package/dist/openapi/models/WebhookPayload.d.ts +1 -1
- package/dist/openapi/models/WebhookPayload.js +1 -1
- package/dist/openapi/models/WorkflowArchiveResponse.d.ts +81 -0
- package/dist/openapi/models/WorkflowArchiveResponse.js +71 -0
- package/dist/openapi/models/WorkflowArchiveSuccessEnvelope.d.ts +46 -0
- package/dist/openapi/models/WorkflowArchiveSuccessEnvelope.js +54 -0
- package/dist/openapi/models/WorkflowCancelBillingEffect.d.ts +1 -1
- package/dist/openapi/models/WorkflowCancelBillingEffect.js +1 -1
- package/dist/openapi/models/WorkflowCancelResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowCancelResponse.js +1 -1
- package/dist/openapi/models/WorkflowCancelSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/WorkflowCancelSuccessEnvelope.js +1 -1
- package/dist/openapi/models/WorkflowCreateRequest.d.ts +1 -1
- package/dist/openapi/models/WorkflowCreateRequest.js +1 -1
- package/dist/openapi/models/WorkflowCreateResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowCreateResponse.js +1 -1
- package/dist/openapi/models/WorkflowCreateSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/WorkflowCreateSuccessEnvelope.js +1 -1
- package/dist/openapi/models/WorkflowCreditSummary.d.ts +1 -1
- package/dist/openapi/models/WorkflowCreditSummary.js +1 -1
- package/dist/openapi/models/WorkflowDownloadResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowDownloadResponse.js +1 -1
- package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.js +1 -1
- package/dist/openapi/models/WorkflowEdge.d.ts +1 -1
- package/dist/openapi/models/WorkflowEdge.js +1 -1
- package/dist/openapi/models/WorkflowExpiredResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowExpiredResponse.js +1 -1
- package/dist/openapi/models/WorkflowListResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowListResponse.js +1 -1
- package/dist/openapi/models/WorkflowListSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/WorkflowListSuccessEnvelope.js +1 -1
- package/dist/openapi/models/WorkflowPauseRequiredAction.d.ts +1 -1
- package/dist/openapi/models/WorkflowPauseRequiredAction.js +1 -1
- package/dist/openapi/models/WorkflowPausedDetail.d.ts +1 -1
- package/dist/openapi/models/WorkflowPausedDetail.js +1 -1
- package/dist/openapi/models/WorkflowPausedDetailLinks.d.ts +1 -1
- package/dist/openapi/models/WorkflowPausedDetailLinks.js +1 -1
- package/dist/openapi/models/WorkflowProcessing.d.ts +1 -1
- package/dist/openapi/models/WorkflowProcessing.js +1 -1
- package/dist/openapi/models/WorkflowRestoreResponse.d.ts +60 -0
- package/dist/openapi/models/WorkflowRestoreResponse.js +58 -0
- package/dist/openapi/models/WorkflowRestoreSuccessEnvelope.d.ts +46 -0
- package/dist/openapi/models/WorkflowRestoreSuccessEnvelope.js +54 -0
- package/dist/openapi/models/WorkflowResumeResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowResumeResponse.js +1 -1
- package/dist/openapi/models/WorkflowResumeSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/WorkflowResumeSuccessEnvelope.js +1 -1
- package/dist/openapi/models/WorkflowSource.d.ts +1 -1
- package/dist/openapi/models/WorkflowSource.js +1 -1
- package/dist/openapi/models/WorkflowStatus.d.ts +1 -1
- package/dist/openapi/models/WorkflowStatus.js +1 -1
- package/dist/openapi/models/WorkflowStatusResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowStatusResponse.js +1 -1
- package/dist/openapi/models/WorkflowStatusSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/WorkflowStatusSuccessEnvelope.js +1 -1
- package/dist/openapi/models/WorkflowSummary.d.ts +24 -1
- package/dist/openapi/models/WorkflowSummary.js +5 -1
- package/dist/openapi/models/WorkflowSummaryJob.d.ts +11 -5
- package/dist/openapi/models/WorkflowSummaryJob.js +1 -1
- package/dist/openapi/models/WorkflowWarning.d.ts +1 -1
- package/dist/openapi/models/WorkflowWarning.js +1 -1
- package/dist/openapi/models/WorkflowWarningSeverity.d.ts +1 -1
- package/dist/openapi/models/WorkflowWarningSeverity.js +1 -1
- package/dist/openapi/models/index.d.ts +5 -0
- package/dist/openapi/models/index.js +5 -0
- package/dist/openapi/runtime.d.ts +1 -1
- package/dist/openapi/runtime.js +1 -1
- package/dist/operations/compress.metadata.js +3 -0
- package/dist/operations/thumbnail.d.ts +23 -0
- package/dist/operations/thumbnail.js +17 -0
- package/dist/operations/thumbnail.metadata.js +29 -0
- package/openapi/api.yaml +565 -36
- package/operation-capabilities/operation-capabilities.json +1 -1
- package/operations/schemas/audio_to_video.yaml +1 -0
- package/operations/schemas/compress.yaml +52 -2
- package/operations/schemas/convert.yaml +6 -1
- package/operations/schemas/split.yaml +13 -3
- package/operations/schemas/thumbnail.yaml +143 -2
- package/package.json +1 -1
package/openapi/api.yaml
CHANGED
|
@@ -89,7 +89,7 @@ info:
|
|
|
89
89
|
of truth instead of hardcoding magic numbers. A runtime
|
|
90
90
|
`GET /api/uploads/limits` endpoint for dynamic discovery
|
|
91
91
|
(per-tier / per-environment overrides) is a deferred follow-up.
|
|
92
|
-
version: 2.
|
|
92
|
+
version: 2.180.0
|
|
93
93
|
contact:
|
|
94
94
|
name: API Support
|
|
95
95
|
|
|
@@ -1192,6 +1192,28 @@ paths:
|
|
|
1192
1192
|
minimum: 1
|
|
1193
1193
|
maximum: 100
|
|
1194
1194
|
default: 20
|
|
1195
|
+
- name: archived
|
|
1196
|
+
in: query
|
|
1197
|
+
required: false
|
|
1198
|
+
description: |
|
|
1199
|
+
Archived-row filter (ticket
|
|
1200
|
+
[`j2s6T2qf`](https://trello.com/c/j2s6T2qf)). **Default `false`**:
|
|
1201
|
+
archived workflows are EXCLUDED, so archiving declutters the
|
|
1202
|
+
default view. **`true`**: list ONLY archived workflows (the
|
|
1203
|
+
"archive" view, for review or recovery via
|
|
1204
|
+
`POST /api/workflows/{id}/restore`).
|
|
1205
|
+
|
|
1206
|
+
Archiving is a **recoverable declutter, NOT a delete** — an
|
|
1207
|
+
archived workflow keeps every record and stays fully readable via
|
|
1208
|
+
`GET /api/workflows/{id}/status` and its downloads; only this list
|
|
1209
|
+
hides it by default. Archive an individual workflow via
|
|
1210
|
+
`POST /api/workflows/{id}/archive`, restore it via
|
|
1211
|
+
`POST /api/workflows/{id}/restore`. (A future "show both" view, if
|
|
1212
|
+
needed, would be a separate additive parameter — this boolean
|
|
1213
|
+
stays exclude-vs-archived-only.)
|
|
1214
|
+
schema:
|
|
1215
|
+
type: boolean
|
|
1216
|
+
default: false
|
|
1195
1217
|
responses:
|
|
1196
1218
|
'200':
|
|
1197
1219
|
description: Cursor-paginated summary list of the caller's workflows.
|
|
@@ -2513,6 +2535,186 @@ paths:
|
|
|
2513
2535
|
schema:
|
|
2514
2536
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
2515
2537
|
|
|
2538
|
+
/api/workflows/{id}/archive:
|
|
2539
|
+
post:
|
|
2540
|
+
summary: Archive a workflow
|
|
2541
|
+
description: |
|
|
2542
|
+
Archive a terminal workflow so it drops out of the caller's default
|
|
2543
|
+
workflow list. **Recoverable declutter, NOT a delete** — the workflow,
|
|
2544
|
+
its jobs, its operations, and its outputs are all retained and stay
|
|
2545
|
+
fully readable: `GET /api/workflows/{id}/status` and every download
|
|
2546
|
+
link keep working unchanged. Archiving only hides the row from the
|
|
2547
|
+
default `GET /api/workflows` view; `?archived=true` lists archived
|
|
2548
|
+
rows, and `POST /api/workflows/{id}/restore` brings one back.
|
|
2549
|
+
|
|
2550
|
+
Archive sets a dedicated `archived` flag that is **distinct from
|
|
2551
|
+
deletion** — it is the Gmail-style "archive" (reversible, user-owned),
|
|
2552
|
+
not the admin-only hard delete, and it does NOT set any soft-delete /
|
|
2553
|
+
`deleted_at` state. Hard deletion is not exposed to callers.
|
|
2554
|
+
|
|
2555
|
+
Owner-scoped. Idempotent — archiving an already-archived workflow
|
|
2556
|
+
returns 200 with the same shape (`archived_at` reflects the FIRST
|
|
2557
|
+
archive instant, unchanged by a re-archive).
|
|
2558
|
+
|
|
2559
|
+
**Terminal workflows only.** Archive is allowed only once the workflow
|
|
2560
|
+
has reached a terminal status (`completed`, `failed`,
|
|
2561
|
+
`partially_failed`, `cancelled`, `expired`). Archiving an active
|
|
2562
|
+
workflow (`pending`, `in_progress`, `paused_insufficient_credits`) is
|
|
2563
|
+
a **409** — cancel it first (`POST /api/workflows/{id}/cancel`) or wait
|
|
2564
|
+
for it to finish. Archiving does NOT change the workflow's status; it
|
|
2565
|
+
stays terminal and the response echoes it unchanged.
|
|
2566
|
+
operationId: archiveWorkflow
|
|
2567
|
+
security: [{bearerAuth: []}, {sessionAuth: []}] # required (explicit 401 in response set)
|
|
2568
|
+
x-identity-scoped: true # workflow-ownership-scoped per ADR-0016 D3
|
|
2569
|
+
tags:
|
|
2570
|
+
- Workflow
|
|
2571
|
+
parameters:
|
|
2572
|
+
- name: id
|
|
2573
|
+
in: path
|
|
2574
|
+
required: true
|
|
2575
|
+
description: Workflow ID (UUID v7)
|
|
2576
|
+
schema:
|
|
2577
|
+
$ref: '#/components/schemas/UuidV7'
|
|
2578
|
+
responses:
|
|
2579
|
+
'200':
|
|
2580
|
+
description: Workflow archived (or already archived — idempotent).
|
|
2581
|
+
content:
|
|
2582
|
+
application/json:
|
|
2583
|
+
schema:
|
|
2584
|
+
$ref: '#/components/schemas/WorkflowArchiveSuccessEnvelope'
|
|
2585
|
+
examples:
|
|
2586
|
+
archived:
|
|
2587
|
+
summary: Archive a completed workflow
|
|
2588
|
+
value:
|
|
2589
|
+
success: true
|
|
2590
|
+
data:
|
|
2591
|
+
workflow_id: "019539ac-2222-7000-8000-000000000001"
|
|
2592
|
+
status: "completed"
|
|
2593
|
+
archived: true
|
|
2594
|
+
archived_at: "2026-07-17T20:15:00Z"
|
|
2595
|
+
idempotent_rearchive:
|
|
2596
|
+
summary: Archiving an already-archived workflow
|
|
2597
|
+
value:
|
|
2598
|
+
success: true
|
|
2599
|
+
data:
|
|
2600
|
+
workflow_id: "019539ac-2222-7000-8000-000000000002"
|
|
2601
|
+
status: "failed"
|
|
2602
|
+
archived: true
|
|
2603
|
+
archived_at: "2026-07-17T19:55:00Z"
|
|
2604
|
+
'401':
|
|
2605
|
+
description: Authentication required.
|
|
2606
|
+
content:
|
|
2607
|
+
application/json:
|
|
2608
|
+
schema:
|
|
2609
|
+
$ref: '#/components/schemas/ErrorEnvelope'
|
|
2610
|
+
'404':
|
|
2611
|
+
description: Workflow not found OR not owned by the caller (same shape — no ownership leak).
|
|
2612
|
+
content:
|
|
2613
|
+
application/json:
|
|
2614
|
+
schema:
|
|
2615
|
+
$ref: '#/components/schemas/ErrorEnvelope'
|
|
2616
|
+
'409':
|
|
2617
|
+
description: |
|
|
2618
|
+
Workflow is in a non-terminal state (`pending`, `in_progress`,
|
|
2619
|
+
`paused_insufficient_credits`) and cannot be archived yet — only
|
|
2620
|
+
terminal workflows are archivable. Cancel it first
|
|
2621
|
+
(`POST /api/workflows/{id}/cancel`) or wait for it to finish, then
|
|
2622
|
+
retry. Check status via `GET /api/workflows/{id}/status`.
|
|
2623
|
+
content:
|
|
2624
|
+
application/json:
|
|
2625
|
+
schema:
|
|
2626
|
+
$ref: '#/components/schemas/ErrorEnvelope'
|
|
2627
|
+
'429':
|
|
2628
|
+
description: Rate limit exceeded
|
|
2629
|
+
content:
|
|
2630
|
+
application/json:
|
|
2631
|
+
schema:
|
|
2632
|
+
$ref: '#/components/schemas/ErrorEnvelope'
|
|
2633
|
+
'500':
|
|
2634
|
+
description: Internal server error
|
|
2635
|
+
content:
|
|
2636
|
+
application/json:
|
|
2637
|
+
schema:
|
|
2638
|
+
$ref: '#/components/schemas/ErrorEnvelope'
|
|
2639
|
+
|
|
2640
|
+
/api/workflows/{id}/restore:
|
|
2641
|
+
post:
|
|
2642
|
+
summary: Restore (un-archive) a workflow
|
|
2643
|
+
description: |
|
|
2644
|
+
Restore a previously-archived workflow so it reappears in the caller's
|
|
2645
|
+
default `GET /api/workflows` list. The exact inverse of
|
|
2646
|
+
`POST /api/workflows/{id}/archive` — it clears the `archived` flag and
|
|
2647
|
+
nothing else. Status, jobs, operations, outputs, and download links are
|
|
2648
|
+
untouched (archiving never hid or changed any of those; it only hid the
|
|
2649
|
+
list row).
|
|
2650
|
+
|
|
2651
|
+
Owner-scoped. Idempotent — restoring a workflow that is not archived
|
|
2652
|
+
is a harmless no-op that returns 200 with `archived: false`. Because a
|
|
2653
|
+
non-archived workflow can be in any lifecycle state, the echoed
|
|
2654
|
+
`status` is the workflow's unchanged status (any `WorkflowStatus`
|
|
2655
|
+
value), not a fixed terminal subset. There is no 409: un-archiving is
|
|
2656
|
+
always safe.
|
|
2657
|
+
operationId: restoreWorkflow
|
|
2658
|
+
security: [{bearerAuth: []}, {sessionAuth: []}] # required (explicit 401 in response set)
|
|
2659
|
+
x-identity-scoped: true # workflow-ownership-scoped per ADR-0016 D3
|
|
2660
|
+
tags:
|
|
2661
|
+
- Workflow
|
|
2662
|
+
parameters:
|
|
2663
|
+
- name: id
|
|
2664
|
+
in: path
|
|
2665
|
+
required: true
|
|
2666
|
+
description: Workflow ID (UUID v7)
|
|
2667
|
+
schema:
|
|
2668
|
+
$ref: '#/components/schemas/UuidV7'
|
|
2669
|
+
responses:
|
|
2670
|
+
'200':
|
|
2671
|
+
description: Workflow restored (or was already not archived — idempotent).
|
|
2672
|
+
content:
|
|
2673
|
+
application/json:
|
|
2674
|
+
schema:
|
|
2675
|
+
$ref: '#/components/schemas/WorkflowRestoreSuccessEnvelope'
|
|
2676
|
+
examples:
|
|
2677
|
+
restored:
|
|
2678
|
+
summary: Restore an archived workflow
|
|
2679
|
+
value:
|
|
2680
|
+
success: true
|
|
2681
|
+
data:
|
|
2682
|
+
workflow_id: "019539ac-2222-7000-8000-000000000001"
|
|
2683
|
+
status: "completed"
|
|
2684
|
+
archived: false
|
|
2685
|
+
idempotent_restore:
|
|
2686
|
+
summary: Restoring a workflow that was not archived
|
|
2687
|
+
value:
|
|
2688
|
+
success: true
|
|
2689
|
+
data:
|
|
2690
|
+
workflow_id: "019539ac-2222-7000-8000-000000000002"
|
|
2691
|
+
status: "in_progress"
|
|
2692
|
+
archived: false
|
|
2693
|
+
'401':
|
|
2694
|
+
description: Authentication required.
|
|
2695
|
+
content:
|
|
2696
|
+
application/json:
|
|
2697
|
+
schema:
|
|
2698
|
+
$ref: '#/components/schemas/ErrorEnvelope'
|
|
2699
|
+
'404':
|
|
2700
|
+
description: Workflow not found OR not owned by the caller (same shape — no ownership leak).
|
|
2701
|
+
content:
|
|
2702
|
+
application/json:
|
|
2703
|
+
schema:
|
|
2704
|
+
$ref: '#/components/schemas/ErrorEnvelope'
|
|
2705
|
+
'429':
|
|
2706
|
+
description: Rate limit exceeded
|
|
2707
|
+
content:
|
|
2708
|
+
application/json:
|
|
2709
|
+
schema:
|
|
2710
|
+
$ref: '#/components/schemas/ErrorEnvelope'
|
|
2711
|
+
'500':
|
|
2712
|
+
description: Internal server error
|
|
2713
|
+
content:
|
|
2714
|
+
application/json:
|
|
2715
|
+
schema:
|
|
2716
|
+
$ref: '#/components/schemas/ErrorEnvelope'
|
|
2717
|
+
|
|
2516
2718
|
# ============================================
|
|
2517
2719
|
# OPERATIONS ENDPOINTS
|
|
2518
2720
|
# ============================================
|
|
@@ -5726,25 +5928,6 @@ components:
|
|
|
5726
5928
|
const: upload
|
|
5727
5929
|
file_id:
|
|
5728
5930
|
$ref: '#/components/schemas/UuidV7'
|
|
5729
|
-
declared_duration_seconds:
|
|
5730
|
-
type:
|
|
5731
|
-
- number
|
|
5732
|
-
- "null"
|
|
5733
|
-
minimum: 0
|
|
5734
|
-
description: |
|
|
5735
|
-
OPTIONAL client-declared media duration in seconds, measured on the
|
|
5736
|
-
client **before** upload (e.g. the browser's
|
|
5737
|
-
`HTMLVideoElement.duration`). A **routing hint** for long-form
|
|
5738
|
-
classification only ([`frlwBuQ5`](https://trello.com/c/frlwBuQ5)):
|
|
5739
|
-
the server prefers its own authoritative media probe and falls back
|
|
5740
|
-
to this value **only when the async probe duration is null** (e.g.
|
|
5741
|
-
the probe has not completed at classification time). It never
|
|
5742
|
-
overrides a successful probe, and is not billed against — duration
|
|
5743
|
-
billing uses the probed value. Omit (or `null`) when unknown —
|
|
5744
|
-
**absent behaves exactly as today** (probe-only). Ignored for
|
|
5745
|
-
non-timed media. Only meaningful on an `upload` source (the one the
|
|
5746
|
-
client measured locally); other source leaves do not carry it.
|
|
5747
|
-
example: 187.5
|
|
5748
5931
|
|
|
5749
5932
|
JobOutputSource:
|
|
5750
5933
|
type: object
|
|
@@ -6561,6 +6744,44 @@ components:
|
|
|
6561
6744
|
offset:
|
|
6562
6745
|
type: integer
|
|
6563
6746
|
minimum: 0
|
|
6747
|
+
current_cycle_net_spent:
|
|
6748
|
+
type: integer
|
|
6749
|
+
minimum: 0
|
|
6750
|
+
description: |
|
|
6751
|
+
OPTIONAL/additive. Net credits the caller has spent in the CURRENT
|
|
6752
|
+
billing cycle — the monthly-grant period (ledger rows with
|
|
6753
|
+
`created_at` >= the current cycle start). Integer credit units, same
|
|
6754
|
+
as `CreditTransaction.amount` and the balance fields.
|
|
6755
|
+
|
|
6756
|
+
**"Net" = credits actually consumed**, i.e. reservation debits minus
|
|
6757
|
+
the credit-returns that give credits back:
|
|
6758
|
+
|
|
6759
|
+
net = Σ |workflow-reservation debits|
|
|
6760
|
+
− Σ |credit-return rows|
|
|
6761
|
+
|
|
6762
|
+
Rows are identified by **`reference_type`, NOT `type`** — there is
|
|
6763
|
+
no `type: refund` row. The debit is
|
|
6764
|
+
`reference_type: workflow_reservation` (a negative `amount`); the
|
|
6765
|
+
credit-return family is `reference_type` ∈ {`workflow_settle_refund`,
|
|
6766
|
+
`workflow_reservation_release`, `workflow_pause_release`,
|
|
6767
|
+
`workflow_expiry_release`} (positive amounts). This nets a fully
|
|
6768
|
+
released / cancelled / expired reservation to ~0 and a settled one to
|
|
6769
|
+
its non-refundable consumed portion — so it reflects credits ACTUALLY
|
|
6770
|
+
consumed, not gross reservations (a raw settled-sum would overstate
|
|
6771
|
+
spend, since the returns are separate positive rows). Mirrors the
|
|
6772
|
+
reserved-minus-refunded semantics of the API's authoritative
|
|
6773
|
+
`WorkflowCreditSummary` reads. **Absent** for legacy/unsupported
|
|
6774
|
+
reads — treat as unknown, not `0`. Per ticket
|
|
6775
|
+
[`5aXGShPy`](https://trello.com/c/5aXGShPy).
|
|
6776
|
+
lifetime_net_spent:
|
|
6777
|
+
type: integer
|
|
6778
|
+
minimum: 0
|
|
6779
|
+
description: |
|
|
6780
|
+
OPTIONAL/additive. Same net-of-credit-returns formula as
|
|
6781
|
+
`current_cycle_net_spent`, but ALL-TIME (no cycle window) — the
|
|
6782
|
+
caller's total credits ever consumed. Integer credit units.
|
|
6783
|
+
**Absent** for legacy/unsupported reads — treat as unknown, not `0`.
|
|
6784
|
+
Per ticket [`5aXGShPy`](https://trello.com/c/5aXGShPy).
|
|
6564
6785
|
|
|
6565
6786
|
CreditsUsageSuccessEnvelope:
|
|
6566
6787
|
type: object
|
|
@@ -6817,6 +7038,99 @@ components:
|
|
|
6817
7038
|
data:
|
|
6818
7039
|
$ref: '#/components/schemas/WorkflowResumeResponse'
|
|
6819
7040
|
|
|
7041
|
+
WorkflowArchiveResponse:
|
|
7042
|
+
type: object
|
|
7043
|
+
description: |
|
|
7044
|
+
Response body for `POST /api/workflows/{id}/archive` (ticket
|
|
7045
|
+
[`j2s6T2qf`](https://trello.com/c/j2s6T2qf)). Archiving sets the
|
|
7046
|
+
`archived` flag so the row drops from the default workflow list; it
|
|
7047
|
+
does NOT change the workflow's status, delete anything, or hide it from
|
|
7048
|
+
`GET /api/workflows/{id}/status` or its downloads. Reversible via
|
|
7049
|
+
`POST /api/workflows/{id}/restore`.
|
|
7050
|
+
required:
|
|
7051
|
+
- workflow_id
|
|
7052
|
+
- status
|
|
7053
|
+
- archived
|
|
7054
|
+
- archived_at
|
|
7055
|
+
properties:
|
|
7056
|
+
workflow_id:
|
|
7057
|
+
$ref: '#/components/schemas/UuidV7'
|
|
7058
|
+
status:
|
|
7059
|
+
type: string
|
|
7060
|
+
enum:
|
|
7061
|
+
- completed
|
|
7062
|
+
- failed
|
|
7063
|
+
- partially_failed
|
|
7064
|
+
- cancelled
|
|
7065
|
+
- expired
|
|
7066
|
+
description: |
|
|
7067
|
+
The workflow's UNCHANGED terminal status — archive never mutates
|
|
7068
|
+
status, only sets the archived flag. Constrained to the terminal
|
|
7069
|
+
subset of `WorkflowStatus` (the only archivable states); an active
|
|
7070
|
+
workflow is a 409, never a 200.
|
|
7071
|
+
archived:
|
|
7072
|
+
type: boolean
|
|
7073
|
+
enum: [true]
|
|
7074
|
+
description: Always `true` on a 200 — the workflow is archived.
|
|
7075
|
+
archived_at:
|
|
7076
|
+
type: string
|
|
7077
|
+
format: date-time
|
|
7078
|
+
description: |
|
|
7079
|
+
ISO-8601 timestamp the workflow was FIRST archived. Idempotent —
|
|
7080
|
+
a re-archive of an already-archived workflow returns the original
|
|
7081
|
+
`archived_at`, unchanged.
|
|
7082
|
+
|
|
7083
|
+
WorkflowArchiveSuccessEnvelope:
|
|
7084
|
+
type: object
|
|
7085
|
+
additionalProperties: false
|
|
7086
|
+
required:
|
|
7087
|
+
- success
|
|
7088
|
+
- data
|
|
7089
|
+
properties:
|
|
7090
|
+
success:
|
|
7091
|
+
type: boolean
|
|
7092
|
+
enum: [true]
|
|
7093
|
+
data:
|
|
7094
|
+
$ref: '#/components/schemas/WorkflowArchiveResponse'
|
|
7095
|
+
|
|
7096
|
+
WorkflowRestoreResponse:
|
|
7097
|
+
type: object
|
|
7098
|
+
description: |
|
|
7099
|
+
Response body for `POST /api/workflows/{id}/restore` (ticket
|
|
7100
|
+
[`j2s6T2qf`](https://trello.com/c/j2s6T2qf)). Restoring clears the
|
|
7101
|
+
`archived` flag so the workflow reappears in the default list. The
|
|
7102
|
+
inverse of archive — status, jobs, outputs, and downloads are
|
|
7103
|
+
untouched.
|
|
7104
|
+
required:
|
|
7105
|
+
- workflow_id
|
|
7106
|
+
- status
|
|
7107
|
+
- archived
|
|
7108
|
+
properties:
|
|
7109
|
+
workflow_id:
|
|
7110
|
+
$ref: '#/components/schemas/UuidV7'
|
|
7111
|
+
status:
|
|
7112
|
+
$ref: '#/components/schemas/WorkflowStatus'
|
|
7113
|
+
archived:
|
|
7114
|
+
type: boolean
|
|
7115
|
+
enum: [false]
|
|
7116
|
+
description: |
|
|
7117
|
+
Always `false` on a 200 — the workflow is no longer archived
|
|
7118
|
+
(or was never archived; restore is an idempotent no-op there).
|
|
7119
|
+
No `archived_at` is returned once restored.
|
|
7120
|
+
|
|
7121
|
+
WorkflowRestoreSuccessEnvelope:
|
|
7122
|
+
type: object
|
|
7123
|
+
additionalProperties: false
|
|
7124
|
+
required:
|
|
7125
|
+
- success
|
|
7126
|
+
- data
|
|
7127
|
+
properties:
|
|
7128
|
+
success:
|
|
7129
|
+
type: boolean
|
|
7130
|
+
enum: [true]
|
|
7131
|
+
data:
|
|
7132
|
+
$ref: '#/components/schemas/WorkflowRestoreResponse'
|
|
7133
|
+
|
|
6820
7134
|
WorkflowExpiredResponse:
|
|
6821
7135
|
allOf:
|
|
6822
7136
|
- $ref: '#/components/schemas/ErrorEnvelope'
|
|
@@ -9393,12 +9707,29 @@ components:
|
|
|
9393
9707
|
description: |
|
|
9394
9708
|
Caller-supplied logical-policy hint on `WorkflowCreateRequest`.
|
|
9395
9709
|
NOT a backend selector — server is final authority on routing.
|
|
9710
|
+
|
|
9711
|
+
`auto` is the only committed value; the other three are
|
|
9712
|
+
`planned` — the API runtime returns `422 feature_not_available`
|
|
9713
|
+
for any non-`auto` value until they ship. Value availability is
|
|
9714
|
+
carried by `per_value_availability` below and promoted to the
|
|
9715
|
+
authoritative sidecar as
|
|
9716
|
+
`workflow_features.processing.class_hint` (keyed by request-shape
|
|
9717
|
+
path, mirroring `workflow_features.delivery.mode`; the decorative
|
|
9718
|
+
`x-availability`/openapi is not authoritative — consumers read the
|
|
9719
|
+
runtime endpoint / sidecar).
|
|
9720
|
+
|
|
9396
9721
|
- `auto` (default): server routes safely.
|
|
9397
|
-
- `short_form_only
|
|
9398
|
-
|
|
9399
|
-
|
|
9400
|
-
|
|
9401
|
-
|
|
9722
|
+
- `short_form_only` (planned): once shipped, fails fast when any
|
|
9723
|
+
job would require `long_form`. The dedicated fail-fast reject
|
|
9724
|
+
envelope is defined at graduation (co-design with the API
|
|
9725
|
+
handler); while planned the reject is the standard
|
|
9726
|
+
`feature_not_available`. NOTE: `tier_policy` is a success-path
|
|
9727
|
+
advisory reason on `ProcessingClassReason` (why an honored
|
|
9728
|
+
hint drove classification), NOT a 422 reject reason —
|
|
9729
|
+
`ProcessingClassRejectReason` stays ceiling-reasons only.
|
|
9730
|
+
- `long_form_allowed` (planned): caller accepts slower
|
|
9731
|
+
queue/runtime semantics.
|
|
9732
|
+
- `long_form_preferred` (planned): prefer `long_form` pool when
|
|
9402
9733
|
eligible (test/isolation use cases).
|
|
9403
9734
|
enum:
|
|
9404
9735
|
- auto
|
|
@@ -9406,6 +9737,11 @@ components:
|
|
|
9406
9737
|
- long_form_allowed
|
|
9407
9738
|
- long_form_preferred
|
|
9408
9739
|
default: auto
|
|
9740
|
+
per_value_availability:
|
|
9741
|
+
auto: { availability: stable }
|
|
9742
|
+
short_form_only: { availability: planned }
|
|
9743
|
+
long_form_allowed: { availability: planned }
|
|
9744
|
+
long_form_preferred: { availability: planned }
|
|
9409
9745
|
|
|
9410
9746
|
EstimateQuality:
|
|
9411
9747
|
type: string
|
|
@@ -10438,10 +10774,16 @@ components:
|
|
|
10438
10774
|
minimum: 0
|
|
10439
10775
|
description: |
|
|
10440
10776
|
OPTIONAL. Final job output size in bytes — the right side of the
|
|
10441
|
-
savings readout. The
|
|
10442
|
-
|
|
10443
|
-
|
|
10444
|
-
|
|
10777
|
+
before→after savings readout. The **main/terminal deliverable's**
|
|
10778
|
+
size: the **highest-position completed non-thumbnail** operation's
|
|
10779
|
+
output — **NOT a sum across the job's operations** (a thumbnail's
|
|
10780
|
+
size is excluded; for a compress+thumbnail job this is the compressed
|
|
10781
|
+
output). Authoritative per-output sizes remain on
|
|
10782
|
+
`GET /{id}/downloads`. Populated from the highest-position COMPLETED
|
|
10783
|
+
op, so it is **PROVISIONAL while the job is still running** (a
|
|
10784
|
+
later-completing op can become the main deliverable and change this
|
|
10785
|
+
value) and final only once the job reaches a **terminal** status.
|
|
10786
|
+
Absent until a non-thumbnail op has completed with a recorded size.
|
|
10445
10787
|
example: 491520
|
|
10446
10788
|
operation_types:
|
|
10447
10789
|
type: array
|
|
@@ -10506,6 +10848,24 @@ components:
|
|
|
10506
10848
|
oneOf:
|
|
10507
10849
|
- $ref: '#/components/schemas/WorkflowCreditSummary'
|
|
10508
10850
|
- type: 'null'
|
|
10851
|
+
archived:
|
|
10852
|
+
type: boolean
|
|
10853
|
+
description: |
|
|
10854
|
+
Whether this workflow is archived (hidden from the default list;
|
|
10855
|
+
surfaced only via `?archived=true`). Set by
|
|
10856
|
+
`POST /api/workflows/{id}/archive`, cleared by
|
|
10857
|
+
`POST /api/workflows/{id}/restore`. Archiving is a recoverable
|
|
10858
|
+
declutter — it does NOT delete the workflow or hide it from
|
|
10859
|
+
`GET /api/workflows/{id}/status` or its downloads. **OPTIONAL
|
|
10860
|
+
(additive)** — absent is treated as `false` (not archived),
|
|
10861
|
+
covering legacy rows written before this field existed. Per ticket
|
|
10862
|
+
[`j2s6T2qf`](https://trello.com/c/j2s6T2qf).
|
|
10863
|
+
archived_at:
|
|
10864
|
+
type: string
|
|
10865
|
+
format: date-time
|
|
10866
|
+
description: |
|
|
10867
|
+
ISO-8601 timestamp the workflow was archived. Present only when
|
|
10868
|
+
`archived: true`; absent otherwise. Additive/optional.
|
|
10509
10869
|
|
|
10510
10870
|
WorkflowCreditSummary:
|
|
10511
10871
|
type: object
|
|
@@ -10787,6 +11147,28 @@ components:
|
|
|
10787
11147
|
per-operation `OperationResult.size_bytes` / `GET /{id}/downloads`).
|
|
10788
11148
|
OPTIONAL for the same webhook-payload reason as `input_filename`.
|
|
10789
11149
|
example: 1258291
|
|
11150
|
+
output_size_bytes:
|
|
11151
|
+
type: integer
|
|
11152
|
+
format: int64
|
|
11153
|
+
minimum: 0
|
|
11154
|
+
description: |
|
|
11155
|
+
OPTIONAL. Final job output size in bytes — the **right** side of the
|
|
11156
|
+
before→after savings readout. The **main/terminal deliverable's**
|
|
11157
|
+
size: the **highest-position completed non-thumbnail** operation's
|
|
11158
|
+
output — **NOT a sum across the job's operations** (a thumbnail's
|
|
11159
|
+
size is excluded; for a compress+thumbnail job this is the compressed
|
|
11160
|
+
output). Authoritative per-output sizes remain on
|
|
11161
|
+
`GET /{id}/downloads`. The drill-in mirror of
|
|
11162
|
+
`WorkflowSummaryJob.output_size_bytes` (same semantics); pairs with
|
|
11163
|
+
`input_size_bytes` above. Populated from the highest-position
|
|
11164
|
+
COMPLETED op, so it is **PROVISIONAL while the job is still running**
|
|
11165
|
+
(a later-completing op can become the main deliverable and change
|
|
11166
|
+
this value) and final only once the job reaches a **terminal**
|
|
11167
|
+
status. Absent until a non-thumbnail op has completed with a recorded
|
|
11168
|
+
size, and OPTIONAL for the same webhook-payload reason as
|
|
11169
|
+
`input_filename`. Ticket [`j2s6T2qf`](https://trello.com/c/j2s6T2qf)
|
|
11170
|
+
(FE before→after size, workflow-view launch ask).
|
|
11171
|
+
example: 491520
|
|
10790
11172
|
processing_class:
|
|
10791
11173
|
$ref: '#/components/schemas/ProcessingClass'
|
|
10792
11174
|
description: |
|
|
@@ -11190,7 +11572,100 @@ components:
|
|
|
11190
11572
|
$ref: '#/components/schemas/UuidV7'
|
|
11191
11573
|
filename:
|
|
11192
11574
|
type: string
|
|
11193
|
-
description:
|
|
11575
|
+
description: |
|
|
11576
|
+
The **download filename** the API synthesises for this output — a
|
|
11577
|
+
human-friendly, extension-bearing name. This is a DIFFERENT surface
|
|
11578
|
+
from the S3 object key (an opaque UUID/`output-NNN` leaf governed by
|
|
11579
|
+
ADR-0014 §D9); the two are independent by design. Composed as
|
|
11580
|
+
`<stem><marker><suffix><.ext>`:
|
|
11581
|
+
|
|
11582
|
+
- **stem** — derived from the originating upload's `original_name`
|
|
11583
|
+
(a chained job resolves through its upstream to the original
|
|
11584
|
+
upload; path separators, control characters and quotes stripped);
|
|
11585
|
+
collapses to `download` if the sanitised stem is empty. When there
|
|
11586
|
+
is **no** original name at all (a `job_output`-sourced job with no
|
|
11587
|
+
upstream upload, or an unrecorded/purged name — rare), the whole
|
|
11588
|
+
field falls back to the S3-key basename **as-is, unmarked**; the
|
|
11589
|
+
per-op marker below applies only to the `original_name`-derived
|
|
11590
|
+
stem, so that fallback path is the one unlabelled case and is
|
|
11591
|
+
outside this map's scope.
|
|
11592
|
+
- **marker** — a per-operation label so **every** processed output
|
|
11593
|
+
is self-describing: it names what the output IS and disambiguates
|
|
11594
|
+
the different operations of a job from each other and from the
|
|
11595
|
+
original (ticket [`50obWMbm`](https://trello.com/c/50obWMbm), user
|
|
11596
|
+
launch feedback — the user hit a watermarked-main + thumbnail
|
|
11597
|
+
collision within one job). **Scope:** the marker resolves
|
|
11598
|
+
within-job and vs-original ambiguity, NOT workflow-wide uniqueness
|
|
11599
|
+
— two SEPARATE jobs running the same op on the same-named upload
|
|
11600
|
+
still produce the same name (a rarer case a job/node identifier
|
|
11601
|
+
would address; out of scope for this label map). **Invariant, with
|
|
11602
|
+
two explicit exceptions:** every op below **except `passthrough`**
|
|
11603
|
+
carries a non-empty marker, so a terminal deliverable **derived
|
|
11604
|
+
from an `original_name`** never falls back to a bare, op-less stem
|
|
11605
|
+
(the bug this fixes). The two exceptions are inline: `passthrough`
|
|
11606
|
+
(the identity op — its output IS the original) and the
|
|
11607
|
+
no-`original_name` S3-key fallback described under **stem** above. The
|
|
11608
|
+
canonical marker is keyed on the **public (masked) operation
|
|
11609
|
+
type** — a long-form concat surfaces as `compress` and carries its
|
|
11610
|
+
marker:
|
|
11611
|
+
- `compress` → `-compressed`
|
|
11612
|
+
- `thumbnail` (and the `thumbnail_image` / `thumbnail_video` /
|
|
11613
|
+
`thumbnail_document` / `thumbnail_office` sub-types, which all
|
|
11614
|
+
surface publicly as `thumbnail`) → `-thumbnail`
|
|
11615
|
+
- `image_watermark` / `text_watermark` / `video_watermark` /
|
|
11616
|
+
`video_text_watermark` / `audio_watermark` → `-watermarked`
|
|
11617
|
+
- `convert` → `-converted` (the extension changes too, but the
|
|
11618
|
+
marker keeps naming consistent — no operation is a special case)
|
|
11619
|
+
- `merge` → `-merged`
|
|
11620
|
+
- `transform` → `-transformed`
|
|
11621
|
+
- `custom_luma` → `-graded`
|
|
11622
|
+
- `audio_overlay` → `-overlay`
|
|
11623
|
+
- `audio_to_video` → `-video`
|
|
11624
|
+
- `render_variants` → `-variant`
|
|
11625
|
+
- `split` → `-part`, plus the `-<n>` piece suffix (below) when
|
|
11626
|
+
the run yields more than one piece. The word-marker is required
|
|
11627
|
+
because a split can legally produce a SINGLE output (e.g.
|
|
11628
|
+
`frame_range: "5-5"`, a one-page PDF range, or an interval that
|
|
11629
|
+
exceeds the media duration) — without it a single-piece split
|
|
11630
|
+
would fall back to the bare original stem.
|
|
11631
|
+
- `archive` → `-archive` (the archive OPERATION's output). Note:
|
|
11632
|
+
the workflow `delivery.bundle` path names its zip from
|
|
11633
|
+
`delivery.bundle_filename` instead — that is a separate surface
|
|
11634
|
+
and takes precedence when a bundle is requested.
|
|
11635
|
+
- `passthrough` → **none, by design** — it emits the input
|
|
11636
|
+
UNCHANGED (it is the identity/plumbing op), so its output IS the
|
|
11637
|
+
original file and carries the original name. It is normally
|
|
11638
|
+
consumed by a downstream job (not a terminal deliverable); when
|
|
11639
|
+
it is a leaf, returning the original name is correct, not a
|
|
11640
|
+
mislabel.
|
|
11641
|
+
**This whole map is co-owned with `compression_api`'s
|
|
11642
|
+
`DownloadFilenameComputer`** (as the `MIME_EXTENSION` table is) —
|
|
11643
|
+
api implements it; contracts is the normative source.
|
|
11644
|
+
- **suffix** — `-<n>` **only** when the operation produced more than
|
|
11645
|
+
one output. `<n>` is the output's **0-based position in the
|
|
11646
|
+
producer's `outputs[]` array** — a uniqueness key. It is
|
|
11647
|
+
**INDEPENDENT of `page_index` and must NOT be read as a page
|
|
11648
|
+
number**: a `pages: '5-7'` PDF fan-out emits
|
|
11649
|
+
`{ filename: "report-converted-0.png", page_index: 5 }` (PDF→PNG is a
|
|
11650
|
+
`convert`, hence `-converted`) — the `-0` is the
|
|
11651
|
+
array position, `5` is the source page. Reconciling them is a bug.
|
|
11652
|
+
- **.ext** — the extension of the **actual produced format**, never
|
|
11653
|
+
the input's and never guessed. Resolved from the worker-reported
|
|
11654
|
+
`output_file_type` (AsyncAPI `OperationResult.output_file_type`,
|
|
11655
|
+
ADR-0022) when present — authoritative for formats the API cannot
|
|
11656
|
+
infer (e.g. `compress.output_format` ∈ `{auto, smallest}`) — else
|
|
11657
|
+
derived from the operation chain. The chain additionally
|
|
11658
|
+
disambiguates a MIME→extension collision even when the MIME is
|
|
11659
|
+
known (`audio/ogg` → `.ogg` for Vorbis vs `.opus` for Opus). When
|
|
11660
|
+
the produced format is
|
|
11661
|
+
genuinely unknown at download time the name is emitted with **no
|
|
11662
|
+
extension** rather than a wrong one. `split` and `audio_to_video`
|
|
11663
|
+
derive to no format, so their extension comes **only** from
|
|
11664
|
+
`output_file_type`.
|
|
11665
|
+
|
|
11666
|
+
Sanitised for JSON (Unicode-safe); the `Content-Disposition` header
|
|
11667
|
+
on the presigned `download_url` is ASCII-sanitised separately, so
|
|
11668
|
+
the two user-visible names may legitimately differ.
|
|
11194
11669
|
example: "photo.jpg"
|
|
11195
11670
|
size_bytes:
|
|
11196
11671
|
type: integer
|
|
@@ -11243,9 +11718,14 @@ components:
|
|
|
11243
11718
|
type: integer
|
|
11244
11719
|
minimum: 1
|
|
11245
11720
|
description: |
|
|
11246
|
-
1-based page number for PDF-page fan-out
|
|
11247
|
-
PDF->image)
|
|
11248
|
-
emits `
|
|
11721
|
+
1-based **literal source page number** for PDF-page fan-out
|
|
11722
|
+
outputs (convert PDF->image) — the actual page from the input PDF.
|
|
11723
|
+
A full conversion emits `1..N`; a sparse `pages` selection (e.g.
|
|
11724
|
+
`'1-5,8'`) emits exactly the selected pages (`1,2,3,4,5,8`), so it
|
|
11725
|
+
is gapless ONLY for a full conversion, not for a sparse selection.
|
|
11726
|
+
NOT the download `filename` suffix (that is a 0-based array
|
|
11727
|
+
position — see `OperationDownload.filename`). Mutually exclusive with `position`.
|
|
11728
|
+
Normative semantics: ADR-0009 §D2.
|
|
11249
11729
|
Absent on non-indexed (single-output) downloads. Mirrors
|
|
11250
11730
|
`OperationResultOutputEntry.page_index`. Per ADR-0009 §D2.
|
|
11251
11731
|
example: 1
|
|
@@ -11681,9 +12161,14 @@ components:
|
|
|
11681
12161
|
type: integer
|
|
11682
12162
|
minimum: 1
|
|
11683
12163
|
description: |
|
|
11684
|
-
1-based page number for PDF-page fan-out
|
|
11685
|
-
PDF->image)
|
|
11686
|
-
emits `
|
|
12164
|
+
1-based **literal source page number** for PDF-page fan-out
|
|
12165
|
+
outputs (convert PDF->image) — the actual page from the input PDF.
|
|
12166
|
+
A full conversion emits `1..N`; a sparse `pages` selection (e.g.
|
|
12167
|
+
`'1-5,8'`) emits exactly the selected pages (`1,2,3,4,5,8`), so it
|
|
12168
|
+
is gapless ONLY for a full conversion, not for a sparse selection.
|
|
12169
|
+
NOT the download `filename` suffix (that is a 0-based array
|
|
12170
|
+
position — see `OperationDownload.filename`). Mutually exclusive with `position`.
|
|
12171
|
+
Normative semantics: ADR-0009 §D2.
|
|
11687
12172
|
Absent on non-indexed outputs. Mirrors
|
|
11688
12173
|
`OperationResultOutputEntry.page_index`. Per ADR-0009 §D2.
|
|
11689
12174
|
example: 1
|
|
@@ -11942,6 +12427,8 @@ components:
|
|
|
11942
12427
|
schema)
|
|
11943
12428
|
- `delivery.selection.type.per_value_availability` (from the
|
|
11944
12429
|
`DeliverySelection.type` schema)
|
|
12430
|
+
- `processing.class_hint.per_value_availability` (from the
|
|
12431
|
+
`ProcessingClassHint` enum — ticket `tK81wZKJ`)
|
|
11945
12432
|
|
|
11946
12433
|
Closes the co0CERtJ (v2.19.0) authority-hierarchy gap: those
|
|
11947
12434
|
`planned` downgrades lived only in the (decorative per ADR-0001
|
|
@@ -11971,6 +12458,14 @@ components:
|
|
|
11971
12458
|
properties:
|
|
11972
12459
|
per_value_availability:
|
|
11973
12460
|
$ref: '#/components/schemas/PerValueAvailability'
|
|
12461
|
+
processing:
|
|
12462
|
+
type: object
|
|
12463
|
+
properties:
|
|
12464
|
+
class_hint:
|
|
12465
|
+
type: object
|
|
12466
|
+
properties:
|
|
12467
|
+
per_value_availability:
|
|
12468
|
+
$ref: '#/components/schemas/PerValueAvailability'
|
|
11974
12469
|
image_encode_capabilities:
|
|
11975
12470
|
description: |
|
|
11976
12471
|
Pre-flight image-encode capability matrix
|
|
@@ -12546,6 +13041,40 @@ components:
|
|
|
12546
13041
|
[I3](https://trello.com/c/eCWIpug8); until then the
|
|
12547
13042
|
contract advertises the field shape but the endpoint
|
|
12548
13043
|
does not yet surface the field.
|
|
13044
|
+
max_input_size_bytes:
|
|
13045
|
+
type: integer
|
|
13046
|
+
format: int64
|
|
13047
|
+
minimum: 1
|
|
13048
|
+
description: |
|
|
13049
|
+
Optional mime-group-level INPUT-file size ceiling in BYTES
|
|
13050
|
+
(ticket [`uKsFzORi`](https://trello.com/c/uKsFzORi)). Sibling of
|
|
13051
|
+
`max_output_pixels`. **Applies to the enclosing operation's input** —
|
|
13052
|
+
currently authored on `compress` image/document groups (the API
|
|
13053
|
+
enforces it on compress input only: AVIF 20 MiB, other images 500 MiB,
|
|
13054
|
+
office/ODF/EPUB 100 MiB). A consumer MUST scope it to the operation
|
|
13055
|
+
whose schema carries it and MUST NOT assume it applies to other
|
|
13056
|
+
operations. An oversize input is rejected at create-time (ADR-0012
|
|
13057
|
+
band-ceiling 422 family).
|
|
13058
|
+
|
|
13059
|
+
**XOR with `processing_class` caps (ADR-0011):** a group carries this
|
|
13060
|
+
group-level cap ONLY when it has NO `processing_class` band. Banded
|
|
13061
|
+
media (e.g. `video`) put input caps in
|
|
13062
|
+
`processing_class.<class>.constraints.max_input_size_bytes` instead —
|
|
13063
|
+
never both, so the input ceiling lives in exactly one place per group.
|
|
13064
|
+
CI-enforced by `scripts/check-per-tier-constraints.py`.
|
|
13065
|
+
max_input_duration:
|
|
13066
|
+
type: string
|
|
13067
|
+
description: |
|
|
13068
|
+
Optional mime-group-level INPUT duration ceiling as an ISO-8601
|
|
13069
|
+
duration string (ticket [`KzrquIX7`](https://trello.com/c/KzrquIX7)) —
|
|
13070
|
+
e.g. `"PT2H"`. Sibling of `max_output_pixels`; same
|
|
13071
|
+
XOR-with-`processing_class` rule as `max_input_size_bytes`
|
|
13072
|
+
(group-level ONLY where no `processing_class` band; banded media use
|
|
13073
|
+
`processing_class.<class>.constraints.max_input_duration`). Currently
|
|
13074
|
+
authored on `audio_to_video.audio` (2h input cap, mirroring the
|
|
13075
|
+
worker's audio-duration limit). Over-cap inputs are rejected at
|
|
13076
|
+
create-time.
|
|
13077
|
+
example: "PT2H"
|
|
12549
13078
|
processing_class:
|
|
12550
13079
|
type: object
|
|
12551
13080
|
description: |
|