curl --request POST \
--url "${UNSTRUCTURED_API_URL}/api/v1/sources/" \
--header "unstructured-api-key: ${UNSTRUCTURED_API_KEY}" \
--header "Content-Type: application/json" \
--data '{
"name": "My S3 Source",
"type": "s3",
"config": {
"remote_url": "s3://my-bucket/input/",
"access_key_id": "AKIAIOSFODNN7EXAMPLE",
"secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"recursive": true
}
}'
import os
from unstructured_client import UnstructuredClient
from unstructured_client.models.operations import CreateSourceRequest
from unstructured_client.models.shared import CreateSourceConnector
client = UnstructuredClient(
api_key_auth=os.getenv("UNSTRUCTURED_API_KEY"),
server_url=os.getenv("UNSTRUCTURED_API_URL"),
)
response = client.sources.create_source(
request=CreateSourceRequest(
create_source_connector=CreateSourceConnector(
name="My S3 Source",
type="s3",
config={
"remote_url": "s3://my-bucket/input/",
"access_key_id": "AKIAIOSFODNN7EXAMPLE",
"secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"recursive": True,
},
)
)
)
print(response)
import asyncio
import os
from unstructured_client import UnstructuredClient
from unstructured_client.models.operations import CreateSourceRequest
from unstructured_client.models.shared import CreateSourceConnector
async def create_source():
client = UnstructuredClient(
api_key_auth=os.getenv("UNSTRUCTURED_API_KEY"),
server_url=os.getenv("UNSTRUCTURED_API_URL"),
)
response = await client.sources.create_source_async(
request=CreateSourceRequest(
create_source_connector=CreateSourceConnector(
name="My S3 Source",
type="s3",
config={
"remote_url": "s3://my-bucket/input/",
"access_key_id": "AKIAIOSFODNN7EXAMPLE",
"secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"recursive": True,
},
)
)
)
print(response)
asyncio.run(create_source())
{
"id": "a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"name": "My S3 Source",
"type": "s3",
"config": {
"remote_url": "s3://my-bucket/input/",
"access_key_id": "AKIAIOSFODNN7EXAMPLE",
"secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"recursive": true
},
"created_at": "2026-01-01T00:00:00Z",
"updated_at": null
}
Source
Create source connector
Create a new source connector using the provided configuration.
POST
/
api
/
v1
/
sources
/
curl --request POST \
--url "${UNSTRUCTURED_API_URL}/api/v1/sources/" \
--header "unstructured-api-key: ${UNSTRUCTURED_API_KEY}" \
--header "Content-Type: application/json" \
--data '{
"name": "My S3 Source",
"type": "s3",
"config": {
"remote_url": "s3://my-bucket/input/",
"access_key_id": "AKIAIOSFODNN7EXAMPLE",
"secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"recursive": true
}
}'
import os
from unstructured_client import UnstructuredClient
from unstructured_client.models.operations import CreateSourceRequest
from unstructured_client.models.shared import CreateSourceConnector
client = UnstructuredClient(
api_key_auth=os.getenv("UNSTRUCTURED_API_KEY"),
server_url=os.getenv("UNSTRUCTURED_API_URL"),
)
response = client.sources.create_source(
request=CreateSourceRequest(
create_source_connector=CreateSourceConnector(
name="My S3 Source",
type="s3",
config={
"remote_url": "s3://my-bucket/input/",
"access_key_id": "AKIAIOSFODNN7EXAMPLE",
"secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"recursive": True,
},
)
)
)
print(response)
import asyncio
import os
from unstructured_client import UnstructuredClient
from unstructured_client.models.operations import CreateSourceRequest
from unstructured_client.models.shared import CreateSourceConnector
async def create_source():
client = UnstructuredClient(
api_key_auth=os.getenv("UNSTRUCTURED_API_KEY"),
server_url=os.getenv("UNSTRUCTURED_API_URL"),
)
response = await client.sources.create_source_async(
request=CreateSourceRequest(
create_source_connector=CreateSourceConnector(
name="My S3 Source",
type="s3",
config={
"remote_url": "s3://my-bucket/input/",
"access_key_id": "AKIAIOSFODNN7EXAMPLE",
"secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"recursive": True,
},
)
)
)
print(response)
asyncio.run(create_source())
{
"id": "a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"name": "My S3 Source",
"type": "s3",
"config": {
"remote_url": "s3://my-bucket/input/",
"access_key_id": "AKIAIOSFODNN7EXAMPLE",
"secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"recursive": true
},
"created_at": "2026-01-01T00:00:00Z",
"updated_at": null
}
Body
string
required
Source connector name.
string
required
Connector type. One of:
azure, box, confluence, couchbase, databricks_volumes, dropbox, elasticsearch, gcs, google_drive, kafka-cloud, mongodb, onedrive, opensearch, outlook, postgres, s3, salesforce, sharepoint, snowflake, teradata, jira, zendesk.object
required
Connector configuration. Required fields vary by connector
type.For the specific settings to include for a connector, see the entry for that connector in Sources.Response
string
required
Unique identifier for the source connector.
string
required
Source connector name.
string
required
Connector type.
object
required
Connector configuration. Fields vary by connector
type.For the specific settings to include for a specific connector, see the entry for that connector in Sources.string
required
ISO 8601 timestamp when the connector was created.
string
ISO 8601 timestamp when the connector was last updated.
curl --request POST \
--url "${UNSTRUCTURED_API_URL}/api/v1/sources/" \
--header "unstructured-api-key: ${UNSTRUCTURED_API_KEY}" \
--header "Content-Type: application/json" \
--data '{
"name": "My S3 Source",
"type": "s3",
"config": {
"remote_url": "s3://my-bucket/input/",
"access_key_id": "AKIAIOSFODNN7EXAMPLE",
"secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"recursive": true
}
}'
import os
from unstructured_client import UnstructuredClient
from unstructured_client.models.operations import CreateSourceRequest
from unstructured_client.models.shared import CreateSourceConnector
client = UnstructuredClient(
api_key_auth=os.getenv("UNSTRUCTURED_API_KEY"),
server_url=os.getenv("UNSTRUCTURED_API_URL"),
)
response = client.sources.create_source(
request=CreateSourceRequest(
create_source_connector=CreateSourceConnector(
name="My S3 Source",
type="s3",
config={
"remote_url": "s3://my-bucket/input/",
"access_key_id": "AKIAIOSFODNN7EXAMPLE",
"secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"recursive": True,
},
)
)
)
print(response)
import asyncio
import os
from unstructured_client import UnstructuredClient
from unstructured_client.models.operations import CreateSourceRequest
from unstructured_client.models.shared import CreateSourceConnector
async def create_source():
client = UnstructuredClient(
api_key_auth=os.getenv("UNSTRUCTURED_API_KEY"),
server_url=os.getenv("UNSTRUCTURED_API_URL"),
)
response = await client.sources.create_source_async(
request=CreateSourceRequest(
create_source_connector=CreateSourceConnector(
name="My S3 Source",
type="s3",
config={
"remote_url": "s3://my-bucket/input/",
"access_key_id": "AKIAIOSFODNN7EXAMPLE",
"secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"recursive": True,
},
)
)
)
print(response)
asyncio.run(create_source())
{
"id": "a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"name": "My S3 Source",
"type": "s3",
"config": {
"remote_url": "s3://my-bucket/input/",
"access_key_id": "AKIAIOSFODNN7EXAMPLE",
"secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"recursive": true
},
"created_at": "2026-01-01T00:00:00Z",
"updated_at": null
}
Was this page helpful?
⌘I

