# Oversight

<figure><img src="https://3598919924-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeIDXlxW9gckrh95snvSB%2Fuploads%2Fgit-blob-238b1857ab0a0d769a1bcc7f0368ec4357878075%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

### Oversight API Workflow

This workflow describes the process of uploading a media asset and creating a task request.

***NOTE**: Skip **Step 1** and **Step 2** if using Mounted Buckets* Mounted buckets currently only support image assets. For video assets, please use **Step 1** and **Step 2**.

#### Step 1: Upload Media ( Not needed if using Mounted Buckets )

1. Use the Upload Media API to initiate the upload process.
2. Provide:
   * configuration\_id: This should have been passed to you.
3. The API returns a response containing:
   * media\_upload\_url: URL for uploading the actual media content.
   * media\_key: Unique identifier associated with the uploaded media.

#### Step 2: Upload Media Data ( Not needed if using Mounted Buckets )

1. Prepare the media file for upload.
2. Use the media\_upload\_url from the previous step to make a PUT request with the media data.
3. Choose Binary type in body and upload your media file.
4. Ensure the proper content-type is set for your media file in the request header. [Read More](https://developer.cloudfactory.com/getting-started/upload-media)

#### Step 3: Create Task Request

1. Use the Create Task API to create a request.
2. Provide:
   * media\_key: The media key obtained in Step 1.
   * (Optional) bucket\_id: Provide the bucket credential Id , if using Mounted Buckets.
   * configuration\_id: The same ID used for media upload.
   * (Optional) callback\_url: URL for receiving notifications about task completion.
3. The API returns a response containing:
   * task\_id: Unique identifier for the created task request.

### Success:

* The media is uploaded to CloudFactory.
* A task is created and media is available in hasty project ready for annotation.

You can use the task\_id to track the progress or retrieve results

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td></td><td><strong>Submit Task</strong></td><td></td><td><a href="human-oversight-api/submit-task">submit-task</a></td></tr><tr><td></td><td><strong>Upload Media</strong></td><td></td><td><a href="human-oversight-api/upload-media">upload-media</a></td></tr><tr><td></td><td><strong>Task Status</strong></td><td></td><td><a href="human-oversight-api/task-status">task-status</a></td></tr></tbody></table>
