# The MongoDB\Driver\ServerApi class

&reftitle.intro;

&reftitle.classsynopsis;

        MongoDB\Driver\ServerApi

         final

          MongoDB\Driver\ServerApi

          MongoDB\BSON\Serializable

          Serializable

        &Constants;

         const
         string
         MongoDB\Driver\ServerAPI::V1
         "1"

        &Methods;

&reftitle.constants;

`MongoDB\Driver\ServerApi::V1`

- Server API version 1.

&reftitle.examples;

### Declare an API version on a manager

    <?php

    use MongoDB\Driver\Manager;
    use MongoDB\Driver\ServerApi;

    $v1 = new ServerApi(ServerApi::v1);
    $manager = new Manager('mongodb://localhost:27017', [], ['serverApi' => $v1]);

    $command = new MongoDB\Driver\Command(['buildInfo' => 1]);

    try {
        $cursor = $manager->executeCommand('admin', $command);
    } catch(MongoDB\Driver\Exception $e) {
        echo $e->getMessage(), "\n";
        exit;
    }

    /* The buildInfo command returns a single result document, so we need to access
     * the first result in the cursor. */
    $buildInfo = $cursor->toArray()[0];

    echo $buildInfo->version, "\n";

    ?>

&example.outputs;

    4.9.0-alpha7-49-gb968ca0

### Declare a strict API version on a manager

The following example sets the `strict` flag, which tells the server to reject any command that is not part of the declared API version. This results in an error when running the buildInfo command.

    <?php

    use MongoDB\Driver\Manager;
    use MongoDB\Driver\ServerApi;

    $v1 = new ServerApi(ServerApi::v1, true);
    $manager = new Manager('mongodb://localhost:27017', [], ['serverApi' => $v1]);

    $command = new MongoDB\Driver\Command(['buildInfo' => 1]);

    try {
        $cursor = $manager->executeCommand('admin', $command);
    } catch(MongoDB\Driver\Exception $e) {
        echo $e->getMessage(), "\n";
        exit;
    }

    /* The buildInfo command returns a single result document, so we need to access
     * the first result in the cursor. */
    $buildInfo = $cursor->toArray()[0];

    echo $buildInfo->version, "\n";

    ?>

&example.outputs;

    Provided apiStrict:true, but the command buildInfo is not in API Version 1

&reference.mongodb.mongodb.driver.entities.serverapi;