openapi
Apis
Control

ControlApi

activateVersion

Request

PATCH https://api.dataspray.io/v1/organization/{organizationName}/control/task/{taskId}/activate (opens in a new tab)

NameInTypeNotes
organizationNamePathString[default to null]
taskIdPathString[default to null]
versionQueryString[default to null]

Response TaskStatus

delete

Request

DELETE https://api.dataspray.io/v1/organization/{organizationName}/control/task/{taskId}/delete (opens in a new tab)

NameInTypeNotes
organizationNamePathString[default to null]
taskIdPathString[default to null]

Response TaskStatus

deleteState

Request

POST https://api.dataspray.io/v1/organization/{organizationName}/state/delete (opens in a new tab)

NameInTypeNotes
organizationNamePathString[default to null]
StateDeleteRequestBodyStateDeleteRequest

Response null (empty response body)

deleteTopic

Request

DELETE https://api.dataspray.io/v1/organization/{organizationName}/topic/{topicName} (opens in a new tab)

NameInTypeNotes
organizationNamePathString[default to null]
topicNamePathString[default to null]
expectedVersionQueryLong[optional] [default to null]

Response Topics

deployVersion

Request

PATCH https://api.dataspray.io/v1/organization/{organizationName}/control/task/{taskId}/deploy/{sessionId} (opens in a new tab)

NameInTypeNotes
organizationNamePathString[default to null]
taskIdPathString[default to null]
sessionIdPathString[default to null]
InvocationTypeHeaderString[default to null]
DeployRequestBodyDeployRequest

Response TaskVersion

deployVersionCheck

Request

GET https://api.dataspray.io/v1/organization/{organizationName}/control/task/{taskId}/deploy/{sessionId} (opens in a new tab)

NameInTypeNotes
organizationNamePathString[default to null]
taskIdPathString[default to null]
sessionIdPathString[default to null]

Response DeployVersionCheckResponse

getState

Request

POST https://api.dataspray.io/v1/organization/{organizationName}/state/get (opens in a new tab)

NameInTypeNotes
organizationNamePathString[default to null]
StateGetRequestBodyStateGetRequest

Response StateEntry

getTopicFileDownloadUrl

Get presigned URL to download a file

Get presigned URL to download a file

Generates a temporary presigned URL for downloading a specific file from S3

Request

GET https://api.dataspray.io/v1/organization/{organizationName}/topic/{topicName}/files/download (opens in a new tab)

NameInTypeNotes
organizationNamePathString[default to null]
topicNamePathString[default to null]
keyQueryStringS3 object key to download [default to null]

Response FileDownloadUrlResponse

getTopicSchema

Request

GET https://api.dataspray.io/v1/organization/{organizationName}/topic/{topicName}/schema (opens in a new tab)

NameInTypeNotes
organizationNamePathString[default to null]
topicNamePathString[default to null]

Response TopicSchema

getTopics

Request

GET https://api.dataspray.io/v1/organization/{organizationName}/topics (opens in a new tab)

NameInTypeNotes
organizationNamePathString[default to null]

Response Topics

getVersions

Request

GET https://api.dataspray.io/v1/organization/{organizationName}/control/task/{taskId}/versions (opens in a new tab)

NameInTypeNotes
organizationNamePathString[default to null]
taskIdPathString[default to null]

Response TaskVersions

listState

Request

POST https://api.dataspray.io/v1/organization/{organizationName}/state/list (opens in a new tab)

NameInTypeNotes
organizationNamePathString[default to null]
StateListRequestBodyStateListRequest

Response StateListResponse

listTopicFiles

List files stored in S3 for a topic

List files stored in S3 for a topic

Lists objects in S3 for a batch-enabled topic with pagination support

Request

GET https://api.dataspray.io/v1/organization/{organizationName}/topic/{topicName}/files (opens in a new tab)

NameInTypeNotes
organizationNamePathString[default to null]
topicNamePathString[default to null]
prefixQueryStringPrefix to filter files (e.g., "year=2025/month=01/") [optional] [default to null]
maxResultsQueryIntegerMaximum number of files to return (default 100, max 1000) [optional] [default to 100]
nextTokenQueryStringContinuation token for pagination [optional] [default to null]

Response TopicFilesResponse

pause

Request

PATCH https://api.dataspray.io/v1/organization/{organizationName}/control/task/{taskId}/pause (opens in a new tab)

NameInTypeNotes
organizationNamePathString[default to null]
taskIdPathString[default to null]

Response TaskStatus

recalculateTopicSchema

Recalculate schema from ingested S3 data

Recalculate schema from ingested S3 data

Infers the schema from actual data stored in S3 and updates the Glue table definition

Request

POST https://api.dataspray.io/v1/organization/{organizationName}/topic/{topicName}/schema (opens in a new tab)

NameInTypeNotes
organizationNamePathString[default to null]
topicNamePathString[default to null]

Response TopicSchema

resume

Request

PATCH https://api.dataspray.io/v1/organization/{organizationName}/control/task/{taskId}/resume (opens in a new tab)

NameInTypeNotes
organizationNamePathString[default to null]
taskIdPathString[default to null]

Response TaskStatus

status

Request

GET https://api.dataspray.io/v1/organization/{organizationName}/control/task/{taskId}/status/ (opens in a new tab)

NameInTypeNotes
organizationNamePathString[default to null]
taskIdPathString[default to null]

Response TaskStatus

statusAll

Request

GET https://api.dataspray.io/v1/organization/{organizationName}/control/status (opens in a new tab)

NameInTypeNotes
organizationNamePathString[default to null]
cursorQueryString[optional] [default to null]

Response TaskStatuses

updateDefaultTopic

Request

PATCH https://api.dataspray.io/v1/organization/{organizationName}/topic/default (opens in a new tab)

NameInTypeNotes
organizationNamePathString[default to null]
UpdateDefaultTopicRequestBodyUpdateDefaultTopicRequest
expectedVersionQueryLong[optional] [default to null]

Response Topics

updateTopic

Request

PATCH https://api.dataspray.io/v1/organization/{organizationName}/topic/{topicName} (opens in a new tab)

NameInTypeNotes
organizationNamePathString[default to null]
topicNamePathString[default to null]
TopicBodyTopic
expectedVersionQueryLong[optional] [default to null]

Response Topics

updateTopicSchema

Request

PUT https://api.dataspray.io/v1/organization/{organizationName}/topic/{topicName}/schema (opens in a new tab)

NameInTypeNotes
organizationNamePathString[default to null]
topicNamePathString[default to null]
UpdateTopicSchemaRequestBodyUpdateTopicSchemaRequest

Response null (empty response body)

uploadCode

Request

PUT https://api.dataspray.io/v1/organization/{organizationName}/control/code/upload (opens in a new tab)

NameInTypeNotes
organizationNamePathString[default to null]
UploadCodeRequestBodyUploadCodeRequest

Response UploadCodeResponse

upsertState

Request

POST https://api.dataspray.io/v1/organization/{organizationName}/state/upsert (opens in a new tab)

NameInTypeNotes
organizationNamePathString[default to null]
StateUpsertRequestBodyStateUpsertRequest

Response StateEntry