Rest API
- You can find the Open API specification file in JSON or YAML
- Endpoint URL is https://api.lucidtech.ai/v1
Reference
Changelog
2024-12-02
- Added asynctoPOST /predictions. Async predictions are now supported.
- Added errorandstatusto/predictions.
- Changed inferenceTimeandpredictionsin/predictionsto be optional.
- Changed pagesandmaxPagesin thepreprocessConfig, so they allow upto 100 pages.
2024-02-05
- Added monthlyNumberOfProductionWorkflowMinutesUsed,monthlyNumberOfUserMinutesUsedto/organizations
- Added productionWorkflowMinutes,userMinutesto/plans
- Added startPagetopreprocessConfigin/modelsand/predictions
- Added nextPagetoPOST /predictionsoutput indicating the next page in the document available for predictions, if there are more pages in the document that have not yet been processed.
2023-12-14
- Added status,monthlyNumberOfExecutionsCreatedandmonthlyNumberOfExecutionsAllowedto/workflows. Workflows can either have statusdevelopmentorproduction. A workflow withstatus=developmentwill have a low limit on how many executions can be started each month.
- Added monthlyNumberOfPagePredictionsUsed,monthlyNumberOfPagePredictionsAllowedandmonthlyNumberOfProductionWorkflowsUsedto/organizations
- Now counting number of pages processed each month to determine API limits for the POST /predictionsendpoint. Users already subscribed to a paid plan that counts field predictions will still be billed per field prediction. They can choose to subscribe to the new plan which counts pages instead.
2023-12-06
- Added statisticsto/models/:id.statisticscontains aggregated automation percentages for the fields in the model'sfieldConfigfrom the last number of days, defaulting to last 7 days.
- Added optional statisticsLastNDaystoGET /models/:id. Specify a number of days between 1 and 30 to getstatisticsfrom.
2023-12-05
- Added optional outputFormattopostprocessConfiginPOST /models,PATCH /models/:idandPOST /predictions. Use this option to specify which structure the predictions will have. The allowed values foroutputFormatis currentlyv1andv2
- Added optional statustoPATCH /workflows/:id/executions/:id. Use this option to change status of execution fromsucceededtocompletedor vice versa.
- Parameter nextTransitionIdis now optional inPATCH /workflows/:id/executions/:id
- Added GET /appClients/:id.
2023-11-17
- It is now possible to set up an email address which can be used to execute workflows. JPEG, PNG, TIFF and PDF
attachments in the email will each start en execution of the specific workflow. The configuration requires a secretIdwhich should contain API credentials to invokePOST /workflows/:id/executions
- Added optional emailConfigtoPOST /workflows
- Added optional emailConfigtoPATCH /workflows/:id
2023-10-25
- Added GET /models/:id/dataBundles/:id
- Added GET /models/:id/trainings/:id
2023-10-02
- Added new endpoint /datasets/:id/transformations. Transformations are operations performed on all documents in a dataset. Currently, the only supported transformation isremove-duplicates.
- Added GET /datasets/:id/transformations
- Added POST /datasets/:id/transformations
- Added DELETE /datasets/:id/transformations/:id
- Added optional pagestogroundTruthfor/documents. Specifyingpagesgives you better results when training models.
2023-09-14
- Added optional query parameter modelIdtoGET /predictions
- Added new permission action delegatein/rolesthat specifies which roles can be delegated to other resources such as/usersand/appClients. Trying to assign roles to/usersand/appClientswithout thedelegatepermission action will result in a403 Forbidden
2023-09-07
- Added optional metadatato/workflows
- Removed deprecated avatar,nameandemailfrom/users
2023-08-25
- Added new endpoint /roles. Roles can be attached to/usersand/appClientsto limit which API resources they can access.
- Added GET /roles
- Added GET /roles/:id
- Added roleIdsto/users
- Added roleIdsto/appClients
2023-06-27
- Added fileserver endpoint that can be utilized to upload larger files than 4.5MB and get thumbnails and resized
images of documents. The fileserver URL is contained in the response body of /documentsand acceptsGETandPUToperations.
- Added fileUrlto/documents. Use this URL to access the file using your Authorization token.
- contentand- contentTypeis now optional in- POST /documents. Instead of providing- contentand- contentType, you may upload the document to- fileUrldirectly without base64 encoding. The maximum document size you can upload to the fileserver is 64MB.
2023-06-14
- Added optional preprocessConfigtoPOST /predictions.autoRotate,imageQuality,maxPagesandrotationshould now be specified as part ofpreprocessConfiginstead and will be deprecated June 14th 2024.
- Added optional pagestopreprocessConfigto specify which specific pages to process when invokingPOST /predictions.pagesis 0-indexed and supports negative indices for reverse indexing such that index0translates to the first page of the document and-1to the last page of the document.
- All individual parameters in preprocessConfigare now optional and may be specified as needed.
2023-06-07
- Added new possible statusrunning-final-evaluationfor/models/:id/trainingswhich takes place afterrunningand beforesucceeded
2023-03-23
- Added preprocessConfigandpostprocessConfigto/predictions
- Removed deprecated widthandheightfrom/models
2023-03-02
- Added signin with Google.
- Added GET /profiles/:id,GET /profiles/me.
- Added PATCH /profiles/me.
- Added POST /organizations.
- Added GET /organizations.
- Deprecated avatar,nameandemailin/users, they will be removed May 20th 2023. Use/profilesinstead
- Removed POST /signup.
2023-02-27
- Added optional rotationtoPOST /predictions
2023-02-10
- Added pageto predictions in/predictionswhen page information is available.
- Added ownerquery parameter toGET /models. Use this feature to list pre-trained models.GET /models?owner=las:organization:cradl
- Added support for creating predictions using a pre-trained model. Specify the organization that owns the model to POST /predictionsusing the compositemodelIdform (e.g.las:organization:cradl/las:model:invoice)
2022-12-20
- Added warmStartConfigtoPOST /models/:id/trainings. Use this parameter to specify whichtrainingIdto continue training from.
- Added support for nested output for /predictions.
2022-10-13
- Removed deprecated timestampfrom/predictions
- Deprecated height,widthin/models. They will be deleted on December 12th, 2022.
2022-09-28
- Added parameterstoPATCH /transitions/:id. Useparametersto update transitions withtransitionType=dockerortransitionType=manualspecific parameters.
- Added parameters.cpu,parameters.memory,parameters.imageUrl,parameters.secretId,parameters.environmentandparameters.environmentSecretstoPATCH /transitions/:idfortransitionType=docker.
- Added parameters.assetstoPATCH /transitions/:idfortransitionType=manual.
- Deprecated environment,environmentSecretsandassetsinPATCH /transitions/:idand will be removed on December 16th. Useparameters.environment,parameters.environmentSecretsandparameters.assetsinstead.
- Added query parameter fromStartTimeandtoStartTimetoGET /workflows/:id/executions.
- Fixed a bug causing GET /documents/:idto fail with status code 500.
- Fixed a bug causing POST /predictionsto fail with status code 500.
2022-09-27
- Fixed a bug causing POST /predictionsto fail with TIFF images containing 2 or more pages.
- Fixed a bug causing community /datasetsand/modelsto not be added to new users. Existing users that were affected by this bug must contact support to have them added to their organization.
- Added additional cpu(512,1024) andmemory(4096,8192) options for docker/transitions.
2022-09-15
- Added query parameter documentIdtoGET /documents
- Fixed a bug causing /models/:id/dataBundlesto fail with statusfailedwhen certain combinations ofground_truthvaluetypesandmodel.fieldConfigwere present.
- Fixed a bug causing /models/:id/dataBundlesto showvalidity=1.0when noground_truthvalues were successfully parsed.
- Fixed a bug causing /models/:id/dataBundlesto fail with statusfailedwhen no documents with validground_truthvalues were present.
2022-09-13
- Several improvements have been made to summaryin/models/:id/dataBundles. You can now see which/documentsare duplicates, whichgroundTruthvalues are duplicates, the distribution of characters and lengths of your data. You can also see whichdocumentshad errors in them while processing the data and which labels in thegroundTruththat were erroneous.
- Removed deprecated types all,alphanum,alphanumext,letter,numberandphoneinfieldConfigin/models.
- Added type numerictofieldConfigin/models
- Added contentMD5to/documents
- Added retentionInDaysto/models/:id/dataBundles. This change reflects that PII can occur in data bundles and should thus be removed in accordance with the DPA.
2022-06-24
- Added evaluationto/models/:id/trainings
2022-05-31
- groundTruthSummaryin- /datasetsis now also counting nested values. This change will not affect existing counts.
2022-05-27
- Added optional postprocessConfigto/models
2022-05-19
- Updates to the enumtype infieldConfig:- Enumerations must be unique and from 1to512characters long
- Maximum number of enumerations allowed is 500
- Added support for more characters in enumerations
 
