TrylleDocs
API ReferenceOpenAPI 3 reference

CI runs

GET
/v1/ci/jobs

List recent trylle-ci jobs for a repository.

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Query Parameters

owner*string

Repository owner login.

Length1 <= length
repo*string

Repository name.

Length1 <= length
limit?integer

Maximum jobs to return. Defaults to 50.

Formatint64
Range1 <= value <= 200
Default50

Response Body

application/json

curl -X GET "https://example.com/v1/ci/jobs?owner=aa&repo=aa&limit=2"
{  "count": 1,  "jobs": [    {      "artifactUrls": {        "abc123": "abc123"      },      "artifacts": [        {          "contentType": "abc123",          "name": "aa",          "path": "aa",          "sizeBytes": 1,          "url": "aa"        }      ],      "createdAt": "abc123",      "error": "abc123",      "exitCode": 1,      "finishedAt": "abc123",      "idempotencyKey": "abc123",      "outputs": {        "abc123": "abc123"      },      "request": {        "actor": {          "avatarUrl": "abc123",          "id": 1,          "login": "aa"        },        "artifactPaths": [          "abc123"        ],        "env": {          "abc123": "abc123"        },        "eventName": "aa",        "eventPayload": "abc123",        "idempotencyKey": "abc123",        "jobId": "abc123",        "matrix": {          "abc123": "abc123"        },        "ref": "abc123",        "refType": "tag",        "repository": {          "cloneUrl": "abc123",          "defaultBranch": "abc123",          "id": "abc123",          "name": "aa",          "owner": "aa"        },        "runnerArch": "abc123",        "sha": "abc123",        "templateId": "abc123",        "timeoutSeconds": 1,        "workflowContent": "abc123",        "workflowFiles": {          "abc123": "abc123"        },        "workflowInputs": {          "abc123": "abc123"        },        "workflowPath": "aa"      },      "runId": "aa",      "runnerArch": "abc123",      "sandboxId": "abc123",      "startedAt": "abc123",      "status": "running",      "updatedAt": "abc123",      "usage": {        "archiveBytes": 1,        "artifactBytes": 1,        "cancelledCount": 1,        "failedCount": 1,        "jobCount": 1,        "logBytes": 1,        "queueSeconds": 1,        "queuedCount": 1,        "runningCount": 1,        "sandboxSeconds": 1,        "skippedCount": 1,        "succeededCount": 1,        "wallClockSeconds": 1      }    }  ]}
POST
/v1/ci/jobs

Schedule a GitHub Actions-compatible CI job through trylle-ci.

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/v1/ci/jobs" \  -H "Content-Type: application/json" \  -d '{    "artifactPaths": [      "abc123"    ],    "env": {      "abc123": "abc123"    },    "eventName": "aa",    "eventPayload": "abc123",    "idempotencyKey": "abc123",    "jobId": "aa",    "matrix": {      "abc123": "abc123"    },    "ref": "abc123",    "refType": "tag",    "repository": {      "cloneUrl": "abc123",      "defaultBranch": "abc123",      "id": "abc123",      "name": "aa",      "owner": "aa"    },    "sha": "abc123",    "templateId": "abc123",    "timeoutSeconds": 2,    "workflowFiles": {      "abc123": "abc123"    },    "workflowInputs": {      "abc123": "abc123"    },    "workflowPath": "aa",    "workflowYaml": "abc123"  }'
{  "artifactUrls": {    "abc123": "abc123"  },  "artifacts": [    {      "contentType": "abc123",      "name": "aa",      "path": "aa",      "sizeBytes": 1,      "url": "aa"    }  ],  "createdAt": "abc123",  "error": "abc123",  "exitCode": 1,  "finishedAt": "abc123",  "idempotencyKey": "abc123",  "outputs": {    "abc123": "abc123"  },  "request": {    "actor": {      "avatarUrl": "abc123",      "id": 1,      "login": "aa"    },    "artifactPaths": [      "abc123"    ],    "env": {      "abc123": "abc123"    },    "eventName": "aa",    "eventPayload": "abc123",    "idempotencyKey": "abc123",    "jobId": "abc123",    "matrix": {      "abc123": "abc123"    },    "ref": "abc123",    "refType": "tag",    "repository": {      "cloneUrl": "abc123",      "defaultBranch": "abc123",      "id": "abc123",      "name": "aa",      "owner": "aa"    },    "runnerArch": "abc123",    "sha": "abc123",    "templateId": "abc123",    "timeoutSeconds": 1,    "workflowContent": "abc123",    "workflowFiles": {      "abc123": "abc123"    },    "workflowInputs": {      "abc123": "abc123"    },    "workflowPath": "aa"  },  "runId": "aa",  "runnerArch": "abc123",  "sandboxId": "abc123",  "startedAt": "abc123",  "status": "running",  "updatedAt": "abc123",  "usage": {    "archiveBytes": 1,    "artifactBytes": 1,    "cancelledCount": 1,    "failedCount": 1,    "jobCount": 1,    "logBytes": 1,    "queueSeconds": 1,    "queuedCount": 1,    "runningCount": 1,    "sandboxSeconds": 1,    "skippedCount": 1,    "succeededCount": 1,    "wallClockSeconds": 1  }}
GET
/v1/ci/jobs/{runId}

