Amazon S3 · Arazzo Workflow

Amazon S3 Enable Versioning Then Store an Object

Version 1.0.0

Turn on bucket versioning, confirm it, then write a versioned object.

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

Provider

amazon-s3

Workflows

enable-versioning-and-put-object
Enable versioning, verify it, then upload a versioned object.
Sets the bucket versioning state to Enabled, confirms the state with a GET, and writes an object that is captured as a new version.
3 steps inputs: bucket, objectBody, objectKey outputs: versionId, versioningStatus
1
enableVersioning
Set the bucket versioning state to Enabled via a VersioningConfiguration body.
2
confirmVersioning
Read the versioning configuration back to confirm the bucket now reports the Enabled status.
3
putObject
Upload the object; because versioning is enabled the write is captured as a new version and a version id is returned.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Amazon S3 Enable Versioning Then Store an Object
  summary: Turn on bucket versioning, confirm it, then write a versioned object.
  description: >-
    Prepares a bucket to retain object history. The workflow enables versioning
    on the bucket, reads the versioning configuration back to confirm it is
    Enabled, and then uploads an object so the write is captured as a distinct
    version. The version id is returned from the PUT response header. 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-bucket-configuration-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: bucketConfigurationApi
  url: ../openapi/amazon-s3-bucket-configuration-api-openapi.yml
  type: openapi
- name: objectsApi
  url: ../openapi/amazon-s3-objects-api-openapi.yml
  type: openapi
workflows:
- workflowId: enable-versioning-and-put-object
  summary: Enable versioning, verify it, then upload a versioned object.
  description: >-
    Sets the bucket versioning state to Enabled, confirms the state with a GET,
    and writes an object that is captured as a new version.
  inputs:
    type: object
    required:
    - bucket
    - objectKey
    - objectBody
    properties:
      bucket:
        type: string
        description: The bucket to enable versioning on and write to.
      objectKey:
        type: string
        description: The key of the object to upload.
      objectBody:
        type: string
        description: The raw object payload to upload.
  steps:
  - stepId: enableVersioning
    description: >-
      Set the bucket versioning state to Enabled via a VersioningConfiguration
      body.
    operationId: PutBucketVersioning
    parameters:
    - name: Bucket
      in: path
      value: $inputs.bucket
    requestBody:
      contentType: application/xml
      payload:
        Status: Enabled
    successCriteria:
    - condition: $statusCode == 200
  - stepId: confirmVersioning
    description: >-
      Read the versioning configuration back to confirm the bucket now reports
      the Enabled status.
    operationId: GetBucketVersioning
    parameters:
    - name: Bucket
      in: path
      value: $inputs.bucket
    successCriteria:
    - condition: $statusCode == 200
    - condition: $response.body#/Status == "Enabled"
    outputs:
      status: $response.body#/Status
  - stepId: putObject
    description: >-
      Upload the object; because versioning is enabled the write is captured as a
      new version and a version id is returned.
    operationId: PutObject
    parameters:
    - name: Bucket
      in: path
      value: $inputs.bucket
    - name: Key+
      in: path
      value: $inputs.objectKey
    requestBody:
      contentType: application/octet-stream
      payload: $inputs.objectBody
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      versionId: $response.header.x-amz-version-id
      etag: $response.header.ETag
  outputs:
    versioningStatus: $steps.confirmVersioning.outputs.status
    versionId: $steps.putObject.outputs.versionId

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-enable-versioning-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.