> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://fern-docs.skyflow.dev/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://fern-docs.skyflow.dev/_mcp/server.

# List Audit Events

GET https://%7B%7Bvault_url_identifier%7D%7D.vault.skyflowapis.com/v1/audit/events

Lists audit events that match query parameters.

Reference: https://fern-docs.skyflow.dev/api/data/audit/list-audit-events

## Authentication

- `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer <token>`, where token is your auth token.

## Servers

- `https://%7B%7Bvault_url_identifier%7D%7D.vault.skyflowapis.com` (Production, default)
- `https://%7B%7Bvault_url_identifier%7D%7D.vault.skyflowapis-preview.com` (Sandbox)

## Request

### Query parameters

- `filterOps.context.changeID` (string, optional) — ID for the audit event.
- `filterOps.context.requestID` (string, optional) — ID for the request that caused the event.
- `filterOps.context.traceID` (string, optional) — ID for the request set by the service that received the request.
- `filterOps.context.sessionID` (string, optional) — ID for the session in which the request was sent.
- `filterOps.context.actor` (string, optional) — Member who sent the request. Depending on `actorType`, this may be a user ID or a service account ID.
- `filterOps.context.actorType` (enum, optional) — Type of member who sent the request.
  - Allowed values: `SERVICE_ACCOUNT`, `USER`
- `filterOps.context.accessType` (enum, optional) — Type of access for the request.
  - Allowed values: `API`, `OKTA_LOGIN`
- `filterOps.context.ipAddress` (string, optional) — IP Address of the client that made the request.
- `filterOps.context.origin` (string, optional) — HTTP Origin request header (including scheme, hostname, and port) of the request.
- `filterOps.context.authMode` (enum, optional) — Authentication mode the `actor` used.
  - Allowed values: `OKTA_JWT`, `PAT_JWT`, `SERVICE_ACCOUNT_JWT`
- `filterOps.context.jwtID` (string, optional) — ID of the JWT token.
- `filterOps.context.bearerTokenContextID` (string, optional) — Embedded User Context.
- `filterOps.parentAccountID` (string, optional) — Resources with the specified parent account ID.
- `filterOps.accountID` (string, required) — Resources with the specified account ID.
- `filterOps.workspaceID` (string, optional) — Resources with the specified workspace ID.
- `filterOps.vaultID` (string, optional) — Resources with the specified vault ID.
- `filterOps.resourceIDs` (string, optional) — Resources with a specified ID. If a resource matches at least one ID, the associated event is returned. Format is a comma-separated list of "\<resourceType>/\<resourceID>". For example, "VAULT/12345, USER/67890".
- `filterOps.actionType` (enum, optional) — Events with the specified action type.
  - Allowed values: `ASSIGN`, `CREATE`, `DELETE`, `EXECUTE`, `GETCLOUDPROVIDER`, `GETIMPORTPARAMETERS`, `IMPORT`, `LIST`, `LOGIN`, `PING`, `READ`, `ROTATE`, `SCHEDULEROTATION`, `SCHEDULEROTATIONALERT`, `UNASSIGN`, `UPDATE`, `VALIDATE`
- `filterOps.resourceType` (enum, optional) — Resources with the specified type.
  - Allowed values: `ACCOUNT`, `AUDIT`, `BASE_DATA_TYPE`, `COLUMN_NAME`, `CONNECTION`, `FIELD_TEMPLATE`, `FILE`, `JOB`, `KEY`, `MEMBER`, `MIGRATION`, `NETWORK_TOKEN`, `POLICY`, `POLICY_TEMPLATE`, `PROTO_PARSE`, `RECORD`, `ROLE`, `RULE`, `SCHEDULED_JOB`, `SECRET`, `SERVICE_ACCOUNT`, `SUBSCRIPTION`, `TABLE`, `TAG`, `TOKEN`, `USER`, `VAULT`, `VAULT_TEMPLATE`, `WORKSPACE`
