@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Lucidtech API
@base https://api.lucidtech.ai/v1
@version 2024-11-29T08:05:46Z
@auth OAuth2
@endpoints 133
@hint download_for_search
@toc appClients(7), assets(7), datasets(12), deploymentEnvironments(4), documents(8), logs(4), models(20), organizations(6), paymentMethods(7), plans(4), predictions(5), profiles(3), roles(4), secrets(6), transitions(15), users(7), workflows(14)

@group appClients
@endpoint GET /appClients
@optional {nextToken: str, maxResults: str}
@returns(200) {appClients: [map], nextToken: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /appClients
@returns(200) 200 response

@endpoint POST /appClients
@required {Content-Type: str}
@optional {callbackUrls: [str], defaultLoginUrl: str, description: str, generateSecret: bool=true, loginUrls: [str], logoutUrls: [str], name: str, roleIds: [str]}
@returns(200) {appClientId: str, callbackUrls: [str]?, clientId: str, clientSecret: str, createdBy: str?, createdTime: str?, defaultLoginUrl: str?, description: str?, hasSecret: bool, loginUrls: [str]?, logoutUrls: [str]?, name: str?, roleIds: [str]?, updatedBy: str?, updatedTime: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint DELETE /appClients/{appClientId}
@required {appClientId: str}
@returns(200) {appClientId: str, callbackUrls: [str]?, clientId: str, clientSecret: str, createdBy: str?, createdTime: str?, defaultLoginUrl: str?, description: str?, hasSecret: bool, loginUrls: [str]?, logoutUrls: [str]?, name: str?, roleIds: [str]?, updatedBy: str?, updatedTime: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint GET /appClients/{appClientId}
@required {appClientId: str}
@returns(200) {appClientId: str, callbackUrls: [str]?, clientId: str, clientSecret: str, createdBy: str?, createdTime: str?, defaultLoginUrl: str?, description: str?, hasSecret: bool, loginUrls: [str]?, logoutUrls: [str]?, name: str?, roleIds: [str]?, updatedBy: str?, updatedTime: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /appClients/{appClientId}
@required {appClientId: str}
@returns(200) 200 response

@endpoint PATCH /appClients/{appClientId}
@required {appClientId: str, Content-Type: str}
@optional {defaultLoginUrl: str, description: str, loginUrls: [str], name: str, roleIds: [str]}
@returns(200) {appClientId: str, callbackUrls: [str]?, clientId: str, clientSecret: str, createdBy: str?, createdTime: str?, defaultLoginUrl: str?, description: str?, hasSecret: bool, loginUrls: [str]?, logoutUrls: [str]?, name: str?, roleIds: [str]?, updatedBy: str?, updatedTime: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endgroup

@group assets
@endpoint GET /assets
@optional {nextToken: str, maxResults: str}
@returns(200) {assets: [map], nextToken: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /assets
@returns(200) 200 response

@endpoint POST /assets
@required {Content-Type: str, content: str}
@optional {description: str, name: str}
@returns(200) {assetId: str, content: str, contentMD5: str?, createdBy: str?, createdTime: str?, description: str?, name: str?, updatedBy: str?, updatedTime: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint DELETE /assets/{assetId}
@required {assetId: str}
@returns(200) {assetId: str, content: str, contentMD5: str?, createdBy: str?, createdTime: str?, description: str?, name: str?, updatedBy: str?, updatedTime: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint GET /assets/{assetId}
@required {assetId: str}
@returns(200) {assetId: str, content: str, contentMD5: str?, createdBy: str?, createdTime: str?, description: str?, name: str?, updatedBy: str?, updatedTime: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /assets/{assetId}
@required {assetId: str}
@returns(200) 200 response

@endpoint PATCH /assets/{assetId}
@required {Content-Type: str, assetId: str}
@optional {content: str, description: str, name: str}
@returns(200) {assetId: str, content: str, contentMD5: str?, createdBy: str?, createdTime: str?, description: str?, name: str?, updatedBy: str?, updatedTime: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endgroup

@group datasets
@endpoint GET /datasets
@optional {nextToken: str, maxResults: str}
@returns(200) {datasets: [map], nextToken: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /datasets
@returns(200) 200 response

@endpoint POST /datasets
@required {Content-Type: str}
@optional {containsPersonallyIdentifiableInformation: bool, description: str, metadata: map, name: str, retentionInDays: int}
@returns(200) {containsPersonallyIdentifiableInformation: bool, createdBy: str?, createdTime: str?, datasetId: str, description: str?, groundTruthSummary: map, metadata: map?, name: str?, numberOfDocuments: int, retentionInDays: int, storageLocation: str, updatedBy: str?, updatedTime: str?, version: int} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint DELETE /datasets/{datasetId}
@required {datasetId: str}
@returns(200) {containsPersonallyIdentifiableInformation: bool, createdBy: str?, createdTime: str?, datasetId: str, description: str?, groundTruthSummary: map, metadata: map?, name: str?, numberOfDocuments: int, retentionInDays: int, storageLocation: str, updatedBy: str?, updatedTime: str?, version: int} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint GET /datasets/{datasetId}
@required {datasetId: str}
@returns(200) {containsPersonallyIdentifiableInformation: bool, createdBy: str?, createdTime: str?, datasetId: str, description: str?, groundTruthSummary: map, metadata: map?, name: str?, numberOfDocuments: int, retentionInDays: int, storageLocation: str, updatedBy: str?, updatedTime: str?, version: int} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /datasets/{datasetId}
@required {datasetId: str}
@returns(200) 200 response

@endpoint PATCH /datasets/{datasetId}
@required {Content-Type: str, datasetId: str}
@optional {containsPersonallyIdentifiableInformation: bool, description: str, metadata: map, name: str, retentionInDays: int}
@returns(200) {containsPersonallyIdentifiableInformation: bool, createdBy: str?, createdTime: str?, datasetId: str, description: str?, groundTruthSummary: map, metadata: map?, name: str?, numberOfDocuments: int, retentionInDays: int, storageLocation: str, updatedBy: str?, updatedTime: str?, version: int} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint GET /datasets/{datasetId}/transformations
@required {datasetId: str}
@optional {status: str, nextToken: str, maxResults: str}
@returns(200) {nextToken: str?, status: [str], transformations: [map]} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /datasets/{datasetId}/transformations
@required {datasetId: str}
@returns(200) 200 response

@endpoint POST /datasets/{datasetId}/transformations
@required {Content-Type: str, datasetId: str}
@optional {operations: [map{options: map, type!: str}]}
@returns(200) {createdBy: str?, createdTime: str?, datasetId: str, operations: [map], status: str, transformationId: str, updatedBy: str?, updatedTime: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint DELETE /datasets/{datasetId}/transformations/{transformationId}
@required {datasetId: str, transformationId: str}
@returns(200) {createdBy: str?, createdTime: str?, datasetId: str, operations: [map], status: str, transformationId: str, updatedBy: str?, updatedTime: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /datasets/{datasetId}/transformations/{transformationId}
@required {datasetId: str, transformationId: str}
@returns(200) 200 response

@endgroup

@group deploymentEnvironments
@endpoint GET /deploymentEnvironments
@optional {owner: str, nextToken: str, maxResults: str}
@returns(200) {deploymentEnvironments: [map], nextToken: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /deploymentEnvironments
@returns(200) 200 response

@endpoint GET /deploymentEnvironments/{deploymentEnvironmentId}
@required {deploymentEnvironmentId: str}
@returns(200) {deploymentEnvironmentId: str, description: str?, modelDeploymentUnits: int, name: str?, organizationId: str?, status: str} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /deploymentEnvironments/{deploymentEnvironmentId}
@required {deploymentEnvironmentId: str}
@returns(200) 200 response

@endgroup

@group documents
@endpoint DELETE /documents
@optional {consentId: str, datasetId: str, nextToken: str, maxResults: str}
@returns(200) {consentId: [str], datasetId: [str], documents: [map], nextToken: str?, order: str, sortBy: str} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint GET /documents
@optional {datasetId: str, nextToken: str, order: str, documentId: str, consentId: str, maxResults: str, sortBy: str}
@returns(200) {consentId: [str], datasetId: [str], documents: [map], nextToken: str?, order: str, sortBy: str} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /documents
@returns(200) 200 response

@endpoint POST /documents
@required {Content-Type: str}
@optional {consentId: str, content: str, contentType: str(application/pdf/image/jpeg/image/png/image/tiff/image/webp), datasetId: str, description: str, groundTruth: [map{confidence: num, label!: str, pages: [int], value!: any}], metadata: map, name: str, retentionInDays: int}
@returns(200) {consentId: str, content: str?, contentMD5: str?, contentType: str?, createdBy: str?, createdTime: str?, datasetId: str, description: str?, documentId: str, fileUrl: str?, groundTruth: [map], metadata: map?, name: str?, retentionInDays: int, updatedBy: str?, updatedTime: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint DELETE /documents/{documentId}
@required {documentId: str}
@returns(200) {consentId: str, content: str?, contentMD5: str?, contentType: str?, createdBy: str?, createdTime: str?, datasetId: str, description: str?, documentId: str, fileUrl: str?, groundTruth: [map], metadata: map?, name: str?, retentionInDays: int, updatedBy: str?, updatedTime: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint GET /documents/{documentId}
@required {documentId: str}
@returns(200) {consentId: str, content: str?, contentMD5: str?, contentType: str?, createdBy: str?, createdTime: str?, datasetId: str, description: str?, documentId: str, fileUrl: str?, groundTruth: [map], metadata: map?, name: str?, retentionInDays: int, updatedBy: str?, updatedTime: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /documents/{documentId}
@required {documentId: str}
@returns(200) 200 response

@endpoint PATCH /documents/{documentId}
@required {Content-Type: str, documentId: str}
@optional {datasetId: str, description: str, groundTruth: [map{confidence: num, label!: str, pages: [int], value!: any}], metadata: map, name: str, retentionInDays: int}
@returns(200) {consentId: str, content: str?, contentMD5: str?, contentType: str?, createdBy: str?, createdTime: str?, datasetId: str, description: str?, documentId: str, fileUrl: str?, groundTruth: [map], metadata: map?, name: str?, retentionInDays: int, updatedBy: str?, updatedTime: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endgroup

@group logs
@endpoint GET /logs
@optional {workflowId: str, nextToken: str, order: str, transitionExecutionId: str, transitionId: str, maxResults: str, workflowExecutionId: str}
@returns(200) {logs: [map], nextToken: str?, order: str, transitionExecutionId: str, transitionId: any, workflowExecutionId: str, workflowId: str} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /logs
@returns(200) 200 response

@endpoint GET /logs/{logId}
@required {logId: str}
@returns(200) {events: [map], logId: str, startTime: str?, transitionExecutionId: str?, transitionId: any?, workflowExecutionId: str?, workflowId: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /logs/{logId}
@required {logId: str}
@returns(200) 200 response

@endgroup

@group models
@endpoint GET /models
@optional {owner: str, nextToken: str, maxResults: str}
@returns(200) {models: [map], nextToken: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /models
@returns(200) 200 response

@endpoint POST /models
@required {Content-Type: str, fieldConfig: map}
@optional {description: str, metadata: map, name: str, postprocessConfig: any, preprocessConfig: map{autoRotate: bool, imageQuality: str, maxPages: int, pages: [int], rotation: int, startPage: int}}
@returns(200) {createdBy: str?, createdTime: str?, description: str?, fieldConfig: map?, metadata: map?, modelId: str, name: str?, numberOfDataBundles: int, numberOfRunningTrainings: int, organizationId: str, postprocessConfig: any, preprocessConfig: map{autoRotate: bool, imageQuality: str, maxPages: int, pages: [int], rotation: int, startPage: int}, statistics: map?, status: str, trainingId: str?, updatedBy: str?, updatedTime: str?, version: int} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint DELETE /models/{modelId}
@required {modelId: str}
@returns(200) {createdBy: str?, createdTime: str?, description: str?, fieldConfig: map?, metadata: map?, modelId: str, name: str?, numberOfDataBundles: int, numberOfRunningTrainings: int, organizationId: str, postprocessConfig: any, preprocessConfig: map{autoRotate: bool, imageQuality: str, maxPages: int, pages: [int], rotation: int, startPage: int}, statistics: map?, status: str, trainingId: str?, updatedBy: str?, updatedTime: str?, version: int} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint GET /models/{modelId}
@required {modelId: str}
@optional {statisticsLastNDays: str}
@returns(200) {createdBy: str?, createdTime: str?, description: str?, fieldConfig: map?, metadata: map?, modelId: str, name: str?, numberOfDataBundles: int, numberOfRunningTrainings: int, organizationId: str, postprocessConfig: any, preprocessConfig: map{autoRotate: bool, imageQuality: str, maxPages: int, pages: [int], rotation: int, startPage: int}, statistics: map?, status: str, trainingId: str?, updatedBy: str?, updatedTime: str?, version: int} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /models/{modelId}
@required {modelId: str}
@returns(200) 200 response

@endpoint PATCH /models/{modelId}
@required {Content-Type: str, modelId: str}
@optional {description: str, fieldConfig: map, metadata: map, name: str, postprocessConfig: any, preprocessConfig: map{autoRotate: bool, imageQuality: str, maxPages: int, pages: [int], rotation: int, startPage: int}, trainingId: str}
@returns(200) {createdBy: str?, createdTime: str?, description: str?, fieldConfig: map?, metadata: map?, modelId: str, name: str?, numberOfDataBundles: int, numberOfRunningTrainings: int, organizationId: str, postprocessConfig: any, preprocessConfig: map{autoRotate: bool, imageQuality: str, maxPages: int, pages: [int], rotation: int, startPage: int}, statistics: map?, status: str, trainingId: str?, updatedBy: str?, updatedTime: str?, version: int} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint GET /models/{modelId}/dataBundles
@required {modelId: str}
@optional {status: str, nextToken: str, maxResults: str}
@returns(200) {dataBundles: [map], nextToken: str?, status: [str]} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /models/{modelId}/dataBundles
@required {modelId: str}
@returns(200) 200 response

@endpoint POST /models/{modelId}/dataBundles
@required {Content-Type: str, modelId: str}
@optional {datasetIds: [str], description: str, name: str}
@returns(200) {createdBy: str?, createdTime: str?, dataBundleId: str, datasets: [map], description: str?, modelId: str, name: str?, retentionInDays: int, status: str, summary: map?, updatedBy: str?, updatedTime: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint DELETE /models/{modelId}/dataBundles/{dataBundleId}
@required {dataBundleId: str, modelId: str}
@returns(200) {createdBy: str?, createdTime: str?, dataBundleId: str, datasets: [map], description: str?, modelId: str, name: str?, retentionInDays: int, status: str, summary: map?, updatedBy: str?, updatedTime: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint GET /models/{modelId}/dataBundles/{dataBundleId}
@required {dataBundleId: str, modelId: str}
@returns(200) {createdBy: str?, createdTime: str?, dataBundleId: str, datasets: [map], description: str?, modelId: str, name: str?, retentionInDays: int, status: str, summary: map?, updatedBy: str?, updatedTime: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /models/{modelId}/dataBundles/{dataBundleId}
@required {dataBundleId: str, modelId: str}
@returns(200) 200 response

@endpoint PATCH /models/{modelId}/dataBundles/{dataBundleId}
@required {dataBundleId: str, Content-Type: str, modelId: str}
@optional {description: str, name: str}
@returns(200) {createdBy: str?, createdTime: str?, dataBundleId: str, datasets: [map], description: str?, modelId: str, name: str?, retentionInDays: int, status: str, summary: map?, updatedBy: str?, updatedTime: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint GET /models/{modelId}/trainings
@required {modelId: str}
@optional {status: str, nextToken: str, maxResults: str}
@returns(200) {nextToken: str?, status: [str], trainings: [map]} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /models/{modelId}/trainings
@required {modelId: str}
@returns(200) 200 response

@endpoint POST /models/{modelId}/trainings
@required {Content-Type: str, modelId: str}
@optional {dataBundleIds: [str], dataScientistAssistance: bool, description: str, instanceType: str(small-gpu/medium-gpu/large-gpu), metadata: map, name: str, warmStartConfig: map{trainingId!: str}}
@returns(200) {createdBy: str?, createdTime: str?, dataBundleIds: [str], dataScientistAssistance: bool, deploymentEnvironmentId: str?, description: str?, evaluation: map, gpuHours: num?, instanceType: str, metadata: map?, modelId: str, name: str?, statistics: map?, status: str, trainingId: str, updatedBy: str?, updatedTime: str?, warmStartConfig: any} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint GET /models/{modelId}/trainings/{trainingId}
@required {modelId: str, trainingId: str}
@returns(200) {createdBy: str?, createdTime: str?, dataBundleIds: [str], dataScientistAssistance: bool, deploymentEnvironmentId: str?, description: str?, evaluation: map, gpuHours: num?, instanceType: str, metadata: map?, modelId: str, name: str?, statistics: map?, status: str, trainingId: str, updatedBy: str?, updatedTime: str?, warmStartConfig: any} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /models/{modelId}/trainings/{trainingId}
@required {modelId: str, trainingId: str}
@returns(200) 200 response

@endpoint PATCH /models/{modelId}/trainings/{trainingId}
@required {Content-Type: str, modelId: str, trainingId: str}
@optional {deploymentEnvironmentId: str, description: str, metadata: map, name: str, status: str}
@returns(200) {createdBy: str?, createdTime: str?, dataBundleIds: [str], dataScientistAssistance: bool, deploymentEnvironmentId: str?, description: str?, evaluation: map, gpuHours: num?, instanceType: str, metadata: map?, modelId: str, name: str?, statistics: map?, status: str, trainingId: str, updatedBy: str?, updatedTime: str?, warmStartConfig: any} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endgroup

@group organizations
@endpoint GET /organizations
@optional {nextToken: str, maxResults: str}
@returns(200) {nextToken: str?, organizations: [map]} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /organizations
@returns(200) 200 response

@endpoint POST /organizations
@required {Content-Type: str}
@optional {name: str}
@returns(200) {clientId: str?, createdTime: str?, deploymentsAllowed: map, deploymentsCreated: map, description: str?, documentRetentionInDays: int, monthlyNumberOfActiveModelsUsed: int, monthlyNumberOfDataBundlesAllowed: int, monthlyNumberOfDataBundlesCreated: int, monthlyNumberOfDocumentsAllowed: int, monthlyNumberOfDocumentsCreated: int, monthlyNumberOfFieldPredictionsAllowed: int, monthlyNumberOfFieldPredictionsUsed: int, monthlyNumberOfGpuHoursUsed: num, monthlyNumberOfModelDeploymentUnitsUsed: int, monthlyNumberOfPagePredictionsAllowed: int, monthlyNumberOfPagePredictionsUsed: int, monthlyNumberOfPredictionsAllowed: int, monthlyNumberOfPredictionsCreated: int, monthlyNumberOfProductionWorkflowMinutesUsed: int, monthlyNumberOfTrainingsAllowed: int, monthlyNumberOfTrainingsCreated: int, monthlyNumberOfTransformationsAllowed: int, monthlyNumberOfTransformationsCreated: int, monthlyNumberOfTransitionExecutionsAllowed: int, monthlyNumberOfTransitionExecutionsCreated: int, monthlyNumberOfUserMinutesUsed: num, monthlyNumberOfWorkflowExecutionsAllowed: int, monthlyNumberOfWorkflowExecutionsCreated: int, monthlyUsageSummary: map, name: str?, numberOfAppClientsAllowed: int, numberOfAppClientsCreated: int, numberOfAssetsAllowed: int, numberOfAssetsCreated: int, numberOfDatasetsAllowed: int, numberOfDatasetsCreated: int, numberOfModelsAllowed: int, numberOfModelsCreated: int, numberOfSecretsAllowed: int, numberOfSecretsCreated: int, numberOfTransitionsAllowed: int, numberOfTransitionsCreated: int, numberOfUsersAllowed: int, numberOfUsersCreated: int, numberOfWorkflowsAllowed: int, numberOfWorkflowsCreated: int, organizationId: str, paymentMethodId: str?, planId: str?, updatedBy: str?, updatedTime: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint GET /organizations/{organizationId}
@required {organizationId: str}
@returns(200) {clientId: str?, createdTime: str?, deploymentsAllowed: map, deploymentsCreated: map, description: str?, documentRetentionInDays: int, monthlyNumberOfActiveModelsUsed: int, monthlyNumberOfDataBundlesAllowed: int, monthlyNumberOfDataBundlesCreated: int, monthlyNumberOfDocumentsAllowed: int, monthlyNumberOfDocumentsCreated: int, monthlyNumberOfFieldPredictionsAllowed: int, monthlyNumberOfFieldPredictionsUsed: int, monthlyNumberOfGpuHoursUsed: num, monthlyNumberOfModelDeploymentUnitsUsed: int, monthlyNumberOfPagePredictionsAllowed: int, monthlyNumberOfPagePredictionsUsed: int, monthlyNumberOfPredictionsAllowed: int, monthlyNumberOfPredictionsCreated: int, monthlyNumberOfProductionWorkflowMinutesUsed: int, monthlyNumberOfTrainingsAllowed: int, monthlyNumberOfTrainingsCreated: int, monthlyNumberOfTransformationsAllowed: int, monthlyNumberOfTransformationsCreated: int, monthlyNumberOfTransitionExecutionsAllowed: int, monthlyNumberOfTransitionExecutionsCreated: int, monthlyNumberOfUserMinutesUsed: num, monthlyNumberOfWorkflowExecutionsAllowed: int, monthlyNumberOfWorkflowExecutionsCreated: int, monthlyUsageSummary: map, name: str?, numberOfAppClientsAllowed: int, numberOfAppClientsCreated: int, numberOfAssetsAllowed: int, numberOfAssetsCreated: int, numberOfDatasetsAllowed: int, numberOfDatasetsCreated: int, numberOfModelsAllowed: int, numberOfModelsCreated: int, numberOfSecretsAllowed: int, numberOfSecretsCreated: int, numberOfTransitionsAllowed: int, numberOfTransitionsCreated: int, numberOfUsersAllowed: int, numberOfUsersCreated: int, numberOfWorkflowsAllowed: int, numberOfWorkflowsCreated: int, organizationId: str, paymentMethodId: str?, planId: str?, updatedBy: str?, updatedTime: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /organizations/{organizationId}
@required {organizationId: str}
@returns(200) 200 response

@endpoint PATCH /organizations/{organizationId}
@required {Content-Type: str, organizationId: str}
@optional {description: str, name: str, paymentMethodId: str, planId: str}
@returns(200) {clientId: str?, createdTime: str?, deploymentsAllowed: map, deploymentsCreated: map, description: str?, documentRetentionInDays: int, monthlyNumberOfActiveModelsUsed: int, monthlyNumberOfDataBundlesAllowed: int, monthlyNumberOfDataBundlesCreated: int, monthlyNumberOfDocumentsAllowed: int, monthlyNumberOfDocumentsCreated: int, monthlyNumberOfFieldPredictionsAllowed: int, monthlyNumberOfFieldPredictionsUsed: int, monthlyNumberOfGpuHoursUsed: num, monthlyNumberOfModelDeploymentUnitsUsed: int, monthlyNumberOfPagePredictionsAllowed: int, monthlyNumberOfPagePredictionsUsed: int, monthlyNumberOfPredictionsAllowed: int, monthlyNumberOfPredictionsCreated: int, monthlyNumberOfProductionWorkflowMinutesUsed: int, monthlyNumberOfTrainingsAllowed: int, monthlyNumberOfTrainingsCreated: int, monthlyNumberOfTransformationsAllowed: int, monthlyNumberOfTransformationsCreated: int, monthlyNumberOfTransitionExecutionsAllowed: int, monthlyNumberOfTransitionExecutionsCreated: int, monthlyNumberOfUserMinutesUsed: num, monthlyNumberOfWorkflowExecutionsAllowed: int, monthlyNumberOfWorkflowExecutionsCreated: int, monthlyUsageSummary: map, name: str?, numberOfAppClientsAllowed: int, numberOfAppClientsCreated: int, numberOfAssetsAllowed: int, numberOfAssetsCreated: int, numberOfDatasetsAllowed: int, numberOfDatasetsCreated: int, numberOfModelsAllowed: int, numberOfModelsCreated: int, numberOfSecretsAllowed: int, numberOfSecretsCreated: int, numberOfTransitionsAllowed: int, numberOfTransitionsCreated: int, numberOfUsersAllowed: int, numberOfUsersCreated: int, numberOfWorkflowsAllowed: int, numberOfWorkflowsCreated: int, organizationId: str, paymentMethodId: str?, planId: str?, updatedBy: str?, updatedTime: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endgroup

@group paymentMethods
@endpoint GET /paymentMethods
@optional {nextToken: str, maxResults: str}
@returns(200) {nextToken: str?, paymentMethods: [map]} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /paymentMethods
@returns(200) 200 response

@endpoint POST /paymentMethods
@required {Content-Type: str}
@optional {description: str, name: str}
@returns(200) {createdBy: str?, createdTime: str?, description: str?, details: map?, name: str?, paymentMethodId: str, stripePublishableKey: str?, stripeSetupIntentSecret: str?, updatedBy: str?, updatedTime: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint DELETE /paymentMethods/{paymentMethodId}
@required {paymentMethodId: str}
@returns(200) {createdBy: str?, createdTime: str?, description: str?, details: map?, name: str?, paymentMethodId: str, stripePublishableKey: str?, stripeSetupIntentSecret: str?, updatedBy: str?, updatedTime: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint GET /paymentMethods/{paymentMethodId}
@required {paymentMethodId: str}
@returns(200) {createdBy: str?, createdTime: str?, description: str?, details: map?, name: str?, paymentMethodId: str, stripePublishableKey: str?, stripeSetupIntentSecret: str?, updatedBy: str?, updatedTime: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /paymentMethods/{paymentMethodId}
@required {paymentMethodId: str}
@returns(200) 200 response

@endpoint PATCH /paymentMethods/{paymentMethodId}
@required {Content-Type: str, paymentMethodId: str}
@optional {description: str, name: str, stripeSetupIntentSecret: str}
@returns(200) {createdBy: str?, createdTime: str?, description: str?, details: map?, name: str?, paymentMethodId: str, stripePublishableKey: str?, stripeSetupIntentSecret: str?, updatedBy: str?, updatedTime: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endgroup

@group plans
@endpoint GET /plans
@optional {owner: str, nextToken: str, maxResults: str}
@returns(200) {nextToken: str?, plans: [map]} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /plans
@returns(200) 200 response

@endpoint GET /plans/{planId}
@required {planId: str}
@returns(200) {activeModels: map?, available: bool, currency: str, description: str?, fieldPredictions: map?, flows: map?, gpuHours: map?, latest: int, license: map?, modelDeploymentUnits: map?, name: str?, organizationId: str?, pagePredictions: map?, planId: str, productionWorkflowMinutes: map?, userMinutes: map?, users: map?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /plans/{planId}
@required {planId: str}
@returns(200) 200 response

@endgroup

@group predictions
@endpoint GET /predictions
@optional {nextToken: str, maxResults: str, sortBy: str, order: str, modelId: str}
@returns(200) {modelId: str, nextToken: str?, order: str, predictions: [map], sortBy: str} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /predictions
@returns(200) 200 response

@endpoint POST /predictions
@required {Content-Type: str, documentId: str, modelId: str}
@optional {async: bool, autoRotate: bool, imageQuality: str(LOW/HIGH), maxPages: int, postprocessConfig: any, preprocessConfig: map{autoRotate: bool, imageQuality: str, maxPages: int, pages: [int], rotation: int, startPage: int}, rotation: int(0/90/180/270), trainingId: str}
@returns(200) {createdBy: str?, createdTime: str?, documentId: str, error: str?, inferenceTime: num?, modelId: str, nextPage: int?, postprocessConfig: any?, predictionId: str, predictions: any, preprocessConfig: map?{autoRotate: bool, imageQuality: str, maxPages: int, pages: [int], rotation: int, startPage: int}, status: str, trainingId: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint GET /predictions/{predictionId}
@required {predictionId: str}
@returns(200) {createdBy: str?, createdTime: str?, documentId: str, error: str?, inferenceTime: num?, modelId: str, nextPage: int?, postprocessConfig: any?, predictionId: str, predictions: any, preprocessConfig: map?{autoRotate: bool, imageQuality: str, maxPages: int, pages: [int], rotation: int, startPage: int}, status: str, trainingId: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /predictions/{predictionId}
@required {predictionId: str}
@returns(200) 200 response

@endgroup

@group profiles
@endpoint GET /profiles/{profileId}
@required {profileId: str}
@returns(200) {createdTime: str?, email: str, familyName: str?, givenName: str?, locale: str?, metadata: map?, name: str?, numberOfOrganizationsAllowed: int, numberOfOrganizationsCreated: int, picture: str?, profileId: str, updatedTime: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /profiles/{profileId}
@required {profileId: str}
@returns(200) 200 response

@endpoint PATCH /profiles/{profileId}
@required {profileId: str}
@returns(200) {createdTime: str?, email: str, familyName: str?, givenName: str?, locale: str?, metadata: map?, name: str?, numberOfOrganizationsAllowed: int, numberOfOrganizationsCreated: int, picture: str?, profileId: str, updatedTime: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endgroup

@group roles
@endpoint GET /roles
@optional {nextToken: str, maxResults: str}
@returns(200) {nextToken: str?, roles: [map]} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /roles
@returns(200) 200 response

@endpoint GET /roles/{roleId}
@required {roleId: str}
@returns(200) {createdBy: str?, createdTime: str?, description: str?, name: str?, permissions: [map], roleId: str, updatedBy: str?, updatedTime: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /roles/{roleId}
@required {roleId: str}
@returns(200) 200 response

@endgroup

@group secrets
@endpoint GET /secrets
@optional {nextToken: str, maxResults: str}
@returns(200) {nextToken: str?, secrets: [map]} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /secrets
@returns(200) 200 response

@endpoint POST /secrets
@required {Content-Type: str, data: map}
@optional {description: str, name: str}
@returns(200) {createdBy: str?, createdTime: str?, description: str?, name: str?, secretId: str, updatedBy: str?, updatedTime: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint DELETE /secrets/{secretId}
@required {secretId: str}
@returns(200) {createdBy: str?, createdTime: str?, description: str?, name: str?, secretId: str, updatedBy: str?, updatedTime: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /secrets/{secretId}
@required {secretId: str}
@returns(200) 200 response

@endpoint PATCH /secrets/{secretId}
@required {Content-Type: str, secretId: str}
@optional {data: map, description: str, name: str}
@returns(200) {createdBy: str?, createdTime: str?, description: str?, name: str?, secretId: str, updatedBy: str?, updatedTime: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endgroup

@group transitions
@endpoint GET /transitions
@optional {transitionType: str, nextToken: str, maxResults: str}
@returns(200) {nextToken: str?, transitionType: [str], transitions: [map]} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /transitions
@returns(200) 200 response

@endpoint POST /transitions
@required {Content-Type: str, transitionType: str(docker/manual/lambda)}
@optional {description: str, name: str, parameters: any, timeoutInSeconds: int}
@returns(200) {assets: map{jsRemoteComponent: str}, createdBy: str?, createdTime: str?, description: str?, name: str?, parameters: map, timeoutInSeconds: int, transitionId: any, transitionType: str, updatedBy: str?, updatedTime: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint DELETE /transitions/{transitionId}
@required {transitionId: str}
@returns(200) {assets: map{jsRemoteComponent: str}, createdBy: str?, createdTime: str?, description: str?, name: str?, parameters: map, timeoutInSeconds: int, transitionId: any, transitionType: str, updatedBy: str?, updatedTime: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint GET /transitions/{transitionId}
@required {transitionId: str}
@returns(200) {assets: map{jsRemoteComponent: str}, createdBy: str?, createdTime: str?, description: str?, name: str?, parameters: map, timeoutInSeconds: int, transitionId: any, transitionType: str, updatedBy: str?, updatedTime: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /transitions/{transitionId}
@required {transitionId: str}
@returns(200) 200 response

@endpoint PATCH /transitions/{transitionId}
@required {Content-Type: str, transitionId: str}
@optional {description: str, name: str, parameters: any}
@returns(200) {assets: map{jsRemoteComponent: str}, createdBy: str?, createdTime: str?, description: str?, name: str?, parameters: map, timeoutInSeconds: int, transitionId: any, transitionType: str, updatedBy: str?, updatedTime: str?} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint GET /transitions/{transitionId}/executions
@required {transitionId: str}
@optional {nextToken: str, order: str, executionId: str, status: str, maxResults: str, sortBy: str}
@returns(200) {executions: [map], nextToken: str?, status: [str], transitionId: any} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /transitions/{transitionId}/executions
@required {transitionId: str}
@returns(200) 200 response

@endpoint POST /transitions/{transitionId}/executions
@required {Content-Type: str, transitionId: str}
@returns(200) {completedBy: str?, endTime: str?, executionId: str, input: map?, logId: str?, output: map?, startTime: str?, status: str, transitionId: any} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint GET /transitions/{transitionId}/executions/{executionId}
@required {transitionId: str, executionId: str}
@returns(200) {completedBy: str?, endTime: str?, executionId: str, input: map?, logId: str?, output: map?, startTime: str?, status: str, transitionId: any} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /transitions/{transitionId}/executions/{executionId}
@required {transitionId: str, executionId: str}
@returns(200) 200 response

@endpoint PATCH /transitions/{transitionId}/executions/{executionId}
@required {Content-Type: str, transitionId: str, executionId: str}
@optional {error: map{message!: str}, output: map, startTime: str, status: str}
@returns(200) {completedBy: str?, endTime: str?, executionId: str, input: map?, logId: str?, output: map?, startTime: str?, status: str, transitionId: any} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /transitions/{transitionId}/executions/{executionId}/heartbeats
@required {transitionId: str, executionId: str}
@returns(200) 200 response

@endpoint POST /transitions/{transitionId}/executions/{executionId}/heartbeats
@required {Content-Type: str, transitionId: str, executionId: str}
@returns(204) 204 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endgroup

@group users
@endpoint GET /users
@optional {nextToken: str, maxResults: str}
@returns(200) {nextToken: str?, users: [map]} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /users
@returns(200) 200 response

@endpoint POST /users
@required {Content-Type: str, email: str}
@optional {appClientId: str, metadata: map, roleIds: [str]}
@returns(200) {createdBy: str?, createdTime: str?, metadata: map?, profileId: str?, roleIds: [str]?, status: str, updatedBy: str?, updatedTime: str?, userId: str} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint DELETE /users/{userId}
@required {userId: str}
@returns(200) {createdBy: str?, createdTime: str?, metadata: map?, profileId: str?, roleIds: [str]?, status: str, updatedBy: str?, updatedTime: str?, userId: str} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint GET /users/{userId}
@required {userId: str}
@returns(200) {createdBy: str?, createdTime: str?, metadata: map?, profileId: str?, roleIds: [str]?, status: str, updatedBy: str?, updatedTime: str?, userId: str} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /users/{userId}
@required {userId: str}
@returns(200) 200 response

@endpoint PATCH /users/{userId}
@required {Content-Type: str, userId: str}
@optional {metadata: map, roleIds: [str]}
@returns(200) {createdBy: str?, createdTime: str?, metadata: map?, profileId: str?, roleIds: [str]?, status: str, updatedBy: str?, updatedTime: str?, userId: str} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endgroup

@group workflows
@endpoint GET /workflows
@optional {nextToken: str, maxResults: str}
@returns(200) {nextToken: str?, workflows: [map]} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /workflows
@returns(200) 200 response

@endpoint POST /workflows
@required {Content-Type: str, specification: map{definition!: map, language: str, version: str}}
@optional {completedConfig: map{environment: map, environmentSecrets: [str], imageUrl!: str, secretId: str}, description: str, emailConfig: map{additionalWorkflowInput: map, allowedOrigins: [str], email: str, secretId!: str}, errorConfig: map{email: str, manualRetry: bool}, metadata: map, name: str, status: str(development/production)}
@returns(200) {completedConfig: map?{environment: map, environmentSecrets: [str], imageUrl: str, secretId: str}, createdBy: str?, createdTime: str?, description: str?, emailConfig: map?{additionalWorkflowInput: map?, allowedOrigins: [str]?, email: str, secretId: str}, errorConfig: map?{email: str, manualRetry: bool}, metadata: map?, monthlyNumberOfWorkflowExecutionsAllowed: int, monthlyNumberOfWorkflowExecutionsCreated: int, name: str?, numberOfRunningExecutions: int, status: str, updatedBy: str?, updatedTime: str?, workflowId: str} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint DELETE /workflows/{workflowId}
@required {workflowId: str}
@returns(200) {completedConfig: map?{environment: map, environmentSecrets: [str], imageUrl: str, secretId: str}, createdBy: str?, createdTime: str?, description: str?, emailConfig: map?{additionalWorkflowInput: map?, allowedOrigins: [str]?, email: str, secretId: str}, errorConfig: map?{email: str, manualRetry: bool}, metadata: map?, monthlyNumberOfWorkflowExecutionsAllowed: int, monthlyNumberOfWorkflowExecutionsCreated: int, name: str?, numberOfRunningExecutions: int, status: str, updatedBy: str?, updatedTime: str?, workflowId: str} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint GET /workflows/{workflowId}
@required {workflowId: str}
@returns(200) {completedConfig: map?{environment: map, environmentSecrets: [str], imageUrl: str, secretId: str}, createdBy: str?, createdTime: str?, description: str?, emailConfig: map?{additionalWorkflowInput: map?, allowedOrigins: [str]?, email: str, secretId: str}, errorConfig: map?{email: str, manualRetry: bool}, metadata: map?, monthlyNumberOfWorkflowExecutionsAllowed: int, monthlyNumberOfWorkflowExecutionsCreated: int, name: str?, numberOfRunningExecutions: int, status: str, updatedBy: str?, updatedTime: str?, workflowId: str} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /workflows/{workflowId}
@required {workflowId: str}
@returns(200) 200 response

@endpoint PATCH /workflows/{workflowId}
@required {Content-Type: str, workflowId: str}
@optional {completedConfig: map{environment: map, environmentSecrets: [str], imageUrl!: str, secretId: str}, description: str, emailConfig: map{additionalWorkflowInput: map, allowedOrigins: [str], email: str, secretId!: str}, errorConfig: map{email: str, manualRetry: bool}, metadata: map, name: str, status: str(development/production)}
@returns(200) {completedConfig: map?{environment: map, environmentSecrets: [str], imageUrl: str, secretId: str}, createdBy: str?, createdTime: str?, description: str?, emailConfig: map?{additionalWorkflowInput: map?, allowedOrigins: [str]?, email: str, secretId: str}, errorConfig: map?{email: str, manualRetry: bool}, metadata: map?, monthlyNumberOfWorkflowExecutionsAllowed: int, monthlyNumberOfWorkflowExecutionsCreated: int, name: str?, numberOfRunningExecutions: int, status: str, updatedBy: str?, updatedTime: str?, workflowId: str} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint GET /workflows/{workflowId}/executions
@required {workflowId: str}
@optional {fromStartTime: str, toStartTime: str, nextToken: str, order: str, status: str, maxResults: str, sortBy: str}
@returns(200) {executions: [map], nextToken: str?, order: str, sortBy: str, status: [str], workflowId: str} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /workflows/{workflowId}/executions
@required {workflowId: str}
@returns(200) 200 response

@endpoint POST /workflows/{workflowId}/executions
@required {Content-Type: str, workflowId: str, input: map}
@returns(200) {completedBy: [any], completedTaskLogId: str?, createdBy: str?, endTime: str?, events: [map], executionId: str, input: map?, logId: str?, output: map?, startTime: str?, status: str, transitionExecutions: map?, workflowId: str} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint DELETE /workflows/{workflowId}/executions/{executionId}
@required {executionId: str, workflowId: str}
@returns(200) {completedBy: [any], completedTaskLogId: str?, createdBy: str?, endTime: str?, events: [map], executionId: str, input: map?, logId: str?, output: map?, startTime: str?, status: str, transitionExecutions: map?, workflowId: str} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint GET /workflows/{workflowId}/executions/{executionId}
@required {executionId: str, workflowId: str}
@returns(200) {completedBy: [any], completedTaskLogId: str?, createdBy: str?, endTime: str?, events: [map], executionId: str, input: map?, logId: str?, output: map?, startTime: str?, status: str, transitionExecutions: map?, workflowId: str} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endpoint OPTIONS /workflows/{workflowId}/executions/{executionId}
@required {executionId: str, workflowId: str}
@returns(200) 200 response

@endpoint PATCH /workflows/{workflowId}/executions/{executionId}
@required {Content-Type: str, executionId: str, workflowId: str}
@optional {nextTransitionId: any, status: str(succeeded/completed)}
@returns(200) {completedBy: [any], completedTaskLogId: str?, createdBy: str?, endTime: str?, events: [map], executionId: str, input: map?, logId: str?, output: map?, startTime: str?, status: str, transitionExecutions: map?, workflowId: str} # 200 response
@errors {400: 400 response, 403: 403 response, 404: 404 response, 415: 415 response, 500: 500 response}

@endgroup

@end
