# Models

## The Info object

```json
{"openapi":"3.0.3","info":{"title":"Activity Log Service API","version":"v1"},"components":{"schemas":{"Info":{"description":"The info model.","type":"object","properties":{"href":{"type":"string","format":"uri","description":"API entry point","readOnly":true},"name":{"type":"string","description":"Name of the API","readOnly":true},"version":{"type":"string","description":"Version of the API","readOnly":true}}}}}}
```

## The ReferenceById object

```json
{"openapi":"3.0.3","info":{"title":"Activity Log Service API","version":"v1"},"components":{"schemas":{"ReferenceById":{"description":"Describes a reference to a specific activity log source.","type":"object","properties":{"id":{"type":"integer","format":"int64","description":"The Contract ID"},"type":{"type":"string","description":"A string indicating the type"},"href":{"type":"string","format":"uri","description":"A URL reference"}}}}}}
```

## The GetByContractResponse object

```json
{"openapi":"3.0.3","info":{"title":"Activity Log Service API","version":"v1"},"components":{"schemas":{"GetByContractResponse":{"description":"Activity log data related to the specific contractId","type":"object","properties":{"hits":{"type":"object","description":"The container for the found activity event data.","properties":{"total":{"type":"integer","description":"A count of total number of available activity events."},"hits":{"type":"array","items":{"type":"object","properties":{"_source":{"type":"object","description":"The payload of a single activity event.","properties":{"principal":{"type":"object","description":"The person or process which triggered the event.","properties":{"sourceIP":{"type":"string","description":"The remote IP address which triggered the activity."},"identity":{"type":"object","description":"The identity of the user who triggered the activity.","properties":{"contractNumber":{"type":"string","description":"The customer contract number."},"username":{"type":"string","description":"The user name."}}},"sourceService":{"type":"string","description":"The principal triggered the activity using this IONOS service.\n\nExample values are \n* `PUBLIC_REST_V6` for the CloudAPI V6,\n* `Reseller_V1` for the Reseller API V1 or\n* `DCD` for the Data Center Designer.\n"},"serviceHost":{"type":"string","description":"The FQDN of the hostname on which the service runs.\n"}}},"meta":{"type":"object","description":"Meta information about the activity event.","properties":{"auditVersion":{"type":"string","description":"The values returned is currently \"0.1\"."},"requestId":{"type":"string","description":"Identifier of the individual request which triggered the activity."},"queueRefId":{"type":"integer","description":"Identifier of the provisioning queue reference. Use this value to group different events that were part of the same provisioning request."},"time":{"type":"string","description":"Combined date and time of the activity event in UTC."},"transactionId":{"type":"string","description":"Identifier of the transaction which triggered the activity."}}},"event":{"type":"object","description":"Details specific to the activity event.","properties":{"param":{"type":"object","description":"Additional parameters for the given `type` of activity event.","properties":{"action":{"type":"string","description":"HTTP protocol method used to trigger the activity.","enum":["GET","POST","PATCH","PUT","DELETE"]},"error":{"type":"object","description":"Details of the error response returned for a given activity.","properties":{"httpStatus":{"type":"string","description":"HTTP error code for the given activity."},"messages":{"type":"array","description":"An array of error messages corresponding to the given activity.","items":{"type":"object","properties":{"errorCode":{"type":"string","description":"Internal error code generated by the given activity."},"message":{"type":"string","description":"Details of the specific error generated by the given activity."}}}}}},"uri":{"type":"string","description":"HTTP URI for the given activity request."},"initiator":{"type":"string","description":"Component which initiated the activity. Usually equivalent to sourceService in the **principal** section."},"errorCode":{"type":"string","description":"Internal error code generated by the given activity."},"sourceService":{"type":"string","description":"The IONOS service in which the activity took place.\n\nExample values are\n`PUBLIC_REST` for the CloudAPI or\n`Provisioning` for events happening during the asynchronous\nresource provisioning process.\n"}}},"resources":{"type":"array","description":"An array of resources affected by the given activity.","items":{"type":"object","properties":{"action":{"type":"array","description":"An array of items containing a string describing the\naction that was performed on the resource. There are\na large number of possible values returned here.\n\nSome example values are \n* in the security domain `sec.user.create` for a user \n  creation, \n* in the IP domain `ip.ipblock.reserve` for reserving an \n  IP block,\n* in the virtual resources domain `vr.firewall.activate` for \n  a firewall activation or\n* in the snapshot domain `sn.snapshot.create` for creating\n  a snapshot.\n","items":{"type":"string"}},"id":{"type":"string","description":"Identifier of the given resource."},"type":{"type":"string","description":"Type of the given resource. Example values are\n\n* `datacenter`,\n* `firewallrule` or\n* `backupUnit`.\n"}}}},"message":{"type":"string","description":"Message explaining the current status of the request."},"status":{"type":"string","description":"The current status of the request.","enum":["DONE","RUNNING","QUEUED","FAILED"]},"type":{"type":"string","description":"Type of the activity event. The exact contents of the `event` object\nwill vary depending on this value.\n\nThere are a large number of possible values, examples are\n* `Error` for a request that couldn't be completed,\n* `RequestAccepted` for an incoming request (e.g. via HTTP),\n* `RequestStatusUpdate` for a later update about a request which was\n  logged earlier,\n* `Provision` for resource provisionings running in the background or \n* `DCDUserEvent` for events about a DCD user.\n"}}}}}}}}}}}}}}}
```
