MagickMind
PythonModels

Artifact (v1)

Reference for magick_mind.models.v1.artifact.

magick_mind.models.v1.artifact

Artifact models for Magick Mind SDK v1 API.

Provides Pydantic models for file upload and artifact management using presigned S3 URLs and webhook-based completion confirmation.

ArtifactStatusEnum

class ArtifactStatusEnum(str, Enum)

Lifecycle status values for an artifact.

Artifact

class Artifact(BaseModel)

Canonical artifact model representing an uploaded file.

Artifacts are files (documents, images, etc.) uploaded to S3 and associated with a corpus or other container in the backend.

model_config

Allow additional fields from API responses

PresignArtifactRequest

class PresignArtifactRequest(BaseModel)

Request for obtaining a presigned S3 upload URL.

PresignArtifactResponse

class PresignArtifactResponse(BaseModel)

Response containing presigned upload URL and metadata.

GetArtifactResponse

class GetArtifactResponse(BaseModel)

Response for getting a single artifact by ID.

Matches the {"artifact": {...}} envelope returned by GET /v1/artifacts/{id}.

ListArtifactsResponse

class ListArtifactsResponse(BaseModel)

Response for listing/querying artifacts.

Matches the {"data": [...]} envelope returned by GET /v1/artifacts.

DownloadUrlResponse

class DownloadUrlResponse(BaseModel)

Response for retrieving a presigned artifact download URL.

Returned by GET /v1/artifacts/{id}/download.

DeleteArtifactResponse

class DeleteArtifactResponse(BaseModel)

Response for deleting an artifact.

FinalizeArtifactRequest

class FinalizeArtifactRequest(BaseModel)

Client-driven finalize request (fallback when webhook is unavailable).

FinalizeArtifactResponse

class FinalizeArtifactResponse(BaseModel)

Response for finalize operation.

ArtifactWebhookPayload

class ArtifactWebhookPayload(BaseModel)

Webhook payload sent from S3 Lambda or client finalize.

This is the shape of data sent to the webhook endpoint after an artifact upload is complete.

On this page