Amazon DynamoDB Dynamodb Resource Policies API

The Dynamodb Resource Policies API from Amazon DynamoDB — 3 operation(s) for dynamodb resource policies.

Business capability
Identity & Access Management BC-620.20

Operations 3

POST /#DeleteResourcePolicy Delete Resource Policy #
POST /#GetResourcePolicy Get Resource Policy #
POST /#PutResourcePolicy Put Resource Policy #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/amazon-dynamodb:amazon-dynamodb-resource-policies-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

amazon-dynamodb-resource-policies-api-openapi.yml Raw ↑
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)