Amazon CodeCommit Codecommit Repository API

The Codecommit Repository API from Amazon CodeCommit — 6 operation(s) for codecommit repository.

Business capability
Software Construction Management BC-4200.40

Operations 6

POST /#BatchGetRepositories Batch Get Repositories #
POST /#CreateRepository Create Repository #
POST /#DeleteRepository Delete Repository #
POST /#GetRepository Get Repository #
POST /#ListRepositories List Repositories #
POST /#ListRepositoriesForApprovalRuleTemplate List Repositories For Approval Rule Template #

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-codecommit:amazon-codecommit-repository-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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-codecommit-repository-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: AWS CodeCommit Repository API
  version: '2015-04-13'
  description: Generated from AWS's published Smithy model for AWS CodeCommit. 6 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://codecommit.{region}.amazonaws.com
  variables:
    region:
      default: us-east-1
security:
- sigv4: []
paths:
  /#BatchGetRepositories:
    post:
      operationId: BatchGetRepositories
      summary: Batch Get Repositories
      description: Returns information about one or more repositories. The description field for a repository accepts all
        HTML characters and all valid Unicode characters. Applications that do not HTML-encode the description and display
        it in a webpage can expose users to potentially malicious code. Make sure that you HTML-encode the description field
        in any application that uses this API to display the repository description on a webpage.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/BatchGetRepositoriesOutput'
        '500':
          description: EncryptionIntegrityChecksFailedException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/EncryptionIntegrityChecksFailedException'
        '400':
          description: EncryptionKeyAccessDeniedException; EncryptionKeyDisabledException; EncryptionKeyNotFoundException;
            EncryptionKeyUnavailableException; InvalidRepositoryNameException; MaximumRepositoryNamesExceededException; RepositoryNamesRequiredException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/EncryptionKeyAccessDeniedException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - CodeCommit_20150413.BatchGetRepositories
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/BatchGetRepositoriesInput'
      tags:
      - Repository
  /#CreateRepository:
    post:
      operationId: CreateRepository
      summary: Create Repository
      description: Creates a new, empty repository.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/CreateRepositoryOutput'
        '500':
          description: EncryptionIntegrityChecksFailedException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/EncryptionIntegrityChecksFailedException'
        '400':
          description: EncryptionKeyAccessDeniedException; EncryptionKeyDisabledException; EncryptionKeyInvalidIdException;
            EncryptionKeyInvalidUsageException; EncryptionKeyNotFoundException; EncryptionKeyUnavailableException; InvalidRepositoryDescriptionException;
            InvalidRepositoryNameException; InvalidSystemTagUsageException; InvalidTagsMapException; OperationNotAllowedException;
            RepositoryLimitExceededException; RepositoryNameExistsException; RepositoryNameRequiredException; TagPolicyException;
            TooManyTagsException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/EncryptionKeyAccessDeniedException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - CodeCommit_20150413.CreateRepository
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/CreateRepositoryInput'
      tags:
      - Repository
  /#DeleteRepository:
    post:
      operationId: DeleteRepository
      summary: Delete Repository
      description: Deletes a repository. If a specified repository was already deleted, a null repository ID is returned.
        Deleting a repository also deletes all associated objects and metadata. After a repository is deleted, all future
        push calls to the deleted repository fail.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/DeleteRepositoryOutput'
        '500':
          description: EncryptionIntegrityChecksFailedException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/EncryptionIntegrityChecksFailedException'
        '400':
          description: EncryptionKeyAccessDeniedException; EncryptionKeyDisabledException; EncryptionKeyNotFoundException;
            EncryptionKeyUnavailableException; InvalidRepositoryNameException; RepositoryNameRequiredException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/EncryptionKeyAccessDeniedException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - CodeCommit_20150413.DeleteRepository
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/DeleteRepositoryInput'
      tags:
      - Repository
  /#GetRepository:
    post:
      operationId: GetRepository
      summary: Get Repository
      description: Returns information about a repository. The description field for a repository accepts all HTML characters
        and all valid Unicode characters. Applications that do not HTML-encode the description and display it in a webpage
        can expose users to potentially malicious code. Make sure that you HTML-encode the description field in any application
        that uses this API to display the repository description on a webpage.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/GetRepositoryOutput'
        '500':
          description: EncryptionIntegrityChecksFailedException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/EncryptionIntegrityChecksFailedException'
        '400':
          description: EncryptionKeyAccessDeniedException; EncryptionKeyDisabledException; EncryptionKeyNotFoundException;
            EncryptionKeyUnavailableException; InvalidRepositoryNameException; RepositoryDoesNotExistException; RepositoryNameRequiredException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/EncryptionKeyAccessDeniedException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - CodeCommit_20150413.GetRepository
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/GetRepositoryInput'
      tags:
      - Repository
  /#ListRepositories:
    post:
      operationId: ListRepositories
      summary: List Repositories
      description: Gets information about one or more repositories.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/ListRepositoriesOutput'
        '400':
          description: InvalidContinuationTokenException; InvalidOrderException; InvalidSortByException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/InvalidContinuationTokenException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - CodeCommit_20150413.ListRepositories
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/ListRepositoriesInput'
      tags:
      - Repository
  /#ListRepositoriesForApprovalRuleTemplate:
    post:
      operationId: ListRepositoriesForApprovalRuleTemplate
      summary: List Repositories For Approval Rule Template
      description: Lists all repositories associated with the specified approval rule template.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/ListRepositoriesForApprovalRuleTemplateOutput'
        '400':
          description: ApprovalRuleTemplateDoesNotExistException; ApprovalRuleTemplateNameRequiredException; EncryptionKeyAccessDeniedException;
            EncryptionKeyDisabledException; EncryptionKeyNotFoundException; EncryptionKeyUnavailableException; InvalidApprovalRuleTemplateNameException;
            InvalidContinuationTokenException; InvalidMaxResultsException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/ApprovalRuleTemplateDoesNotExistException'
        '500':
          description: EncryptionIntegrityChecksFailedException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/EncryptionIntegrityChecksFailedException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - CodeCommit_20150413.ListRepositoriesForApprovalRuleTemplate
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/ListRepositoriesForApprovalRuleTemplateInput'
      tags:
      - Repository
