# List a partner's terms versions

`GET /lokta-lms/api/v1/sourcing-partners/{partnerId}/terms`

Lists every terms version a sourcing partner has had, newest first.

Every version this partner has ever had, newest first, each with its fee `lines` and each line's `slabs` inline. An agreement read a line at a time can be rendered half-applied.

`product_id` / `product_name` are null on the partner's default agreement and populated on a product-specific override. `product_id` is the ledger's own numeric loan-product id, not one of this API's opaque ids: a core id travels as itself.

`guarantee` is a single nested object or null; a percentage without an invocation window is not a partial guarantee. `method` and `accrual_frequency` are enums and arrive as bare lower-case strings; `basis` and `guarantee.form` are lookups and arrive as `{code, label}` with upper codes.

`slabs` arrive ordered by `from_principal` ascending and that order is contractual. `order_position` is not published; reading bands out of order computes the wrong fee at a band boundary while every individual number still looks right.

An unknown partner is a `404` on the partner, not an empty list: "has no agreements" and "does not exist" are different answers.

## Parameters
- `partnerId` (path, string, required): Opaque partner id, spr_…
- `limit` (query, integer): Default 25, maximum 100
- `cursor` (query, string): Opaque; never parse it

## Responses
- `default`: default response

## Example request (cURL)
```bash
curl -X GET \
  'https://default.lokta.tech/lokta-lms/api/v1/sourcing-partners/{partnerId}/terms' \
  -u '{username}:{password}' \
  -H 'Tenant-Identifier: default'
```

Interactive: https://developer.lokta.ai/reference#operation/list_7