- `filterOps.tags` (string, optional) — Events with associated tags. If an event matches at least one tag, the event is returned. Comma-separated list. For example, "login, get".
- `filterOps.responseCode` (integer, optional) — HTTP response code of the request.
- `filterOps.startTime` (string, optional) — Start timestamp for the query, in SQL format.
- `filterOps.endTime` (string, optional) — End timestamp for the query, in SQL format.
- `filterOps.apiName` (string, optional) — Name of the API called in the request.
- `filterOps.responseMessage` (string, optional) — Response message of the request.
- `filterOps.httpMethod` (string, optional) — HTTP method of the request.
- `filterOps.httpURI` (string, optional) — HTTP URI of the request.
- `sortOps.sortBy` (string, optional) — Fully-qualified field by which to sort results. Field names should be in camel case (for example, "capitalization.camelCase").
- `sortOps.orderBy` (enum, optional, default: ASCENDING) — Ascending or descending ordering of results.
  - Allowed values: `ASCENDING`, `DESCENDING`
- `afterOps.timestamp` (string, optional) — Timestamp provided in the previous audit response's `nextOps` attribute. An alternate way to manage response pagination. Can't be used with `sortOps` or `offset`. For the first request in a series of audit requests, leave blank.
- `afterOps.changeID` (string, optional) — Change ID provided in the previous audit response's `nextOps` attribute. An alternate way to manage response pagination. Can't be used with `sortOps` or `offset`. For the first request in a series of audit requests, leave blank.
- `limit` (long, optional, default: 25) — Number of results to return.
- `offset` (long, optional, default: 0) — Record position at which to start returning results.

## Response

### 200

A successful response.

- `event` (list of audit_response_event, optional) — Events matching the query.
- `nextOps` (audit_after_options, optional)

## Errors

### 400 Bad Request Error

Returned when the request doesn't match the schema, such as not including required fields.

- `error` (ErrorResponseError, required)

### 401 Unauthorized Error

Returned when the request doesn't match the schema, such as not including required fields.

- `string`

### 404 Not Found Error

Returned when the resource doesn't exist.

- `error` (ErrorResponseError, required)

### 500 Internal Server Error

An unexpected error response.

- `error` (ErrorResponseError, required)

## Types

### audit_response_event

Audit event details.

- `context` (audit_event_context, optional) — Context for an audit event.
- `request` (audit_event_request, optional) — Contains fields for defining Request Properties.
- `response` (audit_event_response, optional) — Contains fields for defining Response Properties.
- `parentAccountID` (string, optional) — Parent account ID of the account that made the request, if any.
- `accountID` (string, optional) — ID of the account that made the request.
- `resourceIDs` (list of string, optional) — IDs for resources involved in the event. Presented in `{resourceType}/{resourceID}` format. For example, `VAULT/cd1d815aa09b4cbfbb803bd20349f202`.

### audit_after_options

- `timestamp` (string, optional) — Timestamp provided in the previous audit response's `nextOps` attribute. An alternate way to manage response pagination. Can't be used with `sortOps` or `offset`. For the first request in a series of audit requests, leave blank.
- `changeID` (string, optional) — Change ID provided in the previous audit response's `nextOps` attribute. An alternate way to manage response pagination. Can't be used with `sortOps` or `offset`. For the first request in a series of audit requests, leave blank.

### ErrorResponseError

- `grpc_code` (integer, required) — gRPC status codes. See https://grpc.io/docs/guides/status-codes.
- `http_code` (integer, required) — HTTP status codes. See https://developer.mozilla.org/en-US/docs/Web/HTTP/Status.
- `http_status` (string, required) — HTTP status message.
- `message` (string, required)
- `details` (list of map from string to any, optional)

### audit_event_context

Context for an audit event.

- `changeID` (string, optional) — ID for the audit event.
- `requestID` (string, optional) — ID for the request that caused the event.
- `traceID` (string, optional) — ID for the request set by the service that received the request.
- `sessionID` (string, optional) — ID for the session in which the request was sent.
- `actor` (string, optional) — Member who sent the request. Depending on `actorType`, this may be a user ID or a service account ID.
- `actorType` (enum, optional) — Type of the member.
  - Allowed values: `SERVICE_ACCOUNT`, `USER`
- `accessType` (enum, optional, default: ACCESS_NONE) — Type of access for the request.
  - Allowed values: `ACCESS_NONE`, `API`, `SQL`
- `ipAddress` (string, optional) — IP Address of the client that made the request.
- `origin` (string, optional) — HTTP Origin request header (including scheme, hostname, and port) of the request.
- `authMode` (enum, optional) — Authentication mode the `actor` used.
  - Allowed values: `OKTA_JWT`, `PAT_JWT`, `SERVICE_ACCOUNT_JWT`
