[Yandex Cloud documentation](../../../../../index.md) > [Yandex Audit Trails](../../../../index.md) > Audit log reference > mdb.kafka > CreateTopic

# Managed Service for Apache Kafka® Audit Trails Events: CreateTopic

## Event JSON schema {#yandex.cloud.audit.mdb.kafka.CreateTopic2-schema}

```json
{
  "eventId": "string",
  "eventSource": "string",
  "eventType": "string",
  "eventTime": "string",
  "authentication": {
    "authenticated": "boolean",
    // Includes only one of the fields `subjectType`
    "subjectType": "string",
    // end of the list of possible fields
    // Includes only one of the fields `subjectId`
    "subjectId": "string",
    // end of the list of possible fields
    // Includes only one of the fields `subjectName`
    "subjectName": "string",
    // end of the list of possible fields
    // Includes only one of the fields `federationId`
    "federationId": "string",
    // end of the list of possible fields
    // Includes only one of the fields `federationName`
    "federationName": "string",
    // end of the list of possible fields
    // Includes only one of the fields `federationType`
    "federationType": "string",
    // end of the list of possible fields
    "tokenInfo": {
      "maskedIamToken": "string",
      // Includes only one of the fields `iamTokenId`
      "iamTokenId": "string",
      // end of the list of possible fields
      // Includes only one of the fields `impersonatorId`
      "impersonatorId": "string",
      // end of the list of possible fields
      // Includes only one of the fields `impersonatorType`
      "impersonatorType": "string",
      // end of the list of possible fields
      // Includes only one of the fields `impersonatorName`
      "impersonatorName": "string",
      // end of the list of possible fields
      // Includes only one of the fields `impersonatorFederationId`
      "impersonatorFederationId": "string",
      // end of the list of possible fields
      // Includes only one of the fields `impersonatorFederationName`
      "impersonatorFederationName": "string",
      // end of the list of possible fields
      // Includes only one of the fields `impersonatorFederationType`
      "impersonatorFederationType": "string"
      // end of the list of possible fields
    }
  },
  "authorization": {
    "authorized": "boolean"
  },
  "resourceMetadata": {
    "path": [
      {
        "resourceType": "string",
        "resourceId": "string",
        // Includes only one of the fields `resourceName`
        "resourceName": "string"
        // end of the list of possible fields
      }
    ]
  },
  "requestMetadata": {
    "remoteAddress": "string",
    "userAgent": "string",
    "requestId": "string",
    // Includes only one of the fields `remotePort`
    "remotePort": "string"
    // end of the list of possible fields
  },
  "eventStatus": "string",
  "error": {
    "code": "integer",
    "message": "string",
    "details": [
      "object"
    ]
  },
  "details": {
    "clusterId": "string",
    "topicName": "string",
    "clusterName": "string",
    "topic": {
      "name": "string",
      "clusterId": "string",
      "partitions": "string",
      "replicationFactor": "string",
      // Includes only one of the fields `topicConfig_2_8`, `topicConfig_3`, `topicConfig_4`
      "topicConfig_2_8": {
        "cleanupPolicy": "string",
        "compressionType": "string",
        "deleteRetentionMs": "string",
        "fileDeleteDelayMs": "string",
        "flushMessages": "string",
        "flushMs": "string",
        "minCompactionLagMs": "string",
        "retentionBytes": "string",
        "retentionMs": "string",
        "maxMessageBytes": "string",
        "minInsyncReplicas": "string",
        "segmentBytes": "string",
        "preallocate": "boolean",
        "messageTimestampType": "string"
      },
      "topicConfig_3": {
        "cleanupPolicy": "string",
        "compressionType": "string",
        "deleteRetentionMs": "string",
        "fileDeleteDelayMs": "string",
        "flushMessages": "string",
        "flushMs": "string",
        "minCompactionLagMs": "string",
        "retentionBytes": "string",
        "retentionMs": "string",
        "maxMessageBytes": "string",
        "minInsyncReplicas": "string",
        "segmentBytes": "string",
        "preallocate": "boolean",
        "messageTimestampType": "string"
      },
      "topicConfig_4": {
        "cleanupPolicy": "string",
        "compressionType": "string",
        "deleteRetentionMs": "string",
        "fileDeleteDelayMs": "string",
        "flushMessages": "string",
        "flushMs": "string",
        "minCompactionLagMs": "string",
        "retentionBytes": "string",
        "retentionMs": "string",
        "maxMessageBytes": "string",
        "minInsyncReplicas": "string",
        "segmentBytes": "string",
        "preallocate": "boolean",
        "messageTimestampType": "string"
      }
      // end of the list of possible fields
    }
  },
  "requestParameters": "object",
  "response": "object"
}
```

