Finish a GitHub sign-in with what GitHub returned
const url = 'https://api.katara.com/katara/v1/github/authorizations/complete';const options = { method: 'POST', headers: { 'X-Katara-CSRF': '1', Authorization: 'Bearer <token>', 'Content-Type': 'application/json' }, body: '{"state":"example","code":"example","installation_id":1}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.katara.com/katara/v1/github/authorizations/complete \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --header 'X-Katara-CSRF: 1' \ --data '{ "state": "example", "code": "example", "installation_id": 1 }'GitHub is asked who the person is and, after an installation, whether they can reach it; their GitHub token is revoked before this answers.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Header Parameters
Section titled “Header Parameters”Browser cookie mutations require value 1 and an allowed Origin. Session bearer clients may omit this header.
Request Bodyrequired
Section titled “Request Bodyrequired”What GitHub returned to the callback page. installation_id is required after installing the App and is checked with GitHub before anything is linked.
object
Examplegenerated
{ "state": "example", "code": "example", "installation_id": 1}Responses
Section titled “Responses”Successful request
object
The GitHub login a person linked. Only the login and its id are kept; the token GitHub issued to prove it is revoked once used.
object
An installation of the Katara GitHub App an organization reads through, as GitHub describes it.
Example
{ "installation": { "account_type": "User", "repository_selection": "all" }}default
Section titled “default”Request error
object
object
Stable; branch on it. Any operation can answer invalid_request, with param naming the refused field when there is one; human_session_required, when an API key, service account or workload calls an operation only a signed-in person may perform; reauthentication_required, when a person’s sign-in is too old for the operation; permission_denied; route_not_found and method_not_allowed, when no operation matches the path or method; and feature_unavailable, when the operation’s service is not enabled on this deployment.
The request field a refusal is about, such as the agent_id or run_id query parameter; null when the refusal is not about one field.
Example
{ "error": { "action": "sign_in" }}