Amazon DynamoDB · Arazzo Workflow

Amazon DynamoDB Put Item Then Query

Version 1.0.0

Write an item and immediately query the partition it belongs to.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub DatabaseDocument StoreKey-ValueNoSQLServerlessArazzoWorkflows

Provider

amazon-dynamodb

Workflows

put-then-query
Put a single item and query its partition.
Submits a PutItem request, then issues a Query using a key condition expression to retrieve the items in the same partition.
2 steps inputs: expressionAttributeNames, expressionAttributeValues, item, keyConditionExpression, limit, tableName outputs: count, items
1
putItem
Write the item into the table.
2
queryPartition
Query the table for all items matching the supplied key condition expression, returning the new item alongside any siblings.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Amazon DynamoDB Put Item Then Query
  summary: Write an item and immediately query the partition it belongs to.
  description: >-
    Writes a single item with PutItem and then runs a Query against the
    same table to return every item sharing the new item's partition key.
    This is the common write-then-read-back-by-partition pattern used to
    confirm a write landed and to fetch sibling items. Every step spells
    out its request inline, including the AWS JSON protocol X-Amz-Target
    header, so the flow can be read and executed without opening the
    underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: itemsApi
  url: ../openapi/amazon-dynamodb-items-api-openapi.yml
  type: openapi
- name: queriesApi
  url: ../openapi/amazon-dynamodb-queries-api-openapi.yml
  type: openapi
workflows:
- workflowId: put-then-query
  summary: Put a single item and query its partition.
  description: >-
    Submits a PutItem request, then issues a Query using a key condition
    expression to retrieve the items in the same partition.
  inputs:
    type: object
    required:
    - tableName
    - item
    - keyConditionExpression
    - expressionAttributeValues
    properties:
      tableName:
        type: string
        description: The name of the table to write to and query.
      item:
        type: object
        description: The item to write, as a map of attribute name to AttributeValue.
      keyConditionExpression:
        type: string
        description: The Query key condition expression (e.g. "pk = :pk").
      expressionAttributeNames:
        type: object
        description: Optional substitution tokens for attribute names.
      expressionAttributeValues:
        type: object
        description: Values substituted into the key condition expression.
      limit:
        type: integer
        description: Maximum number of items to evaluate in the query.
  steps:
  - stepId: putItem
    description: Write the item into the table.
    operationId: putItem
    parameters:
    - name: X-Amz-Target
      in: header
      value: DynamoDB_20120810.PutItem
    requestBody:
      contentType: application/x-amz-json-1.0
      payload:
        TableName: $inputs.tableName
        Item: $inputs.item
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      attributes: $response.body#/Attributes
  - stepId: queryPartition
    description: >-
      Query the table for all items matching the supplied key condition
      expression, returning the new item alongside any siblings.
    operationId: query
    parameters:
    - name: X-Amz-Target
      in: header
      value: DynamoDB_20120810.Query
    requestBody:
      contentType: application/x-amz-json-1.0
      payload:
        TableName: $inputs.tableName
        KeyConditionExpression: $inputs.keyConditionExpression
        ExpressionAttributeNames: $inputs.expressionAttributeNames
        ExpressionAttributeValues: $inputs.expressionAttributeValues
        Limit: $inputs.limit
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      items: $response.body#/Items
      count: $response.body#/Count
      lastEvaluatedKey: $response.body#/LastEvaluatedKey
  outputs:
    items: $steps.queryPartition.outputs.items
    count: $steps.queryPartition.outputs.count

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-dynamodb-put-then-query-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.