Fetch a trylle-ci job by run id.

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

runId*string

CI run id.

Length1 <= length

Response Body

application/json

curl -X GET "https://example.com/v1/ci/jobs/aa"
{  "artifactUrls": {    "abc123": "abc123"  },  "artifacts": [    {      "contentType": "abc123",      "name": "aa",      "path": "aa",      "sizeBytes": 1,      "url": "aa"    }  ],  "createdAt": "abc123",  "error": "abc123",  "exitCode": 1,  "finishedAt": "abc123",  "idempotencyKey": "abc123",  "outputs": {    "abc123": "abc123"  },  "request": {    "actor": {      "avatarUrl": "abc123",      "id": 1,      "login": "aa"    },    "artifactPaths": [      "abc123"    ],    "env": {      "abc123": "abc123"    },    "eventName": "aa",    "eventPayload": "abc123",    "idempotencyKey": "abc123",    "jobId": "abc123",    "matrix": {      "abc123": "abc123"    },    "ref": "abc123",    "refType": "tag",    "repository": {      "cloneUrl": "abc123",      "defaultBranch": "abc123",      "id": "abc123",      "name": "aa",      "owner": "aa"    },    "runnerArch": "abc123",    "sha": "abc123",    "templateId": "abc123",    "timeoutSeconds": 1,    "workflowContent": "abc123",    "workflowFiles": {      "abc123": "abc123"    },    "workflowInputs": {      "abc123": "abc123"    },    "workflowPath": "aa"  },  "runId": "aa",  "runnerArch": "abc123",  "sandboxId": "abc123",  "startedAt": "abc123",  "status": "running",  "updatedAt": "abc123",  "usage": {    "archiveBytes": 1,    "artifactBytes": 1,    "cancelledCount": 1,    "failedCount": 1,    "jobCount": 1,    "logBytes": 1,    "queueSeconds": 1,    "queuedCount": 1,    "runningCount": 1,    "sandboxSeconds": 1,    "skippedCount": 1,    "succeededCount": 1,    "wallClockSeconds": 1  }}
POST
/v1/ci/jobs/{runId}/cancel

Cancel a queued or running trylle-ci job.

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

runId*string

CI run id.

Length1 <= length

Response Body

application/json

