Purchased plans​
Gets plans that are available for a user (already purchased or allocated)
Authorizations​
API Key for authentication. Retrieval from either API version login routes, or other authentication token type. See Authentication for more details.
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."Parameters​
Query Parameters
Filter by plans that have already been consumed by devices or not
Filter by device ID, multiple device IDs can be passed as a comma separated list
Filter by consumedOn start date
Filter by consumedOn end date
Filter by plan id, multiple plan IDs can be passed as a comma separated list
Limit for pagination, default 10, max 10000
Page for pagination
Sort by this field
Sort in this direction (asc, desc)
Include additional data
Request example
Responses​
OK
Try this endpoint
Playground​
Authorization
Variables
OpenAPI definition ​
References are expanded below, except recursive definitions and references with sibling fields. Documentation overrides are included. Full original OpenAPI spec (JSON).
View endpoint OpenAPI definition
info:
title: Lightbug API
version: '2'
externalDocs:
description: ''
url: ''
openapi: 3.1.0
servers:
- url: https://api.lightbug.cloud/v2
security:
- ApiKeyAuth: []
tags: []
paths:
/users/plans:
get:
description: Gets plans that are available for a user (already purchased or allocated)
parameters:
- description: Filter by plans that have already been consumed by devices or not
in: query
name: consumed
schema:
type: boolean
- description: Filter by device ID, multiple device IDs can be passed as a comma separated list
in: query
name: deviceId
schema:
type: string
- description: Filter by consumedOn start date
in: query
name: consumedSince
schema:
type: string
- description: Filter by consumedOn end date
in: query
name: consumedUntil
schema:
type: string
- description: Filter by plan id, multiple plan IDs can be passed as a comma separated list
in: query
name: planId
schema:
type: integer
- description: Limit for pagination, default 10, max 10000
in: query
name: _limit
schema:
type: integer
- description: Page for pagination
in: query
name: _page
schema:
type: integer
- description: Sort by this field
in: query
name: _sort
schema:
type: string
- description: Sort in this direction (asc, desc)
in: query
name: _direction
schema:
type: string
- description: Include additional data
in: query
name: _include
schema:
items:
enum:
- plan
type: string
type: array
responses:'200':
content:
application/json:
schema:
properties:
data:
description: Paginated data
items:
properties:
consumedByDeviceId:
description: |-
DEPRECATED, i favour of deviceId
Will continue being returned until at least Mid 2025
type: integer
consumedOn:
description: Date the plan has been consumed, if null then it has not been consumed
type: string
creditRemainingDays:
description: |-
If the plan is removed, should the remaining days be credited back to the user account?
Often the case when plan upgrades have happened
type: boolean
deviceId:
description: The device that has consumed the plan, if it has been consumed
type: integer
id:
type: integer
needsPayment:
description: |-
Flag recording if payment may still be needed for this ordered plan
It may have been assigned before payment, such as for resellers
type: boolean
orderId:
description: Order that the plan is associated with, if already paid via a regular order
type: integer
plan:
description: Details of the plan.
properties:
description:
type: string
displayName:
type: string
features:
type: string
id:
type: integer
name:
type: string
onoWhitelistId:
description: |-
Connectivity *string `json:"connectivity"`
Group string `json:"group"`
ResellerID *int32 `json:"resellerId"`
ResellerPlanID *int32 `json:"resellerPlanId"`
Archived *int32 `json:"archived"`
PlanType string `json:"planType"`
type: integer
prices:
properties:
eur:
description: 'breaks: example:"[0,1.99],[10,1.89]"` // Array of quantity to price in EUR'
items:
items:
type: number
type: array
type: array
uniqueItems: false
gbp:
description: 'breaks: example:"[1,2.34],[10,2.22]"` // Array of quantity to price in GBP'
items:
items:
type: number
type: array
type: array
uniqueItems: false
tax:
$ref: '#/components/schemas/ProductPricing'
usd:
description: 'breaks: example:"[1,4.35],[10,4.26]"` // Array of quantity to price in USD'
items:
items:
type: number
type: array
type: array
uniqueItems: false
type: object
sku:
type: string
sleepLimit:
type: integer
wakeLimit:
description: |-
Term string `json:"term"`
Price float64 `json:"price"`
Currency string `json:"currency"`
OwnerID int32 `json:"ownerId"`
type: integer
type: object
planId:
description: Plan that has been ordered
type: integer
removedOn:
description: |-
Date the plan has been removed from a device, can be used to detect partially consumed plans
This might also just be the end of the month
type: string
userId:
description: User that has ordered the plan
type: integer
type: object
type: array
uniqueItems: false
limit:
description: Requested elements per page
type: integer
page:
description: Requested page number
type: integer
totalElements:
description: Total elements in the database for given filters
type: integer
totalPages:
description: Total pages of elements given limit and filters
type: integer
type: object
description: OK'400':
content:
application/json:
schema:
properties:
code:
example: 400
type: integer
message:
example: status bad request
type: string
type: object
description: Bad Request'401':
content:
application/json:
schema:
properties:
code:
example: 400
type: integer
message:
example: status bad request
type: string
type: object
description: Unauthorized'429':
content:
application/json:
schema:
type: string
description: Limit exceeded
headers:
X-Ratelimit-Limit:
schema:
type: integer
X-Ratelimit-Remaining:
schema:
type: integer
X-Ratelimit-Reset:
schema:
type: integer security:
- ApiKeyAuth: []
summary: Purchased plans
tags:
- plans
operationId: get-users-plans
components:
securitySchemes:
ApiKeyAuth:
in: header
name: Authorization
type: apiKey
description: API Key for authentication. Retrieval from either API version login routes, or other authentication token type. See <a href='/apis/authentication'>Authentication</a> for more details.
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
schemas:
ProductPricing:
properties:
eur:
description: 'breaks: example:"[0,1.99],[10,1.89]"` // Array of quantity to price in EUR'
items:
items:
type: number
type: array
type: array
uniqueItems: false
gbp:
description: 'breaks: example:"[1,2.34],[10,2.22]"` // Array of quantity to price in GBP'
items:
items:
type: number
type: array
type: array
uniqueItems: false
tax:
$ref: '#/components/schemas/ProductPricing'
usd:
description: 'breaks: example:"[1,4.35],[10,4.26]"` // Array of quantity to price in USD'
items:
items:
type: number
type: array
type: array
uniqueItems: false
type: object