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.