curl -X POST "https://example.com/v1/ci/jobs/aa/cancel"
{  "artifactUrls": {    "abc123": "abc123"  },  "artifacts": [    {      "contentType": "abc123",      "name": "aa",      "path": "aa",      "sizeBytes": 1,      "url": "aa"    }  ],  "createdAt": "abc123",  "error": "abc123",  "exitCode": 1,  "finishedAt": "abc123",  "idempotencyKey": "abc123",  "outputs": {    "abc123": "abc123"  },  "request": {    "actor": {      "avatarUrl": "abc123",      "id": 1,      "login": "aa"    },    "artifactPaths": [      "abc123"    ],    "env": {      "abc123": "abc123"    },    "eventName": "aa",    "eventPayload": "abc123",    "idempotencyKey": "abc123",    "jobId": "abc123",    "matrix": {      "abc123": "abc123"    },    "ref": "abc123",    "refType": "tag",    "repository": {      "cloneUrl": "abc123",      "defaultBranch": "abc123",      "id": "abc123",      "name": "aa",      "owner": "aa"    },    "runnerArch": "abc123",    "sha": "abc123",    "templateId": "abc123",    "timeoutSeconds": 1,    "workflowContent": "abc123",    "workflowFiles": {      "abc123": "abc123"    },    "workflowInputs": {      "abc123": "abc123"    },    "workflowPath": "aa"  },  "runId": "aa",  "runnerArch": "abc123",  "sandboxId": "abc123",  "startedAt": "abc123",  "status": "running",  "updatedAt": "abc123",  "usage": {    "archiveBytes": 1,    "artifactBytes": 1,    "cancelledCount": 1,    "failedCount": 1,    "jobCount": 1,    "logBytes": 1,    "queueSeconds": 1,    "queuedCount": 1,    "runningCount": 1,    "sandboxSeconds": 1,    "skippedCount": 1,    "succeededCount": 1,    "wallClockSeconds": 1  }}
GET
/v1/ci/jobs/{runId}/logs

Fetch stdout/stderr snapshot and archive URLs for a trylle-ci job.

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

runId*string

CI run id.

Length1 <= length

Response Body

application/json

curl -X GET "https://example.com/v1/ci/jobs/aa/logs"
{  "actionLogs": {    "abc123": "abc123"  },  "artifactUrls": {    "abc123": "abc123"  },  "artifacts": [    {      "contentType": "abc123",      "name": "aa",      "path": "aa",      "sizeBytes": 1,      "url": "aa"    }  ],  "done": false,  "error": "abc123",  "hydrationPending": false,  "runId": "aa",  "status": "running",  "stderr": "abc123",  "stdout": "abc123",  "updatedAt": "abc123",  "usage": {    "archiveBytes": 1,    "artifactBytes": 1,    "cancelledCount": 1,    "failedCount": 1,    "jobCount": 1,    "logBytes": 1,    "queueSeconds": 1,    "queuedCount": 1,    "runningCount": 1,    "sandboxSeconds": 1,    "skippedCount": 1,    "succeededCount": 1,    "wallClockSeconds": 1  }}
GET
/v1/ci/usage

Summarize measured trylle-ci usage for an account or repository.

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Query Parameters

owner*string

Repository owner login or organization login.

Length1 <= length
repo?string

Optional repository name. When omitted, usage is summed for the owner.

Length1 <= length

Response Body

application/json

curl -X GET "https://example.com/v1/ci/usage?owner=aa&repo=aa"
{  "archiveBytes": 1,  "artifactBytes": 1,  "cancelledCount": 1,  "failedCount": 1,  "jobCount": 1,  "logBytes": 1,  "queueSeconds": 1,  "queuedCount": 1,  "runningCount": 1,  "sandboxSeconds": 1,  "skippedCount": 1,  "succeededCount": 1,  "wallClockSeconds": 1}
GET
/v1/ci/workflow-runs

List recent trylle-ci workflow runs for a repository.

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Query Parameters

owner*string

Repository owner login.

Length1 <= length
repo*string

Repository name.

Length1 <= length
page?integer

One-indexed page. Handler clamps values below 1 to 1.

Formatint64
Range1 <= value
Default1
per_page?integer

Items per page. Handler defaults to 30 and clamps above 100.

Formatint64
Range1 <= value <= 100
Default30
cursor?string

Base64 cursor encoding page and per_page; overrides page/per_page when valid.

Response Body

application/json

curl -X GET "https://example.com/v1/ci/workflow-runs?owner=aa&repo=aa&page=2&per_page=2&cursor=abc123"
"abc123"
POST
/v1/ci/workflow-runs

