---
title: "Create Source"
method: POST
path: "/image/sources"
tags: ["API Endpoints"]
---

# Create Source

`POST /image/sources`

## Request

- Base URL: `https://api.gumlet.com/v1`
- URL: `https://api.gumlet.com/v1/image/sources`
- Auth: API key in header `Authorization`

This endpoint allows users to create image source.

## Request body

- object
  - `namespace` string, required: unique subdomain associated with the image source
  - `type` 'proxy' | 'webfolder' | 'aws' | 'gcs' | 'dostorage' | 'wasabi' | 'cloudinary' | 'azure' | 'linode' | 'backblaze' | 'cloudflare' | 'zoom', required
  - `aws` object: This is a required field if source type is aws.
    - `bucket_name` string, required
    - `bucket_region` string, required
    - `access_key` string, required
    - `secret` string, required
    - `base_path` string
    - `endpoint` string
  - `proxy` object: This is a required field if source type is proxy.
    - `whitelisted_domains` string, required
  - `gcs` object: This is a required field if source type is gcs.
    - `bucket_name` string, required
    - `service_account_key` string, required
  - `dostorage` object: This is a required field if source type is dostorage.
    - `bucket_name` string, required
    - `bucket_region` string, required
    - `access_key` string, required
    - `secret` string, required
    - `base_path` string
  - `wasabi` object: This is a required field if source type is wasabi.
    - `bucket_name` string, required
    - `bucket_region` string, required
    - `access_key` string, required
    - `secret` string, required
    - `base_path` string
  - `cloudinary` object: This is a required field if source type is cloudinary.
    - `host_name` string, required
    - `cloud_name` string, required
  - `azure` object: This is a required field if source type is azure.
    - `azure_account_name` string, required
    - `azure_container_name` string, required
    - `azure_shared_token` string, required
    - `azure_path` string, required
  - `linode` object: This is a required field if source type is linode.
    - `bucket_name` string, required
    - `bucket_region` string, required
    - `access_key` string, required
    - `secret` string, required
  - `backblaze` object: This is a required field if source type is backblaze.
    - `bucket_name` string, required
    - `bucket_region` string: bucket_region or endpoint
    - `endpoint` string: bucket_region or endpoint
    - `access_key` string, required
    - `secret` string, required
    - `base_path` string
  - `cloudflare` object: This is a required field if source type is cloudflare.
    - `bucket_name` string, required
    - `access_key` string, required
    - `account_id` string, required
    - `secret` string, required
    - `base_path` string

## Response `200`

200

- object
  - `id` string
  - `name` string
  - `type` string
  - `created_at` string
  - `updated_at` string
  - `video_protection` object
  - `player_config` object
    - `preload` boolean
    - `autoplay` boolean
    - `disable_seek` boolean
    - `disable_player_controls` boolean
    - `powered_by_gumlet_overlay` boolean
    - `allow_drm_protected_videos` boolean
    - `loop` boolean
    - `player_color` string
    - `include_seo` boolean
    - `subtitle_enabled` boolean
    - `pixel_tags` object
    - `logo_width` integer
    - `logo_height` integer
    - `dynamic_watermark` boolean
    - `watermark_font_size` integer
    - `watermark_font_color` string
    - `watermark_bg_color` string
    - `watermark_interval` integer
  - `default_profile_id` string
  - `insight_property_id` string
  - `zoom` object
    - `secret` string
  - `embed_details` object
    - `powered_by_gumlet_overlay` boolean
    - `allow_drm_protected_videos` boolean
    - `preload` boolean
    - `autoplay` boolean
    - `logo_width` integer
    - `logo_height` integer
    - `player_color` string
    - `is_seo` boolean
    - `dynamic_watermark` boolean
    - `watermark_font_size` integer
    - `watermark_font_color` string
    - `watermark_bg_color` string
    - `watermark_interval` integer
    - `disable_seek` boolean
    - `disable_player_controls` boolean
    - `loop` boolean
    - `subtitle_enabled` boolean
  - `folders` unknown[]
    - unknown
  - `channel_settings` object
    - `active` boolean
    - `privacy_type` string

## Other responses

- `400`: 400

---

[API](https://skmtc.dev/gumlet/apis/gumlet-rest-apis.md) - [All operations](https://skmtc.dev/gumlet/apis/gumlet-rest-apis/llms.txt) - [OpenAPI document](https://skmtc.dev/gumlet/apis/gumlet-rest-apis/revisions/b1f7ac2aeeec?raw)
