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

# Terms

> Terms resource client for latest terms and acceptances

Access through `sdk.terms` on a [`Lomadee`](/docs/sdk/reference/client) instance. Term acceptance operations are on `sdk.terms.acceptances`.

```typescript theme={null}
import type {
  TermData,
  CreateTermAcceptanceBody,
  TermAcceptanceStatus,
} from '@thelomadee/sdk/domains';
```

## `latest`

On `sdk.terms`:

```typescript theme={null}
latest(): Promise<TermData>
```

Returns metadata for the latest terms document.

### Returns

`Promise<TermData>` — see [`TermData`](#termdata).

### Example

```typescript theme={null}
const term = await sdk.terms.latest();
console.log(term.version, term.fileUrl);
```

***

## Acceptances

Access through `sdk.terms.acceptances` (type `TermAcceptance`).

### `create`

```typescript theme={null}
create(body: CreateTermAcceptanceBody): Promise<TermAcceptanceStatus>
```

Records term acceptance for a user.

#### Parameters — `CreateTermAcceptanceBody`

<ParamField body="userId" type="string" required>
  User identifier to associate with the acceptance.
</ParamField>

#### Returns

`Promise<TermAcceptanceStatus>`.

#### Example

```typescript theme={null}
const status = await sdk.terms.acceptances.create({ userId: 'user-123' });
```

### `list`

```typescript theme={null}
list(userId: string): Promise<TermAcceptanceStatus>
```

Retrieves acceptance status for a user.

<ParamField path="userId" type="string" required>
  User identifier.
</ParamField>

#### Returns

`Promise<TermAcceptanceStatus>`.

#### Example

```typescript theme={null}
const status = await sdk.terms.acceptances.list('user-123');
```

***

## `TermData`

<ParamField body="id" type="string" required>
  Term record identifier.
</ParamField>

<ParamField body="version" type="number" required>
  Term version number.
</ParamField>

<ParamField body="organizationId" type="string | null" required>
  Organization identifier, or `null`.
</ParamField>

<ParamField body="fileUrl" type="string" required>
  URL of the terms document file.
</ParamField>

<ParamField body="createdAt" type="string" required>
  Creation timestamp (string format not specified in SDK types).
</ParamField>

<ParamField body="updatedAt" type="string" required>
  Update timestamp (string format not specified in SDK types).
</ParamField>

## `TermAcceptanceStatus`

<ParamField body="accepted" type="boolean" required>
  Acceptance flag.
</ParamField>

<ParamField body="terms" type="TermData">
  Optional embedded terms metadata (plural field name). See [`TermData`](#termdata).
</ParamField>

## Related

* [Client](/docs/sdk/reference/client)
* [Quickstart](/docs/sdk/quickstart)
* [Error handling](/docs/sdk/guides/error-handling)
