Skip to main content
POST
/
v1
/
subscribe
Subscribe to Church
curl --request POST \
  --url https://api.thefaithapp.com/v1/subscribe \
  --header 'Authorization: <authorization>' \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <x-api-key>' \
  --data '
{
  "fcm_token": "<string>"
}
'
import requests

url = "https://api.thefaithapp.com/v1/subscribe"

payload = { "fcm_token": "<string>" }
headers = {
"X-API-Key": "<x-api-key>",
"Authorization": "<authorization>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {
'X-API-Key': '<x-api-key>',
Authorization: '<authorization>',
'Content-Type': 'application/json'
},
body: JSON.stringify({fcm_token: '<string>'})
};

fetch('https://api.thefaithapp.com/v1/subscribe', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.thefaithapp.com/v1/subscribe",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'fcm_token' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"Content-Type: application/json",
"X-API-Key: <x-api-key>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.thefaithapp.com/v1/subscribe"

payload := strings.NewReader("{\n \"fcm_token\": \"<string>\"\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("X-API-Key", "<x-api-key>")
req.Header.Add("Authorization", "<authorization>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api.thefaithapp.com/v1/subscribe")
.header("X-API-Key", "<x-api-key>")
.header("Authorization", "<authorization>")
.header("Content-Type", "application/json")
.body("{\n \"fcm_token\": \"<string>\"\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.thefaithapp.com/v1/subscribe")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<x-api-key>'
request["Authorization"] = '<authorization>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"fcm_token\": \"<string>\"\n}"

response = http.request(request)
puts response.read_body
{
  "message": "<string>",
  "user": "<string>"
}
Subscribes the authenticated TheFaithApp member to the church represented by the API key and stores the device FCM token for push notifications.

Example request

curl -X POST https://api.thefaithapp.com/v1/subscribe \
  -H "X-API-Key: your-client-api-key" \
  -H "Authorization: Bearer member-bearer-token" \
  -H "Content-Type: application/json" \
  -d '{"fcm_token":"user-device-fcm-token"}'

Request inputs

X-API-Key
string
required
Your client API key from the dashboard (Settings page).
Authorization
string
required
The member bearer token returned by POST /v1/auth/token.
fcm_token
string
required
User’s FCM device token.

Response fields

message
string
required
Confirms the church the member has just been subscribed to.
user
string
required
The member identifier associated with the church subscription.

Example response

{
  "message": "Church subscribed to Example Church",
  "user": "member-user-123"
}