- `jwtID` (string, optional) — ID of the JWT token.
- `bearerTokenContextID` (string, optional) — Embedded User Context.
- `keyID` (string, optional) — ID of the service account that made the request.

### audit_event_request

Contains fields for defining Request Properties.

- `data` (audit_event_data, optional, nullable) — Any Sensitive data that needs to be wrapped.
- `apiName` (string, optional) — API name.
- `workspaceID` (string, optional) — The workspaceID (if any) of the request.
- `vaultID` (string, optional) — The vaultID (if any) of the request.
- `tags` (list of string, optional) — Tags associated with the event. To provide better search capabilities. Like login.
- `timestamp` (string, optional) — time when this request is generated, use extention method to set it.
- `actionType` (enum, optional)
  - Allowed values: `ASSIGN`, `CREATE`, `DELETE`, `EXECUTE`, `GETCLOUDPROVIDER`, `GETIMPORTPARAMETERS`, `IMPORT`, `LIST`, `LOGIN`, `PING`, `READ`, `ROTATE`, `SCHEDULEROTATION`, `SCHEDULEROTATIONALERT`, `UNASSIGN`, `UPDATE`, `VALIDATE`
- `resourceType` (enum, optional) — Type of the resource.
  - Allowed values: `ACCOUNT`, `AUDIT`, `BASE_DATA_TYPE`, `COLUMN_NAME`, `CONNECTION`, `FIELD_TEMPLATE`, `FILE`, `JOB`, `KEY`, `MEMBER`, `MIGRATION`, `NETWORK_TOKEN`, `POLICY`, `POLICY_TEMPLATE`, `PROTO_PARSE`, `RECORD`, `ROLE`, `RULE`, `SCHEDULED_JOB`, `SECRET`, `SERVICE_ACCOUNT`, `SUBSCRIPTION`, `TABLE`, `TAG`, `TOKEN`, `USER`, `VAULT`, `VAULT_TEMPLATE`, `WORKSPACE`
- `httpInfo` (audit_event_http_info, optional)

### audit_event_response

Contains fields for defining Response Properties.

- `code` (integer, optional) — The status of the overall operation.
- `message` (string, optional) — The status message for the overall operation.
- `data` (audit_event_data, optional, nullable) — Any Sensitive data that needs to be wrapped.
- `timestamp` (string, optional) — time when this response is generated, use extention method to set it.

### audit_event_data

Any Sensitive data that needs to be wrapped.

- `content` (string, optional) — The entire body of the data requested or the query fired.

### audit_event_http_info

- `URI` (string, optional) — The http URI that is used.
- `method` (string, optional) — http method used.

## Examples

**Response**

```json
{
  "event": [
    {
      "context": {
        "changeID": "a13de9af-3331-4bee-b45c-95031d4c5b5d",
        "requestID": "5a682b12-1a44-922b-a487-ab108f018cc4",
        "traceID": "9f1707bd-3da0-4946-bf7a-ca99e7e12e5b",
        "sessionID": "cb598f8c-786e-48da-898d-830ec92417b7",
        "actor": "web31628f5a74bf7994459921c67eef8",
        "actorType": "USER",
        "accessType": "API",
        "ipAddress": "27.116.16.50",
        "origin": "https://acme.skyflow.com",
        "authMode": "PAT_JWT",
        "jwtID": "o82d1d5bcbf148eb890a937593321ff8",
        "bearerTokenContextID": "bcf4b254-a415-4b3f-a8b9-0a1f02e52e18",
        "keyID": "y72c0826fb1146b3bb8a0d48ab4d0653"
      },
      "request": {
        "data": {
          "content": "select * from persons where skyflow_id=\"5b6c8110-58b3-4aa0-8b36-d2cfd5c7b259\""
        },
        "apiName": "/.QueryService/ExecuteQuery",
        "workspaceID": "e01054d5ff3411eab9f2360c405de1ab",
        "vaultID": "cd1d815aa09b4cbfbb803bd20349f202",
        "tags": [
          "dml"
        ],
        "timestamp": "2023-06-27 14:01:14.264739714",
        "actionType": "READ",
        "resourceType": "RECORD",
        "httpInfo": {
          "URI": "//vaults/cd1d815aa09b4cbfbb803bd20349f202/query",
          "method": "POST"
        }
      },
      "response": {
        "code": 200,
        "message": "success",
        "timestamp": "2023-06-27 14:01:14.271659365"
      },
      "parentAccountID": "b894gg34fbn866eabd6c2ce1457r4b45",
      "accountID": "f244fg04bgh876qemk6c3a32256e2k90",
      "resourceIDs": [
        "ACCOUNT/f244fg04bgh876qemk6c3a32256e2k90",
        "TABLE/persons",
        "VAULT/cd1d815aa09b4cbfbb803bd20349f202"
      ]
    }
  ],
  "nextOps": {
    "timestamp": "2023-06-27 14:01:14.264739714",
    "changeID": "a13de9af-3331-4bee-b45c-95031d4c5b5d"
  }
}
```

