| GET,OPTIONS | /v1/records/audit |
|---|
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RecordAuditDto:
event_id: int = 0
record_key: Optional[str] = None
verb: Optional[str] = None
who_label: Optional[str] = None
detail: Optional[str] = None
when_label: Optional[str] = None
event_ref: Optional[str] = None
actor_kind: Optional[str] = None
auth_context: Optional[str] = None
ip: Optional[str] = None
device: Optional[str] = None
rel_kind: Optional[str] = None
rel_key: Optional[str] = None
when_full: Optional[str] = None
age_days: int = 0
record_name: Optional[str] = None
series_name: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RecordAuditResponse:
response_status: Optional[ResponseStatus] = None
events: List[RecordAuditDto] = field(default_factory=list)
total: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class OrgAuditTrailRequest:
q: Optional[str] = None
verb: Optional[str] = None
range: int = 0
page: int = 0
page_size: int = 0
top: int = 0
Python OrgAuditTrailRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /v1/records/audit HTTP/1.1 Host: api.dev.dynamics.trendsic.com Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
},
Events:
[
{
EventId: 0,
RecordKey: String,
Verb: String,
WhoLabel: String,
Detail: String,
WhenLabel: String,
EventRef: String,
ActorKind: String,
AuthContext: String,
Ip: String,
Device: String,
RelKind: String,
RelKey: String,
WhenFull: String,
AgeDays: 0,
RecordName: String,
SeriesName: String
}
],
Total: 0
}