# \InstrumentsApi
All URIs are relative to *http://localhost:5000*
[**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
**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
**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
**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
**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
**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)