Create Hosted Auth URL
curl --request POST \
--url https://api.thefaithapp.com/v1/auth/start \
--header 'Content-Type: application/json' \
--data '
{
"client_key": "your-public-client-key",
"redirect_uri": "https://example.com/auth/callback",
"state": "replace-with-at-least-16-random-characters",
"code_challenge": "base64url-sha256-of-your-code-verifier",
"code_challenge_method": "S256"
}
'const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
client_key: 'your-public-client-key',
redirect_uri: 'https://example.com/auth/callback',
state: 'replace-with-at-least-16-random-characters',
code_challenge: 'base64url-sha256-of-your-code-verifier',
code_challenge_method: 'S256'
})
};
fetch('https://api.thefaithapp.com/v1/auth/start', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.thefaithapp.com/v1/auth/start"
payload = {
"client_key": "your-public-client-key",
"redirect_uri": "https://example.com/auth/callback",
"state": "replace-with-at-least-16-random-characters",
"code_challenge": "base64url-sha256-of-your-code-verifier",
"code_challenge_method": "S256"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"auth_url": "https://auth.thefaithapp.com/member/sign-in?client_key=your-public-client-key&redirect_uri=https%3A%2F%2Fexample.com%2Fauth%2Fcallback&state=replace-with-at-least-16-random-characters&code_challenge=base64url-sha256-of-your-code-verifier&code_challenge_method=S256",
"client": {
"id": 45,
"name": "Example Church",
"image": "clients/example-logo.png",
"image_url": "https://cdn.example.com/clients/example-logo.png",
"about": null,
"public_uuid": "11111111-2222-3333-4444-555555555555"
},
"redirect_uri": "https://example.com/auth/callback",
"providers": [
"google",
"apple",
"email"
]
}{
"status": "Error",
"message": "The request could not be completed.",
"error": null,
"error_message": null,
"errors": {}
}{
"status": "Error",
"message": "The request could not be completed.",
"error": null,
"error_message": null,
"errors": {}
}Hosted Auth
Create Hosted Auth URL
Creates a hosted sign-in URL after validating the public client key, exact Redirect URL, state, and required S256 PKCE challenge.
POST
/
v1
/
auth
/
start
Create Hosted Auth URL
curl --request POST \
--url https://api.thefaithapp.com/v1/auth/start \
--header 'Content-Type: application/json' \
--data '
{
"client_key": "your-public-client-key",
"redirect_uri": "https://example.com/auth/callback",
"state": "replace-with-at-least-16-random-characters",
"code_challenge": "base64url-sha256-of-your-code-verifier",
"code_challenge_method": "S256"
}
'const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
client_key: 'your-public-client-key',
redirect_uri: 'https://example.com/auth/callback',
state: 'replace-with-at-least-16-random-characters',
code_challenge: 'base64url-sha256-of-your-code-verifier',
code_challenge_method: 'S256'
})
};
fetch('https://api.thefaithapp.com/v1/auth/start', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.thefaithapp.com/v1/auth/start"
payload = {
"client_key": "your-public-client-key",
"redirect_uri": "https://example.com/auth/callback",
"state": "replace-with-at-least-16-random-characters",
"code_challenge": "base64url-sha256-of-your-code-verifier",
"code_challenge_method": "S256"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"auth_url": "https://auth.thefaithapp.com/member/sign-in?client_key=your-public-client-key&redirect_uri=https%3A%2F%2Fexample.com%2Fauth%2Fcallback&state=replace-with-at-least-16-random-characters&code_challenge=base64url-sha256-of-your-code-verifier&code_challenge_method=S256",
"client": {
"id": 45,
"name": "Example Church",
"image": "clients/example-logo.png",
"image_url": "https://cdn.example.com/clients/example-logo.png",
"about": null,
"public_uuid": "11111111-2222-3333-4444-555555555555"
},
"redirect_uri": "https://example.com/auth/callback",
"providers": [
"google",
"apple",
"email"
]
}{
"status": "Error",
"message": "The request could not be completed.",
"error": null,
"error_message": null,
"errors": {}
}{
"status": "Error",
"message": "The request could not be completed.",
"error": null,
"error_message": null,
"errors": {}
}Body
application/json
Public client key copied from Developer Access.
Saved Redirect URL that will receive the one-time code.
Cryptographically random callback value generated by your app.
Required string length:
16 - 2048Base64url-encoded SHA-256 digest of the PKCE verifier.
Required string length:
43 - 128Pattern:
^[A-Za-z0-9\-._~]+$Required PKCE challenge method.
Available options:
S256 Response
Hosted sign-in URL created.
Example:
"https://auth.thefaithapp.com/member/sign-in?client_key=your-public-client-key&redirect_uri=https%3A%2F%2Fexample.com%2Fauth%2Fcallback&state=replace-with-at-least-16-random-characters&code_challenge=base64url-sha256-of-your-code-verifier&code_challenge_method=S256"
Show child attributes
Show child attributes
Example:
"https://example.com/auth/callback"
Example:
["google", "apple", "email"]
Was this page helpful?