**SDK Code**

```python
import requests

url = "https://{{vault_url_identifier}}.vault.skyflowapis.com/v1/audit/events"

querystring = {"filterOps.context.changeID":"d4410ea0-1d83-473c-a09a-24c6b03096d4","filterOps.context.requestID":"d4410ea0-1d83-473c-a09a-24c6b03096d4","filterOps.context.sessionID":"d4410ea0-1d83-473c-a09a-24c6b03096d4","filterOps.context.actor":"a451b783713e4424a7c761bb7bbc84ea","filterOps.context.actorType":"SERVICE_ACCOUNT","filterOps.context.accessType":"API","filterOps.context.ipAddress":"74.160.148.217","filterOps.context.origin":"https://try.skyflow.com","filterOps.context.authMode":"SERVICE_ACCOUNT_JWT","filterOps.context.jwtID":"a451b783713e4424a7c761bb7bbc84ea","filterOps.context.bearerTokenContextID":"a451b783713e4424a7c761bb7bbc84ea","filterOps.parentAccountID":"a451b783713e4424a7c761bb7bbc84ea","filterOps.accountID":"a451b783713e4424a7c761bb7bbc84ea","filterOps.workspaceID":"a451b783713e4424a7c761bb7bbc84ea","filterOps.vaultID":"a451b783713e4424a7c761bb7bbc84ea","filterOps.resourceIDs":"VAULT/12345, USER/67890","filterOps.actionType":"CREATE","filterOps.resourceType":"VAULT","filterOps.tags":"login, get","filterOps.responseCode":"201","filterOps.startTime":"2023-06-27 14:01:14.271659365","filterOps.endTime":"2023-06-27 14:01:14.271659365","filterOps.apiName":"Create Vault","filterOps.responseMessage":"Vault created successfully","filterOps.httpMethod":"POST","filterOps.httpURI":"/v1/vaults","sortOps.sortBy":"persons.name","sortOps.orderBy":"DESCENDING","afterOps.timestamp":"2023-06-27 14:01:14.271659365","afterOps.changeID":"d4410ea0-1d83-473c-a09a-24c6b03096d4","limit":"25","offset":"26"}

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers, params=querystring)

print(response.json())
```

