Skip to main content
POST

Authorizations

Authorization
string
header
required

JWT bearer token signed with your organization's registered signing key. There is no OAuth authorization server; you mint tokens yourself and the token's scopes claim carries the granted permission scopes. Public scopes: git:read (read repository contents), git:write (write branches, commits, tags, and notes), repo:write (create and manage repositories), org:read (list an organization's repositories). Each operation's security requirement names the scopes it requires. See https://code.storage/docs/getting-started/authentication for how to mint tokens.

Query Parameters

default_branch
string

Optional default branch override. When present, it is used if the request body does not already specify one.

Body

application/json

Create either an empty repository, a synced repository backed by an upstream provider, or a fork of another Code Storage repository.

Create-repository request body. The repository identity comes from the JWT repo claim; the body supplies optional default-branch and Git Sync or fork configuration.

base_repo
object

Optional upstream or fork source configuration.

default_branch
string

Default branch for the new repository. Defaults to main when omitted.

Example:

"main"

Response

Repository created successfully.

Result of creating a repository, including the assigned internal repository ID and the repository URL path.

http_url
string
required
deprecated

Deprecated: use repo_name. Repository name or path, not a full URL.

Example:

"pierre/sdk-documentation"

message
string
required

High-level creation result.

Example:

"repository created"

repo_id
string
required
deprecated

Deprecated: use repo_name. Stable repository identifier.

Example:

"repo_7f2b3d9"

repo_name
string
required

Repository name or path. It can contain a slash. It matches the JWT repo claim.

Example:

"pierre/sdk-documentation"