# \InstrumentsApi

All URIs are relative to *http://localhost:5000*

Method | HTTP request | Description
------------- | ------------- | -------------
[**create_instrument**](InstrumentsApi.md#create_instrument) | **POST** /v3/streams/projects/{project_id}/sites/{site_id}/instruments | Create instruments (single or bulk)
[**delete_instrument**](InstrumentsApi.md#delete_instrument) | **DELETE** /v3/streams/projects/{project_id}/sites/{site_id}/instruments/{inst_id} | Delete an instrument
[**get_instrument**](InstrumentsApi.md#get_instrument) | **GET** /v3/streams/projects/{project_id}/sites/{site_id}/instruments/{inst_id} | Get instrument details
[**list_instruments**](InstrumentsApi.md#list_instruments) | **GET** /v3/streams/projects/{project_id}/sites/{site_id}/instruments | List instruments
[**update_instrument**](InstrumentsApi.md#update_instrument) | **PUT** /v3/streams/projects/{project_id}/sites/{site_id}/instruments/{inst_id} | Update an instrument



## create_instrument

> models::ListInstruments200Response create_instrument(project_id, site_id, new_instrument)
Create instruments (single or bulk)

Create instruments (single or bulk)

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**project_id** | **String** | Unique ID of project generated by Tapis | [required] |
**site_id** | **String** | User uniquely defined ID for site. | [required] |
**new_instrument** | [**Vec<models::NewInstrument>**](NewInstrument.md) |  | [required] |

### Return type

[**models::ListInstruments200Response**](list_instruments_200_response.md)

### Authorization

No authorization required

### HTTP request headers

- **Content-Type**: application/json
- **Accept**: application/json

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)


## delete_instrument

> models::GetInstrument200Response delete_instrument(project_id, site_id, inst_id)
Delete an instrument

Delete an instrument

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**project_id** | **String** | Unique ID of project generated by Tapis | [required] |
**site_id** | **String** | User uniquely defined ID for site. | [required] |
**inst_id** | **String** | User uniquely defined ID for instrument. | [required] |

### Return type

[**models::GetInstrument200Response**](get_instrument_200_response.md)

### Authorization

No authorization required

### HTTP request headers

- **Content-Type**: Not defined
- **Accept**: application/json

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)


## get_instrument

> models::GetInstrument200Response get_instrument(project_id, site_id, inst_id)
Get instrument details

Get instrument details

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**project_id** | **String** | Unique ID of project generated by Tapis | [required] |
**site_id** | **String** | User uniquely defined ID for site. | [required] |
**inst_id** | **String** | User uniquely defined ID for instrument. | [required] |

### Return type

[**models::GetInstrument200Response**](get_instrument_200_response.md)

### Authorization

No authorization required

### HTTP request headers

- **Content-Type**: Not defined
- **Accept**: application/json

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)


## list_instruments

> models::ListInstruments200Response list_instruments(project_id, site_id, query, limit, skip)
List instruments

List instruments

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**project_id** | **String** | Unique ID of project generated by Tapis | [required] |
**site_id** | **String** | User uniquely defined ID for site. | [required] |
**query** | Option<**String**> | a formated query string for instruments. |  |
**limit** | Option<**i32**> | limit the number of records returned |  |
**skip** | Option<**i32**> | index (skip) to start list |  |

### Return type

[**models::ListInstruments200Response**](list_instruments_200_response.md)

### Authorization

No authorization required

### HTTP request headers

- **Content-Type**: Not defined
- **Accept**: application/json

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)


## update_instrument

> models::ListInstruments200Response update_instrument(project_id, site_id, inst_id, update_inst)
Update an instrument

Update an instrument

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**project_id** | **String** | Unique ID of project generated by Tapis | [required] |
**site_id** | **String** | User uniquely defined ID for site. | [required] |
**inst_id** | **String** | User uniquely defined ID for instrument. | [required] |
**update_inst** | [**UpdateInst**](UpdateInst.md) |  | [required] |

### Return type

[**models::ListInstruments200Response**](list_instruments_200_response.md)

### Authorization

No authorization required

### HTTP request headers

- **Content-Type**: application/json
- **Accept**: application/json

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

