> ## Documentation Index
> Fetch the complete documentation index at: https://www.osohq.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Export Facts

You always own your facts and can export them at any time using the [Get API](/reference/api/policy/get-policy).

## Export with the CLI

```console theme={null}
# Export all `has_role` facts
$ oso-cloud get has_role _ _ _
Retrieving has_role(_, _, _) from Oso at https://cloud.osohq.com/
has_role(User:Alice, String:admin, Repository:Anvils)
...

# Export all `has_relation` facts
$ oso-cloud get has_relation _ _ _
Retrieving has_relation(_, _, _) from Oso at https://cloud.osohq.com/
has_relation(Repository:Anvils, String:organization, Organization:ACME)
...
```

Each `_` is a wildcard for a fact argument. The examples above return all facts of the given type.

You can also filter by replacing wildcards with specific values:

```console theme={null}
# Export only Alice's roles
$ ooso-cloud get has_role User:Alice _ _
...
```

## Export with SDKs

You can call the Get API directly from any Oso Cloud SDK.

Each SDK provides a `get` (or `Get`) method:

* Wildcards: `None` (Python), `null` (Node.js), `nil` (Go).
* Developer accounts: max 1000 facts per call (larger exports error).
* Only returns facts you've explicitly added.
  * Use **Check API** (`list`) to find authorized resources.
  * Use **Query Builder** for derived queries.

Below are examples in Python, Node.js, and Go.

### Python

```python theme={null}
# List all role-related facts on the `anvils` repo
oso.get(("has_role", None, None, anvils))
```

### Node.js

```javascript theme={null}
// List all role-related facts on the `anvils` repo
await oso.get(["has_role", null, null, { type: "Repository", id: "anvils" }]);
```

### Go

```go theme={null}
// List all role-related facts on the `anvils` repo
facts, _ = osoClient.Get(
  oso.NewFactPattern("has_role", nil, nil, oso.NewValue("Repository", "anvils")),
)
```
