Skip to main content
GET
A project's git repo

Path Parameters

owner
string
required
Example:

"patch"

slug
string
required
Example:

"demo-mod"

Response

The repo

name
string
required
summary
string | null
required
code_license
string
required

License of the code

Maximum string length: 64
Pattern: ^[A-Za-z0-9][A-Za-z0-9.+-]*$
Example:

"MIT"

art_license
string
required

License of original art and other assets

Maximum string length: 64
Pattern: ^[A-Za-z0-9][A-Za-z0-9.+-]*$
Example:

"MIT"

clone_url
string<uri>
required
Example:

"https://git.patch.gg/patch/demo-mod.git"

visibility
enum<string>
required

Who can reach the project's repo. open: anyone can find it, read it and fork it. closed_source: anyone can find and play what it releases; only its org reads the source. private: only its org can find it, and anyone else gets a 404. It isn't locked: the game host serves a published browser game to anyone who has its address.

Available options:
open,
closed_source,
private
opening
object | null
required

For the repo's org. A repo that was open when its first push landed stays closed source until a scan of its history is clean, and then opens by itself, and so does an open repo that a later push closed by bringing a secret, or something Patch couldn't read. This says where that's got to. Null for anyone else, and for a repo that isn't waiting.

can_read_source
boolean
required

Whether you can read its source. When false, as for someone outside a closed source repo's org, head_commit, last_commit and readme are null, and its file, tree and commit reads answer 403 source_closed.

default_branch
string
required
Example:

"main"

created_at
string<date-time> | null
required

When the repo was made; null until its first push.

head_commit
string | null
required

The default branch's latest commit, as of the last push.

pushed_at
string<date-time> | null
required
forked_from
string | null
required

The repo it was forked from, as owner/slug.

Example:

"patch/demo-mod"

fork_count
integer
required

Its forks anyone can see: open ones with a repo, each once it has a public release. Until then a fork is quiet, and nothing counts it.

clone_count
integer
required

Fresh clones by people outside its org, each cloner counted once a day, as the git host saw them.

training_opt_out
boolean
required

When true, Patch doesn't train its own models on this project.

change_requests
boolean
required

The owner's switch for change requests. Only open repos take them, so it does nothing while the repo isn't open.

open_change_requests
integer
required

How many change requests are open, for whoever can read its source: 0 for anyone else.

last_commit
object | null
required

The default branch's latest commit, as read after the push that moved it.

readme
object | null
required

The README at the top of the default branch, its first 128 KB; null when there's none.

readme_pictures
object[]
required

The pictures in a library repo's README, which Patch holds copies of, so a page can show them at their levels. Empty for any other repo, and for anyone who can't read its source.

visibility_chosen_at
string | null

When someone last set visibility on purpose, for its org: what to send back with a change that depends on nobody having done that since

home
enum<string>

Where its repo lives, where connecting GitHub is on (and only there): patch, or github once a GitHub repo is connected to it, whose files and commits stay on GitHub. clone_url is the same either way.

Available options:
patch,
github
github
object | null

The GitHub repo that's its home, with home. Null on Patch, and for someone outside the project's org when the repo is private on GitHub.