Plans
Plans define the network options and parameters offered to the end user, e.g. 'Unlimited data, voice & text'. Plan allowances (data, sms, voice) and limits are configurable, and Gigs will work with you to find the best balance for your users.
Properties
- Name
- object
- Type
- string
- Description
Type of object is always
plan.Allowed values:plan
- Name
- id
- Type
- string
- Description
Unique identifier for the plan.
Example:"pln_0SNlurA049MEWV3V0q7gjQbM4EVo"
- Name
- metadata
- Type
- Metadata
- Description
A set of key-value pairs, to store metadata related to the resource.
- Name
- allowances
- Type
- Allowances
- Description
- Usage allowances included in the plan - i.e. how many bytes of data, voice minutes & sms messages the user has access to.
- 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
- coverage
- Type
- Coverage
- Description
- The geographic coverage of the plan.
- Name
- createdAt
- Type
- string
- Description
Time when the plan was created.
Example:"2021-01-21T19:38:34Z"
- Name
- description
- Type
- nullable string
- Description
The plan's description, meant to be displayable to the users.
Example:"A data plan you will love! Operates in most countries of the world."
- Name
- image
- Type
- nullable string
- Description
The plan's image, meant to be displayable to the users.
Example:"https://i.gigscdn.com/pr/nTZpgaEj5dTQ2Jo/original.png"
- Name
- limits
- Type
- Limits
- Description
- Usage limits for the plan - i.e. the maximum available bandwidth, fair-use data limits and throttling threshold.
- Name
- dataBytes
- Type
- nullable integer
- Description
The maximum amount of data that can be used in bytes. A value of
nullindicates unlimited data.Example:100000000000
- Name
- bandwidthBitsPerSecond
- Type
- nullable integer
- Description
The maximum bandwidth in bits per second. A value of
nullindicates the maximum bandwidth this network allows.Example:100000000
- Name
- throttling
- Type
- nullable object
- Description
- The throttling configuration for the plan, if any.
- Name
- name
- Type
- string
- Description
The plan's name, meant to be displayable to the users.
Example:"Gigs Global"
- Name
- price
- Type
- Price
- Description
- The price of the plan.
- 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 plan.
Example:"p5"
- Name
- requirements
- Type
- object
- Description
- Required information that must be collected from the user in order to create a subscription with this plan.
- Name
- simTypes
- Type
- array
- Description
List of SIM types supported by this plan. Can be
eSIM,pSIM, or both.Example:["eSIM","pSIM"]
- Name
- status
- Type
- string
- Description
- Allowed values:
availablearchivedpendingdraft
- Name
- validity
- Type
- Validity
- Description
- Plan validity information - i.e. subscription period length, and the minimum number of periods before the plan can be ended.
Example
{
"object": "plan",
"id": "pln_0SNlurA049MEWV3V0q7gjQbM4EVo",
"metadata": {},
"allowances": {
"dataBytes": 10000000000,
"voiceSeconds": 30000,
"smsMessages": 100
},
"coverage": {
"object": "coverage",
"id": "de",
"countries": [
"DE",
"FR",
"US"
],
"name": "Europe"
},
"createdAt": "2021-01-21T19:38:34.0Z",
"description": "A data plan you will love! Operates in most countries of the world.",
"image": "https://i.gigscdn.com/pr/nTZpgaEj5dTQ2Jo/original.png",
"limits": {
"dataBytes": 100000000000,
"bandwidthBitsPerSecond": 100000000,
"throttling": {
"thresholdBytes": 10000000000,
"bandwidthBitsPerSecond": 512000
}
},
"name": "Gigs Global",
"price": {
"amount": 999,
"currency": "USD"
},
"provider": "p5",
"requirements": {
"address": "present",
"device": "none",
"user.birthday": "none",
"user.fullName": "present"
},
"simTypes": [
"eSIM",
"pSIM"
],
"status": "available",
"validity": {
"minimumPeriods": 12,
"type": "recurring",
"unit": "day",
"value": 7
},
"data": 10000000000,
"dataUnit": "byte",
"sms": 100,
"smsUnit": "message",
"voice": 30000,
"voiceUnit": "second"
}
List all plans
Returns a list of plans.
Path Parameters
- Name
- project
- Type
- string
- Description
The unique identifier for the project.
Example:"gigs"
required
Query Parameters
- Name
- provider
- Type
- array
- Description
The network provider ID to filter the plans by.
- Name
- simType
- Type
- array
- Description
The type of SIM card to filter the plans by.
Default:eSIM,pSIM
- Name
- status
- Type
- array
- Description
The status to filter the plans by. Only available plans are returned by default.
Default:available
- Name
- coverageCountry
- Type
- array
- Description
The ISO3166 alpha-2 country code to filter the plans by.
- 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
Responses
Returns a list of plan objects.
- Name
- object
- Type
- string
- Description
Type of object is always
list.Allowed values:list
- Name
- items
- Type
- array
- Description
- List of objects of type `plan`.
- 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}/plans \
-X GET \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${GIGS_TOKEN}" \
-H "Accept: application/json"
Responses
{
"object": "list",
"items": [
{
"object": "plan",
"id": "pln_0SNlurA049MEWV3V0q7gjQbM4EVo",
"metadata": {},
"allowances": {
"dataBytes": 10000000000,
"voiceSeconds": 30000,
"smsMessages": 100
},
"coverage": {
"object": "coverage",
"id": "de",
"countries": [
"DE",
"FR",
"US"
],
"name": "Europe"
},
"createdAt": "2021-01-21T19:38:34Z",
"description": "A data plan you will love! Operates in most countries of the world.",
"image": "https://i.gigscdn.com/pr/nTZpgaEj5dTQ2Jo/original.png",
"limits": {
"dataBytes": 100000000000,
"bandwidthBitsPerSecond": 100000000,
"throttling": {
"thresholdBytes": 10000000000,
"bandwidthBitsPerSecond": 512000
}
},
"name": "Gigs Global",
"price": {
"amount": 999,
"currency": "USD"
},
"provider": "p5",
"requirements": {
"address": "present",
"device": "none",
"user.birthday": "none",
"user.fullName": "present"
},
"simTypes": [
"eSIM",
"pSIM"
],
"status": "available",
"validity": {
"minimumPeriods": 12,
"type": "recurring",
"unit": "day",
"value": 7
},
"data": 10000000000,
"dataUnit": "byte",
"sms": 100,
"smsUnit": "message",
"voice": 30000,
"voiceUnit": "second"
}
],
"moreItemsAfter": null,
"moreItemsBefore": null
}
Retrieve a plan
Retrieve the details of an existing plan.
Path Parameters
- Name
- project
- Type
- string
- Description
The unique identifier for the project.
Example:"gigs"
required- Name
- plan
- Type
- string
- Description
The unique identifier for the plan.
Example:"pln_0SNlurA049MEWV3V0q7gjQbM4EVo"
required
Responses
Returns the plan if it exists.
- Name
- object
- Type
- string
- Description
Type of object is always
plan.Allowed values:plan
- Name
- id
- Type
- string
- Description
Unique identifier for the plan.
Example:"pln_0SNlurA049MEWV3V0q7gjQbM4EVo"
- Name
- metadata
- Type
- Metadata
- Description
A set of key-value pairs, to store metadata related to the resource.
- Name
- allowances
- Type
- Allowances
- Description
- Usage allowances included in the plan - i.e. how many bytes of data, voice minutes & sms messages the user has access to.
- 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
- coverage
- Type
- Coverage
- Description
- The geographic coverage of the plan.
- Name
- createdAt
- Type
- string
- Description
Time when the plan was created.
Example:"2021-01-21T19:38:34Z"
- Name
- description
- Type
- nullable string
- Description
The plan's description, meant to be displayable to the users.
Example:"A data plan you will love! Operates in most countries of the world."
- Name
- image
- Type
- nullable string
- Description
The plan's image, meant to be displayable to the users.
Example:"https://i.gigscdn.com/pr/nTZpgaEj5dTQ2Jo/original.png"
- Name
- limits
- Type
- Limits
- Description
- Usage limits for the plan - i.e. the maximum available bandwidth, fair-use data limits and throttling threshold.
- Name
- dataBytes
- Type
- nullable integer
- Description
The maximum amount of data that can be used in bytes. A value of
nullindicates unlimited data.Example:100000000000
- Name
- bandwidthBitsPerSecond
- Type
- nullable integer
- Description
The maximum bandwidth in bits per second. A value of
nullindicates the maximum bandwidth this network allows.Example:100000000
- Name
- throttling
- Type
- nullable object
- Description
- The throttling configuration for the plan, if any.
- Name
- name
- Type
- string
- Description
The plan's name, meant to be displayable to the users.
Example:"Gigs Global"
- Name
- price
- Type
- Price
- Description
- The price of the plan.
- 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 plan.
Example:"p5"
- Name
- requirements
- Type
- object
- Description
- Required information that must be collected from the user in order to create a subscription with this plan.
- Name
- simTypes
- Type
- array
- Description
List of SIM types supported by this plan. Can be
eSIM,pSIM, or both.Example:["eSIM","pSIM"]
- Name
- status
- Type
- string
- Description
- Allowed values:
availablearchivedpendingdraft
- Name
- validity
- Type
- Validity
- Description
- Plan validity information - i.e. subscription period length, and the minimum number of periods before the plan can be ended.
Request
curl https://api.gigs.com/projects/${GIGS_PROJECT}/plans/{plan} \
-X GET \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${GIGS_TOKEN}" \
-H "Accept: application/json"
Response
{
"object": "plan",
"id": "pln_0SNlurA049MEWV3V0q7gjQbM4EVo",
"metadata": {},
"allowances": {
"dataBytes": 10000000000,
"voiceSeconds": 30000,
"smsMessages": 100
},
"coverage": {
"object": "coverage",
"id": "de",
"countries": [
"DE",
"FR",
"US"
],
"name": "Europe"
},
"createdAt": "2021-01-21T19:38:34Z",
"description": "A data plan you will love! Operates in most countries of the world.",
"image": "https://i.gigscdn.com/pr/nTZpgaEj5dTQ2Jo/original.png",
"limits": {
"dataBytes": 100000000000,
"bandwidthBitsPerSecond": 100000000,
"throttling": {
"thresholdBytes": 10000000000,
"bandwidthBitsPerSecond": 512000
}
},
"name": "Gigs Global",
"price": {
"amount": 999,
"currency": "USD"
},
"provider": "p5",
"requirements": {
"address": "present",
"device": "none",
"user.birthday": "none",
"user.fullName": "present"
},
"simTypes": [
"eSIM",
"pSIM"
],
"status": "available",
"validity": {
"minimumPeriods": 12,
"type": "recurring",
"unit": "day",
"value": 7
},
"data": 10000000000,
"dataUnit": "byte",
"sms": 100,
"smsUnit": "message",
"voice": 30000,
"voiceUnit": "second"
}
Update a plan
Updates the specified plan by setting the values of the parameters passed.
Body
- Name
- name
- Type
- string
- Description
The plan's name, meant to be displayable to the user.
Example:"Gigs Global"
- Name
- description
- Type
- nullable string
- Description
The plan's description, meant to be displayable to the user.
Example:"A data plan you will love! Operates in most countries of the world."
- Name
- image
- Type
- nullable string
- Description
The plan's image, meant to be displayable to the user.
Example:"https://i.gigscdn.com/pr/nTZpgaEj5dTQ2Jo/original.png"
- 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
- plan
- Type
- string
- Description
The unique identifier for the plan.
Example:"pln_0SNlurA049MEWV3V0q7gjQbM4EVo"
required
Responses
Returns the updated plan.
- Name
- object
- Type
- string
- Description
Type of object is always
plan.Allowed values:plan
- Name
- id
- Type
- string
- Description
Unique identifier for the plan.
Example:"pln_0SNlurA049MEWV3V0q7gjQbM4EVo"
- Name
- metadata
- Type
- Metadata
- Description
A set of key-value pairs, to store metadata related to the resource.
- Name
- allowances
- Type
- Allowances
- Description
- Usage allowances included in the plan - i.e. how many bytes of data, voice minutes & sms messages the user has access to.
- 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
- coverage
- Type
- Coverage
- Description
- The geographic coverage of the plan.
- Name
- createdAt
- Type
- string
- Description
Time when the plan was created.
Example:"2021-01-21T19:38:34Z"
- Name
- description
- Type
- nullable string
- Description
The plan's description, meant to be displayable to the users.
Example:"A data plan you will love! Operates in most countries of the world."
- Name
- image
- Type
- nullable string
- Description
The plan's image, meant to be displayable to the users.
Example:"https://i.gigscdn.com/pr/nTZpgaEj5dTQ2Jo/original.png"
- Name
- limits
- Type
- Limits
- Description
- Usage limits for the plan - i.e. the maximum available bandwidth, fair-use data limits and throttling threshold.
- Name
- dataBytes
- Type
- nullable integer
- Description
The maximum amount of data that can be used in bytes. A value of
nullindicates unlimited data.Example:100000000000
- Name
- bandwidthBitsPerSecond
- Type
- nullable integer
- Description
The maximum bandwidth in bits per second. A value of
nullindicates the maximum bandwidth this network allows.Example:100000000
- Name
- throttling
- Type
- nullable object
- Description
- The throttling configuration for the plan, if any.
- Name
- name
- Type
- string
- Description
The plan's name, meant to be displayable to the users.
Example:"Gigs Global"
- Name
- price
- Type
- Price
- Description
- The price of the plan.
- 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 plan.
Example:"p5"
- Name
- requirements
- Type
- object
- Description
- Required information that must be collected from the user in order to create a subscription with this plan.
- Name
- simTypes
- Type
- array
- Description
List of SIM types supported by this plan. Can be
eSIM,pSIM, or both.Example:["eSIM","pSIM"]
- Name
- status
- Type
- string
- Description
- Allowed values:
availablearchivedpendingdraft
- Name
- validity
- Type
- Validity
- Description
- Plan validity information - i.e. subscription period length, and the minimum number of periods before the plan can be ended.
Request
curl https://api.gigs.com/projects/${GIGS_PROJECT}/plans/{plan} \
-X PATCH \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${GIGS_TOKEN}" \
-H "Accept: application/json" \
-d "{\"name\":\"Gigs Global\",\"description\":\"A data plan you will love! Operates in most countries of the world.\",\"image\":\"https://i.gigscdn.com/pr/nTZpgaEj5dTQ2Jo/original.png\",\"metadata\":{}}"
Response
{
"object": "plan",
"id": "pln_0SNlurA049MEWV3V0q7gjQbM4EVo",
"metadata": {},
"allowances": {
"dataBytes": 10000000000,
"voiceSeconds": 30000,
"smsMessages": 100
},
"coverage": {
"object": "coverage",
"id": "de",
"countries": [
"DE",
"FR",
"US"
],
"name": "Europe"
},
"createdAt": "2021-01-21T19:38:34Z",
"description": "A data plan you will love! Operates in most countries of the world.",
"image": "https://i.gigscdn.com/pr/nTZpgaEj5dTQ2Jo/original.png",
"limits": {
"dataBytes": 100000000000,
"bandwidthBitsPerSecond": 100000000,
"throttling": {
"thresholdBytes": 10000000000,
"bandwidthBitsPerSecond": 512000
}
},
"name": "Gigs Global",
"price": {
"amount": 999,
"currency": "USD"
},
"provider": "p5",
"requirements": {
"address": "present",
"device": "none",
"user.birthday": "none",
"user.fullName": "present"
},
"simTypes": [
"eSIM",
"pSIM"
],
"status": "available",
"validity": {
"minimumPeriods": 12,
"type": "recurring",
"unit": "day",
"value": 7
},
"data": 10000000000,
"dataUnit": "byte",
"sms": 100,
"smsUnit": "message",
"voice": 30000,
"voiceUnit": "second"
}
Archive a plan
Set the status of a plan to archived. An archived plan can not be used to create new subscriptions.
Path Parameters
- Name
- project
- Type
- string
- Description
The unique identifier for the project.
Example:"gigs"
required- Name
- plan
- Type
- string
- Description
The unique identifier for the plan.
Example:"pln_0SNlurA049MEWV3V0q7gjQbM4EVo"
required
Responses
Returns the archived plan.
- Name
- object
- Type
- string
- Description
Type of object is always
plan.Allowed values:plan
- Name
- id
- Type
- string
- Description
Unique identifier for the plan.
Example:"pln_0SNlurA049MEWV3V0q7gjQbM4EVo"
- Name
- metadata
- Type
- Metadata
- Description
A set of key-value pairs, to store metadata related to the resource.
- Name
- allowances
- Type
- Allowances
- Description
- Usage allowances included in the plan - i.e. how many bytes of data, voice minutes & sms messages the user has access to.
- 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
- coverage
- Type
- Coverage
- Description
- The geographic coverage of the plan.
- Name
- createdAt
- Type
- string
- Description
Time when the plan was created.
Example:"2021-01-21T19:38:34Z"
- Name
- description
- Type
- nullable string
- Description
The plan's description, meant to be displayable to the users.
Example:"A data plan you will love! Operates in most countries of the world."
- Name
- image
- Type
- nullable string
- Description
The plan's image, meant to be displayable to the users.
Example:"https://i.gigscdn.com/pr/nTZpgaEj5dTQ2Jo/original.png"
- Name
- limits
- Type
- Limits
- Description
- Usage limits for the plan - i.e. the maximum available bandwidth, fair-use data limits and throttling threshold.
- Name
- dataBytes
- Type
- nullable integer
- Description
The maximum amount of data that can be used in bytes. A value of
nullindicates unlimited data.Example:100000000000
- Name
- bandwidthBitsPerSecond
- Type
- nullable integer
- Description
The maximum bandwidth in bits per second. A value of
nullindicates the maximum bandwidth this network allows.Example:100000000
- Name
- throttling
- Type
- nullable object
- Description
- The throttling configuration for the plan, if any.
- Name
- name
- Type
- string
- Description
The plan's name, meant to be displayable to the users.
Example:"Gigs Global"
- Name
- price
- Type
- Price
- Description
- The price of the plan.
- 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 plan.
Example:"p5"
- Name
- requirements
- Type
- object
- Description
- Required information that must be collected from the user in order to create a subscription with this plan.
- Name
- simTypes
- Type
- array
- Description
List of SIM types supported by this plan. Can be
eSIM,pSIM, or both.Example:["eSIM","pSIM"]
- Name
- status
- Type
- string
- Description
- Allowed values:
availablearchivedpendingdraft
- Name
- validity
- Type
- Validity
- Description
- Plan validity information - i.e. subscription period length, and the minimum number of periods before the plan can be ended.
Request
curl https://api.gigs.com/projects/${GIGS_PROJECT}/plans/{plan}/archive \
-X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${GIGS_TOKEN}" \
-H "Accept: application/json"
Response
{
"object": "plan",
"id": "pln_0SNlurA049MEWV3V0q7gjQbM4EVo",
"metadata": {},
"allowances": {
"dataBytes": 10000000000,
"voiceSeconds": 30000,
"smsMessages": 100
},
"coverage": {
"object": "coverage",
"id": "de",
"countries": [
"DE",
"FR",
"US"
],
"name": "Europe"
},
"createdAt": "2021-01-21T19:38:34Z",
"description": "A data plan you will love! Operates in most countries of the world.",
"image": "https://i.gigscdn.com/pr/nTZpgaEj5dTQ2Jo/original.png",
"limits": {
"dataBytes": 100000000000,
"bandwidthBitsPerSecond": 100000000,
"throttling": {
"thresholdBytes": 10000000000,
"bandwidthBitsPerSecond": 512000
}
},
"name": "Gigs Global",
"price": {
"amount": 999,
"currency": "USD"
},
"provider": "p5",
"requirements": {
"address": "present",
"device": "none",
"user.birthday": "none",
"user.fullName": "present"
},
"simTypes": [
"eSIM",
"pSIM"
],
"status": "available",
"validity": {
"minimumPeriods": 12,
"type": "recurring",
"unit": "day",
"value": 7
},
"data": 10000000000,
"dataUnit": "byte",
"sms": 100,
"smsUnit": "message",
"voice": 30000,
"voiceUnit": "second"
}
Publish a plan
Set the status of a plan to available. Available plans can be used to create new subscriptions.
Path Parameters
- Name
- project
- Type
- string
- Description
The unique identifier for the project.
Example:"gigs"
required- Name
- plan
- Type
- string
- Description
The unique identifier for the plan.
Example:"pln_0SNlurA049MEWV3V0q7gjQbM4EVo"
required
Responses
Returns the available plan.
- Name
- object
- Type
- string
- Description
Type of object is always
plan.Allowed values:plan
- Name
- id
- Type
- string
- Description
Unique identifier for the plan.
Example:"pln_0SNlurA049MEWV3V0q7gjQbM4EVo"
- Name
- metadata
- Type
- Metadata
- Description
A set of key-value pairs, to store metadata related to the resource.
- Name
- allowances
- Type
- Allowances
- Description
- Usage allowances included in the plan - i.e. how many bytes of data, voice minutes & sms messages the user has access to.
- 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
- coverage
- Type
- Coverage
- Description
- The geographic coverage of the plan.
- Name
- createdAt
- Type
- string
- Description
Time when the plan was created.
Example:"2021-01-21T19:38:34Z"
- Name
- description
- Type
- nullable string
- Description
The plan's description, meant to be displayable to the users.
Example:"A data plan you will love! Operates in most countries of the world."
- Name
- image
- Type
- nullable string
- Description
The plan's image, meant to be displayable to the users.
Example:"https://i.gigscdn.com/pr/nTZpgaEj5dTQ2Jo/original.png"
- Name
- limits
- Type
- Limits
- Description
- Usage limits for the plan - i.e. the maximum available bandwidth, fair-use data limits and throttling threshold.
- Name
- dataBytes
- Type
- nullable integer
- Description
The maximum amount of data that can be used in bytes. A value of
nullindicates unlimited data.Example:100000000000
- Name
- bandwidthBitsPerSecond
- Type
- nullable integer
- Description
The maximum bandwidth in bits per second. A value of
nullindicates the maximum bandwidth this network allows.Example:100000000
- Name
- throttling
- Type
- nullable object
- Description
- The throttling configuration for the plan, if any.
- Name
- name
- Type
- string
- Description
The plan's name, meant to be displayable to the users.
Example:"Gigs Global"
- Name
- price
- Type
- Price
- Description
- The price of the plan.
- 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 plan.
Example:"p5"
- Name
- requirements
- Type
- object
- Description
- Required information that must be collected from the user in order to create a subscription with this plan.
- Name
- simTypes
- Type
- array
- Description
List of SIM types supported by this plan. Can be
eSIM,pSIM, or both.Example:["eSIM","pSIM"]
- Name
- status
- Type
- string
- Description
- Allowed values:
availablearchivedpendingdraft
- Name
- validity
- Type
- Validity
- Description
- Plan validity information - i.e. subscription period length, and the minimum number of periods before the plan can be ended.
Request
curl https://api.gigs.com/projects/${GIGS_PROJECT}/plans/{plan}/publish \
-X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${GIGS_TOKEN}" \
-H "Accept: application/json"
Response
{
"object": "plan",
"id": "pln_0SNlurA049MEWV3V0q7gjQbM4EVo",
"metadata": {},
"allowances": {
"dataBytes": 10000000000,
"voiceSeconds": 30000,
"smsMessages": 100
},
"coverage": {
"object": "coverage",
"id": "de",
"countries": [
"DE",
"FR",
"US"
],
"name": "Europe"
},
"createdAt": "2021-01-21T19:38:34Z",
"description": "A data plan you will love! Operates in most countries of the world.",
"image": "https://i.gigscdn.com/pr/nTZpgaEj5dTQ2Jo/original.png",
"limits": {
"dataBytes": 100000000000,
"bandwidthBitsPerSecond": 100000000,
"throttling": {
"thresholdBytes": 10000000000,
"bandwidthBitsPerSecond": 512000
}
},
"name": "Gigs Global",
"price": {
"amount": 999,
"currency": "USD"
},
"provider": "p5",
"requirements": {
"address": "present",
"device": "none",
"user.birthday": "none",
"user.fullName": "present"
},
"simTypes": [
"eSIM",
"pSIM"
],
"status": "available",
"validity": {
"minimumPeriods": 12,
"type": "recurring",
"unit": "day",
"value": 7
},
"data": 10000000000,
"dataUnit": "byte",
"sms": 100,
"smsUnit": "message",
"voice": 30000,
"voiceUnit": "second"
}
Search for Plans
Searches for plans matching the given parameters.
Body
- Name
- status
- Type
- array
- Description
The status to filter plans by.
Default:available
- Name
- simType
- Type
- nullable array
- Description
The type of the SIM card to filter the plans by.
- Name
- provider
- Type
- nullable array
- Description
The network provider ID to filter the plans by.
Example:["p3","p9"]
- Name
- coverageCountry
- Type
- nullable array
- Description
The ISO3166 alpha-2 country code to filter the plans by.
Example:["DE","GB"]
- Name
- compatibleWith
- Type
- object
- Description
- Compatibility requirements for the plans. Only plans compatible with all requirements are returned. At least one requirement must be specified.
- Name
- imei
- Type
- nullable string
- Description
The IMEI (international mobile equipment identity) of the corresponding device.
Example:"492388841798923"
- Name
- deviceModel
- Type
- nullable string
- Description
The device model identifier of the corresponding device.
Example:"dmd_123"
- Name
- subscription
- Type
- nullable string
- Description
Unique identifier for the subscription.
Example:"sub_0SNlurA049MEWV2gSfSxi00xlPIi"
Path Parameters
- Name
- project
- Type
- string
- Description
The unique identifier for the project.
Example:"gigs"
required
Responses
Returns a list schema response with all found Plans.
- Name
- object
- Type
- string
- Description
Type of object is always
list.Allowed values:list
- Name
- items
- Type
- array
- Description
- List of objects of type `plan`.
- 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}/plans/search \
-X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${GIGS_TOKEN}" \
-H "Accept: application/json" \
-d "{\"status\":[\"available\"],\"simType\":[\"eSIM\"],\"provider\":[\"p3\",\"p9\"],\"coverageCountry\":[\"DE\",\"GB\"],\"compatibleWith\":{\"imei\":\"492388841798923\",\"deviceModel\":\"dmd_123\",\"subscription\":\"sub_0SNlurA049MEWV2gSfSxi00xlPIi\"}}"
Responses
{
"object": "list",
"items": [
{
"object": "plan",
"id": "pln_0SNlurA049MEWV3V0q7gjQbM4EVo",
"metadata": {},
"allowances": {
"dataBytes": 10000000000,
"voiceSeconds": 30000,
"smsMessages": 100
},
"coverage": {
"object": "coverage",
"id": "de",
"countries": [
"DE",
"FR",
"US"
],
"name": "Europe"
},
"createdAt": "2021-01-21T19:38:34Z",
"description": "A data plan you will love! Operates in most countries of the world.",
"image": "https://i.gigscdn.com/pr/nTZpgaEj5dTQ2Jo/original.png",
"limits": {
"dataBytes": 100000000000,
"bandwidthBitsPerSecond": 100000000,
"throttling": {
"thresholdBytes": 10000000000,
"bandwidthBitsPerSecond": 512000
}
},
"name": "Gigs Global",
"price": {
"amount": 999,
"currency": "USD"
},
"provider": "p5",
"requirements": {
"address": "present",
"device": "none",
"user.birthday": "none",
"user.fullName": "present"
},
"simTypes": [
"eSIM",
"pSIM"
],
"status": "available",
"validity": {
"minimumPeriods": 12,
"type": "recurring",
"unit": "day",
"value": 7
},
"data": 10000000000,
"dataUnit": "byte",
"sms": 100,
"smsUnit": "message",
"voice": 30000,
"voiceUnit": "second"
}
],
"moreItemsAfter": null,
"moreItemsBefore": null
}
List all plan documents
Returns a list of documents related to the given plan. The documents returned are sorted by creation date, with the most recently created documents appearing first.
Path Parameters
- Name
- project
- Type
- string
- Description
The unique identifier for the project.
Example:"gigs"
required
Query Parameters
- Name
- plan
- Type
- string
- Description
The unique identifier for the plan to be filtered by.
Example:"pln_0SNlurA049MEWV3V0q7gjQbM4EVo"
Responses
Returns a list of document objects.
- Name
- object
- Type
- string
- Description
Type of object is always
list.Allowed values:list
- Name
- items
- Type
- array
- Description
- List of objects of type `planDocument`.
- 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}/planDocuments \
-X GET \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${GIGS_TOKEN}" \
-H "Accept: application/json"
Responses
{
"object": "list",
"items": [
{
"object": "planDocument",
"id": "pdc_0SNlurA049MEWV1S6e1qVqBV2xge",
"createdAt": "2022-07-04T16:20:27Z",
"language": "en-US",
"name": "My Plan Contract",
"plan": "pln_0SNlurA049MEWV3V0q7gjQbM4EVo",
"type": "application/pdf",
"url": "https://a.gigscdn.net/p/my-project/01G74ZPB5PQTDESM4JGYR2CWB9.pdf"
}
],
"moreItemsAfter": null,
"moreItemsBefore": null
}
Retrieve a plan document
Retrieves the details of an existing document for a given plan.
Path Parameters
- Name
- project
- Type
- string
- Description
The unique identifier for the project.
Example:"gigs"
required- Name
- planDocument
- Type
- string
- Description
The unique identifier for the document.
Example:"pdc_0SNlurA049MEWV1S6e1qVqBV2xge"
required
Responses
Returns the plan if it exists and is owned by the plan.
- Name
- object
- Type
- string
- Description
Type of object is always
planDocument.Allowed values:planDocument
- Name
- id
- Type
- string
- Description
Unique identifier for the given document.
Example:"pdc_0SNlurA049MEWV1S6e1qVqBV2xge"
- Name
- createdAt
- Type
- string
- Description
The time the document was created.
Example:"2022-07-04T16:20:27.59Z"
- Name
- language
- Type
- nullable string
- Status
- PREVIEW
- Description
The language of the document. The values follow the BCP 47 standard. That means, for instance, that a region can be specified in addition to the language.
Example:"en-US"
- Name
- name
- Type
- string
- Description
The name of the document.
Example:"My Plan Contract"
- Name
- plan
- Type
- string
- Description
Unique identifier for the plan associated to this document.
Example:"pln_0SNlurA049MEWV3V0q7gjQbM4EVo"
- Name
- type
- Type
- string
- Description
The MIME type for the given document.
Example:"application/pdf"
- Name
- url
- Type
- string
- Description
The URL at which the document can be retrieved.
Example:"https://a.gigscdn.net/p/my-project/01G74ZPB5PQTDESM4JGYR2CWB9.pdf"
Request
curl https://api.gigs.com/projects/${GIGS_PROJECT}/planDocuments/{planDocument} \
-X GET \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${GIGS_TOKEN}" \
-H "Accept: application/json"
Response
{
"object": "planDocument",
"id": "pdc_0SNlurA049MEWV1S6e1qVqBV2xge",
"createdAt": "2022-07-04T16:20:27Z",
"language": "en-US",
"name": "My Plan Contract",
"plan": "pln_0SNlurA049MEWV3V0q7gjQbM4EVo",
"type": "application/pdf",
"url": "https://a.gigscdn.net/p/my-project/01G74ZPB5PQTDESM4JGYR2CWB9.pdf"
}