freestyle
Version:
Learn more at [docs.freestyle.sh](https://docs.freestyle.sh)
2,101 lines • 671 kB
TypeScript
interface ResponseGetAuthV1BackgroundRequestsRequestId202 {
/**
* Branded request identifier — `ri-<20 lowercase alphanumeric chars>` for newly
* minted IDs. The wrapped string is otherwise opaque, so legacy UUID-formatted
* IDs (from in-flight requests during rollout) round-trip unchanged.
*/
requestId: string;
status: string;
}
interface ResponseGetAuthV1BackgroundRequestsRequestId404 {
message: string;
}
interface ResponseGetAuthV1Whoami200 {
accountId: string;
identityId?: string | null;
}
interface ResponseGetDnsV1Records200 {
records: {
kind: "A" | "AAAA" | "CNAME" | "TXT" | "NS";
name: string;
value: string;
ttl: string;
priority?: number | null;
managed: boolean;
}[];
}
interface ResponseGetDnsV1Records400 {
message: string;
}
interface ResponsePostDnsV1Records200 {
record: {
kind: "A" | "AAAA" | "CNAME" | "TXT" | "NS";
name: string;
value: string;
ttl: string;
priority?: number | null;
managed: boolean;
};
}
interface ResponsePostDnsV1Records403 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponsePostDnsV1Records500 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponseDeleteDnsV1Records200 {
message: string;
}
interface ResponseDeleteDnsV1Records403 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponseDeleteDnsV1Records500 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponsePostDomainsV1CertsDomainWildcard200 {
domain: string;
}
interface ResponsePostDomainsV1CertsDomainWildcard400 {
message: string;
}
type ResponseGetDomainsV1Domains200 = {
domain: string;
accountId: string;
createdAt: string;
id: string;
verifiedDns: boolean;
implicitlyOwned: boolean;
deployToDomain: boolean;
manageDns: boolean;
deployToSubdomains: boolean;
}[];
interface ResponseGetDomainsV1Domains400 {
message: string;
}
type ResponseGetDomainsV1Mappings200 = {
id: string;
domain: string;
deploymentId?: string | null;
vmId?: string | null;
vmPort?: number | null;
ownershipId: string;
createdAt: string;
unmappedAt?: string | null;
}[];
interface ResponsePostDomainsV1MappingsDomain200 {
id: string;
domain: string;
deploymentId?: string | null;
vmId?: string | null;
vmPort?: number | null;
ownershipId: string;
createdAt: string;
unmappedAt?: string | null;
}
/**
* Public API error wrapper. Mark public APIs with `Public<T>` to ensure private error
* details aren't exposed.
*/
interface ResponsePostDomainsV1MappingsDomain4XX {
error: {
FailedToCheckDomainMappingPermissions: {
message: string;
};
} | {
FailedPermissionsCheck: {
domain: string;
};
} | {
FailedRemoveDomainMapping: {
message: string;
};
} | {
FailedToInsertOwnership: {
message: string;
};
} | {
DomainAlreadyExists: {
domain: string;
};
} | {
InvalidRequest: {
message: string;
};
} | {
FailedInsertDomainMapping: {
message: string;
};
} | {
FailedToProvisionCertificateForMapping: {
message: string;
};
} | {
DeploymentAccessDenied: {
deployment_id: string;
};
} | {
VmAccessDeniedForMapping: {
vm_id: string;
};
} | {
DomainOwnershipNotVerified: {
domain: string;
};
};
headers?: {
[k: string]: string;
} | null;
context?: {
[k: string]: unknown;
} | null;
}
/**
* Public API error wrapper. Mark public APIs with `Public<T>` to ensure private error
* details aren't exposed.
*/
interface ResponsePostDomainsV1MappingsDomain5XX {
error: {
FailedToCheckDomainMappingPermissions: {
message: string;
};
} | {
FailedPermissionsCheck: {
domain: string;
};
} | {
FailedRemoveDomainMapping: {
message: string;
};
} | {
FailedToInsertOwnership: {
message: string;
};
} | {
DomainAlreadyExists: {
domain: string;
};
} | {
InvalidRequest: {
message: string;
};
} | {
FailedInsertDomainMapping: {
message: string;
};
} | {
FailedToProvisionCertificateForMapping: {
message: string;
};
} | {
DeploymentAccessDenied: {
deployment_id: string;
};
} | {
VmAccessDeniedForMapping: {
vm_id: string;
};
} | {
DomainOwnershipNotVerified: {
domain: string;
};
};
headers?: {
[k: string]: string;
} | null;
context?: {
[k: string]: unknown;
} | null;
}
interface ResponseDeleteDomainsV1MappingsDomain200 {
}
interface ResponseDeleteDomainsV1MappingsDomain400 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponseDeleteDomainsV1MappingsDomain401 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponseDeleteDomainsV1MappingsDomain422 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponseDeleteDomainsV1MappingsDomain500 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponseDeleteDomainsV1MappingsDomain502 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
type ResponseGetDomainsV1Verifications200 = {
verificationCode: string;
domain: string;
createdAt: string;
}[];
interface ResponseGetDomainsV1Verifications400 {
message: string;
}
interface ResponsePostDomainsV1Verifications200 {
id: string;
domain: string;
accountId: string;
verificationCode: string;
createdAt: string;
}
interface ResponsePostDomainsV1Verifications400 {
message: string;
}
interface ResponsePutDomainsV1Verifications200 {
domain: string;
}
interface ResponsePutDomainsV1Verifications400 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponsePutDomainsV1Verifications401 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponsePutDomainsV1Verifications403 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponsePutDomainsV1Verifications404 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponsePutDomainsV1Verifications422 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponsePutDomainsV1Verifications500 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponsePutDomainsV1Verifications502 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponseDeleteDomainsV1Verifications200 {
verificationCode: string;
domain: string;
}
interface ResponseDeleteDomainsV1Verifications400 {
message: string;
}
interface ResponseGetExecuteV1Deployments200 {
entries: {
deployment: string;
accountId: string;
provisionedAt: string;
startedAt?: string | null;
duration?: string | null;
state: "starting" | "running" | "complete";
envVars: {
[k: string]: string;
};
}[];
total: number;
offset: number;
}
interface ResponseGetExecuteV1Deployments500 {
message: string;
}
interface ResponseGetExecuteV1DeploymentsDeployment200 {
metadata: {
deployment: string;
accountId: string;
provisionedAt: string;
startedAt?: string | null;
duration?: string | null;
state: "starting" | "running" | "complete";
envVars: {
[k: string]: string;
};
};
code?: null | {
code: string;
nodeModules: {
[k: string]: string;
};
};
}
/**
* Unauthorized access
*/
interface ResponseGetExecuteV1DeploymentsDeployment401 {
message: string;
}
/**
* Not found
*/
interface ResponseGetExecuteV1DeploymentsDeployment404 {
message: string;
}
/**
* Internal server error
*/
interface ResponseGetExecuteV1DeploymentsDeployment500 {
message: string;
}
interface ResponsePostExecuteV1Script200 {
/**
* The return value of the default export of the script
*/
result: {
[k: string]: unknown;
};
logs: {
/**
* The log message
*/
message: string;
/**
* The log level
*/
type: string;
}[];
}
interface ResponsePostExecuteV1Script400 {
error: string;
logs?: {
/**
* The log message
*/
message: string;
/**
* The log level
*/
type: string;
}[] | null;
}
interface ResponsePostExecuteV1Script500 {
error: string;
logs?: {
/**
* The log message
*/
message: string;
/**
* The log level
*/
type: string;
}[] | null;
}
/**
* Success result from script execution
*/
interface ResponsePostExecuteV3Script200 {
result: unknown;
logs: ({
message: string;
callstack?: string | null;
type: "log";
} | {
message: string;
callstack?: string | null;
type: "error";
})[];
}
interface ResponsePostExecuteV3Script403 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponseGetGitV1Identity200 {
identities: {
id: string;
managed: boolean;
}[];
offset: number;
total: number;
}
interface ResponsePostGitV1Identity200 {
id: string;
managed: boolean;
}
interface ResponseDeleteGitV1IdentityIdentity200 {
}
interface ResponseDeleteGitV1IdentityIdentity403 {
message: string;
}
interface ResponseDeleteGitV1IdentityIdentity404 {
message: string;
}
interface ResponseDeleteGitV1IdentityIdentity500 {
message: string;
}
interface ResponseGetGitV1IdentityIdentityPermissions200 {
repositories: {
id: string;
name?: string | null;
accountId: string;
permissions: "read" | "write";
visibility: "public" | "private";
}[];
}
interface ResponseGetGitV1IdentityIdentityPermissions403 {
message: string;
}
interface ResponseGetGitV1IdentityIdentityPermissions404 {
message: string;
}
interface ResponseGetGitV1IdentityIdentityPermissions500 {
message: string;
}
interface ResponseGetGitV1IdentityIdentityPermissionsRepo200 {
identity: string;
repo: string;
accessLevel?: null | ("read" | "write");
}
interface ResponseGetGitV1IdentityIdentityPermissionsRepo403 {
message: string;
}
interface ResponseGetGitV1IdentityIdentityPermissionsRepo404 {
message: string;
}
interface ResponseGetGitV1IdentityIdentityPermissionsRepo500 {
message: string;
}
interface ResponsePostGitV1IdentityIdentityPermissionsRepo200 {
}
interface ResponsePostGitV1IdentityIdentityPermissionsRepo403 {
message: string;
}
interface ResponsePostGitV1IdentityIdentityPermissionsRepo404 {
message: string;
}
interface ResponsePostGitV1IdentityIdentityPermissionsRepo500 {
message: string;
}
interface ResponseDeleteGitV1IdentityIdentityPermissionsRepo200 {
}
interface ResponseDeleteGitV1IdentityIdentityPermissionsRepo403 {
message: string;
}
interface ResponseDeleteGitV1IdentityIdentityPermissionsRepo404 {
message: string;
}
interface ResponseDeleteGitV1IdentityIdentityPermissionsRepo500 {
message: string;
}
interface ResponseGetGitV1IdentityIdentityTokens200 {
tokens: {
id: string;
}[];
}
interface ResponseGetGitV1IdentityIdentityTokens403 {
message: string;
}
interface ResponseGetGitV1IdentityIdentityTokens404 {
message: string;
}
interface ResponseGetGitV1IdentityIdentityTokens500 {
message: string;
}
interface ResponsePostGitV1IdentityIdentityTokens200 {
id: string;
token: string;
}
interface ResponsePostGitV1IdentityIdentityTokens403 {
message: string;
}
interface ResponsePostGitV1IdentityIdentityTokens404 {
message: string;
}
interface ResponsePostGitV1IdentityIdentityTokens500 {
message: string;
}
interface ResponseDeleteGitV1IdentityIdentityTokens200 {
}
interface ResponseDeleteGitV1IdentityIdentityTokens403 {
message: string;
}
interface ResponseDeleteGitV1IdentityIdentityTokens404 {
message: string;
}
interface ResponseDeleteGitV1IdentityIdentityTokens500 {
message: string;
}
interface ResponseGetGitV1Repo200 {
repositories: {
branches: {
[k: string]: {
default: boolean;
name: string;
target?: string | null;
};
};
tags: {
[k: string]: {
name: string;
target: string;
message?: string | null;
};
};
defaultBranch: string;
}[];
total: number;
offset: number;
}
interface ResponseGetGitV1Repo500 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponsePostGitV1Repo200 {
repoId: string;
}
interface ResponsePostGitV1Repo403 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponsePostGitV1Repo500 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponseGetGitV1RepoRepoIdDefaultBranch200 {
defaultBranch: string;
}
interface ResponseGetGitV1RepoRepoIdDefaultBranch403 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponseGetGitV1RepoRepoIdDefaultBranch500 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponsePutGitV1RepoRepoIdDefaultBranch200 {
}
interface ResponsePutGitV1RepoRepoIdDefaultBranch403 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponsePutGitV1RepoRepoIdDefaultBranch500 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponseGetGitV1RepoRepoIdGithubSync200 {
githubRepoName: string;
}
interface ResponseGetGitV1RepoRepoIdVisibility200 {
visibility: "public" | "private";
}
interface ResponseGetGitV1RepoRepoIdVisibility403 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponseGetGitV1RepoRepoIdVisibility500 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponsePutGitV1RepoRepoIdVisibility200 {
}
interface ResponsePutGitV1RepoRepoIdVisibility403 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponsePutGitV1RepoRepoIdVisibility500 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponseGetGitV1RepoRepo200 {
id: string;
name?: string | null;
accountId: string;
visibility: "public" | "private";
defaultBranch: string;
createdAt: string;
}
interface ResponseDeleteGitV1RepoRepo200 {
}
interface ResponseDeleteGitV1RepoRepo403 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponseDeleteGitV1RepoRepo500 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponsePostGitV1RepoRepoCommits200 {
/**
* The created commit object
*/
commit: {
/**
* The author of the commit
*/
author: {
/**
* The date marker for this signature
*/
date: string;
name: string;
email: string;
};
/**
* The committer
*/
committer: {
/**
* The date marker for this signature
*/
date: string;
name: string;
email: string;
};
/**
* The commit message
*/
message: string;
/**
* The ID of the tree pointed to by this commit
*/
tree: {
/**
* The tree's hash ID
*/
sha: string;
};
/**
* Parent commit(s) of this commit
*/
parents: {
/**
* The commit's hash ID
*/
sha: string;
}[];
/**
* The commit's hash ID
*/
sha: string;
};
}
interface ResponsePostGitV1RepoRepoCommits403 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponsePostGitV1RepoRepoCommits500 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
/**
* Response containing the comparison between two commits
*/
interface ResponseGetGitV1RepoRepoCompare200 {
/**
* Status of the comparison
*/
status: "identical" | "ahead" | "behind" | "diverged";
/**
* Number of commits the head is ahead of base
*/
ahead_by: number;
/**
* Number of commits the head is behind base
*/
behind_by: number;
/**
* Total number of commits in the comparison
*/
total_commits: number;
/**
* List of changed files
*/
files: {
/**
* The blob SHA of the file
*/
sha?: string | null;
/**
* The file path
*/
filename: string;
/**
* The status of the file (added, removed, modified, renamed, copied, changed, unchanged)
*/
status: "added" | "removed" | "modified" | "renamed" | "copied" | "changed" | "unchanged";
/**
* Number of lines added
*/
additions: number;
/**
* Number of lines deleted
*/
deletions: number;
/**
* Total number of changes (additions + deletions)
*/
changes: number;
/**
* Previous filename (for renamed/copied files)
*/
previous_filename?: string | null;
}[];
}
type ResponseGetGitV1RepoRepoContentsPath200 = ResponseGetGitV1RepoRepoContentsPath200File | ResponseGetGitV1RepoRepoContentsPath200Directory;
interface ResponseGetGitV1RepoRepoContentsPath200File {
name: string;
path: string;
/**
* The hash / object ID of the file.
*/
sha: string;
size: number;
/**
* Base64-encoded content.
*/
content: string;
type: "file";
}
interface ResponseGetGitV1RepoRepoContentsPath200Directory {
name: string;
path: string;
/**
* The hash / object ID of the directory.
*/
sha: string;
entries: (ResponseGetGitV1RepoRepoContentsPath200FileEntry | ResponseGetGitV1RepoRepoContentsPath200DirectoryEntry)[];
type: "dir";
}
interface ResponseGetGitV1RepoRepoContentsPath200FileEntry {
name: string;
path: string;
/**
* The hash / object ID of the file.
*/
sha: string;
size: number;
type: "file";
}
/**
* Directory
*/
interface ResponseGetGitV1RepoRepoContentsPath200DirectoryEntry {
name: string;
path: string;
/**
* The hash / object ID of the directory.
*/
sha: string;
entries: (ResponseGetGitV1RepoRepoContentsPath200FileEntry1 | ResponseGetGitV1RepoRepoContentsPath200DirEntryRecursive)[];
type: "dir";
}
interface ResponseGetGitV1RepoRepoContentsPath200FileEntry1 {
}
interface ResponseGetGitV1RepoRepoContentsPath200DirEntryRecursive {
}
/**
* Blob object
*/
interface ResponseGetGitV1RepoRepoGitBlobsHash200 {
/**
* The content of the blob, base64 encoded.
*/
content: string;
/**
* The encoding of the blob. Always `base64`.
*/
encoding: "base64";
/**
* The object's hash.
*/
sha: string;
/**
* The blob's size in bytes
*/
size: number;
}
/**
* The selector used for this query (echoed back)
*/
type ResponseGetGitV1RepoRepoGitCommits200CommitsSelector = ResponseGetGitV1RepoRepoGitCommits200Range | ResponseGetGitV1RepoRepoGitCommits200Since | ResponseGetGitV1RepoRepoGitCommits200Until;
interface ResponseGetGitV1RepoRepoGitCommits200 {
/**
* List of commits
*/
commits: {
/**
* The author of the commit
*/
author: {
/**
* The date marker for this signature
*/
date: string;
name: string;
email: string;
};
/**
* The committer
*/
committer: {
/**
* The date marker for this signature
*/
date: string;
name: string;
email: string;
};
/**
* The commit message
*/
message: string;
/**
* The ID of the tree pointed to by this commit
*/
tree: {
/**
* The tree's hash ID
*/
sha: string;
};
/**
* Parent commit(s) of this commit
*/
parents: {
/**
* The commit's hash ID
*/
sha: string;
}[];
/**
* The commit's hash ID
*/
sha: string;
}[];
/**
* Number of commits returned in this page
*/
count: number;
/**
* Number of commits skipped (offset) - deprecated, use `since`/`until` selectors instead
*/
offset?: number | null;
/**
* Maximum number of commits requested (limit)
*/
limit: number;
/**
* Total number of commits in the branch/range.
* Omitted when the caller passed `disableTotalCount=true`.
*/
total?: number | null;
/**
* Sort order for commit listing
*/
order: "desc" | "asc";
selector?: null | ResponseGetGitV1RepoRepoGitCommits200CommitsSelector;
/**
* SHA of the next commit for pagination. None if there are no more commits.
* - For `order=desc`: use `until=next_commit` to get the next page
* - For `order=asc`: use `since=next_commit` to get the next page
*/
next_commit?: string | null;
}
/**
* Select commits in a range (like git's A..B)
*/
interface ResponseGetGitV1RepoRepoGitCommits200Range {
/**
* Select commits in a range (like git's A..B)
*/
Range: {
/**
* Exclude this commit and its ancestors
*/
since: string;
/**
* Start from this commit (inclusive)
*/
until: string;
};
}
/**
* Select commits since this commit SHA (exclusive)
*/
interface ResponseGetGitV1RepoRepoGitCommits200Since {
/**
* Select commits since this commit SHA (exclusive)
*/
Since: string;
}
/**
* Select commits until this commit SHA (inclusive)
*/
interface ResponseGetGitV1RepoRepoGitCommits200Until {
/**
* Select commits until this commit SHA (inclusive)
*/
Until: string;
}
interface ResponseGetGitV1RepoRepoGitCommits403 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponseGetGitV1RepoRepoGitCommits500 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponsePostGitV1RepoRepoGitCommits200 {
/**
* Commit object
*/
commit: {
/**
* The author of the commit
*/
author: {
/**
* The date marker for this signature
*/
date: string;
name: string;
email: string;
};
/**
* The committer
*/
committer: {
/**
* The date marker for this signature
*/
date: string;
name: string;
email: string;
};
/**
* The commit message
*/
message: string;
/**
* The ID of the tree pointed to by this commit
*/
tree: {
/**
* The tree's hash ID
*/
sha: string;
};
/**
* Parent commit(s) of this commit
*/
parents: {
/**
* The commit's hash ID
*/
sha: string;
}[];
/**
* The commit's hash ID
*/
sha: string;
};
}
interface ResponsePostGitV1RepoRepoGitCommits403 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponsePostGitV1RepoRepoGitCommits500 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
/**
* Commit object
*/
interface ResponseGetGitV1RepoRepoGitCommitsHash200 {
/**
* The author of the commit
*/
author: {
/**
* The date marker for this signature
*/
date: string;
name: string;
email: string;
};
/**
* The committer
*/
committer: {
/**
* The date marker for this signature
*/
date: string;
name: string;
email: string;
};
/**
* The commit message
*/
message: string;
/**
* The ID of the tree pointed to by this commit
*/
tree: {
/**
* The tree's hash ID
*/
sha: string;
};
/**
* Parent commit(s) of this commit
*/
parents: {
/**
* The commit's hash ID
*/
sha: string;
}[];
/**
* The commit's hash ID
*/
sha: string;
}
interface ResponseGetGitV1RepoRepoGitRefsHeads200 {
branches: {
name: string;
/**
* The latest commit ID on this branch. Null if the branch is empty.
*/
commit?: string | null;
}[];
}
interface ResponsePostGitV1RepoRepoGitRefsHeadsBranch200 {
/**
* The name of the created branch
*/
name: string;
/**
* The SHA of the commit the branch points to
*/
sha: string;
}
interface ResponsePostGitV1RepoRepoGitRefsHeadsBranch400 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponsePostGitV1RepoRepoGitRefsHeadsBranch403 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponsePostGitV1RepoRepoGitRefsHeadsBranch500 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
/**
* A reference to a Git object
*/
interface ResponseGetGitV1RepoRepoGitRefsHeadsBranch200 {
/**
* The name of the ref (e.g., "refs/heads/main" or "refs/tags/v1.0.0")
*/
name: string;
/**
* The SHA-1 hash of the Git object this reference points to
*/
sha: string;
}
interface ResponseGetGitV1RepoRepoGitRefsHeadsBranch400 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponseGetGitV1RepoRepoGitRefsHeadsBranch403 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponseGetGitV1RepoRepoGitRefsHeadsBranch500 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponseGetGitV1RepoRepoGitRefsTags200 {
tags: {
/**
* The tag name
*/
name: string;
tagger?: null | {
/**
* The date marker for this signature
*/
date: string;
name: string;
email: string;
};
/**
* The tag message
*/
message?: string | null;
/**
* The object this tag points to
*/
target: {
/**
* The target object's hash ID
*/
sha: string;
};
/**
* The tag's hash ID
*/
sha: string;
}[];
}
/**
* Tag object
*/
interface ResponseGetGitV1RepoRepoGitRefsTagsTag200 {
/**
* The tag name
*/
name: string;
tagger?: null | {
/**
* The date marker for this signature
*/
date: string;
name: string;
email: string;
};
/**
* The tag message
*/
message?: string | null;
/**
* The object this tag points to
*/
target: {
/**
* The target object's hash ID
*/
sha: string;
};
/**
* The tag's hash ID
*/
sha: string;
}
interface ResponseGetGitV1RepoRepoGitRefsTagsTag400 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponseGetGitV1RepoRepoGitRefsTagsTag403 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponseGetGitV1RepoRepoGitRefsTagsTag500 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
/**
* Tag object
*/
interface ResponseGetGitV1RepoRepoGitTagsHash200 {
/**
* The tag name
*/
name: string;
tagger?: null | {
/**
* The date marker for this signature
*/
date: string;
name: string;
email: string;
};
/**
* The tag message
*/
message?: string | null;
/**
* The object this tag points to
*/
target: {
/**
* The target object's hash ID
*/
sha: string;
};
/**
* The tag's hash ID
*/
sha: string;
}
/**
* Tree object
*/
interface ResponseGetGitV1RepoRepoGitTreesHash200 {
/**
* The tree's entries
*/
tree: (ResponseGetGitV1RepoRepoGitTreesHash200Blob | ResponseGetGitV1RepoRepoGitTreesHash200Tree)[];
/**
* The tree's hash ID
*/
sha: string;
}
interface ResponseGetGitV1RepoRepoGitTreesHash200Blob {
path: string;
sha: string;
size: number;
type: "blob";
}
interface ResponseGetGitV1RepoRepoGitTreesHash200Tree {
path: string;
sha: string;
type: "tree";
}
interface ResponseGetGitV1RepoRepoRepair200 {
jobs: {
jobId: string;
repoId: string;
/**
* Account this job is charged against for the per-account
* concurrency cap. None for admin/internal POSTs that didn't
* supply X-Freestyle-User-Id.
*/
accountId?: string | null;
depth?: number | null;
/**
* One of: pending, running, completed, failed, cancelled.
*/
status: string;
createdAt: string;
completedAt?: string | null;
/**
* Live counters from the walk. Updated by the worker every 500
* commits and every 10k blob lookups, plus before/after each ref.
* Always present; zeros until the walk publishes its first sample.
*/
progress: {};
result?: null | {
/**
* Number of refs walked.
*/
refsExamined: number;
/**
* Refs whose tip was rewritten because their reachable history had
* missing objects. Empty for healthy repos.
*/
rewrites: {
/**
* Full ref name (e.g. `refs/heads/main`).
*/
name: string;
/**
* OID the ref pointed at before repair.
*/
originalOid: string;
/**
* OID the ref now points at after substituting missing objects.
*/
rewrittenOid: string;
}[];
};
/**
* Populated when status == "failed".
*/
error?: string | null;
verification?: null | {
message: string;
/**
* 40-char hex OID extracted from the libgit2 error, if any.
*/
oid?: string | null;
/**
* Ref the verification was processing when it failed, if any.
*/
refName?: string | null;
/**
* Snapshot of refs that *were* successfully rewritten before
* verification failed. Operators want this — the rewrites are
* already persisted to the repo, so seeing what changed even on a
* failed run is load-bearing for follow-up debugging.
*/
rewrites: {
/**
* Full ref name (e.g. `refs/heads/main`).
*/
name: string;
/**
* OID the ref pointed at before repair.
*/
originalOid: string;
/**
* OID the ref now points at after substituting missing objects.
*/
rewrittenOid: string;
}[];
/**
* Number of refs the rewrite phase walked before verification ran.
*/
refsExamined: number;
};
}[];
}
interface ResponsePostGitV1RepoRepoRepair202 {
jobId: string;
repoId: string;
depth?: number | null;
status: string;
}
/**
* JSON view of a job for the GET endpoint. Status is tagged so the
* `result` and `error` fields are unambiguous to consumers.
*/
interface ResponseGetGitV1RepoRepoRepairJobId200 {
jobId: string;
repoId: string;
/**
* Account this job is charged against for the per-account
* concurrency cap. None for admin/internal POSTs that didn't
* supply X-Freestyle-User-Id.
*/
accountId?: string | null;
depth?: number | null;
/**
* One of: pending, running, completed, failed, cancelled.
*/
status: string;
createdAt: string;
completedAt?: string | null;
/**
* Live counters from the walk. Updated by the worker every 500
* commits and every 10k blob lookups, plus before/after each ref.
* Always present; zeros until the walk publishes its first sample.
*/
progress: {};
result?: null | {
/**
* Number of refs walked.
*/
refsExamined: number;
/**
* Refs whose tip was rewritten because their reachable history had
* missing objects. Empty for healthy repos.
*/
rewrites: {
/**
* Full ref name (e.g. `refs/heads/main`).
*/
name: string;
/**
* OID the ref pointed at before repair.
*/
originalOid: string;
/**
* OID the ref now points at after substituting missing objects.
*/
rewrittenOid: string;
}[];
};
/**
* Populated when status == "failed".
*/
error?: string | null;
verification?: null | {
message: string;
/**
* 40-char hex OID extracted from the libgit2 error, if any.
*/
oid?: string | null;
/**
* Ref the verification was processing when it failed, if any.
*/
refName?: string | null;
/**
* Snapshot of refs that *were* successfully rewritten before
* verification failed. Operators want this — the rewrites are
* already persisted to the repo, so seeing what changed even on a
* failed run is load-bearing for follow-up debugging.
*/
rewrites: {
/**
* Full ref name (e.g. `refs/heads/main`).
*/
name: string;
/**
* OID the ref pointed at before repair.
*/
originalOid: string;
/**
* OID the ref now points at after substituting missing objects.
*/
rewrittenOid: string;
}[];
/**
* Number of refs the rewrite phase walked before verification ran.
*/
refsExamined: number;
};
}
/**
* JSON view of a job for the GET endpoint. Status is tagged so the
* `result` and `error` fields are unambiguous to consumers.
*/
interface ResponseDeleteGitV1RepoRepoRepairJobId200 {
jobId: string;
repoId: string;
/**
* Account this job is charged against for the per-account
* concurrency cap. None for admin/internal POSTs that didn't
* supply X-Freestyle-User-Id.
*/
accountId?: string | null;
depth?: number | null;
/**
* One of: pending, running, completed, failed, cancelled.
*/
status: string;
createdAt: string;
completedAt?: string | null;
/**
* Live counters from the walk. Updated by the worker every 500
* commits and every 10k blob lookups, plus before/after each ref.
* Always present; zeros until the walk publishes its first sample.
*/
progress: {};
result?: null | {
/**
* Number of refs walked.
*/
refsExamined: number;
/**
* Refs whose tip was rewritten because their reachable history had
* missing objects. Empty for healthy repos.
*/
rewrites: {
/**
* Full ref name (e.g. `refs/heads/main`).
*/
name: string;
/**
* OID the ref pointed at before repair.
*/
originalOid: string;
/**
* OID the ref now points at after substituting missing objects.
*/
rewrittenOid: string;
}[];
};
/**
* Populated when status == "failed".
*/
error?: string | null;
verification?: null | {
message: string;
/**
* 40-char hex OID extracted from the libgit2 error, if any.
*/
oid?: string | null;
/**
* Ref the verification was processing when it failed, if any.
*/
refName?: string | null;
/**
* Snapshot of refs that *were* successfully rewritten before
* verification failed. Operators want this — the rewrites are
* already persisted to the repo, so seeing what changed even on a
* failed run is load-bearing for follow-up debugging.
*/
rewrites: {
/**
* Full ref name (e.g. `refs/heads/main`).
*/
name: string;
/**
* OID the ref pointed at before repair.
*/
originalOid: string;
/**
* OID the ref now points at after substituting missing objects.
*/
rewrittenOid: string;
}[];
/**
* Number of refs the rewrite phase walked before verification ran.
*/
refsExamined: number;
};
}
interface ResponseGetGitV1RepoRepoSearch200 {
/**
* Total number of files with matches (before pagination).
*/
totalFiles: number;
/**
* Total number of individual line matches across all files (before pagination).
*/
totalMatches: number;
/**
* Whether there are more results beyond the current page.
*/
hasMore: boolean;
/**
* The matching files with their line matches (paginated).
*/
files: {
/**
* The file path relative to the repository root.
*/
path: string;
/**
* The file extension (e.g. "rs", "ts"), if any.
*/
extension?: string | null;
/**
* The size of the file in bytes.
*/
size: number;
/**
* The matches found in this file.
*/
matches: {
/**
* 1-based line number of the match.
*/
lineNumber: number;
/**
* The full text of the matching line.
*/
line: string;
/**
* 0-based column offset of the first match in the line.
*/
startColumn: number;
/**
* 0-based column offset of the end of the first match in the line.
*/
endColumn: number;
/**
* Context lines before the match.
*/
contextBefore: string[];
/**
* Context lines after the match.
*/
contextAfter: string[];
}[];
}[];
}
interface ResponseGetGitV1RepoRepoSearchCommits200 {
/**
* Total number of matching commits found.
*/
totalCommits: number;
/**
* Whether there are more results beyond those returned.
*/
hasMore: boolean;
/**
* The matching commits.
*/
commits: {
/**
* The commit SHA.
*/
sha: string;
/**
* The commit message (first line / summary).
*/
message: string;
/**
* The full commit message.
*/
fullMessage: string;
/**
* The author name.
*/
authorName: string;
/**
* The author email.
*/
authorEmail: string;
/**
* The commit timestamp (ISO 8601).
*/
timestamp: string;
}[];
}
/**
* Diff content search results.
*/
interface ResponseGetGitV1RepoRepoSearchDiffs200 {
/**
* Total number of commits with matching changes (before pagination).
*/
totalCommits: number;
/**
* Whether there are more results beyond the current page.
*/
hasMore: boolean;
/**
* The matching commits with their file-level diff matches.
*/
commits: {
/**
* The commit SHA.
*/
sha: string;
/**
* The commit message summary (first line).
*/
message: string;
/**
* The author name.
*/
authorName: string;
/**
* The author email.
*/
authorEmail: string;
/**
* The commit timestamp (ISO 8601).
*/
timestamp: string;
/**
* Files in this commit with matching changed content.
*/
files: {
/**
* The file path relative to the repository root.
*/
path: string;
/**
* The matching lines in the diff for this file.
*/
matches: {
/**
* The matched line content (without the leading +/- prefix).
*/
line: string;
/**
* 1-based line number in the new file (for additions) or old file (for deletions).
*/
lineNumber: number;
/**
* 0-based byte offset of the match start within the line.
*/
startColumn: number;
/**
* 0-based byte offset of the match end within the line.
*/
endColumn: number;
/**
* Whether this was an added line (true) or a deleted line (false).
*/
isAddition: boolean;
}[];
}[];
}[];
}
interface ResponseGetGitV1RepoRepoSearchFiles200 {
/**
* Total number of matching files.
*/
totalFiles: number;
/**
* Whether the results were truncated.
*/
hasMore: boolean;
/**
* The matching file paths.
*/
files: {
/**
* The full file path relative to the repository root.
*/
path: string;
/**
* The file extension (e.g. "rs", "ts"), if any.
*/
extension?: string | null;
/**
* The file size in bytes.
*/
size: number;
}[];
}
interface ResponseGetGitV1RepoRepoTrigger200 {
triggers: {
repositoryId: string;
trigger: {
branches?: string[] | null;
globs?: string[] | null;
event: "push";
};
action: {
endpoint: string;
action: "webhook";
};
managed: boolean;
id: string;
createdAt: string;
}[];
}
interface ResponseGetGitV1RepoRepoTrigger403 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponseGetGitV1RepoRepoTrigger404 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponseGetGitV1RepoRepoTrigger500 {
/**
* Error code in SCREAMING_SNAKE_CASE
*/
error: string;
/**
* Human-readable error message
*/
message: string;
}
interface ResponsePostGitV1RepoRepoTrigger200 {
triggerId: string;
}
interface ResponsePostGitV1RepoRepoTrigger400 {
message: string;
}
interface ResponsePostGitV1RepoRepoTrigger403 {
message: string;
}
interface ResponsePostGitV1RepoRepoTrigger404 {
message: string;
}
interface ResponsePostGitV1RepoRepoTrigger500 {
message: string;
}
interface ResponseDeleteGitV1RepoRepoTriggerTrigger200 {
}
interface ResponseDeleteGitV1RepoRepoTriggerTrigger400 {
message: string;
}
interface ResponseDeleteGitV1RepoRepoTriggerTrigger403 {
message: string;
}
interface ResponseDeleteGitV1RepoRepoTriggerTrigger404 {
}
interface ResponseDeleteGitV1RepoRepoTriggerTrigger500 {
message: string;
}
interface ResponseGetIdentityV1Identities200 {
identities: {
id: string;
managed: boolean;
}[];
offset: number;
total: number;
}
interface ResponsePostIdentityV1Identities200 {
id: string;
managed: boolean;
}
interface ResponseDeleteIdentityV1IdentitiesIdentity200 {
}
interface ResponseGetIdentityV1IdentitiesIdentityPermissionsGit200 {
repositories: {
id: string;
name?: string | null;
accountId: string;
permissions: "read" | "write";
visibility: "public" | "private";
}[];
}
interface ResponseGetIdentityV1IdentitiesIdentityPermissionsGitRepo200 {
identity: string;
repo: string;
accessLevel?: null | ("read" | "write");
}
interface ResponsePostIdentityV1IdentitiesIdentityPermissionsGitRepo200 {
}
interface ResponsePutIdentityV1IdentitiesIdentityPermissionsGitRepo200 {
}