Schedule a full GitHub Actions-compatible workflow run through trylle-ci.

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/v1/ci/workflow-runs" \  -H "Content-Type: application/json" \  -d '{    "artifactPaths": [      "abc123"    ],    "env": {      "abc123": "abc123"    },    "eventName": "aa",    "eventPayload": "abc123",    "idempotencyKey": "abc123",    "ref": "abc123",    "refType": "tag",    "repository": {      "cloneUrl": "abc123",      "defaultBranch": "abc123",      "id": "abc123",      "name": "aa",      "owner": "aa"    },    "sha": "abc123",    "templateId": "abc123",    "timeoutSeconds": 2,    "workflowFiles": {      "abc123": "abc123"    },    "workflowInputs": {      "abc123": "abc123"    },    "workflowPath": "aa",    "workflowYaml": "abc123"  }'
{  "createdAt": "abc123",  "error": "abc123",  "finishedAt": "abc123",  "idempotencyKey": "abc123",  "jobs": [    {      "artifactUrls": {        "abc123": "abc123"      },      "artifacts": [        {          "contentType": "abc123",          "name": "aa",          "path": "aa",          "sizeBytes": 1,          "url": "aa"        }      ],      "error": "abc123",      "exitCode": 1,      "finishedAt": "abc123",      "if": "abc123",      "jobId": "aa",      "key": "aa",      "matrix": {        "abc123": "abc123"      },      "name": "abc123",      "needs": [        "abc123"      ],      "outputs": {        "abc123": "abc123"      },      "runId": "aa",      "runnerArch": "abc123",      "sandboxId": "abc123",      "startedAt": "abc123",      "status": "running",      "usage": {        "archiveBytes": 1,        "artifactBytes": 1,        "cancelledCount": 1,        "failedCount": 1,        "jobCount": 1,        "logBytes": 1,        "queueSeconds": 1,        "queuedCount": 1,        "runningCount": 1,        "sandboxSeconds": 1,        "skippedCount": 1,        "succeededCount": 1,        "wallClockSeconds": 1      }    }  ],  "request": {    "actor": {      "avatarUrl": "abc123",      "id": 1,      "login": "aa"    },    "artifactPaths": [      "abc123"    ],    "env": {      "abc123": "abc123"    },    "eventName": "aa",    "eventPayload": "abc123",    "idempotencyKey": "abc123",    "ref": "abc123",    "refType": "tag",    "repository": {      "cloneUrl": "abc123",      "defaultBranch": "abc123",      "id": "abc123",      "name": "aa",      "owner": "aa"    },    "sha": "abc123",    "templateId": "abc123",    "timeoutSeconds": 1,    "workflowContent": "abc123",    "workflowFiles": {      "abc123": "abc123"    },    "workflowInputs": {      "abc123": "abc123"    },    "workflowPath": "aa"  },  "startedAt": "abc123",  "status": "running",  "updatedAt": "abc123",  "usage": {    "archiveBytes": 1,    "artifactBytes": 1,    "cancelledCount": 1,    "failedCount": 1,    "jobCount": 1,    "logBytes": 1,    "queueSeconds": 1,    "queuedCount": 1,    "runningCount": 1,    "sandboxSeconds": 1,    "skippedCount": 1,    "succeededCount": 1,    "wallClockSeconds": 1  },  "workflowRunId": "aa"}
GET
/v1/ci/workflow-runs/{workflowRunId}

Fetch a trylle-ci workflow run by id.

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

workflowRunId*string

CI workflow run id.

Length1 <= length

Response Body

application/json

