Table of contents

Harvest API

The Harvest API lets you manually trigger harvests, rather than waiting for internal processes to decide the best time for harvesting to take place.

Through the same API, you are able to harvest an individual item, or all items inside a specific container.

Harvesting a single item

To initiate a harvest of a single item, make the following request:

POST /api/control/harvest
{
	"location_id": "{location_id}",
	"item_id": "{item_id}",
	"extractors": ["{extractor1}", "{extractor2}"],
	"profile_id": "{profile_id}",
	"override_extractors": {bool},
	"new_extractors_only": {bool},
	"force": {bool},
	"priority": {priority}
}
  • location_id - (string) ID of the Location of the item
  • item_id - (string) The ID for the item to harvest. (For more information, see the Item Object documentation and the Stow Project Homepage)
  • extractors - (array of strings) of the extractor(s) to run. See list below. NOTE: If you are calling extractors to run, you must first configure them on the Extractors page in the UI.
  • profile_id - (string) ID of the Extractor Profile being used for analysis. If omitted Extractor Profile set on container will be used.
  • override_extractors - (bool) If true the requested extractors will run whether or not the extractor is enabled. If false the requested extractors will only run if enabled in the UI.
  • new_extractors_only - (bool) If true only extractors enabled since the item/container was last harvested will run - previously run extractors will not run again.
  • force - (bool) Whether to force the harvesting or not. If true harvesting will happen regardless of the etag field, otherwise the item will only be harvested if it has changed since the last harvest.
  • priority - (int 1 to 10). The priority of the harvest. 1=highest priority, 10=lowest priority. Harvest requests without a priority specified will be assigned a priority of 5. Any values <= 0 will be assigned a priority of 5. Any values > 10 will be set to 10.

Harvesting an entire container

To initiate a harvest of all items inside a container, make the following request:

POST /api/control/harvest
{
	"location_id": "{location_id}",
	"container_id": "{container_id}",
	"extractors": ["{extractor1}", "{extractor2}"],
	"profile_id": "{profile_id}",
	"override_extractors": {bool},
	"new_extractors_only": {bool},
	"force": {bool},
	"ignore_recently_walked": {bool},
	"priority": {priority}
}
  • location_id - (string) ID of the Location of the container
  • container_id - (string) ID of the container to harvest
  • extractors - (array of strings) of the extractor(s) to run. See list below. NOTE: If you are calling extractors to run, you must first configure them on the Extractors page in the UI.
  • profile_id - (string) ID of the Extractor Profile being used for analysis. If omitted Extractor Profile set on container will be used.
  • override_extractors - (bool) If true the requested extractors will run whether or not the extractor is enabled. If false the requested extractors will only run if enabled in the UI.
  • new_extractors_only - (bool) If true only extractors enabled since the item/container was last harvested will run - previously run extractors will not run again.
  • force - (bool) Whether to force the harvesting or not. If true harvesting will happen regardless of the etag field, otherwise the items will only be harvested if they have changed since the last harvest.
  • ignore_recently_walked - (bool) If true it will ignore if the container has been recently walked or not.
  • priority - (int 1 to 10). The priority of the harvest. 1=highest priority, 10=lowest priority. Harvest requests without a priority specified will be assigned a priority of 5. Any values <= 0 will be assigned a priority of 5. Any values > 10 will be set to 10.

Extractors

Use the API Name when specifying which extractors to run.

Display NameAPI Name
Archivesarchive
Audio Infoaudioinfo
Audio Previewsaudio_previews
Audiopeakaudiopeak
Black Framesblack_scenes
CSVcsv
Caption Filescaption_files
Captions V2captionsv2
Clapperboardslates
Color Barsgm_color_bars
Creditscredits
Custom Tags - Amazoncustomtagsrekog
DBFdbf
DPXdpx
DRMdrm
Digital Slatesgm_digital_slates
Documentsdocument_pages
EXIV2exiv2
Emailemail
Embedded Captionscaptions
FDXfdx
Geocodinggeocoding
GrayMeta Audio Classificationgm_audio_classification
GrayMeta Facial Recognitiongm_faces
HTMLhtml
Hasheshashes
JSONjson
Language Detection - Google Translategooglelanguage
Language Detection - GrayMetagmlanguage
Language ID - Appteklanguageid_apptek
M2TSm2ts
MIME Typemime_type
MediaInfomediainfo
NLP - Amazonnlp_aws
OCRtesseract
OfficeXofficex
PDFpdf
Silencegm_silence
Speech To Text - Amazonamazon_transcribe
Speech To Text - Apptekapptek
Speech To Text - Googlespeech_to_text_google
Speech To Text - VoiceBasevoicebase
Speech To Text - Watsonspeech_to_text_watson
Speech to Text - Microsoftspeech_to_text_microsoft
Speech to Text - Speechmaticsspeech_to_text_speechmatic
Sport Event Detectiongmsports
Start & End Timesgm_start_end
Stow Data Extractorstow
Texted Materialgm_texted
Textless Materialgm_textless
Thumbnailsthumbnailer
Tokenstokens
Valossa APIvalossa
Video Main Framesvideo_main_frames
Video Previewsvideo_previews
Vision - Amazon Rekognitionamazonrekog
Vision - Amazon Rekognition Videoamazonrekogvideo
Vision - Googlegoogle_vision
Vision - Microsoftazure
Vision - PicPurifypicpurify
Visualogograb
Volume Detectvolumedetect
Weatherweather
XMLxml

This documentation is generated from the latest version of GrayMeta Platform. For documentation relevant to your own deployed version, please use the documentation inside the application.