## Field description {#yandex.cloud.audit.mdb.kafka.CreateTopic2}

#|
||Field | Description ||
|| eventId | **string** ||
|| eventSource | **string** ||
|| eventType | **string** ||
|| eventTime | **string** (date-time)

String in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. The range of possible values is from
`0001-01-01T00:00:00Z` to `9999-12-31T23:59:59.999999999Z`, i.e. from 0 to 9 digits for fractions of a second.

To work with values in this field, use the APIs described in the
[Protocol Buffers reference](https://developers.google.com/protocol-buffers/docs/reference/overview).
In some languages, built-in datetime utilities do not support nanosecond precision (9 digits). ||
|| authentication | **[IamAuthentication](#yandex.cloud.audit.IamAuthentication)** ||
|| authorization | **[Authorization](#yandex.cloud.audit.Authorization)** ||
|| resourceMetadata | **[ResourceMetadata](#yandex.cloud.audit.ResourceMetadata)** ||
|| requestMetadata | **[RequestMetadata](#yandex.cloud.audit.RequestMetadata)** ||
|| eventStatus | **enum** (EventStatus)

- `STARTED`
- `ERROR`
- `DONE`
- `CANCELLED`
- `RUNNING` ||
|| error | **[Status](#google.rpc.Status)**

The error result of the operation in case of failure or cancellation. ||
|| details | **[TopicEventDetails](#yandex.cloud.audit.mdb.kafka.TopicEventDetails)** ||
|| requestParameters | **object** ||
|| response | **object** ||
|#

## IamAuthentication {#yandex.cloud.audit.IamAuthentication}

#|
||Field | Description ||
|| authenticated | **boolean** ||
|| subjectType | **enum** (IamSubjectType)

Includes only one of the fields `subjectType`.

- `YANDEX_PASSPORT_USER_ACCOUNT`
- `SERVICE_ACCOUNT`
- `FEDERATED_USER_ACCOUNT`
- `SSH_USER`
- `KUBERNETES_USER` ||
|| subjectId | **string**

Includes only one of the fields `subjectId`. ||
|| subjectName | **string**

Includes only one of the fields `subjectName`. ||
|| federationId | **string**

Includes only one of the fields `federationId`. ||
|| federationName | **string**

Includes only one of the fields `federationName`. ||
|| federationType | **enum** (FederationType)

Includes only one of the fields `federationType`.

- `GLOBAL_FEDERATION`
- `PRIVATE_FEDERATION` ||
|| tokenInfo | **[IamTokenInfo](#yandex.cloud.audit.IamAuthentication.IamTokenInfo)** ||
|#

## IamTokenInfo {#yandex.cloud.audit.IamAuthentication.IamTokenInfo}

#|
||Field | Description ||
|| maskedIamToken | **string** ||
|| iamTokenId | **string**

Includes only one of the fields `iamTokenId`. ||
|| impersonatorId | **string**

Includes only one of the fields `impersonatorId`. ||
|| impersonatorType | **enum** (IamSubjectType)

Includes only one of the fields `impersonatorType`.

- `YANDEX_PASSPORT_USER_ACCOUNT`
- `SERVICE_ACCOUNT`
- `FEDERATED_USER_ACCOUNT`
- `SSH_USER`
- `KUBERNETES_USER` ||
|| impersonatorName | **string**

Includes only one of the fields `impersonatorName`. ||
|| impersonatorFederationId | **string**

Includes only one of the fields `impersonatorFederationId`. ||
|| impersonatorFederationName | **string**

Includes only one of the fields `impersonatorFederationName`. ||
|| impersonatorFederationType | **enum** (FederationType)

Includes only one of the fields `impersonatorFederationType`.

- `GLOBAL_FEDERATION`
- `PRIVATE_FEDERATION` ||
|#

## Authorization {#yandex.cloud.audit.Authorization}

#|
||Field | Description ||
|| authorized | **boolean** ||
|#

## ResourceMetadata {#yandex.cloud.audit.ResourceMetadata}

#|
||Field | Description ||
|| path[] | **[Resource](#yandex.cloud.audit.Resource)** ||
|#

## Resource {#yandex.cloud.audit.Resource}

#|
||Field | Description ||
|| resourceType | **string** ||
|| resourceId | **string** ||
|| resourceName | **string**

Includes only one of the fields `resourceName`. ||
|#

## RequestMetadata {#yandex.cloud.audit.RequestMetadata}

#|
||Field | Description ||
|| remoteAddress | **string** ||
|| userAgent | **string** ||
|| requestId | **string** ||
|| remotePort | **string** (int64)

Includes only one of the fields `remotePort`. ||
|#

## Status {#google.rpc.Status}

The error result of the operation in case of failure or cancellation.

#|
||Field | Description ||
|| code | **integer** (int32)

Error code. An enum value of [google.rpc.Code](https://github.com/googleapis/googleapis/blob/master/google/rpc/code.proto). ||
|| message | **string**

An error message. ||
|| details[] | **object**

A list of messages that carry the error details. ||
|#

## TopicEventDetails {#yandex.cloud.audit.mdb.kafka.TopicEventDetails}

#|
||Field | Description ||
|| clusterId | **string**

The maximum string length in characters is 50. ||
|| topicName | **string**

The maximum string length in characters is 249. ||
|| clusterName | **string**

The maximum string length in characters is 63. ||
|| topic | **[Topic](#yandex.cloud.mdb.kafka.v1.Topic)** ||
|#

## Topic {#yandex.cloud.mdb.kafka.v1.Topic}

#|
||Field | Description ||
|| name | **string** ||
|| clusterId | **string** ||
|| partitions | **string** (int64) ||
|| replicationFactor | **string** (int64) ||
|| topicConfig_2_8 | **[TopicConfig2_8](#yandex.cloud.mdb.kafka.v1.TopicConfig2_8)**

Includes only one of the fields `topicConfig_2_8`, `topicConfig_3`, `topicConfig_4`. ||
|| topicConfig_3 | **[TopicConfig3](#yandex.cloud.mdb.kafka.v1.TopicConfig3)**

Includes only one of the fields `topicConfig_2_8`, `topicConfig_3`, `topicConfig_4`. ||
|| topicConfig_4 | **[TopicConfig4](#yandex.cloud.mdb.kafka.v1.TopicConfig4)**

Includes only one of the fields `topicConfig_2_8`, `topicConfig_3`, `topicConfig_4`. ||
|#

## TopicConfig2_8 {#yandex.cloud.mdb.kafka.v1.TopicConfig2_8}

#|
||Field | Description ||
|| cleanupPolicy | **enum** (CleanupPolicy)

- `CLEANUP_POLICY_DELETE`
- `CLEANUP_POLICY_COMPACT`
- `CLEANUP_POLICY_COMPACT_AND_DELETE` ||
|| compressionType | **enum** (CompressionType)

- `COMPRESSION_TYPE_UNCOMPRESSED`
- `COMPRESSION_TYPE_ZSTD`
- `COMPRESSION_TYPE_LZ4`
- `COMPRESSION_TYPE_SNAPPY`
- `COMPRESSION_TYPE_GZIP`
- `COMPRESSION_TYPE_PRODUCER` ||
|| deleteRetentionMs | **string** (int64) ||
|| fileDeleteDelayMs | **string** (int64) ||
|| flushMessages | **string** (int64) ||
|| flushMs | **string** (int64) ||
|| minCompactionLagMs | **string** (int64) ||
|| retentionBytes | **string** (int64) ||
|| retentionMs | **string** (int64) ||
|| maxMessageBytes | **string** (int64) ||
|| minInsyncReplicas | **string** (int64) ||
|| segmentBytes | **string** (int64) ||
|| preallocate | **boolean** ||
|| messageTimestampType | **enum** (MessageTimestampType)

- `MESSAGE_TIMESTAMP_TYPE_CREATE_TIME`
- `MESSAGE_TIMESTAMP_TYPE_LOG_APPEND_TIME` ||
|#

## TopicConfig3 {#yandex.cloud.mdb.kafka.v1.TopicConfig3}

#|
||Field | Description ||
|| cleanupPolicy | **enum** (CleanupPolicy)

- `CLEANUP_POLICY_DELETE`
- `CLEANUP_POLICY_COMPACT`
- `CLEANUP_POLICY_COMPACT_AND_DELETE` ||
|| compressionType | **enum** (CompressionType)

- `COMPRESSION_TYPE_UNCOMPRESSED`
- `COMPRESSION_TYPE_ZSTD`
- `COMPRESSION_TYPE_LZ4`
- `COMPRESSION_TYPE_SNAPPY`
- `COMPRESSION_TYPE_GZIP`
- `COMPRESSION_TYPE_PRODUCER` ||
|| deleteRetentionMs | **string** (int64) ||
|| fileDeleteDelayMs | **string** (int64) ||
|| flushMessages | **string** (int64) ||
|| flushMs | **string** (int64) ||
|| minCompactionLagMs | **string** (int64) ||
|| retentionBytes | **string** (int64) ||
|| retentionMs | **string** (int64) ||
|| maxMessageBytes | **string** (int64) ||
|| minInsyncReplicas | **string** (int64) ||
|| segmentBytes | **string** (int64) ||
|| preallocate | **boolean** ||
|| messageTimestampType | **enum** (MessageTimestampType)

- `MESSAGE_TIMESTAMP_TYPE_CREATE_TIME`
- `MESSAGE_TIMESTAMP_TYPE_LOG_APPEND_TIME` ||
|#

## TopicConfig4 {#yandex.cloud.mdb.kafka.v1.TopicConfig4}

#|
||Field | Description ||
|| cleanupPolicy | **enum** (CleanupPolicy)

- `CLEANUP_POLICY_DELETE`
- `CLEANUP_POLICY_COMPACT`
- `CLEANUP_POLICY_COMPACT_AND_DELETE` ||
|| compressionType | **enum** (CompressionType)

- `COMPRESSION_TYPE_UNCOMPRESSED`
- `COMPRESSION_TYPE_ZSTD`
- `COMPRESSION_TYPE_LZ4`
- `COMPRESSION_TYPE_SNAPPY`
- `COMPRESSION_TYPE_GZIP`
- `COMPRESSION_TYPE_PRODUCER` ||
|| deleteRetentionMs | **string** (int64) ||
|| fileDeleteDelayMs | **string** (int64) ||
|| flushMessages | **string** (int64) ||
|| flushMs | **string** (int64) ||
|| minCompactionLagMs | **string** (int64) ||
|| retentionBytes | **string** (int64) ||
|| retentionMs | **string** (int64) ||
|| maxMessageBytes | **string** (int64) ||
|| minInsyncReplicas | **string** (int64) ||
|| segmentBytes | **string** (int64) ||
|| preallocate | **boolean** ||
|| messageTimestampType | **enum** (MessageTimestampType)

- `MESSAGE_TIMESTAMP_TYPE_CREATE_TIME`
- `MESSAGE_TIMESTAMP_TYPE_LOG_APPEND_TIME` ||
|#