Amazon S3 · Arazzo Workflow

Amazon S3 Create Bucket and Store an Object

Version 1.0.0

Create a bucket, confirm it exists, upload an object, and read it back.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub ArchiveBackupCloud StorageData StorageObject StorageScalable StorageArazzoWorkflows

Provider

amazon-s3

Workflows

create-bucket-and-store-object
Create a bucket then put and get an object inside it.
Provisions a bucket in the requested Region, confirms access to it, writes a single object using the object's binary body, and reads the object back to verify it was stored.
4 steps inputs: bucket, contentType, objectBody, objectKey, region outputs: bucketLocation, etag, retrievedEtag
1
createBucket
Create the bucket in the requested Region using a CreateBucketConfiguration body that carries the LocationConstraint.
2
confirmBucket
Issue a HEAD request to confirm the bucket exists and is accessible before writing to it.
3
putObject
Upload the object's binary body to the bucket under the supplied key.
4
getObject
Read the object back to confirm the upload landed and is retrievable.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Amazon S3 Create Bucket and Store an Object
  summary: Create a bucket, confirm it exists, upload an object, and read it back.
  description: >-
    The foundational Amazon S3 onboarding flow. The workflow creates a new
    bucket, verifies the bucket is reachable with a HEAD request, uploads a
    single object into it with a PUT, and then retrieves that same object with a
    GET to confirm the round trip succeeded. Every step spells out its request
    inline so the flow can be read and executed without opening the underlying
    OpenAPI description.
  version: 1.0.0
  x-realizes-capability-ids:
  - BC-600.50
  x-capability-derivation:
    method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
    min_confidence: 0.7
    sources:
    - capability_id: BC-600.50
      capability_name: IT Infrastructure Management
      spec: amazon-s3-buckets-api-openapi.yml
      confidence: 0.7
    model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: bucketsApi
  url: ../openapi/amazon-s3-buckets-api-openapi.yml
  type: openapi
- name: objectsApi
  url: ../openapi/amazon-s3-objects-api-openapi.yml
  type: openapi
workflows:
- workflowId: create-bucket-and-store-object
  summary: Create a bucket then put and get an object inside it.
  description: >-
    Provisions a bucket in the requested Region, confirms access to it, writes a
    single object using the object's binary body, and reads the object back to
    verify it was stored.
  inputs:
    type: object
    required:
    - bucket
    - region
    - objectKey
    - objectBody
    properties:
      bucket:
        type: string
        description: The globally unique bucket name to create (3-63 lowercase characters).
      region:
        type: string
        description: The AWS Region (LocationConstraint) the bucket should live in, e.g. us-west-2.
      objectKey:
        type: string
        description: The key (path) the object will be stored under in the bucket.
      objectBody:
        type: string
        description: The raw object payload to upload.
      contentType:
        type: string
        description: The MIME type of the object body, e.g. text/plain.
  steps:
  - stepId: createBucket
    description: >-
      Create the bucket in the requested Region using a CreateBucketConfiguration
      body that carries the LocationConstraint.
    operationId: CreateBucket
    parameters:
    - name: Bucket
      in: path
      value: $inputs.bucket
    - name: x-amz-acl
      in: header
      value: private
    requestBody:
      contentType: application/xml
      payload:
        LocationConstraint: $inputs.region
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      location: $response.header.Location
  - stepId: confirmBucket
    description: >-
      Issue a HEAD request to confirm the bucket exists and is accessible before
      writing to it.
    operationId: HeadBucket
    parameters:
    - name: Bucket
      in: path
      value: $inputs.bucket
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      bucketRegion: $response.header.x-amz-bucket-region
  - stepId: putObject
    description: >-
      Upload the object's binary body to the bucket under the supplied key.
    operationId: PutObject
    parameters:
    - name: Bucket
      in: path
      value: $inputs.bucket
    - name: Key+
      in: path
      value: $inputs.objectKey
    - name: Content-Type
      in: header
      value: $inputs.contentType
    requestBody:
      contentType: application/octet-stream
      payload: $inputs.objectBody
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      etag: $response.header.ETag
      versionId: $response.header.x-amz-version-id
  - stepId: getObject
    description: >-
      Read the object back to confirm the upload landed and is retrievable.
    operationId: GetObject
    parameters:
    - name: Bucket
      in: path
      value: $inputs.bucket
    - name: Key+
      in: path
      value: $inputs.objectKey
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      retrievedEtag: $response.header.ETag
  outputs:
    bucketLocation: $steps.createBucket.outputs.location
    etag: $steps.putObject.outputs.etag
    retrievedEtag: $steps.getObject.outputs.retrievedEtag

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/amazon-s3-create-bucket-put-object-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.