Skip to navigation

Organization quickstart

In Organization → Members & Access → Credentials, create a service token for your integration backend. Select only the scopes used by the integration. For this reading example, use organization.get, translation.list and translation.read. A Live controller also needs the relevant live scopes.

Keep the svc_ secret in the backend’s secret configuration. Never expose it in a browser bundle, URL, repository or log. Service tokens belong to the organization and continue working when their creator leaves. They do not create a human account or consume a member seat.

Replace <token> in the headers below with your service token.

curl \
--header "Authorization: Bearer <token>" \
"https://api.bibleit.app/v1/organization"

The identity response contains the immutable organization id. Use that ID in organization-scoped URLs; a handle is not a REST ownership boundary.

export ORGANIZATION_ID='00000000-0000-4000-8000-000000000001'
curl \
--header "Authorization: Bearer <token>" \
"https://api.bibleit.app/v1/organizations/$ORGANIZATION_ID/translations"
curl \
--header "Authorization: Bearer <token>" \
"https://api.bibleit.app/v1/organizations/$ORGANIZATION_ID/translations/web/books/1/chapters/1"

Reading requires the translation to be enabled in the organization’s library and installed on the server. Global catalogue discovery does not grant library access. Enabling a library entry requires translation.enable; it does not install content. Missing scopes, organization status and processing restrictions remain enforced even when the token is otherwise valid.

Next, read retries and concurrency and Live events. Use explicit personal OAuth consent when a client needs a person’s account instead of organization automation.

See presentations and files for upload, import, publication and export workflows.