Skip to content
FolioSign inStart your trial

API reference

Live

Live status and captions for a church that is streaming.

GET/v1/public/{church}/live

Is the church live?#

The live status for a church: whether a stream is on and where the captions come from. Cacheable; send If-None-Match.

Auth. None. This route is public.

Auth
No key
Operation id
publicLive

Parameters

Parameters
NameInDescription
church requiredpathThe church slug, such as grace-chapel. For partner routes, the customer church id (org_) or slug. (string, e.g. grace-chapel)
If-None-MatchheaderThe ETag of the copy you already hold. If it is current the answer is 304 with no body. (string)

Responses

200 Success. Is the church live?.
200 example
{
  "status": true,
  "message": "live",
  "data": {
    "object": "live_stream",
    "status": "live",
    "ended": false,
    "source": "asr",
    "server_now_ms": 1793541609000
  }
}
400 The request could not be read.
400 example
{
  "status": false,
  "message": "the page cursor is not valid",
  "error": {
    "code": "invalid_argument",
    "status": 400,
    "request_id": "req_b337770ecebe03b03a88a8998b59263d"
  }
}
422 A field failed validation, or an Idempotency-Key was reused with a different body.
422 example
{
  "status": false,
  "message": "A field is not valid.",
  "error": {
    "code": "validation",
    "status": 422,
    "request_id": "req_b337770ecebe03b03a88a8998b59263d"
  }
}
500 Something went wrong. Quote error.request_id.
500 example
{
  "status": false,
  "message": "Something went wrong. Quote the request id to support.",
  "error": {
    "code": "internal",
    "status": 500,
    "request_id": "req_b337770ecebe03b03a88a8998b59263d"
  }
}

Code samples

curl -X GET "$FOLIO_API_URL/v1/public/grace-chapel/live"

GET/v1/public/{church}/live/captions

Read live captions#

Captions as they are spoken. Pass after with the last next_after you received to get only new captions. Poll about once a second while status is live.

Auth. None. This route is public.

Auth
No key
Operation id
publicLiveCaptions

Parameters

Parameters
NameInDescription
church requiredpathThe church slug, such as grace-chapel. For partner routes, the customer church id (org_) or slug. (string, e.g. grace-chapel)
afterqueryReturn captions with a sequence greater than this. Send the next_after of the previous response. 0 returns the most recent captions. (integer, e.g. 0)
limitqueryHow many items to return, from 1 to 100. (integer, e.g. 50)
If-None-MatchheaderThe ETag of the copy you already hold. If it is current the answer is 304 with no body. (string)

Responses

200 Success. Read live captions.
200 example
{
  "status": true,
  "message": "live captions",
  "data": {
    "object": "live_captions",
    "status": "live",
    "ended": false,
    "next_after": 2,
    "source": "asr",
    "server_now_ms": 1793541609000,
    "captions": [
      {
        "object": "caption",
        "seq": 1,
        "start_ms": 0,
        "end_ms": 2400,
        "text": "Good morning, church.",
        "ingest_ms": 120,
        "publish_ms": 340
      }
    ]
  }
}
400 The request could not be read.
400 example
{
  "status": false,
  "message": "the page cursor is not valid",
  "error": {
    "code": "invalid_argument",
    "status": 400,
    "request_id": "req_b337770ecebe03b03a88a8998b59263d"
  }
}
422 A field failed validation, or an Idempotency-Key was reused with a different body.
422 example
{
  "status": false,
  "message": "A field is not valid.",
  "error": {
    "code": "validation",
    "status": 422,
    "request_id": "req_b337770ecebe03b03a88a8998b59263d"
  }
}
500 Something went wrong. Quote error.request_id.
500 example
{
  "status": false,
  "message": "Something went wrong. Quote the request id to support.",
  "error": {
    "code": "internal",
    "status": 500,
    "request_id": "req_b337770ecebe03b03a88a8998b59263d"
  }
}

Code samples

curl -X GET "$FOLIO_API_URL/v1/public/grace-chapel/live/captions?after=0&limit=50"

Verified against API version 0.0.0-dev. Generated from the live OpenAPI document.