components:
  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: codecommit
  schemas:
    ApprovalRuleTemplateDoesNotExistException:
      type: object
      properties:
        message:
          type: string
          description: Any message associated with the exception.
    BatchGetRepositoriesError:
      type: object
      properties:
        repositoryId:
          type: string
          description: The ID of a repository that either could not be found or was not in a valid state.
        repositoryName:
          type: string
          description: The name of a repository that either could not be found or was not in a valid state.
        errorCode:
          type: string
          enum:
          - EncryptionIntegrityChecksFailedException
          - EncryptionKeyAccessDeniedException
          - EncryptionKeyDisabledException
          - EncryptionKeyNotFoundException
          - EncryptionKeyUnavailableException
          - RepositoryDoesNotExistException
          description: An error code that specifies the type of failure.
        errorMessage:
          type: string
          description: An error message that provides detail about why the repository either was not found or was not in a
            valid state.
    BatchGetRepositoriesInput:
      type: object
      properties:
        repositoryNames:
          type: array
          items:
            type: string
          description: The names of the repositories to get information about. The length constraint limit is for each string
            in the array. The array itself can be empty.
      required:
      - repositoryNames
    BatchGetRepositoriesOutput:
      type: object
      properties:
        repositories:
          type: array
          items:
            $ref: '#/components/schemas/RepositoryMetadata'
          description: A list of repositories returned by the batch get repositories operation.
        repositoriesNotFound:
          type: array
          items:
            type: string
          description: Returns a list of repository names for which information could not be found.
        errors:
          type: array
          items:
            $ref: '#/components/schemas/BatchGetRepositoriesError'
          description: Returns information about any errors returned when attempting to retrieve information about the repositories.
    CreateRepositoryInput:
      type: object
      properties:
        repositoryName:
          type: string
          description: The name of the new repository to be created. The repository name must be unique across the calling
            Amazon Web Services account. Repository names are limited to 100 alphanumeric, dash, and underscore characters,
            and cannot include certain characters. For more information about the limits on repository names, see Quotas in
            the CodeCommit User Guide. The suffix .git is prohibited.
        repositoryDescription:
          type: string
          description: A comment or description about the new repository. The description field for a repository accepts all
            HTML characters and all valid Unicode characters. Applications that do not HTML-encode the description and display
            it in a webpage can expose users to potentially malicious code. Make sure that you HTML-encode the description
            field in any application that uses this API to display the repository description on a webpage.
        tags:
          type: object
          additionalProperties:
            type: string
          description: One or more tag key-value pairs to use when tagging this repository.
        kmsKeyId:
          type: string
          description: The ID of the encryption key. You can view the ID of an encryption key in the KMS console, or use the
            KMS APIs to programmatically retrieve a key ID. For more information about acceptable values for kmsKeyID, see
            KeyId in the Decrypt API description in the Key Management Service API Reference. If no key is specified, the
            default aws/codecommit Amazon Web Services managed key is used.
      required:
      - repositoryName
    CreateRepositoryOutput:
      type: object
      properties:
        repositoryMetadata:
          $ref: '#/components/schemas/RepositoryMetadata'
    DeleteRepositoryInput:
      type: object
      properties:
        repositoryName:
          type: string
          description: The name of the repository to delete.
      required:
      - repositoryName
    DeleteRepositoryOutput:
      type: object
      properties:
        repositoryId:
          type: string
          description: The ID of the repository that was deleted.
    EncryptionIntegrityChecksFailedException:
      type: object
      properties:
        message:
          type: string
          description: Any message associated with the exception.
    EncryptionKeyAccessDeniedException:
      type: object
      properties:
        message:
          type: string
          description: Any message associated with the exception.
    GetRepositoryInput:
      type: object
      properties:
        repositoryName:
          type: string
          description: The name of the repository to get information about.
      required:
      - repositoryName
    GetRepositoryOutput:
      type: object
      properties:
        repositoryMetadata:
          $ref: '#/components/schemas/RepositoryMetadata'
    InvalidContinuationTokenException:
      type: object
      properties:
        message:
          type: string
          description: Any message associated with the exception.
    ListRepositoriesForApprovalRuleTemplateInput:
      type: object
      properties:
        approvalRuleTemplateName:
          type: string
          description: The name of the approval rule template for which you want to list repositories that are associated
            with that template.
        nextToken:
          type: string
          description: An enumeration token that, when provided in a request, returns the next batch of the results.
        maxResults:
          type: integer
          description: A non-zero, non-negative integer used to limit the number of returned results.
      required:
      - approvalRuleTemplateName
    ListRepositoriesForApprovalRuleTemplateOutput:
      type: object
      properties:
        repositoryNames:
          type: array
          items:
            type: string
          description: A list of repository names that are associated with the specified approval rule template.
        nextToken:
          type: string
          description: An enumeration token that allows the operation to batch the next results of the operation.
    ListRepositoriesInput:
      type: object
      properties:
        nextToken:
          type: string
          description: An enumeration token that allows the operation to batch the results of the operation. Batch sizes are
            1,000 for list repository operations. When the client sends the token back to CodeCommit, another page of 1,000
            records is retrieved.
        sortBy:
          type: string
          enum:
          - repositoryName
          - lastModifiedDate
          description: The criteria used to sort the results of a list repositories operation.
        order:
          type: string
          enum:
          - ascending
          - descending
          description: The order in which to sort the results of a list repositories operation.
    ListRepositoriesOutput:
      type: object
      properties:
        repositories:
          type: array
          items:
            $ref: '#/components/schemas/RepositoryNameIdPair'
          description: Lists the repositories called by the list repositories operation.
        nextToken:
          type: string
          description: An enumeration token that allows the operation to batch the results of the operation. Batch sizes are
            1,000 for list repository operations. When the client sends the token back to CodeCommit, another page of 1,000
            records is retrieved.
    RepositoryMetadata:
      type: object
      properties:
        accountId:
          type: string
          description: The ID of the Amazon Web Services account associated with the repository.
        repositoryId:
          type: string
          description: The ID of the repository.
        repositoryName:
          type: string
          description: The repository's name.
        repositoryDescription:
          type: string
          description: A comment or description about the repository.
        defaultBranch:
          type: string
          description: The repository's default branch name.
        lastModifiedDate:
          type: string
          format: date-time
          description: The date and time the repository was last modified, in timestamp format.
        creationDate:
          type: string
          format: date-time
          description: The date and time the repository was created, in timestamp format.
        cloneUrlHttp:
          type: string
          description: The URL to use for cloning the repository over HTTPS.
        cloneUrlSsh:
          type: string
          description: The URL to use for cloning the repository over SSH.
        Arn:
          type: string
          description: The Amazon Resource Name (ARN) of the repository.
        kmsKeyId:
          type: string
          description: The ID of the Key Management Service encryption key used to encrypt and decrypt the repository.
    RepositoryNameIdPair:
      type: object
      properties:
        repositoryName:
          type: string
          description: The name associated with the repository.
        repositoryId:
          type: string
          description: The ID associated with the repository.
x-provenance:
  method: harvested
  publisher: Amazon Web Services
  source: https://raw.githubusercontent.com/aws/api-models-aws/582e55931c45b944739742a2c1620b6026dd2d13/models/codecommit/service/2015-04-13/codecommit-2015-04-13.json
  note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)