curl --request PUT \
--url "${UNSTRUCTURED_API_URL}/api/v1/sources/a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d" \
--header "unstructured-api-key: ${UNSTRUCTURED_API_KEY}" \
--header "Content-Type: application/json" \
--data '{
"name": "My Updated S3 Source",
"config": {
"remote_url": "s3://my-new-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 UpdateSourceRequest
from unstructured_client.models.shared import UpdateSourceConnector
client = UnstructuredClient(
api_key_auth=os.getenv("UNSTRUCTURED_API_KEY"),
server_url=os.getenv("UNSTRUCTURED_API_URL"),
)
response = client.sources.update_source(
request=UpdateSourceRequest(
source_id="a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
update_source_connector=UpdateSourceConnector(
name="My Updated S3 Source",
config={
"remote_url": "s3://my-new-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 UpdateSourceRequest
from unstructured_client.models.shared import UpdateSourceConnector
async def update_source():
client = UnstructuredClient(
api_key_auth=os.getenv("UNSTRUCTURED_API_KEY"),
server_url=os.getenv("UNSTRUCTURED_API_URL"),
)
response = await client.sources.update_source_async(
request=UpdateSourceRequest(
source_id="a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
update_source_connector=UpdateSourceConnector(
name="My Updated S3 Source",
config={
"remote_url": "s3://my-new-bucket/input/",
"access_key_id": "AKIAIOSFODNN7EXAMPLE",
"secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"recursive": True,
},
)
)
)
print(response)
asyncio.run(update_source())
{
"id": "a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"name": "My Updated S3 Source",
"type": "s3",
"config": {
"remote_url": "s3://my-new-bucket/input/",
"access_key_id": "AKIAIOSFODNN7EXAMPLE",
"secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"recursive": true
},
"created_at": "2026-01-01T00:00:00Z",
"updated_at": "2026-04-29T10:00:00Z"
}
Source
Update source connector
Update the configuration of an existing source connector.
PUT
/
api
/
v1
/
sources
/
{source_id}
curl --request PUT \
--url "${UNSTRUCTURED_API_URL}/api/v1/sources/a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d" \
--header "unstructured-api-key: ${UNSTRUCTURED_API_KEY}" \
--header "Content-Type: application/json" \
--data '{
"name": "My Updated S3 Source",
"config": {
"remote_url": "s3://my-new-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 UpdateSourceRequest
from unstructured_client.models.shared import UpdateSourceConnector
client = UnstructuredClient(
api_key_auth=os.getenv("UNSTRUCTURED_API_KEY"),
server_url=os.getenv("UNSTRUCTURED_API_URL"),
)
response = client.sources.update_source(
request=UpdateSourceRequest(
source_id="a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
update_source_connector=UpdateSourceConnector(
name="My Updated S3 Source",
config={
"remote_url": "s3://my-new-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 UpdateSourceRequest
from unstructured_client.models.shared import UpdateSourceConnector
async def update_source():
client = UnstructuredClient(
api_key_auth=os.getenv("UNSTRUCTURED_API_KEY"),
server_url=os.getenv("UNSTRUCTURED_API_URL"),
)
response = await client.sources.update_source_async(
request=UpdateSourceRequest(
source_id="a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
update_source_connector=UpdateSourceConnector(
name="My Updated S3 Source",
config={
"remote_url": "s3://my-new-bucket/input/",
"access_key_id": "AKIAIOSFODNN7EXAMPLE",
"secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"recursive": True,
},
)
)
)
print(response)
asyncio.run(update_source())
{
"id": "a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"name": "My Updated S3 Source",
"type": "s3",
"config": {
"remote_url": "s3://my-new-bucket/input/",
"access_key_id": "AKIAIOSFODNN7EXAMPLE",
"secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"recursive": true
},
"created_at": "2026-01-01T00:00:00Z",
"updated_at": "2026-04-29T10:00:00Z"
}
You must specify all of the settings for the connector, even for settings that are not changing.
You can change any of the connector’s settings except for its
nameand type.
Path parameters
The unique identifier of the source connector.
Body
New source connector name.
Updated connector configuration. 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 PUT \
--url "${UNSTRUCTURED_API_URL}/api/v1/sources/a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d" \
--header "unstructured-api-key: ${UNSTRUCTURED_API_KEY}" \
--header "Content-Type: application/json" \
--data '{
"name": "My Updated S3 Source",
"config": {
"remote_url": "s3://my-new-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 UpdateSourceRequest
from unstructured_client.models.shared import UpdateSourceConnector
client = UnstructuredClient(
api_key_auth=os.getenv("UNSTRUCTURED_API_KEY"),
server_url=os.getenv("UNSTRUCTURED_API_URL"),
)
response = client.sources.update_source(
request=UpdateSourceRequest(
source_id="a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
update_source_connector=UpdateSourceConnector(
name="My Updated S3 Source",
config={
"remote_url": "s3://my-new-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 UpdateSourceRequest
from unstructured_client.models.shared import UpdateSourceConnector
async def update_source():
client = UnstructuredClient(
api_key_auth=os.getenv("UNSTRUCTURED_API_KEY"),
server_url=os.getenv("UNSTRUCTURED_API_URL"),
)
response = await client.sources.update_source_async(
request=UpdateSourceRequest(
source_id="a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
update_source_connector=UpdateSourceConnector(
name="My Updated S3 Source",
config={
"remote_url": "s3://my-new-bucket/input/",
"access_key_id": "AKIAIOSFODNN7EXAMPLE",
"secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"recursive": True,
},
)
)
)
print(response)
asyncio.run(update_source())
{
"id": "a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"name": "My Updated S3 Source",
"type": "s3",
"config": {
"remote_url": "s3://my-new-bucket/input/",
"access_key_id": "AKIAIOSFODNN7EXAMPLE",
"secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"recursive": true
},
"created_at": "2026-01-01T00:00:00Z",
"updated_at": "2026-04-29T10:00:00Z"
}
Was this page helpful?
⌘I

