Syndai Docs

Read a GitHub repository's production deploys and latest release

GET
/api/v1/external/coding/customers/{customer_id}/repositories/{repository_id}/github-deploys

What the repository's own pipeline shipped, read live from GitHub. environments: one row per environment whose name starts with production (any case), its newest deployment: name, state (GitHub's deployment status lowercased, e.g. success, failure, error, in_progress; null before any status), url, log_url, description, sha, at; failed first, then newest. release: the latest release (tag, url, at, count of releases), null when none. packages: the root package.json (npm, unless private) and pyproject.toml [project] (PyPI) beside the public registry's latest: registry, name, published_version (null when not published yet or unavailable), repo_version, url (the registry page), at, unavailable (that registry couldn't be read; the rest of the answer stands). Any workspace member (coding:apps:read). 404 for a repository outside this workspace or one Syndai hosts; 503 GITHUB_UNAVAILABLE when GitHub can't be read.

Authorization

CustomerApiKey
headerAuthorizationBearer <API Key>

Customer API key sent as a bearer token

Path Parameters

customer_id*string
Formatuuid
repository_id*string
Formatuuid

Response Body

Request fulfilled, document follows

application/json
  1. response
environments*array<>
packages*array<>
release?|null
Example Request
curl -X GET 'https://api.syndai.ai/api/v1/external/coding/customers/497f6eca-6276-4993-bfeb-53cbbbba6f08/repositories/497f6eca-6276-4993-bfeb-53cbbbba6f08/github-deploys'
Example Response
{  "environments": [    {      "at": "string",      "description": "string",      "log_url": "string",      "name": "string",      "sha": "string",      "state": "string",      "url": "string"    }  ],  "packages": [    {      "at": "string",      "name": "string",      "published_version": "string",      "registry": "string",      "repo_version": "string",      "unavailable": true,      "url": "string"    }  ],  "release": {    "at": "string",    "count": 0,    "tag": "string",    "url": "string"  }}