# Tape Manager Controller Resource

The API allows you to list, view, edit and create tape managers.

### GET /tape-managers

Returns list of tape managers filtered by specified query parameters.

Request Parameters
name | type | description
--- | --- | ---
direction | query |
filter | query |
nameLike | query |
orderBy | query |
page | query |
size | query |

Response Body
media type | data type | description
--- | --- | ---
application/json | array of TapeManagerDetails (JSON) | list of tape managers filtered by specified query parameters

#### Example

##### Request

    GET /tape-managers
    Content-Type: */*
    Accept: application/json

    ...

##### Response

    HTTP/1.1 200 OK
    Content-Type: application/json

    [ { } ]

### POST /tape-managers

Creates tape manager.

Request Body
media type | data type | description
--- | --- | ---
application/json | TapeManagerRequest (JSON) | specify details for new tape manager

Response Body
media type | data type | description
--- | --- | ---
application/json | TapeManagerDetails (JSON) | details of newly created tape manager

#### Example

##### Request

    POST /tape-managers
    Content-Type: application/json
    Accept: application/json

    { }

##### Response

    HTTP/1.1 201 Created
    Content-Type: application/json

    { }

### DELETE /tape-managers/{guid}

Remove tape manager.

Request Parameters
name | type | description
--- | --- | ---
guid | path | specify local unique identifier for tape manager (use by vProtect)

#### Example

##### Request

    DELETE /tape-managers/{guid}
    Content-Type: */*

    ...

##### Response

    HTTP/1.1 204 No Content

### GET /tape-managers/{guid}

Get a single tape manager.

Request Parameters
name | type | description
--- | --- | ---
guid | path | specify local unique identifier for tape key (use by vProtect)

Response Body
media type | data type | description
--- | --- | ---
application/json | TapeManagerDetails (JSON) | access key details

#### Example

##### Request

    GET /tape-managers/{guid}
    Content-Type: */*
    Accept: application/json

    ...

##### Response

    HTTP/1.1 200 OK
    Content-Type: application/json

    { }

### PUT /tape-managers/{guid}

Change tape manager details.

Request Parameters
name | type | description
--- | --- | ---
guid | path | specify local unique identifier for tape manager (use by vProtect)

Request Body
media type | data type | description
--- | --- | ---
application/json | TapeManagerUpdateRequest (JSON) | specify tape manager details to update

Response Body
media type | data type | description
--- | --- | ---
application/json | TapeManagerDetails (JSON) | updated details of tape manager

#### Example

##### Request

    PUT /tape-managers/{guid}
    Content-Type: application/json
    Accept: application/json

    { }

##### Response

    HTTP/1.1 204 No Content
    Content-Type: application/json

    { }

### GET /tape-managers/{guid}/secret-key

Returns secret key from tape manager.

Request Parameters
name | type | description
--- | --- | ---
guid | path | specify local unique identifier for tape manager (use by vProtect)

Response Body
media type | data type | description
--- | --- | ---
application/json | string (JSON) | secret key from tape manager

#### Example

##### Request

    GET /tape-managers/{guid}/secret-key
    Content-Type: application/json
    Accept: application/json

    ...

##### Response

    HTTP/1.1 200 OK
    Content-Type: application/json

    ...

### PUT /tape-managers/{guid}/secret-key

Change secret key for specified tape manager.

Request Parameters
name | type | description
--- | --- | ---
guid | path | specify local unique identifier for tape manager (use by vProtect)

Request Body
media type | data type | description
--- | --- | ---
application/json | StringDTO (JSON) | specify new secret key

#### Example

##### Request

    PUT /tape-managers/{guid}/secret-key
    Content-Type: application/json

    { }

##### Response

    HTTP/1.1 204 No Content