Skip to main content
The SDK automatically creates secure Git URLs with embedded JWT authentication.
// Default: read/write access, 1-year TTL
const url = await repo.getRemoteURL();

// Read-only access with 1-hour TTL
const readOnlyUrl = await repo.getRemoteURL({
  permissions: ["git:read"],
  ttl: 3600,
});

// CI/CD pipeline with extended permissions
const ciUrl = await repo.getRemoteURL({
  permissions: ["git:read", "git:write"],
  ttl: 86400, // 24 hours
});

Options

permissions
string
Array of permissions. Defaults to ["git:read", "git:write"].
ttl
string
Token TTL. Token TTL in seconds. Defaults to 1 year.

Available Permissions

PermissionDescription
git:readRead access to Git repository
git:writeWrite access to Git repository
repo:writeCreate a repository

Ephemeral Remote URL

Use getEphemeralRemoteURL() (TypeScript), get_ephemeral_remote_url() (Python), or EphemeralRemoteURL() (Go) to generate URLs that point to the ephemeral namespace. This is useful for temporary branches that shouldn’t sync to upstream mirrors. See the Ephemeral Branches guide for more details.

Import Remote URL

Use getImportRemoteURL() (TypeScript), get_import_remote_url() (Python), or ImportRemoteURL() (Go) to generate URLs that point to the +import push namespace. Pushing to this URL triggers immediate cold-storage archival after pack distribution. See the Imports guide and getImportRemoteURL() reference for details.

Response

Returns a string containing the HTTPS Git remote URL with embedded JWT authentication:
https://t:{jwt}@{org}.code.storage/{repo-id}.git
For ephemeral URLs:
https://t:{jwt}@{org}.code.storage/{repo-id}+ephemeral.git
For import URLs:
https://t:{jwt}@{org}.code.storage/{repo-id}+import.git