- Enumerations must be unique and from 
2022-05-10
- You may now set trainingIdtonullinPATCH /models/:idto make the modelinactive
2022-04-22
- Added DELETE /paymentMethods/:id
- Added GET /paymentMethods/:id
- Added GET /paymentMethods
- Added PATCH /paymentMethods/:id
- Added POST /paymentMethods
- Added paymentMethodIdtoPATCH /organizations/:id
- Fixed bug causing /models/:id/dataBundlesto fail withstatus=failedif/datasetsprovided have 0 examples of any label defined infieldConfigin/models
2022-04-12
- Added sortByquery parameter toGET /documents
- Added orderquery parameter toGET /documents
- Providing nullasgroundTruthtoPATCH /documents/:idis now supported
- Added sortByquery parameter toGET /predictions
- Added orderquery parameter toGET /predictions
- Added createdByto/predictions
- Added createdTimeto/predictions
- timestampin- /predictionsis deprecated and will be removed after October 11th, 2022
- Added planIdtoPATCH /organizations/:id
2022-04-05
- You can now use /modelswithstatus=inactiveinPOST /predictionsif you provide atrainingIdwithstatus=succeeded.
2022-03-31
- Increased limit of maxLengthfor fields specified infieldConfigin/modelsto512.
- Fixed a bug causing users to not be added to organization in POST /users.
- Added optional metadatato/users
- Added optional trainingIdto/predictionsresponse
2022-03-16
- widthand- heightis no longer required in- POST /modelsand will default to- 801and- 1281.
- maxLengthis no longer required for fields specified in- fieldConfigin- /models.
- Added type enumto fields specified infieldConfigin/models. Specify valid enum values by using the keyenumfor fields withenumtype. See below for example of how to do this.
- Added monthlyNumberOfActiveModelsUsed,monthlyNumberOfFieldPredictionsUsedandmonthlyNumberOfGpuHoursUsedto /organizations
- Fixed a bug causing creation of summaryin/models/:id/dataBundlesto fail when using number values in JSON for fields of typedigits.
Example of valid fieldConfig after the changes:
{
  "dueDate": {
    "type": "date",
    "description": "Due date on invoice"
  },
  "totalAmount": {
    "type": "amount",
    "maxLength": 12
  },
  "category": {
    "type": "enum",
    "enum": ["TRANSPORTATION", "ACCOMMODATION", "OTHER"]
  }
}
2022-03-09
- Added trainingId to POST /predictions. You can now make predictions with a trainingId to test out new trainings.
- Added trainingId to /models. The trainingId for a model specifies which training is the one that's currently being used when making predictions.
- Added trainingId to PATCH /models/:id
2022-02-02
- Added metadata to /datasets
- Added metadata to /documents
- Added metadata to /models
- Added metadata to /models/:id/trainings
2022-01-20
- Now accepting more types for value in groundTruth in /documents. Additionally supported types are number, bool, empty string and nested lists. See the full OAS spec for details.
2022-01-06
- Added name and description to POST /documents
- Added name and description to PATCH /documents/:id
2022-01-05
- Added retentionInDays to PATCH /datasets/:id. retentionInDays for /documents already associated with datasets will not be affected by changing retentionInDays of datasets.
- Added containsPersonallyIdentifiableInformation to PATCH /datasets/:id
2021-12-10
- Removed status 'training' in /models. Status 'training' have been superseded by endpoint /models/:id/trainings. /models with status 'training' have had their status to 'active' or 'inactive'
- Added numberOfRunningTrainings to /models
- Renamed status 'processing' to 'running' in /models/:id/dataBundles
- Renamed status 'ready' to 'succeeded' in /models/:id/dataBundles
- Renamed status 'training' to 'running' in /models/:id/trainings
- Renamed status 'completed' to 'succeeded' in /models/:id/trainings
- Renamed status 'aborted' to 'cancelled' in /models/:id/trainings
- Added email notifications for /models/:id/trainings status change. Email notification will be sent to organization owner and user who initiated the training
- Added trainingsCreated to monthlyUsageSummary in /organizations
- Added PATCH /models/:id/trainings/:id
- Fixed bug causing /workflows/:id/executions to be started twice in some rare cases
2021-12-01
- Added /plans endpoint. Use this endpoint to see pricing details for different plans
- Added GET /plans
- Added GET /plans/:id
- Added /models/:id/trainings endpoint. Use this endpoint to initiate model training jobs
- Added GET /models/:id/trainings
- Added POST /models/:id/trainings
2021-11-04
- Removed restrictions on updating fieldConfig in /models, you may update fieldConfig regardless of model status
- Added postprocessConfig to POST /predictions. Currently supporting two strategies: BEST_FIRST and BEST_N_PAGES. BEST_FIRST returns predictions from the best page and may skip evaluating later pages if good predictions have already been found. BEST_N_PAGES returns predictions from the best N pages
- Added documentRetentionInDays to /organizations. This value will correspond to the retention of PII as specified in the DPA
- Fixed a bug causing monthlyNumberOfDataBundlesCreated in /organizations to not be reset each month
- Fixed a bug in data bundle creation causing documents with null values in groundTruth to be ignored
2021-10-12
- Deleted /batches endpoint. Use /datasets instead
- Added free signup! When signing up you'll get access to the community models. Go to https://app.cradl.ai/signup
- Removed outdated CORS allowed headers
- Added digits and string types to /models fieldConfig
- Added size limit on input to POST /workflows/:id/executions
- Updated email for signup, invite and verification code
2021-09-23
- Added retentionInDays to PATCH /documents/:id
2021-09-22
- Added groundTruthSummary to /datasets
2021-09-17
- Fixed a bug preventing resources to be deleted sometimes when calling DELETE /documents/:id or DELETE /assets/:id
- Fixed a bug causing negative values to be returned for several fields (e.g. numberOfDocuments, numberOfDataBundles)
2021-09-08
- Updated Login UI
- API key is no longer needed
2021-08-18
- Fixed a bug preventing a transition execution from starting for transitions with the docker type
- Added GET /datasets/:id
- Extended the period in which temporary credentials are valid upon first time invitation to Typenode or Flyt from 30 days to 90 days
- Listing endpoints like DELETE /documents and GET /documents should now respond faster
- Added more descriptive error message for 404 responses
- Added createdBy, updatedTime, updatedBy to /appClients
- Added createdTime, createdBy, updatedTime, updatedBy to /users
- Added createdTime, createdBy, updatedTime, updatedBy to /assets
- Added createdTime, createdBy, updatedTime, updatedBy to /documents
- Added createdBy, updatedBy to /models
- Added createdBy, updatedBy to /models/:id/dataBundles
- Added createdTime, createdBy, updatedTime, updatedBy to /secrets
- Added createdTime, createdBy, updatedTime, updatedBy to /transitions
- Added createdTime, createdBy, updatedTime, updatedBy to /workflows
- Added createdBy, updatedBy to /datasets
- Added updatedTime, updatedBy to /organizations
- Added retentionInDays to /documents. For documents with a datasetId, the minimum retentionInDays of the dataset and the document is chosen
2021-07-08
- Extended the period in which temporary credentials are valid upon first time invitation to Typenode or Flyt from 7 days to 30 days
- Added timeoutInSeconds to /transitions
- Fixed a bug preventing login to complete successfully in Typenode and Flyt
- Fixed a bug preventing expired users from getting new temporary credentials when invited again
2021-07-01
- Added datasetId query parameter to DELETE /documents
- Added datasetId query parameter to GET /documents
- Fixed a bug preventing completion config in /workflows to be executed in some situations
- Added datasetId to PATCH /documents/:id
- Fixed error in JSON schema for /datasets, numDocuments -> numberOfDocuments
2021-06-25
- Deprecated /batches endpoint. It's replaced by /datasets. Your current batches will be unaffected until 2021-09-06, after which we will remove the entire endpoint and all of its data. Documents in batches will not be affected, only the batches themselves. Until 2021-09-06 you will not be able to create new batches. Please consider replacing your batches with datasets.
- Added POST /datasets
- Added GET /datasets
- Added PATCH /datasets/:id
- Added DELETE /datasets/:id
- Added POST /models/:id/dataBundles
- Added GET /models/:id/dataBundles
- Added PATCH /models/:id/dataBundles/:id
- Added DELETE /models/:id/dataBundles/:id
- Fixed a bug causing incorrect error messages to be returned from the API
- POST /transitions will now attempt to return appropriate status 400 error message when imageUrl is incomplete
- PATCH /transitions/:id/executions/:id will now return status 400 error message when attempting to PATCH a timed out transition execution
2021-06-16
- Added loginUrls, defaultLoginUrl to PATCH /appClients/:id
2021-06-10
- Added GET /organizations/:id
- Added PATCH /organizations/:id
- Fixed a bug preventing the first log message to be written for workflow executions
- Updated the email invite and verification code layout
- Added numberOfRunningExecutions to /workflows
2021-05-26
- Added DELETE /models/:id
- description in /models fieldConfig is no longer required
2021-05-19
- Added loginUrls, defaultLoginUrl to /appClients
- Link to login button in invitation email now sends you to the app corresponding to the defaultLoginUrl in /appClients
2021-05-12
- Added PATCH /batches/:id
- Added PATCH /appClients/:id
- Added GET /models/:id
- Added PATCH /models/:id
- Added POST /models
- Updated OAuth2 scopes
- Added new possible value 'inactive' for status in /models
2021-04-27
- Added storageLocation, retentionInDays, containsPersonallyIdentifiableInformation to /batches
- Added DELETE /batches/:id. Documents in batch must be deleted before deleting the batch
- Added batchId query parameter to DELETE /documents
2021-04-23
- Added GET /logs. Use query parameters workflowId, workflowExecutionId, transitionId, transitionExecutionId to filter.
- Added default retry configuration for workflow transitions that don't explicitly define one.
- Added startTime, transitionExecutionId, workflowExecutionId to /logs
2021-04-14
- Now possible to create public app clients by using the generateSecret parameter set to false (defaults to true) and providing callback and logout urls
- Added createdTime, apiKey, callbackUrls, logoutUrls, hasSecret to /appClients
- Now preventing users from deleting themselves using DELETE /users/:id
- Now preventing app clients from deleting itself using DELETE /appClients/:id
2021-04-13
- Added GET /batches
- Added createdTime and numDocuments to /batches
- Added POST /appClients
- Added GET /appClients
- Added DELETE /appClients/:id
- Added createdTime, updatedTime, fieldConfig, preprocessConfig and status to /models
2021-04-09
- Added DELETE /secrets/:id
- Added DELETE /assets/:id
- Added paging to DELETE /documents. Supports deleting up to 1000 documents each API call.