curl --request GET \
--url https://api.platform.dakota.xyz/legal/documentsconst options = {method: 'GET'};
fetch('https://api.platform.dakota.xyz/legal/documents', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.platform.dakota.xyz/legal/documents"
response = requests.get(url)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.platform.dakota.xyz/legal/documents"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"data": [
{
"key": "dakota_tos",
"version": "2026-08-04",
"revision": 5,
"title": "Dakota Terms of Service",
"content_type": "text/markdown",
"effective_date": "2026-08-04"
},
{
"key": "dakota_privacy",
"version": "2026-07-23",
"revision": 3,
"title": "Dakota Privacy Policy",
"content_type": "text/markdown",
"effective_date": "2026-07-23"
}
]
}{
"type": "https://docs.dakota.xyz/api-reference/errors#internal-error",
"title": "Internal error",
"status": 500,
"detail": "An unexpected error occurred."
}List current legal documents
Returns the revision of every legal document that is currently in force.
An index, not a bundle: each entry identifies a document and the
revision in force, WITHOUT the document text. content is omitted
here — fetch GET /legal/documents/{document_key} for the one document
you are going to display. Inlining every document would make this
response carry the entire corpus on every call.
Unauthenticated: these are public documents, and integrators need them before a customer relationship exists.
No cache headers are set, and this list is not safe to cache
indefinitely: it names whichever revision is currently IN FORCE, and
that changes when a new one is published. A specific (key, version)
from GET /legal/documents/{key} is a different matter — revisions are
immutable, so once fetched its text can be cached for as long as you
like.
curl --request GET \
--url https://api.platform.dakota.xyz/legal/documentsconst options = {method: 'GET'};
fetch('https://api.platform.dakota.xyz/legal/documents', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.platform.dakota.xyz/legal/documents"
response = requests.get(url)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.platform.dakota.xyz/legal/documents"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"data": [
{
"key": "dakota_tos",
"version": "2026-08-04",
"revision": 5,
"title": "Dakota Terms of Service",
"content_type": "text/markdown",
"effective_date": "2026-08-04"
},
{
"key": "dakota_privacy",
"version": "2026-07-23",
"revision": 3,
"title": "Dakota Privacy Policy",
"content_type": "text/markdown",
"effective_date": "2026-07-23"
}
]
}{
"type": "https://docs.dakota.xyz/api-reference/errors#internal-error",
"title": "Internal error",
"status": 500,
"detail": "An unexpected error occurred."
}Response
The in-force revision of each document, without its text.
Show child attributes
Show child attributes
Was this page helpful?

