Menu
AWS CodeCommit
API Reference (API Version 2015-04-13)

CreateRepository

Creates a new, empty repository.

Request Syntax

Copy
{ "repositoryDescription": "string", "repositoryName": "string" }

Request Parameters

For information about the parameters that are common to all actions, see Common Parameters.

The request accepts the following data in JSON format.

repositoryDescription

A comment or description about the new repository.

Note

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 web page could 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 web page.

Type: String

Length Constraints: Maximum length of 1000.

Required: No

repositoryName

The name of the new repository to be created.

Note

The repository name must be unique across the calling AWS account. In addition, repository names are limited to 100 alphanumeric, dash, and underscore characters, and cannot include certain characters. For a full description of the limits on repository names, see Limits in the AWS CodeCommit User Guide. The suffix ".git" is prohibited.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 100.

Pattern: [\w\.-]+

Required: Yes

Response Syntax

Copy
{ "repositoryMetadata": { "accountId": "string", "Arn": "string", "cloneUrlHttp": "string", "cloneUrlSsh": "string", "creationDate": number, "defaultBranch": "string", "lastModifiedDate": number, "repositoryDescription": "string", "repositoryId": "string", "repositoryName": "string" } }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

repositoryMetadata

Information about the newly created repository.

Type: RepositoryMetadata object

Errors

For information about the errors that are common to all actions, see Common Errors.

EncryptionIntegrityChecksFailedException

An encryption integrity check failed.

HTTP Status Code: 500

EncryptionKeyAccessDeniedException

An encryption key could not be accessed.

HTTP Status Code: 400

EncryptionKeyDisabledException

The encryption key is disabled.

HTTP Status Code: 400

EncryptionKeyNotFoundException

No encryption key was found.

HTTP Status Code: 400

EncryptionKeyUnavailableException

The encryption key is not available.

HTTP Status Code: 400

InvalidRepositoryDescriptionException

The specified repository description is not valid.

HTTP Status Code: 400

InvalidRepositoryNameException

At least one specified repository name is not valid.

Note

This exception only occurs when a specified repository name is not valid. Other exceptions occur when a required repository parameter is missing, or when a specified repository does not exist.

HTTP Status Code: 400

RepositoryLimitExceededException

A repository resource limit was exceeded.

HTTP Status Code: 400

RepositoryNameExistsException

The specified repository name already exists.

HTTP Status Code: 400

RepositoryNameRequiredException

A repository name is required but was not specified.

HTTP Status Code: 400

Example

Sample Request

Copy
POST / HTTP/1.1 Host: codecommit.us-east-1.amazonaws.com Accept-Encoding: identity Content-Length: 88 X-Amz-Target: CodeCommit_20150413.CreateRepository X-Amz-Date: 20151028T223339Z User-Agent: aws-cli/1.7.38 Python/2.7.9 Windows/7 Content-Type: application/x-amz-json-1.1 Authorization: AWS4-HMAC-SHA256 Credential=AKIAI44QH8DHBEXAMPLE/20151028/us-east-1/codecommit/aws4_request, SignedHeaders=content-type;host;user-agent;x-amz-date;x-amz-target, Signature=8d9b5998EXAMPLE { "repositoryName": "MyDemoRepo", "repositoryDescription": "My demonstration repository" }

Sample Response

Copy
HTTP/1.1 200 OK x-amzn-RequestId: 0728aaa8-EXAMPLE Content-Type: application/x-amz-json-1.1 Content-Length: 483 Date: Wed, 28 Oct 2015 22:33:42 GMT { "repositoryMetadata": { "repositoryName": "MyDemoRepo", "cloneUrlSsh": "ssh://git-codecommit.us-east-1.amazonaws.com/v1/repos/MyDemoRepo", "lastModifiedDate": 1446071622.494, "repositoryDescription": "My demonstration repository", "cloneUrlHttp": "https://git-codecommit.us-east-1.amazonaws.com/v1/repos/MyDemoRepo", "creationDate": 1446071622.494, "repositoryId": "f7579e13-b83e-4027-aaef-650c0EXAMPLE", "Arn": "arn:aws:codecommit:us-east-1:111111111111EXAMPLE:MyDemoRepo", "accountId": "111111111111" } }

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: