Skip to main content
POST
TypeScript

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.

Path Parameters

repo_name
string
required

The repository name, for example acme/web.

Body

application/json

Store HTTPS credentials for a generic Git upstream such as GitLab, Bitbucket, Gitea, Forgejo, Codeberg, or SourceHut.

Request body for storing a new HTTPS Git credential when the repository is identified via the URL path.

password
string
required

Password or access token for the upstream provider.

Example:

"glpat_xxxxxxxxxxxx"

username
string

Username for HTTPS authentication. Optional. With no username, requests to the upstream send the token as the password with the username x-token-auth for Bitbucket and oauth2 for GitLab, and as the username for Gitea, Forgejo, and Codeberg. sr.ht takes no credential over HTTPS: it serves private repositories and pushes only over SSH.

Example:

"oauth2"

Response

Credential created successfully.

Stored Git credential summary returned after a credential is created or updated.

id
string
required

Credential ID returned when the credential is created.

Example:

"ggc_1234567890abcdef"

created_at
string

Credential creation timestamp in ISO 8601 format.

Example:

"2026-03-12T15:04:05Z"