PoC API Image of S3 App

PoC API Image of S3 App

0.0.1OAS 3.0

OpenAPI specification for PoC App

API Base URL
  • Server 1:https://erringly-fluxionary-sarah.ngrok-free.dev

/images/icon/upload-urls

Upsert an presign post url for image upload.

put
https://erringly-fluxionary-sarah.ngrok-free.dev/images/icon/upload-urls

Body

application/json
* Additional properties are NOT allowed.
checkSumstringrequired

SHA256 hash in base64 encode of the image

Response

200 application/json

OK

idstring

A genrerted UUID identifier to use as part of the S3 object key

Example:3d4e4def-da26-476f-8975-4505c37a3df0

presignedPostobject

AWS Presign Post

Example:{"url":"https://jeff-api-image-s3-poc.s3.us-east-2.amazonaws.com/","fields":{"key":"uploads/tmp/0991cbe3-1bee-453c-9c83-af9bb45f36bc","x-amz-checksum-algorithm":"SHA256","x-amz-checksum-sha256\"":"xv3wBV4a2ciREythzDXNtOQqCcpESsrdezhcQn3pMnk=","bucket":"jeff-api-image-s3-poc","X-Amz-Algorithm":"AWS4-HMAC-SHA256","X-Amz-Credential":"ASIA3NNM3GS4YMDBYLIY/20260118/us-east-2/s3/aws4_request","X-Amz-Date":"20260118T033135Z","X-Amz-Security-Token":"FwoGZ+,,/2","Policy":"eyJleHBpcmF0aW9uIjoidFKysvMiJ9XX0=","X-Amz-Signature":"dFKysvMiJ9XX0="}}

put/images/icon/upload-urls

Body

{ "checkSum": "checkSum" }
 
200 application/json

/images/icon/{imageId}/raw

Raw image endpoint

get
https://erringly-fluxionary-sarah.ngrok-free.dev/images/icon/{imageId}/raw

Path Parameters

imageIdstringrequired

Response

302

Redirect to AWS Cloudfront CDN

get/images/icon/{imageId}/raw
 
302

/images/icon/webhook

Webhook endpoint accept S3 ObjectCreatedEvent

post
https://erringly-fluxionary-sarah.ngrok-free.dev/images/icon/webhook

Body

application/json
sourcestringrequired

Example:aws.eventbridge

typestringrequired

Example:POST Object

payloadobjectrequired

Example:{"bucket":"some-bucket","key":"some-key","etag":"3d4e4def-da26-476f-8975-4505c37a3df0","size":53243}

metaobjectrequired

Example:{"eventId":"42fdsa"}

Response

Accepted

post/images/icon/webhook

Body

{ "source": "aws.eventbridge", "type": "POST Object", "payload": { "bucket": "some-bucket", "key": "some-key", "etag": "3d4e4def-da26-476f-8975-4505c37a3df0", "size": 53243 }, "meta": { "eventId": "42fdsa" } }