Add-ons
Add-ons define features or top-ups that can be used to extend the functionality offered to the end user through their subscription's plan.
Properties
- Name
- object
- Type
- string
- Description
Type of object is always
addon.Allowed values:addon
- Name
- id
- Type
- string
- Description
Unique identifier for the add-on.
Example:"add_0SNlurA049MEWV4VxLfwJc7PJtHc"
- Name
- metadata
- Type
- Metadata
- Description
A set of key-value pairs, to store metadata related to the resource.
- Name
- activationTrigger
- Type
- string
- Description
Indicates when a subscription add-on will take effect.
creation: As soon as it is created. The user does not need to take any further action.networkLatch: When the user's data session ends, which can be forced by power cycling the device.
Example:"creation"Allowed values:creationnetworkLatch
- Name
- allowances
- Type
- Allowances
- Description
- The allowances included in the add-on.
- Name
- dataBytes
- Type
- nullable integer
- Description
The data allowance in bytes. A value of
nullindicates unlimited data.Example:10000000000
- Name
- voiceSeconds
- Type
- nullable integer
- Description
The voice call allowance in seconds. A value of
nullindicates unlimited calls.Example:30000
- Name
- smsMessages
- Type
- nullable integer
- Description
The SMS allowance in messages. A value of
nullindicates unlimited SMS.Example:100
- Name
- createdAt
- Type
- string
- Description
Time when the add-on was created .
Example:"2021-01-21T19:12:28Z"
- Name
- description
- Type
- nullable string
- Description
The description of the add-on.
Example:"Disable international roaming."
- Name
- name
- Type
- string
- Description
Name for the add-on.
Example:"1GB Data Top-up"
- Name
- plans
- Type
- array
- Description
The plans this add-on is compatible with.
- Name
- price
- Type
- Price
- Description
- The price of the add-on.
- Name
- amount
- Type
- integer
- Description
The price amount in the currency's minor unit, e.g. "cents" for many currencies.
Example:999>= 0
- Name
- currency
- Type
- string
- Description
Three-letter ISO 4217 currency code. Must be a supported currency.
Example:"USD"
- Name
- provider
- Type
- string
- Description
The ID of the network provider supported by this add-on.
Example:"p5"
- Name
- recurrenceType
- Type
- string
- Description
The recurrence type the add-on.
Example:"oneTime"Allowed values:oneTimerecurring
- Name
- status
- Type
- string
- Description
The current status of the add-on.
Allowed values:draftavailablearchived
- Name
- type
- Type
- string
- Description
The type of the add-on.
Example:"topUp"Allowed values:topUpother
- Name
- validity
- Type
- nullable object
- Description
- Add-ons currently don't support setting a validity so instead always inherit the validity of the subscribed plan.
- Name
- unit
- Type
- string
- Description
The time unit of the add-on, either
dayormonth.Allowed values:daymonth
- Name
- value
- Type
- integer
- Description
The amount of units (specified in the
unitproperty).Example:7>= 1
Example
{
"object": "addon",
"id": "add_0SNlurA049MEWV4VxLfwJc7PJtHc",
"metadata": {},
"activationTrigger": "creation",
"allowances": {
"dataBytes": 10000000000,
"voiceSeconds": 30000,
"smsMessages": 100
},
"createdAt": "2021-01-21T19:12:28.0Z",
"description": "Disable international roaming.",
"name": "1GB Data Top-up",
"plans": [
"pln_0SNlurA049MEWV3V0q7gjQbM4EVo"
],
"price": {
"amount": 999,
"currency": "USD"
},
"provider": "p5",
"recurrenceType": "oneTime",
"status": "draft",
"type": "topUp",
"validity": {
"unit": "day",
"value": 7
},
"data": 10000000000,
"dataUnit": "byte",
"sms": 100,
"smsUnit": "message",
"voice": 30000,
"voiceUnit": "second"
}
List all add-ons
List add-ons. By default only add-ons with a status of 'available' are returned.
Path Parameters
- Name
- project
- Type
- string
- Description
The unique identifier for the project.
Example:"gigs"
required
Query Parameters
- Name
- after
- Type
- string
- Description
A cursor for use in pagination. The
afterparameter takes an object ID that defines the position in the list, only items immediately following the item with that ID will be returned.
- Name
- before
- Type
- string
- Description
A cursor for use in pagination. The
beforeparameter takes an object ID that defines the position in the list, only items immediately preceding the item with that ID will be returned.
- Name
- limit
- Type
- integer
- Description
The limit of items to be returned in the list, between 0 and 200.
Default:10>= 0<= 200
- Name
- provider
- Type
- string
- Description
The provider of the add-on to be filtered by.
Example:"p4"
- Name
- plan
- Type
- string
- Description
Limit the list of add-ons to those compatible with the given plan id.
Example:"pln_0SNlurA049MEWV3V0q7gjQbM4EVo"
- Name
- status
- Type
- string
- Description
The status of the add-on to be filtered by.
Example:"available"
- Name
- type
- Type
- string
- Description
The type of the add-on to be filtered by.
Example:"topUp"
- Name
- recurrenceType
- Type
- string
- Description
The recurrence type of the add-on to be filtered by.
Example:"oneTime"
Responses
Returns a dictionary with an items property that contains an array of add-ons.
- Name
- object
- Type
- string
- Description
Type of object is always
list.Allowed values:list
- Name
- items
- Type
- array
- Description
- List of objects of type `addon`.
- Name
- moreItemsAfter
- Type
- nullable string
- Description
A unique identifier to be used as
afterpagination parameter if more items are available sorted after the current batch of items.
- Name
- moreItemsBefore
- Type
- nullable string
- Description
A unique identifier to be used as
beforepagination parameter if more items are available sorted before the current batch of items.
Request
curl https://api.gigs.com/projects/${GIGS_PROJECT}/addons \
-X GET \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${GIGS_TOKEN}" \
-H "Accept: application/json"
Responses
{
"object": "list",
"items": [
{
"object": "addon",
"id": "add_0SNlurA049MEWV4VxLfwJc7PJtHc",
"metadata": {},
"activationTrigger": "creation",
"allowances": {
"dataBytes": 10000000000,
"voiceSeconds": 30000,
"smsMessages": 100
},
"createdAt": "2021-01-21T19:12:28Z",
"description": "Disable international roaming.",
"name": "1GB Data Top-up",
"plans": [
"pln_0SNlurA049MEWV3V0q7gjQbM4EVo"
],
"price": {
"amount": 999,
"currency": "USD"
},
"provider": "p5",
"recurrenceType": "oneTime",
"status": "draft",
"type": "topUp",
"validity": {
"unit": "day",
"value": 7
},
"data": 10000000000,
"dataUnit": "byte",
"sms": 100,
"smsUnit": "message",
"voice": 30000,
"voiceUnit": "second"
}
],
"moreItemsAfter": null,
"moreItemsBefore": null
}
Retrieve an add-on
Retrieves the details of an existing add-on.
Path Parameters
- Name
- project
- Type
- string
- Description
The unique identifier for the project.
Example:"gigs"
required- Name
- addon
- Type
- string
- Description
The unique identifier for the add-on.
Example:"add_0SNlurA049MEWV4VxLfwJc7PJtHc"
required
Responses
Returns the add-on object if it exists.
- Name
- object
- Type
- string
- Description
Type of object is always
addon.Allowed values:addon
- Name
- id
- Type
- string
- Description
Unique identifier for the add-on.
Example:"add_0SNlurA049MEWV4VxLfwJc7PJtHc"
- Name
- metadata
- Type
- Metadata
- Description
A set of key-value pairs, to store metadata related to the resource.
- Name
- activationTrigger
- Type
- string
- Description
Indicates when a subscription add-on will take effect.
creation: As soon as it is created. The user does not need to take any further action.networkLatch: When the user's data session ends, which can be forced by power cycling the device.
Example:"creation"Allowed values:creationnetworkLatch
- Name
- allowances
- Type
- Allowances
- Description
- The allowances included in the add-on.
- Name
- dataBytes
- Type
- nullable integer
- Description
The data allowance in bytes. A value of
nullindicates unlimited data.Example:10000000000
- Name
- voiceSeconds
- Type
- nullable integer
- Description
The voice call allowance in seconds. A value of
nullindicates unlimited calls.Example:30000
- Name
- smsMessages
- Type
- nullable integer
- Description
The SMS allowance in messages. A value of
nullindicates unlimited SMS.Example:100
- Name
- createdAt
- Type
- string
- Description
Time when the add-on was created .
Example:"2021-01-21T19:12:28Z"
- Name
- description
- Type
- nullable string
- Description
The description of the add-on.
Example:"Disable international roaming."
- Name
- name
- Type
- string
- Description
Name for the add-on.
Example:"1GB Data Top-up"
- Name
- plans
- Type
- array
- Description
The plans this add-on is compatible with.
- Name
- price
- Type
- Price
- Description
- The price of the add-on.
- Name
- amount
- Type
- integer
- Description
The price amount in the currency's minor unit, e.g. "cents" for many currencies.
Example:999>= 0
- Name
- currency
- Type
- string
- Description
Three-letter ISO 4217 currency code. Must be a supported currency.
Example:"USD"
- Name
- provider
- Type
- string
- Description
The ID of the network provider supported by this add-on.
Example:"p5"
- Name
- recurrenceType
- Type
- string
- Description
The recurrence type the add-on.
Example:"oneTime"Allowed values:oneTimerecurring
- Name
- status
- Type
- string
- Description
The current status of the add-on.
Allowed values:draftavailablearchived
- Name
- type
- Type
- string
- Description
The type of the add-on.
Example:"topUp"Allowed values:topUpother
- Name
- validity
- Type
- nullable object
- Description
- Add-ons currently don't support setting a validity so instead always inherit the validity of the subscribed plan.
- Name
- unit
- Type
- string
- Description
The time unit of the add-on, either
dayormonth.Allowed values:daymonth
- Name
- value
- Type
- integer
- Description
The amount of units (specified in the
unitproperty).Example:7>= 1
Request
curl https://api.gigs.com/projects/${GIGS_PROJECT}/addons/{addon} \
-X GET \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${GIGS_TOKEN}" \
-H "Accept: application/json"
Response
{
"object": "addon",
"id": "add_0SNlurA049MEWV4VxLfwJc7PJtHc",
"metadata": {},
"activationTrigger": "creation",
"allowances": {
"dataBytes": 10000000000,
"voiceSeconds": 30000,
"smsMessages": 100
},
"createdAt": "2021-01-21T19:12:28Z",
"description": "Disable international roaming.",
"name": "1GB Data Top-up",
"plans": [
"pln_0SNlurA049MEWV3V0q7gjQbM4EVo"
],
"price": {
"amount": 999,
"currency": "USD"
},
"provider": "p5",
"recurrenceType": "oneTime",
"status": "draft",
"type": "topUp",
"validity": {
"unit": "day",
"value": 7
},
"data": 10000000000,
"dataUnit": "byte",
"sms": 100,
"smsUnit": "message",
"voice": 30000,
"voiceUnit": "second"
}
Update an add-on
Updates an add-on's name and description.
Body
- Name
- name
- Type
- nullable string
- Description
The name of the add-on, meant to be displayable to users.
Example:"1GB Data Top-up"
- Name
- description
- Type
- nullable string
- Description
The description of the add-on.
Example:"Disable international roaming."
- Name
- metadata
- Type
- Metadata
- Description
A set of key-value pairs, to store metadata related to the resource.
Path Parameters
- Name
- project
- Type
- string
- Description
The unique identifier for the project.
Example:"gigs"
required- Name
- addon
- Type
- string
- Description
The unique identifier for the add-on.
Example:"add_0SNlurA049MEWV4VxLfwJc7PJtHc"
required
Responses
Returns the updated add-on.
- Name
- object
- Type
- string
- Description
Type of object is always
addon.Allowed values:addon
- Name
- id
- Type
- string
- Description
Unique identifier for the add-on.
Example:"add_0SNlurA049MEWV4VxLfwJc7PJtHc"
- Name
- metadata
- Type
- Metadata
- Description
A set of key-value pairs, to store metadata related to the resource.
- Name
- activationTrigger
- Type
- string
- Description
Indicates when a subscription add-on will take effect.
creation: As soon as it is created. The user does not need to take any further action.networkLatch: When the user's data session ends, which can be forced by power cycling the device.
Example:"creation"Allowed values:creationnetworkLatch
- Name
- allowances
- Type
- Allowances
- Description
- The allowances included in the add-on.
- Name
- dataBytes
- Type
- nullable integer
- Description
The data allowance in bytes. A value of
nullindicates unlimited data.Example:10000000000
- Name
- voiceSeconds
- Type
- nullable integer
- Description
The voice call allowance in seconds. A value of
nullindicates unlimited calls.Example:30000
- Name
- smsMessages
- Type
- nullable integer
- Description
The SMS allowance in messages. A value of
nullindicates unlimited SMS.Example:100
- Name
- createdAt
- Type
- string
- Description
Time when the add-on was created .
Example:"2021-01-21T19:12:28Z"
- Name
- description
- Type
- nullable string
- Description
The description of the add-on.
Example:"Disable international roaming."
- Name
- name
- Type
- string
- Description
Name for the add-on.
Example:"1GB Data Top-up"
- Name
- plans
- Type
- array
- Description
The plans this add-on is compatible with.
- Name
- price
- Type
- Price
- Description
- The price of the add-on.
- Name
- amount
- Type
- integer
- Description
The price amount in the currency's minor unit, e.g. "cents" for many currencies.
Example:999>= 0
- Name
- currency
- Type
- string
- Description
Three-letter ISO 4217 currency code. Must be a supported currency.
Example:"USD"
- Name
- provider
- Type
- string
- Description
The ID of the network provider supported by this add-on.
Example:"p5"
- Name
- recurrenceType
- Type
- string
- Description
The recurrence type the add-on.
Example:"oneTime"Allowed values:oneTimerecurring
- Name
- status
- Type
- string
- Description
The current status of the add-on.
Allowed values:draftavailablearchived
- Name
- type
- Type
- string
- Description
The type of the add-on.
Example:"topUp"Allowed values:topUpother
- Name
- validity
- Type
- nullable object
- Description
- Add-ons currently don't support setting a validity so instead always inherit the validity of the subscribed plan.
- Name
- unit
- Type
- string
- Description
The time unit of the add-on, either
dayormonth.Allowed values:daymonth
- Name
- value
- Type
- integer
- Description
The amount of units (specified in the
unitproperty).Example:7>= 1
Request
curl https://api.gigs.com/projects/${GIGS_PROJECT}/addons/{addon} \
-X PATCH \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${GIGS_TOKEN}" \
-H "Accept: application/json" \
-d "{\"name\":\"1GB Data Top-up\",\"description\":\"Disable international roaming.\",\"metadata\":{}}"
Response
{
"object": "addon",
"id": "add_0SNlurA049MEWV4VxLfwJc7PJtHc",
"metadata": {},
"activationTrigger": "creation",
"allowances": {
"dataBytes": 10000000000,
"voiceSeconds": 30000,
"smsMessages": 100
},
"createdAt": "2021-01-21T19:12:28Z",
"description": "Disable international roaming.",
"name": "1GB Data Top-up",
"plans": [
"pln_0SNlurA049MEWV3V0q7gjQbM4EVo"
],
"price": {
"amount": 999,
"currency": "USD"
},
"provider": "p5",
"recurrenceType": "oneTime",
"status": "draft",
"type": "topUp",
"validity": {
"unit": "day",
"value": 7
},
"data": 10000000000,
"dataUnit": "byte",
"sms": 100,
"smsUnit": "message",
"voice": 30000,
"voiceUnit": "second"
}
Archive an add-on
Set the status of an add-on to archived. An archived add-on can not be added to subscriptions.
Path Parameters
- Name
- project
- Type
- string
- Description
The unique identifier for the project.
Example:"gigs"
required- Name
- addon
- Type
- string
- Description
The unique identifier for the add-on.
Example:"add_0SNlurA049MEWV4VxLfwJc7PJtHc"
required
Responses
Returns the archived add-on.
- Name
- object
- Type
- string
- Description
Type of object is always
addon.Allowed values:addon
- Name
- id
- Type
- string
- Description
Unique identifier for the add-on.
Example:"add_0SNlurA049MEWV4VxLfwJc7PJtHc"
- Name
- metadata
- Type
- Metadata
- Description
A set of key-value pairs, to store metadata related to the resource.
- Name
- activationTrigger
- Type
- string
- Description
Indicates when a subscription add-on will take effect.
creation: As soon as it is created. The user does not need to take any further action.networkLatch: When the user's data session ends, which can be forced by power cycling the device.
Example:"creation"Allowed values:creationnetworkLatch
- Name
- allowances
- Type
- Allowances
- Description
- The allowances included in the add-on.
- Name
- dataBytes
- Type
- nullable integer
- Description
The data allowance in bytes. A value of
nullindicates unlimited data.Example:10000000000
- Name
- voiceSeconds
- Type
- nullable integer
- Description
The voice call allowance in seconds. A value of
nullindicates unlimited calls.Example:30000
- Name
- smsMessages
- Type
- nullable integer
- Description
The SMS allowance in messages. A value of
nullindicates unlimited SMS.Example:100
- Name
- createdAt
- Type
- string
- Description
Time when the add-on was created .
Example:"2021-01-21T19:12:28Z"
- Name
- description
- Type
- nullable string
- Description
The description of the add-on.
Example:"Disable international roaming."
- Name
- name
- Type
- string
- Description
Name for the add-on.
Example:"1GB Data Top-up"
- Name
- plans
- Type
- array
- Description
The plans this add-on is compatible with.
- Name
- price
- Type
- Price
- Description
- The price of the add-on.
- Name
- amount
- Type
- integer
- Description
The price amount in the currency's minor unit, e.g. "cents" for many currencies.
Example:999>= 0
- Name
- currency
- Type
- string
- Description
Three-letter ISO 4217 currency code. Must be a supported currency.
Example:"USD"
- Name
- provider
- Type
- string
- Description
The ID of the network provider supported by this add-on.
Example:"p5"
- Name
- recurrenceType
- Type
- string
- Description
The recurrence type the add-on.
Example:"oneTime"Allowed values:oneTimerecurring
- Name
- status
- Type
- string
- Description
The current status of the add-on.
Allowed values:draftavailablearchived
- Name
- type
- Type
- string
- Description
The type of the add-on.
Example:"topUp"Allowed values:topUpother
- Name
- validity
- Type
- nullable object
- Description
- Add-ons currently don't support setting a validity so instead always inherit the validity of the subscribed plan.
- Name
- unit
- Type
- string
- Description
The time unit of the add-on, either
dayormonth.Allowed values:daymonth
- Name
- value
- Type
- integer
- Description
The amount of units (specified in the
unitproperty).Example:7>= 1
Request
curl https://api.gigs.com/projects/${GIGS_PROJECT}/addons/{addon}/archive \
-X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${GIGS_TOKEN}" \
-H "Accept: application/json"
Response
{
"object": "addon",
"id": "add_0SNlurA049MEWV4VxLfwJc7PJtHc",
"metadata": {},
"activationTrigger": "creation",
"allowances": {
"dataBytes": 10000000000,
"voiceSeconds": 30000,
"smsMessages": 100
},
"createdAt": "2021-01-21T19:12:28Z",
"description": "Disable international roaming.",
"name": "1GB Data Top-up",
"plans": [
"pln_0SNlurA049MEWV3V0q7gjQbM4EVo"
],
"price": {
"amount": 999,
"currency": "USD"
},
"provider": "p5",
"recurrenceType": "oneTime",
"status": "draft",
"type": "topUp",
"validity": {
"unit": "day",
"value": 7
},
"data": 10000000000,
"dataUnit": "byte",
"sms": 100,
"smsUnit": "message",
"voice": 30000,
"voiceUnit": "second"
}
Publish an add-on
Set the status of an add-on to available. Available add-ons can be added to subscriptions.
Path Parameters
- Name
- project
- Type
- string
- Description
The unique identifier for the project.
Example:"gigs"
required- Name
- addon
- Type
- string
- Description
The unique identifier for the add-on.
Example:"add_0SNlurA049MEWV4VxLfwJc7PJtHc"
required
Responses
Returns the available add-on.
- Name
- object
- Type
- string
- Description
Type of object is always
addon.Allowed values:addon
- Name
- id
- Type
- string
- Description
Unique identifier for the add-on.
Example:"add_0SNlurA049MEWV4VxLfwJc7PJtHc"
- Name
- metadata
- Type
- Metadata
- Description
A set of key-value pairs, to store metadata related to the resource.
- Name
- activationTrigger
- Type
- string
- Description
Indicates when a subscription add-on will take effect.
creation: As soon as it is created. The user does not need to take any further action.networkLatch: When the user's data session ends, which can be forced by power cycling the device.
Example:"creation"Allowed values:creationnetworkLatch
- Name
- allowances
- Type
- Allowances
- Description
- The allowances included in the add-on.
- Name
- dataBytes
- Type
- nullable integer
- Description
The data allowance in bytes. A value of
nullindicates unlimited data.Example:10000000000
- Name
- voiceSeconds
- Type
- nullable integer
- Description
The voice call allowance in seconds. A value of
nullindicates unlimited calls.Example:30000
- Name
- smsMessages
- Type
- nullable integer
- Description
The SMS allowance in messages. A value of
nullindicates unlimited SMS.Example:100
- Name
- createdAt
- Type
- string
- Description
Time when the add-on was created .
Example:"2021-01-21T19:12:28Z"
- Name
- description
- Type
- nullable string
- Description
The description of the add-on.
Example:"Disable international roaming."
- Name
- name
- Type
- string
- Description
Name for the add-on.
Example:"1GB Data Top-up"
- Name
- plans
- Type
- array
- Description
The plans this add-on is compatible with.
- Name
- price
- Type
- Price
- Description
- The price of the add-on.
- Name
- amount
- Type
- integer
- Description
The price amount in the currency's minor unit, e.g. "cents" for many currencies.
Example:999>= 0
- Name
- currency
- Type
- string
- Description
Three-letter ISO 4217 currency code. Must be a supported currency.
Example:"USD"
- Name
- provider
- Type
- string
- Description
The ID of the network provider supported by this add-on.
Example:"p5"
- Name
- recurrenceType
- Type
- string
- Description
The recurrence type the add-on.
Example:"oneTime"Allowed values:oneTimerecurring
- Name
- status
- Type
- string
- Description
The current status of the add-on.
Allowed values:draftavailablearchived
- Name
- type
- Type
- string
- Description
The type of the add-on.
Example:"topUp"Allowed values:topUpother
- Name
- validity
- Type
- nullable object
- Description
- Add-ons currently don't support setting a validity so instead always inherit the validity of the subscribed plan.
- Name
- unit
- Type
- string
- Description
The time unit of the add-on, either
dayormonth.Allowed values:daymonth
- Name
- value
- Type
- integer
- Description
The amount of units (specified in the
unitproperty).Example:7>= 1
Request
curl https://api.gigs.com/projects/${GIGS_PROJECT}/addons/{addon}/publish \
-X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${GIGS_TOKEN}" \
-H "Accept: application/json"
Response
{
"object": "addon",
"id": "add_0SNlurA049MEWV4VxLfwJc7PJtHc",
"metadata": {},
"activationTrigger": "creation",
"allowances": {
"dataBytes": 10000000000,
"voiceSeconds": 30000,
"smsMessages": 100
},
"createdAt": "2021-01-21T19:12:28Z",
"description": "Disable international roaming.",
"name": "1GB Data Top-up",
"plans": [
"pln_0SNlurA049MEWV3V0q7gjQbM4EVo"
],
"price": {
"amount": 999,
"currency": "USD"
},
"provider": "p5",
"recurrenceType": "oneTime",
"status": "draft",
"type": "topUp",
"validity": {
"unit": "day",
"value": 7
},
"data": 10000000000,
"dataUnit": "byte",
"sms": 100,
"smsUnit": "message",
"voice": 30000,
"voiceUnit": "second"
}