{"id":4903,"date":"2026-01-26T01:50:58","date_gmt":"2026-01-26T06:50:58","guid":{"rendered":"https:\/\/chubes.net\/?documentation=github-sync-diagnostics"},"modified":"2026-03-01T23:09:27","modified_gmt":"2026-03-02T04:09:27","slug":"github-sync-diagnostics","status":"publish","type":"documentation","link":"https:\/\/chubes.net\/docs\/chubes-docs\/github-sync-diagnostics\/","title":{"rendered":"GitHub Sync Diagnostics"},"content":{"rendered":"<p>This page documents the REST endpoints used for GitHub connectivity checks and manual GitHub-based sync runs.<\/p><p>For the full endpoint list, see <a href=\"https:\/\/chubes.net\/docs\/chubes-docs\/api-reference\/\">API Reference<\/a>.<\/p><h2 class=\"wp-block-heading\">Endpoints<\/h2><h3 class=\"wp-block-heading\">GET \/wp-json\/docsync\/v1\/sync\/test-token<\/h3><p>Test the configured GitHub Personal Access Token (PAT).<\/p><ul class=\"wp-block-list\"><li><strong>Permissions:<\/strong> requires <code>manage_options<\/code><\/li><li><strong>Response:<\/strong> diagnostic object returned by the GitHub client.<\/li><li><strong>Errors:<\/strong><ul class=\"wp-block-list\"><li><code>400 no_token<\/code> when no PAT is configured<\/li><li><code>500 connection_failed<\/code> when the GitHub API request fails<\/li><\/ul><\/li><\/ul><h3 class=\"wp-block-heading\">POST \/wp-json\/docsync\/v1\/sync\/test-repo<\/h3><p>Test access to a repository URL.<\/p><ul class=\"wp-block-list\"><li><code>400 no_token<\/code> when no PAT is configured<\/li><li><code>500 connection_failed<\/code> when the GitHub API request fails<\/li><\/ul><h2 class=\"wp-block-heading\">Manual GitHub Sync<\/h2><h3 class=\"wp-block-heading\">POST \/wp-json\/docsync\/v1\/sync\/all<\/h3><p>Run GitHub sync across all project terms that have a GitHub URL configured.<\/p><ul class=\"wp-block-list\"><li><code>400 no_token<\/code> when no PAT is configured<\/li><li><code>500 connection_failed<\/code> when the GitHub API request fails<\/li><\/ul><h3 class=\"wp-block-heading\">POST \/wp-json\/docsync\/v1\/sync\/term\/{id}<\/h3><p>Run GitHub sync for a single project term.<\/p><ul class=\"wp-block-list\"><li><strong>Permissions:<\/strong> requires <code>manage_options<\/code><\/li><li><strong>Body:<\/strong>\n<div class=\"code-block-wrapper\"><div class=\"code-block-header\"><span class=\"code-block-language\">json<\/span><button class=\"code-copy-btn\" aria-label=\"Copy code\"><svg><use href=\"https:\/\/chubes.net\/wp-content\/themes\/chubes\/assets\/icons\/chubes.svg#icon-copy\"><\/use><\/svg><\/button><\/div><pre class=\"wp-block-code language-json\"><code class=\"language-json\">{ &quot;repo_url&quot;: &quot;https:\/\/github.com\/owner\/repo&quot; }\n<\/code><\/pre><\/div><\/li><li><strong>Response:<\/strong> repository diagnostic object on success.<\/li><li><strong>Errors:<\/strong> returns a WP REST error response; error <code>data<\/code> may include <code>owner<\/code>, <code>repo<\/code>, and <code>sso_url<\/code>.<\/li><\/ul>","protected":false},"excerpt":{"rendered":"<p>This page documents the REST endpoints used for GitHub connectivity checks and manual GitHub-based sync runs. For the full endpoint list, see API Reference. Endpoints GET \/wp-json\/docsync\/v1\/sync\/test-token Test the configured&#8230;<\/p>\n","protected":false},"featured_media":0,"template":"","meta":{"footnotes":""},"tags":[],"project":[491],"project_type":[484],"class_list":["post-4903","documentation","type-documentation","status-publish","hentry","project-chubes-docs","project_type-wordpress-plugins"],"project_info":{"id":491,"name":"Chubes Docs","slug":"chubes-docs"},"project_type_info":{"id":484,"name":"WordPress Plugins","slug":"wordpress-plugins"},"_links":{"self":[{"href":"https:\/\/chubes.net\/wp-json\/wp\/v2\/documentation\/4903","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/chubes.net\/wp-json\/wp\/v2\/documentation"}],"about":[{"href":"https:\/\/chubes.net\/wp-json\/wp\/v2\/types\/documentation"}],"version-history":[{"count":3,"href":"https:\/\/chubes.net\/wp-json\/wp\/v2\/documentation\/4903\/revisions"}],"predecessor-version":[{"id":10105,"href":"https:\/\/chubes.net\/wp-json\/wp\/v2\/documentation\/4903\/revisions\/10105"}],"wp:attachment":[{"href":"https:\/\/chubes.net\/wp-json\/wp\/v2\/media?parent=4903"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/chubes.net\/wp-json\/wp\/v2\/tags?post=4903"},{"taxonomy":"project","embeddable":true,"href":"https:\/\/chubes.net\/wp-json\/wp\/v2\/project?post=4903"},{"taxonomy":"project_type","embeddable":true,"href":"https:\/\/chubes.net\/wp-json\/wp\/v2\/project_type?post=4903"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}