Amazon DynamoDB Dynamodb Resource Policies API
The Dynamodb Resource Policies API from Amazon DynamoDB — 3 operation(s) for dynamodb resource policies.
The Dynamodb Resource Policies API from Amazon DynamoDB — 3 operation(s) for dynamodb resource policies.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.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.curl "https://apis.io/api/v1/apis/amazon-dynamodb:amazon-dynamodb-resource-policies-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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.
openapi: 3.2.0
info:
title: Amazon DynamoDB Resource Policies API
version: '2012-08-10'
description: Generated from AWS's published Smithy model for Amazon DynamoDB. 3 operation(s).
contact:
name: Amazon Web Services
url: https://aws.amazon.com/contact-us/
license:
name: Apache 2.0
identifier: Apache-2.0
url: https://github.com/aws/api-models-aws/blob/main/LICENSE
servers:
- url: https://dynamodb.{region}.amazonaws.com
variables:
region:
default: us-east-1
security:
- sigv4: []
tags:
- name: Resource Policies
paths:
/#DeleteResourcePolicy:
post:
operationId: DeleteResourcePolicy
summary: Delete Resource Policy
description: Deletes the resource-based policy attached to the resource, which can be a table or stream. DeleteResourcePolicy is an idempotent operation; running it multiple times on the same resource doesn't result in an error response, unless you specify an ExpectedRevisionId, which will then return a PolicyNotFoundException. To make sure that you don't inadvertently lock yourself out of your own resources, the root principal in your Amazon Web Services account can perform DeleteResourcePolicy requests, even if your resource-based policy explicitly denies the root principal's access. DeleteResourcePolicy is an asynchronous operation. If you issue a GetResourcePolicy request immediately after running the DeleteResourcePolicy request, DynamoDB might still return the deleted policy. This is because the policy for your resource might not have been deleted yet. Wait for a few seconds, and then try the GetResourcePolicy request again.
responses:
'200':
description: Success
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/DeleteResourcePolicyOutput'
'500':
description: InternalServerError
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/InternalServerError'
'421':
description: InvalidEndpointException
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/InvalidEndpointException'
'400':
description: LimitExceededException; PolicyNotFoundException; ResourceInUseException; ResourceNotFoundException
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/LimitExceededException'
parameters:
- name: X-Amz-Target
in: header
required: true
schema:
type: string
enum:
- DynamoDB_20120810.DeleteResourcePolicy
requestBody:
required: true
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/DeleteResourcePolicyInput'
tags:
- Resource Policies
/#GetResourcePolicy:
post:
operationId: GetResourcePolicy
summary: Get Resource Policy
description: 'Returns the resource-based policy document attached to the resource, which can be a table or stream, in JSON format. GetResourcePolicy follows an eventually consistent model. The following list describes the outcomes when you issue the GetResourcePolicy request immediately after issuing another request: If you issue a GetResourcePolicy request immediately after a PutResourcePolicy request, DynamoDB might return a PolicyNotFoundException. If you issue a GetResourcePolicyrequest immediately after a DeleteResourcePolicy request, DynamoDB might return the policy that was present before the deletion request. If you issue a GetResourcePolicy request immediately after a CreateTable request, which includes a resource-based policy, DynamoDB might return a ResourceNotFoundException or a PolicyNotFoundException. Because GetResourcePolicy uses an eventually consistent query, the metadata for your policy or table might not be available at that moment. Wait for a few seconds, and then retry the GetResourcePolicy request. After a GetResourcePolicy request returns a policy created using the PutResourcePolicy request, the policy will be applied in the authorization of requests to the resource. Beca'
responses:
'200':
description: Success
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/GetResourcePolicyOutput'
'500':
description: InternalServerError
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/InternalServerError'
'421':
description: InvalidEndpointException
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/InvalidEndpointException'
'400':
description: PolicyNotFoundException; ResourceNotFoundException
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/PolicyNotFoundException'
parameters:
- name: X-Amz-Target
in: header
required: true
schema:
type: string
enum:
- DynamoDB_20120810.GetResourcePolicy
requestBody:
required: true
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/GetResourcePolicyInput'
tags:
- Resource Policies
/#PutResourcePolicy:
post:
operationId: PutResourcePolicy
summary: Put Resource Policy
description: Attaches a resource-based policy document to the resource, which can be a table or stream. When you attach a resource-based policy using this API, the policy application is eventually consistent . PutResourcePolicy is an idempotent operation; running it multiple times on the same resource using the same policy document will return the same revision ID. If you specify an ExpectedRevisionId that doesn't match the current policy's RevisionId, the PolicyNotFoundException will be returned. PutResourcePolicy is an asynchronous operation. If you issue a GetResourcePolicy request immediately after a PutResourcePolicy request, DynamoDB might return your previous policy, if there was one, or return the PolicyNotFoundException. This is because GetResourcePolicy uses an eventually consistent query, and the metadata for your policy or table might not be available at that moment. Wait for a few seconds, and then try the GetResourcePolicy request again.
responses:
'200':
description: Success
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/PutResourcePolicyOutput'
'500':
description: InternalServerError
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/InternalServerError'
'421':
description: InvalidEndpointException
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/InvalidEndpointException'
'400':
description: LimitExceededException; PolicyNotFoundException; ResourceInUseException; ResourceNotFoundException
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/LimitExceededException'
parameters:
- name: X-Amz-Target
in: header
required: true
schema:
type: string
enum:
- DynamoDB_20120810.PutResourcePolicy
requestBody:
required: true
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/PutResourcePolicyInput'
tags:
- Resource Policies
components:
schemas:
GetResourcePolicyOutput:
type: object
properties:
Policy:
type: string
description: The resource-based policy document attached to the resource, which can be a table or stream, in JSON format.
RevisionId:
type: string
description: A unique string that represents the revision ID of the policy. If you're comparing revision IDs, make sure to always use string comparison logic.
LimitExceededException:
type: object
properties:
message:
type: string
description: Too many operations for a given subscriber.
DeleteResourcePolicyOutput:
type: object
properties:
RevisionId:
type: string
description: A unique string that represents the revision ID of the policy. If you're comparing revision IDs, make sure to always use string comparison logic. This value will be empty if you make a request against a resource without a policy.
PutResourcePolicyInput:
type: object
properties:
ResourceArn:
type: string
description: The Amazon Resource Name (ARN) of the DynamoDB resource to which the policy will be attached. The resources you can specify include tables and streams. You can control index permissions using the base table's policy. To specify the same permission level for your table and its indexes, you can provide both the table and index Amazon Resource Name (ARN)s in the Resource field of a given Statement in your policy document. Alternatively, to specify different permissions for your table, indexes, or both, you can define multiple Statement fields in your policy document.
Policy:
type: string
description: An Amazon Web Services resource-based policy document in JSON format. The maximum size supported for a resource-based policy document is 20 KB. DynamoDB counts whitespaces when calculating the size of a policy against this limit. Within a resource-based policy, if the action for a DynamoDB service-linked role (SLR) to replicate data for a global table is denied, adding or deleting a replica will fail with an error. For a full list of all considerations that apply while attaching a resource-based policy, see Resource-based policy considerations.
ExpectedRevisionId:
type: string
description: A string value that you can use to conditionally update your policy. You can provide the revision ID of your existing policy to make mutating requests against that policy. When you provide an expected revision ID, if the revision ID of the existing policy on the resource doesn't match or if there's no policy attached to the resource, your request will be rejected with a PolicyNotFoundException. To conditionally attach a policy when no policy exists for the resource, specify NO_POLICY for the revision ID.
ConfirmRemoveSelfResourceAccess:
type: boolean
description: Set this parameter to true to confirm that you want to remove your permissions to change the policy of this resource in the future.
required:
- ResourceArn
- Policy
PolicyNotFoundException:
type: object
properties:
message:
type: string
GetResourcePolicyInput:
type: object
properties:
ResourceArn:
type: string
description: The Amazon Resource Name (ARN) of the DynamoDB resource to which the policy is attached. The resources you can specify include tables and streams.
required:
- ResourceArn
PutResourcePolicyOutput:
type: object
properties:
RevisionId:
type: string
description: A unique string that represents the revision ID of the policy. If you're comparing revision IDs, make sure to always use string comparison logic.
InternalServerError:
type: object
properties:
message:
type: string
description: The server encountered an internal error trying to fulfill the request.
InvalidEndpointException:
type: object
properties:
Message:
type: string
DeleteResourcePolicyInput:
type: object
properties:
ResourceArn:
type: string
description: The Amazon Resource Name (ARN) of the DynamoDB resource from which the policy will be removed. The resources you can specify include tables and streams. If you remove the policy of a table, it will also remove the permissions for the table's indexes defined in that policy document. This is because index permissions are defined in the table's policy.
ExpectedRevisionId:
type: string
description: A string value that you can use to conditionally delete your policy. When you provide an expected revision ID, if the revision ID of the existing policy on the resource doesn't match or if there's no policy attached to the resource, the request will fail and return a PolicyNotFoundException.
required:
- ResourceArn
securitySchemes:
sigv4:
type: apiKey
in: header
name: Authorization
description: AWS Signature Version 4. The Authorization header carries an AWS4-HMAC-SHA256 signature over the canonical request, with X-Amz-Date (and X-Amz-Security-Token for temporary credentials). Not a bearer token.
x-aws-sigv4:
signingName: dynamodb
x-provenance:
method: harvested
publisher: Amazon Web Services
source: https://raw.githubusercontent.com/aws/api-models-aws/582e55931c45b944739742a2c1620b6026dd2d13/models/dynamodb/service/2012-08-10/dynamodb-2012-08-10.json
note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)