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
Source connector name.
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.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
Unique identifier for the source connector.
Source connector name.
Connector type.
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.ISO 8601 timestamp when the connector was created.
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

