> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cultura.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# ISchemaRegistry

# Solidity API

## SchemaRecord

A struct representing a record for a submitted schema.

```solidity theme={null}
struct SchemaRecord {
  bytes32 uid;
  bool revocable;
  string schema;
}
```

# Contract: ISchemaRegistry

The interface of global attestation schemas for the Ethereum Attestation Service protocol.

## External Functions

### register

```solidity theme={null}
function registerfunction register(string schema, bool revocable) external returns (bytes32)
```

Submits and reserves a new schema

#### Parameters

| Name        | Description                                       |
| ----------- | ------------------------------------------------- |
| `schema`    | The schema data schema.                           |
| `revocable` | Whether the schema allows revocations explicitly. |

#### Return Values

| Description                |
| -------------------------- |
| The UID of the new schema. |

### getSchema

```solidity theme={null}
function getSchemafunction getSchema(bytes32 uid) external view returns (struct SchemaRecord)
```

Returns an existing schema by UID

#### Parameters

| Name  | Description                        |
| ----- | ---------------------------------- |
| `uid` | The UID of the schema to retrieve. |

#### Return Values

| Description              |
| ------------------------ |
| The schema data members. |

## Events

### `Registered`

```solidity theme={null}
event Registeredevent Registered(bytes32 uid, address registerer, struct SchemaRecord schema)
```

Emitted when a new schema has been registered
