# CCIP v1.5.0 ITypeAndVersion Interface API Reference
Source: https://docs.chain.link/ccip/api-reference/evm/v1.5.0/i-type-and-version

> For the complete documentation index, see [llms.txt](/llms.txt).

> **NOTE: Integrate Chainlink CCIP v1.5.1 into your project**
>
> npm
> yarn
> foundry
>
> If you use [NPM](https://www.npmjs.com/), install the [@chainlink/contracts-ccip NPM package](https://www.npmjs.com/package/@chainlink/contracts-ccip):
>
> ```shell
> npm install @chainlink/contracts-ccip@1.5.1-beta.0
> ```
>
> If you use [Yarn](https://yarnpkg.com/), install the [@chainlink/contracts-ccip NPM package](https://www.npmjs.com/package/@chainlink/contracts-ccip):
>
> ```shell
> yarn add @chainlink/contracts-ccip@1.5.1-beta.0
> ```
>
> If you use [Foundry](https://book.getfoundry.sh/), install the package:
>
> ```shell
> forge install smartcontractkit/ccip@5e7b2096586bc32c6e975fc13f4c411eb687f833
> ```

## ITypeAndVersion

An interface that provides type and version information for contracts.

[Git Source](https://github.com/smartcontractkit/ccip/tree/release/contracts-ccip-1.5.0/contracts/src/v0.8/shared/interfaces/ITypeAndVersion.sol)

## Functions

### typeAndVersion

Returns the type and version of the contract.

```solidity
function typeAndVersion() external pure returns (string memory);
```

**Returns**

| Type     | Description                           |
| -------- | ------------------------------------- |
| `string` | The type and version of the contract. |