```javascript
const url = 'https://{{vault_url_identifier}}.vault.skyflowapis.com/v1/audit/events?filterOps.context.changeID=d4410ea0-1d83-473c-a09a-24c6b03096d4&filterOps.context.requestID=d4410ea0-1d83-473c-a09a-24c6b03096d4&filterOps.context.sessionID=d4410ea0-1d83-473c-a09a-24c6b03096d4&filterOps.context.actor=a451b783713e4424a7c761bb7bbc84ea&filterOps.context.actorType=SERVICE_ACCOUNT&filterOps.context.accessType=API&filterOps.context.ipAddress=74.160.148.217&filterOps.context.origin=https%3A%2F%2Ftry.skyflow.com&filterOps.context.authMode=SERVICE_ACCOUNT_JWT&filterOps.context.jwtID=a451b783713e4424a7c761bb7bbc84ea&filterOps.context.bearerTokenContextID=a451b783713e4424a7c761bb7bbc84ea&filterOps.parentAccountID=a451b783713e4424a7c761bb7bbc84ea&filterOps.accountID=a451b783713e4424a7c761bb7bbc84ea&filterOps.workspaceID=a451b783713e4424a7c761bb7bbc84ea&filterOps.vaultID=a451b783713e4424a7c761bb7bbc84ea&filterOps.resourceIDs=VAULT%2F12345%2C+USER%2F67890&filterOps.actionType=CREATE&filterOps.resourceType=VAULT&filterOps.tags=login%2C+get&filterOps.responseCode=201&filterOps.startTime=2023-06-27+14%3A01%3A14.271659365&filterOps.endTime=2023-06-27+14%3A01%3A14.271659365&filterOps.apiName=Create+Vault&filterOps.responseMessage=Vault+created+successfully&filterOps.httpMethod=POST&filterOps.httpURI=%2Fv1%2Fvaults&sortOps.sortBy=persons.name&sortOps.orderBy=DESCENDING&afterOps.timestamp=2023-06-27+14%3A01%3A14.271659365&afterOps.changeID=d4410ea0-1d83-473c-a09a-24c6b03096d4&limit=25&offset=26';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://{{vault_url_identifier}}.vault.skyflowapis.com/v1/audit/events?filterOps.context.changeID=d4410ea0-1d83-473c-a09a-24c6b03096d4&filterOps.context.requestID=d4410ea0-1d83-473c-a09a-24c6b03096d4&filterOps.context.sessionID=d4410ea0-1d83-473c-a09a-24c6b03096d4&filterOps.context.actor=a451b783713e4424a7c761bb7bbc84ea&filterOps.context.actorType=SERVICE_ACCOUNT&filterOps.context.accessType=API&filterOps.context.ipAddress=74.160.148.217&filterOps.context.origin=https%3A%2F%2Ftry.skyflow.com&filterOps.context.authMode=SERVICE_ACCOUNT_JWT&filterOps.context.jwtID=a451b783713e4424a7c761bb7bbc84ea&filterOps.context.bearerTokenContextID=a451b783713e4424a7c761bb7bbc84ea&filterOps.parentAccountID=a451b783713e4424a7c761bb7bbc84ea&filterOps.accountID=a451b783713e4424a7c761bb7bbc84ea&filterOps.workspaceID=a451b783713e4424a7c761bb7bbc84ea&filterOps.vaultID=a451b783713e4424a7c761bb7bbc84ea&filterOps.resourceIDs=VAULT%2F12345%2C+USER%2F67890&filterOps.actionType=CREATE&filterOps.resourceType=VAULT&filterOps.tags=login%2C+get&filterOps.responseCode=201&filterOps.startTime=2023-06-27+14%3A01%3A14.271659365&filterOps.endTime=2023-06-27+14%3A01%3A14.271659365&filterOps.apiName=Create+Vault&filterOps.responseMessage=Vault+created+successfully&filterOps.httpMethod=POST&filterOps.httpURI=%2Fv1%2Fvaults&sortOps.sortBy=persons.name&sortOps.orderBy=DESCENDING&afterOps.timestamp=2023-06-27+14%3A01%3A14.271659365&afterOps.changeID=d4410ea0-1d83-473c-a09a-24c6b03096d4&limit=25&offset=26"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://{{vault_url_identifier}}.vault.skyflowapis.com/v1/audit/events?filterOps.context.changeID=d4410ea0-1d83-473c-a09a-24c6b03096d4&filterOps.context.requestID=d4410ea0-1d83-473c-a09a-24c6b03096d4&filterOps.context.sessionID=d4410ea0-1d83-473c-a09a-24c6b03096d4&filterOps.context.actor=a451b783713e4424a7c761bb7bbc84ea&filterOps.context.actorType=SERVICE_ACCOUNT&filterOps.context.accessType=API&filterOps.context.ipAddress=74.160.148.217&filterOps.context.origin=https%3A%2F%2Ftry.skyflow.com&filterOps.context.authMode=SERVICE_ACCOUNT_JWT&filterOps.context.jwtID=a451b783713e4424a7c761bb7bbc84ea&filterOps.context.bearerTokenContextID=a451b783713e4424a7c761bb7bbc84ea&filterOps.parentAccountID=a451b783713e4424a7c761bb7bbc84ea&filterOps.accountID=a451b783713e4424a7c761bb7bbc84ea&filterOps.workspaceID=a451b783713e4424a7c761bb7bbc84ea&filterOps.vaultID=a451b783713e4424a7c761bb7bbc84ea&filterOps.resourceIDs=VAULT%2F12345%2C+USER%2F67890&filterOps.actionType=CREATE&filterOps.resourceType=VAULT&filterOps.tags=login%2C+get&filterOps.responseCode=201&filterOps.startTime=2023-06-27+14%3A01%3A14.271659365&filterOps.endTime=2023-06-27+14%3A01%3A14.271659365&filterOps.apiName=Create+Vault&filterOps.responseMessage=Vault+created+successfully&filterOps.httpMethod=POST&filterOps.httpURI=%2Fv1%2Fvaults&sortOps.sortBy=persons.name&sortOps.orderBy=DESCENDING&afterOps.timestamp=2023-06-27+14%3A01%3A14.271659365&afterOps.changeID=d4410ea0-1d83-473c-a09a-24c6b03096d4&limit=25&offset=26")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://{{vault_url_identifier}}.vault.skyflowapis.com/v1/audit/events?filterOps.context.changeID=d4410ea0-1d83-473c-a09a-24c6b03096d4&filterOps.context.requestID=d4410ea0-1d83-473c-a09a-24c6b03096d4&filterOps.context.sessionID=d4410ea0-1d83-473c-a09a-24c6b03096d4&filterOps.context.actor=a451b783713e4424a7c761bb7bbc84ea&filterOps.context.actorType=SERVICE_ACCOUNT&filterOps.context.accessType=API&filterOps.context.ipAddress=74.160.148.217&filterOps.context.origin=https%3A%2F%2Ftry.skyflow.com&filterOps.context.authMode=SERVICE_ACCOUNT_JWT&filterOps.context.jwtID=a451b783713e4424a7c761bb7bbc84ea&filterOps.context.bearerTokenContextID=a451b783713e4424a7c761bb7bbc84ea&filterOps.parentAccountID=a451b783713e4424a7c761bb7bbc84ea&filterOps.accountID=a451b783713e4424a7c761bb7bbc84ea&filterOps.workspaceID=a451b783713e4424a7c761bb7bbc84ea&filterOps.vaultID=a451b783713e4424a7c761bb7bbc84ea&filterOps.resourceIDs=VAULT%2F12345%2C+USER%2F67890&filterOps.actionType=CREATE&filterOps.resourceType=VAULT&filterOps.tags=login%2C+get&filterOps.responseCode=201&filterOps.startTime=2023-06-27+14%3A01%3A14.271659365&filterOps.endTime=2023-06-27+14%3A01%3A14.271659365&filterOps.apiName=Create+Vault&filterOps.responseMessage=Vault+created+successfully&filterOps.httpMethod=POST&filterOps.httpURI=%2Fv1%2Fvaults&sortOps.sortBy=persons.name&sortOps.orderBy=DESCENDING&afterOps.timestamp=2023-06-27+14%3A01%3A14.271659365&afterOps.changeID=d4410ea0-1d83-473c-a09a-24c6b03096d4&limit=25&offset=26")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://{{vault_url_identifier}}.vault.skyflowapis.com/v1/audit/events?filterOps.context.changeID=d4410ea0-1d83-473c-a09a-24c6b03096d4&filterOps.context.requestID=d4410ea0-1d83-473c-a09a-24c6b03096d4&filterOps.context.sessionID=d4410ea0-1d83-473c-a09a-24c6b03096d4&filterOps.context.actor=a451b783713e4424a7c761bb7bbc84ea&filterOps.context.actorType=SERVICE_ACCOUNT&filterOps.context.accessType=API&filterOps.context.ipAddress=74.160.148.217&filterOps.context.origin=https%3A%2F%2Ftry.skyflow.com&filterOps.context.authMode=SERVICE_ACCOUNT_JWT&filterOps.context.jwtID=a451b783713e4424a7c761bb7bbc84ea&filterOps.context.bearerTokenContextID=a451b783713e4424a7c761bb7bbc84ea&filterOps.parentAccountID=a451b783713e4424a7c761bb7bbc84ea&filterOps.accountID=a451b783713e4424a7c761bb7bbc84ea&filterOps.workspaceID=a451b783713e4424a7c761bb7bbc84ea&filterOps.vaultID=a451b783713e4424a7c761bb7bbc84ea&filterOps.resourceIDs=VAULT%2F12345%2C+USER%2F67890&filterOps.actionType=CREATE&filterOps.resourceType=VAULT&filterOps.tags=login%2C+get&filterOps.responseCode=201&filterOps.startTime=2023-06-27+14%3A01%3A14.271659365&filterOps.endTime=2023-06-27+14%3A01%3A14.271659365&filterOps.apiName=Create+Vault&filterOps.responseMessage=Vault+created+successfully&filterOps.httpMethod=POST&filterOps.httpURI=%2Fv1%2Fvaults&sortOps.sortBy=persons.name&sortOps.orderBy=DESCENDING&afterOps.timestamp=2023-06-27+14%3A01%3A14.271659365&afterOps.changeID=d4410ea0-1d83-473c-a09a-24c6b03096d4&limit=25&offset=26', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://{{vault_url_identifier}}.vault.skyflowapis.com/v1/audit/events?filterOps.context.changeID=d4410ea0-1d83-473c-a09a-24c6b03096d4&filterOps.context.requestID=d4410ea0-1d83-473c-a09a-24c6b03096d4&filterOps.context.sessionID=d4410ea0-1d83-473c-a09a-24c6b03096d4&filterOps.context.actor=a451b783713e4424a7c761bb7bbc84ea&filterOps.context.actorType=SERVICE_ACCOUNT&filterOps.context.accessType=API&filterOps.context.ipAddress=74.160.148.217&filterOps.context.origin=https%3A%2F%2Ftry.skyflow.com&filterOps.context.authMode=SERVICE_ACCOUNT_JWT&filterOps.context.jwtID=a451b783713e4424a7c761bb7bbc84ea&filterOps.context.bearerTokenContextID=a451b783713e4424a7c761bb7bbc84ea&filterOps.parentAccountID=a451b783713e4424a7c761bb7bbc84ea&filterOps.accountID=a451b783713e4424a7c761bb7bbc84ea&filterOps.workspaceID=a451b783713e4424a7c761bb7bbc84ea&filterOps.vaultID=a451b783713e4424a7c761bb7bbc84ea&filterOps.resourceIDs=VAULT%2F12345%2C+USER%2F67890&filterOps.actionType=CREATE&filterOps.resourceType=VAULT&filterOps.tags=login%2C+get&filterOps.responseCode=201&filterOps.startTime=2023-06-27+14%3A01%3A14.271659365&filterOps.endTime=2023-06-27+14%3A01%3A14.271659365&filterOps.apiName=Create+Vault&filterOps.responseMessage=Vault+created+successfully&filterOps.httpMethod=POST&filterOps.httpURI=%2Fv1%2Fvaults&sortOps.sortBy=persons.name&sortOps.orderBy=DESCENDING&afterOps.timestamp=2023-06-27+14%3A01%3A14.271659365&afterOps.changeID=d4410ea0-1d83-473c-a09a-24c6b03096d4&limit=25&offset=26");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://{{vault_url_identifier}}.vault.skyflowapis.com/v1/audit/events?filterOps.context.changeID=d4410ea0-1d83-473c-a09a-24c6b03096d4&filterOps.context.requestID=d4410ea0-1d83-473c-a09a-24c6b03096d4&filterOps.context.sessionID=d4410ea0-1d83-473c-a09a-24c6b03096d4&filterOps.context.actor=a451b783713e4424a7c761bb7bbc84ea&filterOps.context.actorType=SERVICE_ACCOUNT&filterOps.context.accessType=API&filterOps.context.ipAddress=74.160.148.217&filterOps.context.origin=https%3A%2F%2Ftry.skyflow.com&filterOps.context.authMode=SERVICE_ACCOUNT_JWT&filterOps.context.jwtID=a451b783713e4424a7c761bb7bbc84ea&filterOps.context.bearerTokenContextID=a451b783713e4424a7c761bb7bbc84ea&filterOps.parentAccountID=a451b783713e4424a7c761bb7bbc84ea&filterOps.accountID=a451b783713e4424a7c761bb7bbc84ea&filterOps.workspaceID=a451b783713e4424a7c761bb7bbc84ea&filterOps.vaultID=a451b783713e4424a7c761bb7bbc84ea&filterOps.resourceIDs=VAULT%2F12345%2C+USER%2F67890&filterOps.actionType=CREATE&filterOps.resourceType=VAULT&filterOps.tags=login%2C+get&filterOps.responseCode=201&filterOps.startTime=2023-06-27+14%3A01%3A14.271659365&filterOps.endTime=2023-06-27+14%3A01%3A14.271659365&filterOps.apiName=Create+Vault&filterOps.responseMessage=Vault+created+successfully&filterOps.httpMethod=POST&filterOps.httpURI=%2Fv1%2Fvaults&sortOps.sortBy=persons.name&sortOps.orderBy=DESCENDING&afterOps.timestamp=2023-06-27+14%3A01%3A14.271659365&afterOps.changeID=d4410ea0-1d83-473c-a09a-24c6b03096d4&limit=25&offset=26")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```