{"id":25830879,"url":"https://github.com/lab5e/rust-spanapi","last_synced_at":"2026-05-15T03:31:31.230Z","repository":{"id":97095494,"uuid":"359796986","full_name":"lab5e/rust-spanapi","owner":"lab5e","description":"Rust API client for the Span service","archived":false,"fork":false,"pushed_at":"2024-10-07T13:45:38.000Z","size":667,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-11-24T07:43:53.747Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lab5e.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-04-20T11:51:17.000Z","updated_at":"2024-10-07T13:45:43.000Z","dependencies_parsed_at":"2025-11-24T07:00:31.765Z","dependency_job_id":null,"html_url":"https://github.com/lab5e/rust-spanapi","commit_stats":null,"previous_names":[],"tags_count":28,"template":false,"template_full_name":null,"purl":"pkg:github/lab5e/rust-spanapi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lab5e%2Frust-spanapi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lab5e%2Frust-spanapi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lab5e%2Frust-spanapi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lab5e%2Frust-spanapi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lab5e","download_url":"https://codeload.github.com/lab5e/rust-spanapi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lab5e%2Frust-spanapi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33052537,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"online","status_checked_at":"2026-05-15T02:00:06.351Z","response_time":103,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-28T19:34:30.483Z","updated_at":"2026-05-15T03:31:31.214Z","avatar_url":"https://github.com/lab5e.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Rust API client for spanapi\n\nAPI for device, collection, output and firmware management\n\nFor more information, please visit [https://lab5e.com](https://lab5e.com)\n\n## Overview\n\nThis API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project.  By using the [openapi-spec](https://openapis.org) from a remote server, you can easily generate an API client.\n\n- API version: 5.0.3 pitch-dark-elza\n- Package version: 5.0.3\n- Build package: `org.openapitools.codegen.languages.RustClientCodegen`\n\n## Installation\n\nPut the package under your project folder in a directory named `spanapi` and add the following to `Cargo.toml` under `[dependencies]`:\n\n```\nspanapi = { path = \"./spanapi\" }\n```\n\n## Documentation for API Endpoints\n\nAll URIs are relative to *https://api.lab5e.com*\n\nClass | Method | HTTP request | Description\n------------ | ------------- | ------------- | -------------\n*BlobsApi* | [**delete_blob**](docs/BlobsApi.md#delete_blob) | **DELETE** /span/collections/{collectionId}/blobs/{blobId} | Remove a blob stored on a collection\n*BlobsApi* | [**list_blobs**](docs/BlobsApi.md#list_blobs) | **GET** /span/collections/{collectionId}/blobs | List the blobs for a collection\n*CertificatesApi* | [**create_certificate**](docs/CertificatesApi.md#create_certificate) | **POST** /span/collections/{collectionId}/certificates/create | Create certificate\n*CertificatesApi* | [**retrieve_certificate_chain**](docs/CertificatesApi.md#retrieve_certificate_chain) | **GET** /span/collections/{collectionId}/certificates | Get certificate chain\n*CertificatesApi* | [**sign_certificate**](docs/CertificatesApi.md#sign_certificate) | **POST** /span/collections/{collectionId}/certificates/sign | Sign certificate\n*CertificatesApi* | [**verify_certificate**](docs/CertificatesApi.md#verify_certificate) | **POST** /span/collections/{collectionId}/certificates/verify | Verify certificate\n*CollectionsApi* | [**create_collection**](docs/CollectionsApi.md#create_collection) | **POST** /span/collections | Create collection\n*CollectionsApi* | [**delete_collection**](docs/CollectionsApi.md#delete_collection) | **DELETE** /span/collections/{collectionId} | Delete collection\n*CollectionsApi* | [**list_collection_data**](docs/CollectionsApi.md#list_collection_data) | **GET** /span/collections/{collectionId}/data | Retrieve data from devices\n*CollectionsApi* | [**list_collections**](docs/CollectionsApi.md#list_collections) | **GET** /span/collections | List collections\n*CollectionsApi* | [**retrieve_collection**](docs/CollectionsApi.md#retrieve_collection) | **GET** /span/collections/{collectionId} | Retrieve collection\n*CollectionsApi* | [**retrieve_collection_stats**](docs/CollectionsApi.md#retrieve_collection_stats) | **GET** /span/collections/{collectionId}/stats | Retrieve collection statistics\n*CollectionsApi* | [**update_collection**](docs/CollectionsApi.md#update_collection) | **PATCH** /span/collections/{collectionId} | Update collection\n*DevicesApi* | [**add_downstream_message**](docs/DevicesApi.md#add_downstream_message) | **POST** /span/collections/{collectionId}/devices/{deviceId}/outbox | Add message to oubox\n*DevicesApi* | [**create_device**](docs/DevicesApi.md#create_device) | **POST** /span/collections/{collectionId}/devices | Create device\n*DevicesApi* | [**delete_device**](docs/DevicesApi.md#delete_device) | **DELETE** /span/collections/{collectionId}/devices/{deviceId} | Remove device.\n*DevicesApi* | [**delete_downstream_message**](docs/DevicesApi.md#delete_downstream_message) | **DELETE** /span/collections/{collectionId}/devices/{deviceId}/outbox/{messageId} | Delete outgoing message\n*DevicesApi* | [**device_certificate**](docs/DevicesApi.md#device_certificate) | **GET** /span/collections/{collectionId}/devices/{deviceId}/certs | Get issued certificate(s) for device\n*DevicesApi* | [**list_device_data**](docs/DevicesApi.md#list_device_data) | **GET** /span/collections/{collectionId}/devices/{deviceId}/data | Retrieve data from device\n*DevicesApi* | [**list_devices**](docs/DevicesApi.md#list_devices) | **GET** /span/collections/{collectionId}/devices | List devices in collection.\n*DevicesApi* | [**list_downstream_messages**](docs/DevicesApi.md#list_downstream_messages) | **GET** /span/collections/{collectionId}/devices/{deviceId}/outbox | List the messages in the outbox\n*DevicesApi* | [**list_upstream_messages**](docs/DevicesApi.md#list_upstream_messages) | **GET** /span/collections/{collectionId}/devices/{deviceId}/inbox | List incoming messages\n*DevicesApi* | [**retrieve_device**](docs/DevicesApi.md#retrieve_device) | **GET** /span/collections/{collectionId}/devices/{deviceId} | Retrieve device\n*DevicesApi* | [**retrieve_device_stats**](docs/DevicesApi.md#retrieve_device_stats) | **GET** /span/collections/{collectionId}/devices/{deviceId}/stats | Retrieve device statistics\n*DevicesApi* | [**update_device**](docs/DevicesApi.md#update_device) | **PATCH** /span/collections/{existingCollectionId}/devices/{deviceId} | Update device\n*FotaApi* | [**clear_firmware_error**](docs/FotaApi.md#clear_firmware_error) | **DELETE** /span/collections/{collectionId}/devices/{deviceId}/fwerror | Clear FOTA error\n*FotaApi* | [**create_firmware**](docs/FotaApi.md#create_firmware) | **POST** /span/collections/{collectionId}/firmware | Create firmware\n*FotaApi* | [**delete_firmware**](docs/FotaApi.md#delete_firmware) | **DELETE** /span/collections/{collectionId}/firmware/{imageId} | Delete firmware\n*FotaApi* | [**firmware_usage**](docs/FotaApi.md#firmware_usage) | **GET** /span/collections/{collectionId}/firmware/{imageId}/usage | Firmware usage\n*FotaApi* | [**list_firmware**](docs/FotaApi.md#list_firmware) | **GET** /span/collections/{collectionId}/firmware | List firmware\n*FotaApi* | [**retrieve_firmware**](docs/FotaApi.md#retrieve_firmware) | **GET** /span/collections/{collectionId}/firmware/{imageId} | Retrieve firmware\n*FotaApi* | [**retrieve_firmware_stats**](docs/FotaApi.md#retrieve_firmware_stats) | **GET** /span/collections/{collectionId}/firmware/{imageId}/stats | Retrieve firmware statistics\n*FotaApi* | [**update_firmware**](docs/FotaApi.md#update_firmware) | **PATCH** /span/collections/{existingCollectionId}/firmware/{imageId} | Update firmware\n*GatewaysApi* | [**create_gateway**](docs/GatewaysApi.md#create_gateway) | **POST** /span/collections/{collectionId}/gateways | Create gateway\n*GatewaysApi* | [**delete_gateway**](docs/GatewaysApi.md#delete_gateway) | **DELETE** /span/collections/{collectionId}/gateways/{gatewayId} | Delete gateway\n*GatewaysApi* | [**gateway_certificates**](docs/GatewaysApi.md#gateway_certificates) | **GET** /span/collections/{collectionId}/gateways/{gatewayId}/certs | Get issued certificate(s) for gateway\n*GatewaysApi* | [**list_gateways**](docs/GatewaysApi.md#list_gateways) | **GET** /span/collections/{collectionId}/gateways | List gateways\n*GatewaysApi* | [**retrieve_gateway**](docs/GatewaysApi.md#retrieve_gateway) | **GET** /span/collections/{collectionId}/gateways/{gatewayId} | Retrieve gateway\n*GatewaysApi* | [**retrieve_gateway_stats**](docs/GatewaysApi.md#retrieve_gateway_stats) | **GET** /span/collections/{collectionId}/gateways/{gatewayId}/stats | Retrieve gateway statistics\n*GatewaysApi* | [**update_gateway**](docs/GatewaysApi.md#update_gateway) | **PATCH** /span/collections/{existingCollectionId}/gateways/{gatewayId} | Update gateway\n*OutputsApi* | [**create_output**](docs/OutputsApi.md#create_output) | **POST** /span/collections/{collectionId}/outputs | Create output\n*OutputsApi* | [**delete_output**](docs/OutputsApi.md#delete_output) | **DELETE** /span/collections/{collectionId}/outputs/{outputId} | Delete output\n*OutputsApi* | [**list_outputs**](docs/OutputsApi.md#list_outputs) | **GET** /span/collections/{collectionId}/outputs | List outputs\n*OutputsApi* | [**logs**](docs/OutputsApi.md#logs) | **GET** /span/collections/{collectionId}/outputs/{outputId}/logs | Output logs\n*OutputsApi* | [**retrieve_output**](docs/OutputsApi.md#retrieve_output) | **GET** /span/collections/{collectionId}/outputs/{outputId} | Retrieve output\n*OutputsApi* | [**retrieve_output_stats**](docs/OutputsApi.md#retrieve_output_stats) | **GET** /span/collections/{collectionId}/outputs/{outputId}/stats | Retrieve output statistics\n*OutputsApi* | [**status**](docs/OutputsApi.md#status) | **GET** /span/collections/{collectionId}/outputs/{outputId}/status | Output status\n*OutputsApi* | [**update_output**](docs/OutputsApi.md#update_output) | **PATCH** /span/collections/{existingCollectionId}/outputs/{outputId} | Update output\n*SpanApi* | [**get_system_info**](docs/SpanApi.md#get_system_info) | **GET** /span/system | System information\n\n\n## Documentation For Models\n\n - [ActivityEvent](docs/ActivityEvent.md)\n - [AddDownstreamMessageBody](docs/AddDownstreamMessageBody.md)\n - [Any](docs/Any.md)\n - [Blob](docs/Blob.md)\n - [BlobStats](docs/BlobStats.md)\n - [CellularIoTConfig](docs/CellularIoTConfig.md)\n - [CellularIoTMetadata](docs/CellularIoTMetadata.md)\n - [CertificateChainResponse](docs/CertificateChainResponse.md)\n - [CertificateInfo](docs/CertificateInfo.md)\n - [ClearFirmwareErrorResponse](docs/ClearFirmwareErrorResponse.md)\n - [CoApMetadata](docs/CoApMetadata.md)\n - [Collection](docs/Collection.md)\n - [CollectionFirmware](docs/CollectionFirmware.md)\n - [CollectionStats](docs/CollectionStats.md)\n - [CreateCertificateBody](docs/CreateCertificateBody.md)\n - [CreateCertificateResponse](docs/CreateCertificateResponse.md)\n - [CreateCollectionRequest](docs/CreateCollectionRequest.md)\n - [CreateDeviceBody](docs/CreateDeviceBody.md)\n - [CreateFirmwareBody](docs/CreateFirmwareBody.md)\n - [CreateGatewayBody](docs/CreateGatewayBody.md)\n - [CreateOutputBody](docs/CreateOutputBody.md)\n - [DeleteDownstreamMessageResponse](docs/DeleteDownstreamMessageResponse.md)\n - [Device](docs/Device.md)\n - [DeviceCertificateResponse](docs/DeviceCertificateResponse.md)\n - [DeviceConfig](docs/DeviceConfig.md)\n - [DeviceMetadata](docs/DeviceMetadata.md)\n - [DeviceStats](docs/DeviceStats.md)\n - [Firmware](docs/Firmware.md)\n - [FirmwareManagement](docs/FirmwareManagement.md)\n - [FirmwareMetadata](docs/FirmwareMetadata.md)\n - [FirmwareStats](docs/FirmwareStats.md)\n - [FirmwareUsageResponse](docs/FirmwareUsageResponse.md)\n - [Gateway](docs/Gateway.md)\n - [GatewayCertificateResponse](docs/GatewayCertificateResponse.md)\n - [GatewayCioTConfig](docs/GatewayCioTConfig.md)\n - [GatewayConfig](docs/GatewayConfig.md)\n - [GatewayCustomConfig](docs/GatewayCustomConfig.md)\n - [GatewayDeviceConfig](docs/GatewayDeviceConfig.md)\n - [GatewayDeviceMetadata](docs/GatewayDeviceMetadata.md)\n - [GatewayInetConfig](docs/GatewayInetConfig.md)\n - [GatewayMetadata](docs/GatewayMetadata.md)\n - [GatewayStats](docs/GatewayStats.md)\n - [GatewayStatus](docs/GatewayStatus.md)\n - [GatewayType](docs/GatewayType.md)\n - [InetMetadata](docs/InetMetadata.md)\n - [ListBlobResponse](docs/ListBlobResponse.md)\n - [ListCollectionResponse](docs/ListCollectionResponse.md)\n - [ListDataResponse](docs/ListDataResponse.md)\n - [ListDevicesResponse](docs/ListDevicesResponse.md)\n - [ListDownstreamMessagesResponse](docs/ListDownstreamMessagesResponse.md)\n - [ListFirmwareResponse](docs/ListFirmwareResponse.md)\n - [ListGatewayResponse](docs/ListGatewayResponse.md)\n - [ListOutputResponse](docs/ListOutputResponse.md)\n - [ListUpstreamMessagesResponse](docs/ListUpstreamMessagesResponse.md)\n - [MessageDownstream](docs/MessageDownstream.md)\n - [MessageState](docs/MessageState.md)\n - [MessageTransport](docs/MessageTransport.md)\n - [MessageUpstream](docs/MessageUpstream.md)\n - [MqttMetadata](docs/MqttMetadata.md)\n - [Output](docs/Output.md)\n - [OutputConfig](docs/OutputConfig.md)\n - [OutputDataMessage](docs/OutputDataMessage.md)\n - [OutputLogEntry](docs/OutputLogEntry.md)\n - [OutputLogResponse](docs/OutputLogResponse.md)\n - [OutputMessageType](docs/OutputMessageType.md)\n - [OutputStats](docs/OutputStats.md)\n - [OutputStatusResponse](docs/OutputStatusResponse.md)\n - [OutputType](docs/OutputType.md)\n - [RetrieveBlobResponse](docs/RetrieveBlobResponse.md)\n - [RpcPeriodStatus](docs/RpcPeriodStatus.md)\n - [SignCertificateBody](docs/SignCertificateBody.md)\n - [SignCertificateResponse](docs/SignCertificateResponse.md)\n - [SystemInfoResponse](docs/SystemInfoResponse.md)\n - [UdpMetadata](docs/UdpMetadata.md)\n - [UpdateCollectionBody](docs/UpdateCollectionBody.md)\n - [UpdateDeviceBody](docs/UpdateDeviceBody.md)\n - [UpdateFirmwareBody](docs/UpdateFirmwareBody.md)\n - [UpdateGatewayBody](docs/UpdateGatewayBody.md)\n - [UpdateOutputBody](docs/UpdateOutputBody.md)\n - [VerifyCertificateBody](docs/VerifyCertificateBody.md)\n - [VerifyCertificateResponse](docs/VerifyCertificateResponse.md)\n\n\nTo get access to the crate's generated documentation, use:\n\n```\ncargo doc --open\n```\n\n## Author\n\ndev@lab5e.com\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flab5e%2Frust-spanapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flab5e%2Frust-spanapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flab5e%2Frust-spanapi/lists"}