> For the complete documentation index, see [llms.txt](https://docs.ospree.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ospree.io/developers/rule-engine/api-endpoints/models.md).

# Models

## The ApiErrorResponse object

```json
{"openapi":"3.1.0","info":{"title":"Ospree Compliance API","version":"2.0.0"},"components":{"schemas":{"ApiErrorResponse":{"properties":{"status":{"type":"string","title":"Status","default":"error"},"code":{"type":"integer","title":"Code"},"message":{"type":"string","title":"Message"},"data":{"anyOf":[{},{"type":"null"}],"title":"Data"}},"type":"object","required":["code","message"],"title":"ApiErrorResponse","description":"*summary*: Api error response model"}}}}
```

## The ApiFailResponse object

```json
{"openapi":"3.1.0","info":{"title":"Ospree Compliance API","version":"2.0.0"},"components":{"schemas":{"ApiFailResponse":{"properties":{"status":{"type":"string","title":"Status","default":"fail"},"message":{"type":"string","title":"Message"},"data":{"anyOf":[{},{"type":"null"}],"title":"Data"}},"type":"object","required":["message"],"title":"ApiFailResponse","description":"*summary*: Api fail response model"}}}}
```

## The RuleEvalRequest object

```json
{"openapi":"3.1.0","info":{"title":"Ospree Compliance API","version":"2.0.0"},"components":{"schemas":{"RuleEvalRequest":{"properties":{"transaction":{"$ref":"#/components/schemas/TransactionRequest","description":"Transaction details to evaluate against the rules"},"rule_codes":{"items":{"type":"string"},"type":"array","title":"Rule Codes","description":"List of rule codes to evaluate. An empty list evaluates all of the business's active rules. A listed code with no active configuration is reported in `data.results` with `status: \"error\"` rather than omitted."}},"type":"object","required":["transaction","rule_codes"],"title":"RuleEvalRequest"},"TransactionRequest":{"properties":{"transaction_id":{"type":"string","minLength":3,"title":"Transaction Id","description":"Unique transaction identifier"},"originator_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Originator Address","description":"Wallet involved in the transaction"},"originator_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Originator Name","description":"Sender identifier"},"originator_account_reference_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Originator Account Reference Id","description":"Sender account identifier"},"beneficiary_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Beneficiary Address","description":"Recepient wallet involved in the transaction"},"beneficiary_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Beneficiary Name","description":"Recipient identifier"},"beneficiary_account_reference_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Beneficiary Account Reference Id","description":"Recepient account identifier"},"amount":{"type":"number","exclusiveMinimum":0,"title":"Amount","description":"Amount transferred"},"currency":{"type":"string","maxLength":5,"minLength":2,"title":"Currency","description":"Currency code (e.g., AED, USD)"},"country_code":{"type":"string","minLength":2,"title":"Country Code","description":"Country to verify the threshold (use ISO 3166-1 alpha-2 country code, e.g. AE for United Arab Emirates)."},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata","description":"Additional transaction metadata"}},"type":"object","required":["transaction_id","amount","currency","country_code"],"title":"TransactionRequest"}}}}
```

## The TransactionRequest object

```json
{"openapi":"3.1.0","info":{"title":"Ospree Compliance API","version":"2.0.0"},"components":{"schemas":{"TransactionRequest":{"properties":{"transaction_id":{"type":"string","minLength":3,"title":"Transaction Id","description":"Unique transaction identifier"},"originator_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Originator Address","description":"Wallet involved in the transaction"},"originator_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Originator Name","description":"Sender identifier"},"originator_account_reference_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Originator Account Reference Id","description":"Sender account identifier"},"beneficiary_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Beneficiary Address","description":"Recepient wallet involved in the transaction"},"beneficiary_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Beneficiary Name","description":"Recipient identifier"},"beneficiary_account_reference_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Beneficiary Account Reference Id","description":"Recepient account identifier"},"amount":{"type":"number","exclusiveMinimum":0,"title":"Amount","description":"Amount transferred"},"currency":{"type":"string","maxLength":5,"minLength":2,"title":"Currency","description":"Currency code (e.g., AED, USD)"},"country_code":{"type":"string","minLength":2,"title":"Country Code","description":"Country to verify the threshold (use ISO 3166-1 alpha-2 country code, e.g. AE for United Arab Emirates)."},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata","description":"Additional transaction metadata"}},"type":"object","required":["transaction_id","amount","currency","country_code"],"title":"TransactionRequest"}}}}
```