curl -X GET "https://example.com/v1/ci/workflow-runs/aa"
{  "createdAt": "abc123",  "error": "abc123",  "finishedAt": "abc123",  "idempotencyKey": "abc123",  "jobs": [    {      "artifactUrls": {        "abc123": "abc123"      },      "artifacts": [        {          "contentType": "abc123",          "name": "aa",          "path": "aa",          "sizeBytes": 1,          "url": "aa"        }      ],      "error": "abc123",      "exitCode": 1,      "finishedAt": "abc123",      "if": "abc123",      "jobId": "aa",      "key": "aa",      "matrix": {        "abc123": "abc123"      },      "name": "abc123",      "needs": [        "abc123"      ],      "outputs": {        "abc123": "abc123"      },      "runId": "aa",      "runnerArch": "abc123",      "sandboxId": "abc123",      "startedAt": "abc123",      "status": "running",      "usage": {        "archiveBytes": 1,        "artifactBytes": 1,        "cancelledCount": 1,        "failedCount": 1,        "jobCount": 1,        "logBytes": 1,        "queueSeconds": 1,        "queuedCount": 1,        "runningCount": 1,        "sandboxSeconds": 1,        "skippedCount": 1,        "succeededCount": 1,        "wallClockSeconds": 1      }    }  ],  "request": {    "actor": {      "avatarUrl": "abc123",      "id": 1,      "login": "aa"    },    "artifactPaths": [      "abc123"    ],    "env": {      "abc123": "abc123"    },    "eventName": "aa",    "eventPayload": "abc123",    "idempotencyKey": "abc123",    "ref": "abc123",    "refType": "tag",    "repository": {      "cloneUrl": "abc123",      "defaultBranch": "abc123",      "id": "abc123",      "name": "aa",      "owner": "aa"    },    "sha": "abc123",    "templateId": "abc123",    "timeoutSeconds": 1,    "workflowContent": "abc123",    "workflowFiles": {      "abc123": "abc123"    },    "workflowInputs": {      "abc123": "abc123"    },    "workflowPath": "aa"  },  "startedAt": "abc123",  "status": "running",  "updatedAt": "abc123",  "usage": {    "archiveBytes": 1,    "artifactBytes": 1,    "cancelledCount": 1,    "failedCount": 1,    "jobCount": 1,    "logBytes": 1,    "queueSeconds": 1,    "queuedCount": 1,    "runningCount": 1,    "sandboxSeconds": 1,    "skippedCount": 1,    "succeededCount": 1,    "wallClockSeconds": 1  },  "workflowRunId": "aa"}
POST
/v1/ci/workflow-runs/{workflowRunId}/cancel

Cancel a queued or running trylle-ci workflow run and its child jobs.

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

workflowRunId*string

CI workflow run id.

Length1 <= length

Response Body

application/json

curl -X POST "https://example.com/v1/ci/workflow-runs/aa/cancel"
{  "createdAt": "abc123",  "error": "abc123",  "finishedAt": "abc123",  "idempotencyKey": "abc123",  "jobs": [    {      "artifactUrls": {        "abc123": "abc123"      },      "artifacts": [        {          "contentType": "abc123",          "name": "aa",          "path": "aa",          "sizeBytes": 1,          "url": "aa"        }      ],      "error": "abc123",      "exitCode": 1,      "finishedAt": "abc123",      "if": "abc123",      "jobId": "aa",      "key": "aa",      "matrix": {        "abc123": "abc123"      },      "name": "abc123",      "needs": [        "abc123"      ],      "outputs": {        "abc123": "abc123"      },      "runId": "aa",      "runnerArch": "abc123",      "sandboxId": "abc123",      "startedAt": "abc123",      "status": "running",      "usage": {        "archiveBytes": 1,        "artifactBytes": 1,        "cancelledCount": 1,        "failedCount": 1,        "jobCount": 1,        "logBytes": 1,        "queueSeconds": 1,        "queuedCount": 1,        "runningCount": 1,        "sandboxSeconds": 1,        "skippedCount": 1,        "succeededCount": 1,        "wallClockSeconds": 1      }    }  ],  "request": {    "actor": {      "avatarUrl": "abc123",      "id": 1,      "login": "aa"    },    "artifactPaths": [      "abc123"    ],    "env": {      "abc123": "abc123"    },    "eventName": "aa",    "eventPayload": "abc123",    "idempotencyKey": "abc123",    "ref": "abc123",    "refType": "tag",    "repository": {      "cloneUrl": "abc123",      "defaultBranch": "abc123",      "id": "abc123",      "name": "aa",      "owner": "aa"    },    "sha": "abc123",    "templateId": "abc123",    "timeoutSeconds": 1,    "workflowContent": "abc123",    "workflowFiles": {      "abc123": "abc123"    },    "workflowInputs": {      "abc123": "abc123"    },    "workflowPath": "aa"  },  "startedAt": "abc123",  "status": "running",  "updatedAt": "abc123",  "usage": {    "archiveBytes": 1,    "artifactBytes": 1,    "cancelledCount": 1,    "failedCount": 1,    "jobCount": 1,    "logBytes": 1,    "queueSeconds": 1,    "queuedCount": 1,    "runningCount": 1,    "sandboxSeconds": 1,    "skippedCount": 1,    "succeededCount": 1,    "wallClockSeconds": 1  },  "workflowRunId": "aa"}