{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2026-04-22",
    "auth":["aws.auth#sigv4"],
    "endpointPrefix":"agenttoolkit",
    "protocol":"rest-json",
    "protocols":["rest-json"],
    "serviceFullName":"AgentToolkit",
    "serviceId":"AgentToolkit",
    "signatureVersion":"v4",
    "signingName":"execute-api",
    "uid":"agenttoolkit-2026-04-22"
  },
  "operations":{
    "GetLatestSkillVersion":{
      "name":"GetLatestSkillVersion",
      "http":{
        "method":"GET",
        "requestUri":"/skills/{name}/latest",
        "responseCode":200
      },
      "input":{"shape":"GetLatestSkillVersionInput"},
      "output":{"shape":"GetLatestSkillVersionOutput"},
      "documentation":"<p>Returns the latest version identifier for a skill as a plain-text file. Response Content-Type: text/plain. The body contains the version string (e.g. &quot;v1&quot;), optionally followed by a trailing newline.</p>",
      "auth":["smithy.api#noAuth"],
      "readonly":true,
      "authtype":"none"
    },
    "GetSkill":{
      "name":"GetSkill",
      "http":{
        "method":"GET",
        "requestUri":"/api/skills/{name}",
        "responseCode":200
      },
      "input":{"shape":"GetSkillInput"},
      "output":{"shape":"GetSkillOutput"},
      "errors":[
        {"shape":"ThrottlingException"},
        {"shape":"NotFoundException"},
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Retrieves metadata for a skill, including its version, description, categories, and file list. Use --skill-version to get the metadata for a specific version of the skill.</p>",
      "auth":["smithy.api#noAuth"],
      "readonly":true,
      "authtype":"none"
    },
    "GetSkillFile":{
      "name":"GetSkillFile",
      "http":{
        "method":"GET",
        "requestUri":"/skills/{name}/versions/{skillVersion}/files/{filePath+}",
        "responseCode":200
      },
      "input":{"shape":"GetSkillFileInput"},
      "output":{"shape":"GetSkillFileOutput"},
      "errors":[
        {"shape":"ThrottlingException"},
        {"shape":"NotFoundException"},
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Returns a specific file from a skill version. Content-Type varies by file extension. The {skillVersion} label accepts either &quot;latest&quot; or a versioned tag like &quot;v1&quot;.</p>",
      "auth":["smithy.api#noAuth"],
      "readonly":true,
      "authtype":"none"
    },
    "GetSkillFileChecksum":{
      "name":"GetSkillFileChecksum",
      "http":{
        "method":"GET",
        "requestUri":"/skills/{name}/versions/{skillVersion}/files/{filePath+}/checksum",
        "responseCode":200
      },
      "input":{"shape":"GetSkillFileChecksumInput"},
      "output":{"shape":"GetSkillFileChecksumOutput"},
      "errors":[
        {"shape":"ThrottlingException"},
        {"shape":"NotFoundException"},
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Returns the SHA-256 hex checksum of a specific file from a skill version. Response Content-Type: text/plain. The {skillVersion} label accepts either &quot;latest&quot; or a versioned tag like &quot;v1&quot;.</p>",
      "auth":["smithy.api#noAuth"],
      "readonly":true,
      "authtype":"none"
    },
    "ListSkills":{
      "name":"ListSkills",
      "http":{
        "method":"GET",
        "requestUri":"/api/skills",
        "responseCode":200
      },
      "input":{"shape":"ListSkillsInput"},
      "output":{"shape":"ListSkillsOutput"},
      "errors":[
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Lists skills available in the remote catalog. Use --category-filter to filter by a single category.</p>",
      "auth":["smithy.api#noAuth"],
      "readonly":true,
      "authtype":"none"
    },
    "SearchSkills":{
      "name":"SearchSkills",
      "http":{
        "method":"GET",
        "requestUri":"/api/search/skills",
        "responseCode":200
      },
      "input":{"shape":"SearchSkillsInput"},
      "output":{"shape":"SearchSkillsOutput"},
      "errors":[
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Searches the remote catalog for skills matching a query.</p>",
      "auth":["smithy.api#noAuth"],
      "readonly":true,
      "authtype":"none"
    }
  },
  "shapes":{
    "CategoryList":{
      "type":"list",
      "member":{"shape":"String"}
    },
    "File":{
      "type":"structure",
      "members":{
        "path":{"shape":"String"}
      }
    },
    "FileList":{
      "type":"list",
      "member":{"shape":"File"}
    },
    "GetLatestSkillVersionInput":{
      "type":"structure",
      "required":["name"],
      "members":{
        "name":{
          "shape":"GetLatestSkillVersionInputNameString",
          "location":"uri",
          "locationName":"name"
        }
      }
    },
    "GetLatestSkillVersionInputNameString":{
      "type":"string",
      "max":64,
      "min":1,
      "pattern":"[a-zA-Z0-9\\-]+"
    },
    "GetLatestSkillVersionOutput":{
      "type":"structure",
      "required":["body"],
      "members":{
        "contentType":{
          "shape":"String",
          "location":"header",
          "locationName":"Content-Type"
        },
        "eTag":{
          "shape":"String",
          "location":"header",
          "locationName":"ETag"
        },
        "cacheControl":{
          "shape":"String",
          "location":"header",
          "locationName":"Cache-Control"
        },
        "lastModified":{
          "shape":"Timestamp",
          "location":"header",
          "locationName":"Last-Modified"
        },
        "body":{
          "shape":"String",
          "documentation":"<p>The latest version identifier as plain text (e.g. &quot;v1&quot;, &quot;v2&quot;), optionally with a trailing newline.</p>"
        }
      },
      "documentation":"<p>Common HTTP response headers for static-asset responses</p>",
      "payload":"body"
    },
    "GetSkillFileChecksumInput":{
      "type":"structure",
      "required":[
        "name",
        "skillVersion",
        "filePath"
      ],
      "members":{
        "name":{
          "shape":"GetSkillFileChecksumInputNameString",
          "location":"uri",
          "locationName":"name"
        },
        "skillVersion":{
          "shape":"SkillVersion",
          "location":"uri",
          "locationName":"skillVersion"
        },
        "filePath":{
          "shape":"GetSkillFileChecksumInputFilePathString",
          "location":"uri",
          "locationName":"filePath"
        }
      }
    },
    "GetSkillFileChecksumInputFilePathString":{
      "type":"string",
      "max":1024,
      "min":1,
      "pattern":"[A-Za-z0-9._/\\-]+"
    },
    "GetSkillFileChecksumInputNameString":{
      "type":"string",
      "max":64,
      "min":1,
      "pattern":"[a-zA-Z0-9\\-]+"
    },
    "GetSkillFileChecksumOutput":{
      "type":"structure",
      "required":["body"],
      "members":{
        "contentType":{
          "shape":"String",
          "location":"header",
          "locationName":"Content-Type"
        },
        "eTag":{
          "shape":"String",
          "location":"header",
          "locationName":"ETag"
        },
        "cacheControl":{
          "shape":"String",
          "location":"header",
          "locationName":"Cache-Control"
        },
        "lastModified":{
          "shape":"Timestamp",
          "location":"header",
          "locationName":"Last-Modified"
        },
        "body":{"shape":"String"}
      },
      "documentation":"<p>Common HTTP response headers for static-asset responses</p>",
      "payload":"body"
    },
    "GetSkillFileInput":{
      "type":"structure",
      "required":[
        "name",
        "skillVersion",
        "filePath"
      ],
      "members":{
        "name":{
          "shape":"GetSkillFileInputNameString",
          "location":"uri",
          "locationName":"name"
        },
        "skillVersion":{
          "shape":"SkillVersion",
          "location":"uri",
          "locationName":"skillVersion"
        },
        "filePath":{
          "shape":"GetSkillFileInputFilePathString",
          "location":"uri",
          "locationName":"filePath"
        }
      }
    },
    "GetSkillFileInputFilePathString":{
      "type":"string",
      "max":1024,
      "min":1,
      "pattern":"[A-Za-z0-9._/\\-]+"
    },
    "GetSkillFileInputNameString":{
      "type":"string",
      "max":64,
      "min":1,
      "pattern":"[a-zA-Z0-9\\-]+"
    },
    "GetSkillFileOutput":{
      "type":"structure",
      "required":["body"],
      "members":{
        "contentType":{
          "shape":"String",
          "location":"header",
          "locationName":"Content-Type"
        },
        "eTag":{
          "shape":"String",
          "location":"header",
          "locationName":"ETag"
        },
        "cacheControl":{
          "shape":"String",
          "location":"header",
          "locationName":"Cache-Control"
        },
        "lastModified":{
          "shape":"Timestamp",
          "location":"header",
          "locationName":"Last-Modified"
        },
        "body":{"shape":"SkillFileBlob"}
      },
      "documentation":"<p>Common HTTP response headers for static-asset responses</p>",
      "payload":"body"
    },
    "GetSkillInput":{
      "type":"structure",
      "required":["name"],
      "members":{
        "name":{
          "shape":"GetSkillInputNameString",
          "location":"uri",
          "locationName":"name"
        },
        "skillVersion":{
          "shape":"GetSkillInputSkillVersionString",
          "location":"querystring",
          "locationName":"skill_version"
        }
      }
    },
    "GetSkillInputNameString":{
      "type":"string",
      "max":64,
      "min":1,
      "pattern":"[a-zA-Z0-9\\-]+"
    },
    "GetSkillInputSkillVersionString":{
      "type":"string",
      "pattern":"v[0-9]+"
    },
    "GetSkillOutput":{
      "type":"structure",
      "required":[
        "name",
        "skillVersion",
        "description",
        "categories",
        "files"
      ],
      "members":{
        "name":{"shape":"String"},
        "skillVersion":{"shape":"String"},
        "description":{"shape":"String"},
        "categories":{"shape":"CategoryList"},
        "files":{"shape":"FileList"}
      }
    },
    "InternalServerException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"}
      },
      "error":{"httpStatusCode":500},
      "exception":true,
      "fault":true
    },
    "ListSkillsInput":{
      "type":"structure",
      "members":{
        "categoryFilter":{
          "shape":"ListSkillsInputCategoryFilterString",
          "location":"querystring",
          "locationName":"category_filter"
        },
        "maxResults":{
          "shape":"ListSkillsInputMaxResultsInteger",
          "location":"querystring",
          "locationName":"max_results"
        },
        "nextToken":{
          "shape":"String",
          "location":"querystring",
          "locationName":"next_token"
        }
      }
    },
    "ListSkillsInputCategoryFilterString":{
      "type":"string",
      "max":100,
      "min":1,
      "pattern":"[a-zA-Z0-9-_]+"
    },
    "ListSkillsInputMaxResultsInteger":{
      "type":"integer",
      "box":true,
      "max":100,
      "min":1
    },
    "ListSkillsOutput":{
      "type":"structure",
      "required":["skills"],
      "members":{
        "nextToken":{"shape":"String"},
        "skills":{"shape":"SkillSummaryList"}
      }
    },
    "NotFoundException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"}
      },
      "error":{
        "httpStatusCode":404,
        "senderFault":true
      },
      "exception":true
    },
    "SearchSkillsInput":{
      "type":"structure",
      "required":["query"],
      "members":{
        "query":{
          "shape":"SearchSkillsInputQueryString",
          "location":"querystring",
          "locationName":"query"
        },
        "maxResults":{
          "shape":"SearchSkillsInputMaxResultsInteger",
          "location":"querystring",
          "locationName":"max_results"
        },
        "nextToken":{
          "shape":"String",
          "location":"querystring",
          "locationName":"next_token"
        }
      }
    },
    "SearchSkillsInputMaxResultsInteger":{
      "type":"integer",
      "box":true,
      "max":10,
      "min":1
    },
    "SearchSkillsInputQueryString":{
      "type":"string",
      "max":1000,
      "min":1,
      "pattern":"[a-zA-Z0-9\\-_ .,;:?!'\"()/&@#+]+"
    },
    "SearchSkillsOutput":{
      "type":"structure",
      "required":["skills"],
      "members":{
        "nextToken":{"shape":"String"},
        "skills":{"shape":"SkillSummaryList"}
      }
    },
    "SkillFileBlob":{
      "type":"blob",
      "documentation":"<p>Streaming binary content for skill file or zip downloads. Content-Type is set per-response via the @httpHeader(&quot;Content-Type&quot;) member on the operation output.</p>",
      "streaming":true
    },
    "SkillSummary":{
      "type":"structure",
      "required":[
        "name",
        "description",
        "skillVersion",
        "categories"
      ],
      "members":{
        "name":{"shape":"SkillSummaryNameString"},
        "description":{"shape":"SkillSummaryDescriptionString"},
        "skillVersion":{"shape":"String"},
        "categories":{"shape":"CategoryList"}
      }
    },
    "SkillSummaryDescriptionString":{
      "type":"string",
      "max":1024,
      "min":1
    },
    "SkillSummaryList":{
      "type":"list",
      "member":{"shape":"SkillSummary"},
      "min":0
    },
    "SkillSummaryNameString":{
      "type":"string",
      "max":64,
      "min":1
    },
    "SkillVersion":{
      "type":"string",
      "documentation":"<p>A skill version identifier: either the literal &quot;latest&quot; or a versioned tag like &quot;v1&quot;, &quot;v2&quot;.</p>",
      "pattern":"(latest|v[0-9]+)"
    },
    "String":{"type":"string"},
    "ThrottlingException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"}
      },
      "error":{
        "httpStatusCode":429,
        "senderFault":true
      },
      "exception":true,
      "retryable":{"throttling":true}
    },
    "Timestamp":{"type":"timestamp"},
    "ValidationException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"}
      },
      "error":{
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    }
  },
  "documentation":"<p>The Agent Toolkit for AWS gives AI coding agents the tools, knowledge, and guardrails they need to build, deploy, and manage applications on AWS. It works with the coding agents that developers already use — including Claude Code, Cursor, and Codex — without requiring you to switch tools or learn a new workflow. In the AWS CLI, the Agent Toolkit for AWS provides commands to set up AI coding agents with the AWS MCP and to manage installed AWS skills from the command line. It works with any AI coding agent that the Agent Toolkit detects on your system — including Kiro, Cursor, and Claude Code — and is the recommended setup path when you want to install AWS skills and configure the AWS MCP Server in a single step.</p>"
}
