{"id":25830884,"url":"https://github.com/lab5e/swift-spanapi","last_synced_at":"2025-09-08T00:35:44.476Z","repository":{"id":97095453,"uuid":"358916677","full_name":"lab5e/swift-spanapi","owner":"lab5e","description":"Swift 5 client library for the Span API","archived":false,"fork":false,"pushed_at":"2024-08-28T14:17:35.000Z","size":320,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-08-28T15:44:57.219Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"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":null,"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}},"created_at":"2021-04-17T15:37:39.000Z","updated_at":"2024-08-28T14:17:39.000Z","dependencies_parsed_at":"2024-04-24T09:58:00.482Z","dependency_job_id":"f951c3d6-649b-40e2-8de2-1ffc28d3d5bd","html_url":"https://github.com/lab5e/swift-spanapi","commit_stats":null,"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lab5e%2Fswift-spanapi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lab5e%2Fswift-spanapi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lab5e%2Fswift-spanapi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lab5e%2Fswift-spanapi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lab5e","download_url":"https://codeload.github.com/lab5e/swift-spanapi/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241212344,"owners_count":19927926,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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:31.976Z","updated_at":"2025-09-08T00:35:44.450Z","avatar_url":"https://github.com/lab5e.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Swift5 API client for Span\n\nAPI for device, collection, output and firmware management\n\n## Overview\nThis API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project.  By using the [openapi-spec](https://github.com/OAI/OpenAPI-Specification) from a remote server, you can easily generate an API client.\n\n- API version: 5.0.5 contented-jamila\n- Package version: \n- Build package: org.openapitools.codegen.languages.Swift5ClientCodegen\nFor more information, please visit [https://lab5e.com](https://lab5e.com)\n\n## Installation\n\n### Carthage\n\nRun `carthage update`\n\n### CocoaPods\n\nRun `pod install`\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* | [**deleteBlob**](docs/BlobsAPI.md#deleteblob) | **DELETE** /span/collections/{collectionId}/blobs/{blobId} | Remove a blob stored on a collection\n*BlobsAPI* | [**listBlobs**](docs/BlobsAPI.md#listblobs) | **GET** /span/collections/{collectionId}/blobs | List the blobs for a collection\n*CertificatesAPI* | [**createCertificate**](docs/CertificatesAPI.md#createcertificate) | **POST** /span/collections/{collectionId}/certificates/create | Create certificate\n*CertificatesAPI* | [**retrieveCertificateChain**](docs/CertificatesAPI.md#retrievecertificatechain) | **GET** /span/collections/{collectionId}/certificates | Get certificate chain\n*CertificatesAPI* | [**signCertificate**](docs/CertificatesAPI.md#signcertificate) | **POST** /span/collections/{collectionId}/certificates/sign | Sign certificate\n*CertificatesAPI* | [**verifyCertificate**](docs/CertificatesAPI.md#verifycertificate) | **POST** /span/collections/{collectionId}/certificates/verify | Verify certificate\n*CollectionsAPI* | [**createCollection**](docs/CollectionsAPI.md#createcollection) | **POST** /span/collections | Create collection\n*CollectionsAPI* | [**deleteCollection**](docs/CollectionsAPI.md#deletecollection) | **DELETE** /span/collections/{collectionId} | Delete collection\n*CollectionsAPI* | [**listCollectionData**](docs/CollectionsAPI.md#listcollectiondata) | **GET** /span/collections/{collectionId}/data | Retrieve data from devices\n*CollectionsAPI* | [**listCollections**](docs/CollectionsAPI.md#listcollections) | **GET** /span/collections | List collections\n*CollectionsAPI* | [**retrieveCollection**](docs/CollectionsAPI.md#retrievecollection) | **GET** /span/collections/{collectionId} | Retrieve collection\n*CollectionsAPI* | [**retrieveCollectionStats**](docs/CollectionsAPI.md#retrievecollectionstats) | **GET** /span/collections/{collectionId}/stats | Retrieve collection statistics\n*CollectionsAPI* | [**updateCollection**](docs/CollectionsAPI.md#updatecollection) | **PATCH** /span/collections/{collectionId} | Update collection\n*DevicesAPI* | [**addDownstreamMessage**](docs/DevicesAPI.md#adddownstreammessage) | **POST** /span/collections/{collectionId}/devices/{deviceId}/outbox | Add message to oubox\n*DevicesAPI* | [**createDevice**](docs/DevicesAPI.md#createdevice) | **POST** /span/collections/{collectionId}/devices | Create device\n*DevicesAPI* | [**deleteDevice**](docs/DevicesAPI.md#deletedevice) | **DELETE** /span/collections/{collectionId}/devices/{deviceId} | Remove device.\n*DevicesAPI* | [**deleteDownstreamMessage**](docs/DevicesAPI.md#deletedownstreammessage) | **DELETE** /span/collections/{collectionId}/devices/{deviceId}/outbox/{messageId} | Delete outgoing message\n*DevicesAPI* | [**deviceCertificate**](docs/DevicesAPI.md#devicecertificate) | **GET** /span/collections/{collectionId}/devices/{deviceId}/certs | Get issued certificate(s) for device\n*DevicesAPI* | [**listDeviceData**](docs/DevicesAPI.md#listdevicedata) | **GET** /span/collections/{collectionId}/devices/{deviceId}/data | Retrieve data from device\n*DevicesAPI* | [**listDevices**](docs/DevicesAPI.md#listdevices) | **GET** /span/collections/{collectionId}/devices | List devices in collection.\n*DevicesAPI* | [**listDownstreamMessages**](docs/DevicesAPI.md#listdownstreammessages) | **GET** /span/collections/{collectionId}/devices/{deviceId}/outbox | List the messages in the outbox\n*DevicesAPI* | [**listUpstreamMessages**](docs/DevicesAPI.md#listupstreammessages) | **GET** /span/collections/{collectionId}/devices/{deviceId}/inbox | List incoming messages\n*DevicesAPI* | [**retrieveDevice**](docs/DevicesAPI.md#retrievedevice) | **GET** /span/collections/{collectionId}/devices/{deviceId} | Retrieve device\n*DevicesAPI* | [**retrieveDeviceStats**](docs/DevicesAPI.md#retrievedevicestats) | **GET** /span/collections/{collectionId}/devices/{deviceId}/stats | Retrieve device statistics\n*DevicesAPI* | [**updateDevice**](docs/DevicesAPI.md#updatedevice) | **PATCH** /span/collections/{existingCollectionId}/devices/{deviceId} | Update device\n*FotaAPI* | [**assignTargetImage**](docs/FotaAPI.md#assigntargetimage) | **PATCH** /span/collections/{collectionId}/firmware/labeled/{imageId}/assign | BETA: Assign a target image\n*FotaAPI* | [**clearFirmwareError**](docs/FotaAPI.md#clearfirmwareerror) | **DELETE** /span/collections/{collectionId}/devices/{deviceId}/fwerror | Clear FOTA error\n*FotaAPI* | [**createFirmware**](docs/FotaAPI.md#createfirmware) | **POST** /span/collections/{collectionId}/firmware | Create firmware\n*FotaAPI* | [**createLabeledFirmware**](docs/FotaAPI.md#createlabeledfirmware) | **POST** /span/collections/{collectionId}/firmware/labeled | BETA: Create a labeled firmware image\n*FotaAPI* | [**deleteFirmware**](docs/FotaAPI.md#deletefirmware) | **DELETE** /span/collections/{collectionId}/firmware/{imageId} | Delete firmware\n*FotaAPI* | [**deleteLabeledImage**](docs/FotaAPI.md#deletelabeledimage) | **DELETE** /span/collections/{collectionId}/firmware/labeled/{imageId} | BETA: Remove a tagged firmware image\n*FotaAPI* | [**firmwareUsage**](docs/FotaAPI.md#firmwareusage) | **GET** /span/collections/{collectionId}/firmware/{imageId}/usage | Firmware usage\n*FotaAPI* | [**getImageState**](docs/FotaAPI.md#getimagestate) | **PATCH** /span/collections/{collectionId}/devices/{deviceId}/fotastate | BETA: Get state for a single device\n*FotaAPI* | [**listFirmware**](docs/FotaAPI.md#listfirmware) | **GET** /span/collections/{collectionId}/firmware | List firmware\n*FotaAPI* | [**listImageStates**](docs/FotaAPI.md#listimagestates) | **GET** /span/collections/{collectionId}/firmware/labeled/states | BETA: List image assignments plus states\n*FotaAPI* | [**listImageVersionHistory**](docs/FotaAPI.md#listimageversionhistory) | **PATCH** /span/collections/{collectionId}/devices/{deviceId}/fotalog | BETA: List version history for a single device\n*FotaAPI* | [**listLabeledFirmware**](docs/FotaAPI.md#listlabeledfirmware) | **GET** /span/collections/{collectionId}/firmware/labeled | BETA: List the labeled firmware images for a collection\n*FotaAPI* | [**retrieveFirmware**](docs/FotaAPI.md#retrievefirmware) | **GET** /span/collections/{collectionId}/firmware/{imageId} | Retrieve firmware\n*FotaAPI* | [**retrieveFirmwareStats**](docs/FotaAPI.md#retrievefirmwarestats) | **GET** /span/collections/{collectionId}/firmware/{imageId}/stats | Retrieve firmware statistics\n*FotaAPI* | [**updateFirmware**](docs/FotaAPI.md#updatefirmware) | **PATCH** /span/collections/{existingCollectionId}/firmware/{imageId} | Update firmware\n*GatewaysAPI* | [**createGateway**](docs/GatewaysAPI.md#creategateway) | **POST** /span/collections/{collectionId}/gateways | Create gateway\n*GatewaysAPI* | [**deleteGateway**](docs/GatewaysAPI.md#deletegateway) | **DELETE** /span/collections/{collectionId}/gateways/{gatewayId} | Delete gateway\n*GatewaysAPI* | [**gatewayCertificates**](docs/GatewaysAPI.md#gatewaycertificates) | **GET** /span/collections/{collectionId}/gateways/{gatewayId}/certs | Get issued certificate(s) for gateway\n*GatewaysAPI* | [**listGateways**](docs/GatewaysAPI.md#listgateways) | **GET** /span/collections/{collectionId}/gateways | List gateways\n*GatewaysAPI* | [**retrieveGateway**](docs/GatewaysAPI.md#retrievegateway) | **GET** /span/collections/{collectionId}/gateways/{gatewayId} | Retrieve gateway\n*GatewaysAPI* | [**retrieveGatewayStats**](docs/GatewaysAPI.md#retrievegatewaystats) | **GET** /span/collections/{collectionId}/gateways/{gatewayId}/stats | Retrieve gateway statistics\n*GatewaysAPI* | [**updateGateway**](docs/GatewaysAPI.md#updategateway) | **PATCH** /span/collections/{existingCollectionId}/gateways/{gatewayId} | Update gateway\n*OutputsAPI* | [**createOutput**](docs/OutputsAPI.md#createoutput) | **POST** /span/collections/{collectionId}/outputs | Create output\n*OutputsAPI* | [**deleteOutput**](docs/OutputsAPI.md#deleteoutput) | **DELETE** /span/collections/{collectionId}/outputs/{outputId} | Delete output\n*OutputsAPI* | [**listOutputs**](docs/OutputsAPI.md#listoutputs) | **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* | [**retrieveOutput**](docs/OutputsAPI.md#retrieveoutput) | **GET** /span/collections/{collectionId}/outputs/{outputId} | Retrieve output\n*OutputsAPI* | [**retrieveOutputStats**](docs/OutputsAPI.md#retrieveoutputstats) | **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* | [**updateOutput**](docs/OutputsAPI.md#updateoutput) | **PATCH** /span/collections/{existingCollectionId}/outputs/{outputId} | Update output\n*SpanAPI* | [**getSystemInfo**](docs/SpanAPI.md#getsysteminfo) | **GET** /span/system | System information\n\n\n## Documentation For Models\n\n - [ActivityEvent](docs/ActivityEvent.md)\n - [AddDownstreamMessageBody](docs/AddDownstreamMessageBody.md)\n - [AssignTargetImageResponse](docs/AssignTargetImageResponse.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 - [CreateLabeledFirmwareResponse](docs/CreateLabeledFirmwareResponse.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 - [DeviceImageState](docs/DeviceImageState.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 - [GatewayCIoTConfig](docs/GatewayCIoTConfig.md)\n - [GatewayCertificateResponse](docs/GatewayCertificateResponse.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 - [GetImageStateResponse](docs/GetImageStateResponse.md)\n - [ImageState](docs/ImageState.md)\n - [ImageVersionEntry](docs/ImageVersionEntry.md)\n - [InetMetadata](docs/InetMetadata.md)\n - [LabeledFirmware](docs/LabeledFirmware.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 - [ListImageStatesResponse](docs/ListImageStatesResponse.md)\n - [ListImageVersionHistoryResponse](docs/ListImageVersionHistoryResponse.md)\n - [ListLabeledFirmwareResponse](docs/ListLabeledFirmwareResponse.md)\n - [ListOutputResponse](docs/ListOutputResponse.md)\n - [ListUpstreamMessagesResponse](docs/ListUpstreamMessagesResponse.md)\n - [MQTTMetadata](docs/MQTTMetadata.md)\n - [MessageDownstream](docs/MessageDownstream.md)\n - [MessageState](docs/MessageState.md)\n - [MessageTransport](docs/MessageTransport.md)\n - [MessageUpstream](docs/MessageUpstream.md)\n - [ModelAny](docs/ModelAny.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 - [RpcStatus](docs/RpcStatus.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\n## Documentation For Authorization\n\n\n## APIToken\n\n- **Type**: API key\n- **API key parameter name**: X-API-Token\n- **Location**: HTTP header\n\n\n## Author\n\ndev@lab5e.com\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flab5e%2Fswift-spanapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flab5e%2Fswift-spanapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flab5e%2Fswift-spanapi/lists"}