TrylleDocs
API ReferenceOpenAPI 3 reference

Repositories

GET
/v1/repositories

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Query Parameters

workspaceId?string

Workspace id. Defaults to DEFAULT_WORKSPACE_ID when omitted.

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/repositories?workspaceId=abc123&page=2&per_page=2&cursor=abc123"
"abc123"
POST
/v1/repositories

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/repositories" \  -H "Content-Type: application/json" \  -d '{    "autoInit": false,    "defaultBranch": "abc123",    "description": "abc123",    "name": "aa",    "owner": "abc123",    "private": false,    "workspaceId": "abc123"  }'
"abc123"
POST
/v1/repositories/participation/batch

Load default-branch participation histograms for a bounded repository list using one Redis MGET.

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Request Body

application/json

Bounded repository participation request.

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/v1/repositories/participation/batch" \  -H "Content-Type: application/json" \  -d '{    "repositories": [      {        "name": "aa",        "owner": "aa"      },      {        "name": "aa",        "owner": "aa"      }    ]  }'
{  "items": [    {      "name": "aa",      "owner": "aa",      "weeklyCommits": [        1,        1,        1      ]    },    {      "name": "aa",      "owner": "aa",      "weeklyCommits": [        1,        1,        1      ]    }  ]}
GET
/v1/repositories/{owner}/{name}

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

owner*string

Repository owner namespace.

Length1 <= length
name*string

Repository name from the {name} path segment.

Length1 <= length

Response Body

application/json

curl -X GET "https://example.com/v1/repositories/aa/aa"
"abc123"
PATCH
/v1/repositories/{owner}/{name}

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

owner*string

Repository owner namespace.

Length1 <= length
name*string

Repository name from the {name} path segment.

Length1 <= length

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X PATCH "https://example.com/v1/repositories/aa/aa" \  -H "Content-Type: application/json" \  -d '{    "allowMergeCommits": false,    "allowRebase": false,    "allowRebaseUpdate": false,    "allowSquashMerge": false,    "archived": false,    "defaultAllowMaintainerEdit": false,    "defaultBranch": "abc123",    "defaultDeleteBranchAfterMerge": false,    "description": "abc123",    "expectedRepositoryId": "aa",    "hasIssues": false,    "newName": "abc123",    "private": false  }'
"abc123"
DELETE
/v1/repositories/{owner}/{name}

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

owner*string

Repository owner namespace.

Length1 <= length
name*string

Repository name.

Length1 <= length

Header Parameters

X-Trylle-Expected-Repository-ID*string

Immutable repository ID required to fence path reuse.

Length1 <= length

Response Body

application/json

curl -X DELETE "https://example.com/v1/repositories/aa/aa" \  -H "X-Trylle-Expected-Repository-ID: aa"
"abc123"
GET
/v1/repositories/{owner}/{name}/contributors

Top contributors (by commit count) for a public repository's default branch. Optional auth; public repositories only.

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

owner*string

Repository owner namespace.

Length1 <= length
name*string

Repository name from the {name} path segment.

Length1 <= length

Query Parameters

limit?integer

Maximum contributors to return. Handler defaults to 5.

Formatint64

Response Body

application/json

curl -X GET "https://example.com/v1/repositories/aa/aa/contributors?limit=1"
"abc123"
POST
/v1/repositories/{owner}/{name}/fork

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

owner*string

Repository owner namespace.

Length1 <= length
name*string

Repository name from the {name} path segment.

Length1 <= length

Request Body

application/json

Fork request body.

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/v1/repositories/aa/aa/fork" \  -H "Content-Type: application/json" \  -d '{    "name": "abc123"  }'
"abc123"
GET
/v1/repositories/{owner}/{name}/languages

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

owner*string

Repository owner namespace.

Length1 <= length
name*string

Repository name from the {name} path segment.

Length1 <= length

Response Body

application/json

curl -X GET "https://example.com/v1/repositories/aa/aa/languages"
"abc123"
GET
/v1/repositories/{owner}/{name}/participation

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

owner*string

Repository owner namespace.

Length1 <= length
name*string

Repository name from the {name} path segment.

Length1 <= length

Query Parameters

ref?string

Reserved for future bounded custom-ref support; currently the authoritative default branch is always used.

Response Body

application/json

curl -X GET "https://example.com/v1/repositories/aa/aa/participation?ref=abc123"
{  "weeklyCommits": [    1,    1,    1  ]}
GET
/v1/repositories/{owner}/{name}/recent-pushable-branch

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

owner*string

Repository owner namespace.

Length1 <= length
name*string

Repository name from the {name} path segment.

Length1 <= length

Response Body

application/json

curl -X GET "https://example.com/v1/repositories/aa/aa/recent-pushable-branch"
"abc123"
POST
/v1/repositories/{owner}/{name}/star

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

owner*string

Repository owner namespace.

Length1 <= length
name*string

Repository name from the {name} path segment.

Length1 <= length

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/v1/repositories/aa/aa/star" \  -H "Content-Type: application/json" \  -d '{    "starred": false  }'
"abc123"
POST
/v1/repositories/{owner}/{name}/transfer

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

owner*string

Repository owner namespace.

Length1 <= length
name*string

Repository name.

Length1 <= length

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/v1/repositories/aa/aa/transfer" \  -H "Content-Type: application/json" \  -d '{    "expectedRepositoryId": "aa",    "newOwner": "aa"  }'
"abc123"