Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion content/api/collection.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ weight: 2

As Open Terms Archive is decentralised, each instance embarks its own API. The documentation relevant to the specific version of the engine on that instance is provided on that instance itself.

The Collection API exposes JSON data over HTTP. Its [OpenAPI](https://swagger.io/specification/) specification can be found at `http://localhost:<port>/<basePath>/<API version>/docs`.
The Collection API exposes data over HTTP: versioning data in JSON format and [Atom feeds]({{< relref "/terms/how-to/be-notified" >}}) for subscription. Its [OpenAPI](https://swagger.io/specification/) specification can be found at `http://localhost:<port>/<basePath>/<API version>/docs`.

That endpoint exposes both the OpenAPI specification if the requested `Content-Type` is JSON, and a Swagger UI for visual and interactive documentation otherwise.

Expand Down
7 changes: 7 additions & 0 deletions content/collections/reference/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -246,6 +246,13 @@ The collection API section sets the parameters for the API server.
required=true
/>}}

{{< refItem
name="collection-api.feed.limit"
type="number"
description="Maximum number of entries returned by feed endpoints."
default="100"
/>}}

---

## Storage Repositories
Expand Down
31 changes: 11 additions & 20 deletions content/terms/how-to/be-notified.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,35 +9,26 @@ aliases:

# How to be notified of terms changes

An RSS feed is a type of web page that contains information about the latest content published by a website, such as the date of publication and the address where you can view it. When this resource is updated, a feed reader app automatically notifies you and you can see the update. You can receive notification for a specific service or document by subscribing to RSS feeds.
An Atom feed is a type of web page that contains information about the latest content published by a website, such as the date of publication and the address where you can view it. When this resource is updated, a feed reader app automatically notifies you and you can see the update. You can receive notification for a specific service or terms type by subscribing to Atom feeds.

- - -
Each collection exposes Atom feeds through its [Collection API]({{< relref "/api/collection" >}}). The endpoint of a collection's API can be found in the [collections list](https://opentermsarchive.org/collections.json) under the `endpoint` property.

## For specific terms

To find out the address of the RSS feed you want to subscribe to:
## For all terms of a collection

1. [Navigate]({{< relref "/analysis/how-to/navigate-history" >}}) to the page with the history of changes you are interested in.
- For example, for the GitHub Privacy Policy of the Demo collection, this would be [this page](https://github.com/OpenTermsArchive/demo-versions/commits/main/GitHub/Privacy%20Policy.md).
2. Copy the address of that page from your browser’s address bar.
- In the address, if they are present, replace the words `blob` or `tree` with `commits`.
- For example, for the GitHub Privacy Policy of the Demo collection, this would be `https://github.com/OpenTermsArchive/demo-versions/commits/main/GitHub/Privacy%20Policy.md`.
3. Append `.atom` at the end of this address.
- For example, for the GitHub Privacy Policy of the Demo collection, this would become `https://github.com/OpenTermsArchive/demo-versions/commits/main/GitHub/Privacy%20Policy.md.atom`.
4. Subscribe your RSS feed reader to the resulting address.
Subscribe to changes across the entire collection: `{collection-api-endpoint}/feed`

- - -
> For example, for all terms of the Demo collection: `http://162.19.74.224/collection-api/v1/feed`

## For all the terms of a service

Simply navigate to the history of changes for the service you are interested in and follow the same procedure as for a specific document.
Subscribe to changes for all terms of a specific service: `{collection-api-endpoint}/feed/{serviceId}`

For example, for all terms of the Demo collection, you would obtain `https://github.com/OpenTermsArchive/demo-versions/commits/main/GitHub.atom`.
> For example, for all terms of GitHub in the Demo collection: `http://162.19.74.224/collection-api/v1/feed/GitHub`

- - -
## For one terms type of a service

## For all terms of a collection
Subscribe to changes for a specific terms type of a service: `{collection-api-endpoint}/feed/{serviceId}/{termsType}`

Simply append `commits.atom` to the URL of the repository.
Terms types that contain spaces or special characters must be URL-encoded. For example, "Privacy Policy" becomes `Privacy%20Policy`.

For example, for all terms of the Demo collection, you would use `https://github.com/OpenTermsArchive/demo-versions/commits.atom`.
> For example, for the GitHub Privacy Policy of the Demo collection: `http://162.19.74.224/collection-api/v1/feed/GitHub/Privacy%20Policy`
Loading