openapi: 3.0.3
info:
title: 'Subscription Plus'
description: ''
version: 1.0.0
servers:
-
url: 'https://app.subscriptionplus.net'
paths:
'/api/v1/customer/{id}':
get:
summary: 'Get Customer details'
description: ''
parameters:
-
in: query
name: include
description: 'Available includes orders_count,total_spent,subscriptions.line_items'
example: 'orders_count,total_spent,subscriptions.line_items'
required: true
schema:
type: string
description: 'Available includes orders_count,total_spent,subscriptions.line_items'
example: 'orders_count,total_spent,subscriptions.line_items'
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: 4662104293529
name: 'Sabrina G. McGraw'
email: SabrinaGMcGraw@jourrapide.com
note: 'VIP Customer'
avatar: null
status: 1
member_since: '2021-05-10T06:51:58.000000Z'
subscriptions:
-
id: 1200619673
interval: MONTH
note: null
customer_id: 4662104293529
last_payment_status: null
tags: []
discount_code: null
order_frequency: 1
billing_frequency: 1
next_billing_date: '2021-07-08T19:37:01.595686Z'
last_billing_attempt: '2021-06-29 14:49:42'
min_cycles: null
max_cycles: null
executed_cycles: 1
currency_code: USD
type: subscription
status: active
currency_format: $0.00
line_items:
-
id: 60
product_id: 6137966461081
line_item_id: c4538325-70e6-429a-8335-685d2b4649ba
variant_id: 38027906547865
subscription_id: 1200619673
title: 'Folding Hex Wrench Set 3-10mm'
selling_plan_name: 'Delivery every month'
variant_title: AWS-11
image: 'https://cdn.shopify.com/s/files/1/0531/8538/0505/products/park-tool-aws-12.jpg?v=1612770280'
price: 11.69
quantity: 1
is_onetime: false
requires_shipping: 1
created_at: '2021-06-29T09:19:43.000000Z'
updated_at: '2021-06-29T09:19:43.000000Z'
-
id: 1200586905
interval: MONTH
note: null
customer_id: 4662104293529
last_payment_status: null
tags: []
discount_code: null
order_frequency: 1
billing_frequency: 1
next_billing_date: '2021-07-08T19:37:01.621831Z'
last_billing_attempt: '2021-06-29 14:49:39'
min_cycles: null
max_cycles: null
executed_cycles: 1
currency_code: USD
type: subscription
status: active
currency_format: $0.00
line_items:
-
id: 59
product_id: 6137965805721
line_item_id: ea9c9b31-6df0-4c70-aa27-9152811aad39
variant_id: 38027905433753
subscription_id: 1200586905
title: 'Fixie Stem'
selling_plan_name: 'Delivery every month'
variant_title: Black
image: 'https://cdn.shopify.com/s/files/1/0531/8538/0505/products/Stem_Black_3RD_WEB.jpg?v=1612770273'
price: 18
quantity: 1
is_onetime: false
requires_shipping: 1
created_at: '2021-06-29T09:19:40.000000Z'
updated_at: '2021-06-29T09:19:40.000000Z'
orders_count: 24
total_spent:
amount: 6298.97
presentment_money: 0
properties:
data:
type: object
example:
id: 4662104293529
name: 'Sabrina G. McGraw'
email: SabrinaGMcGraw@jourrapide.com
note: 'VIP Customer'
avatar: null
status: 1
member_since: '2021-05-10T06:51:58.000000Z'
subscriptions:
-
id: 1200619673
interval: MONTH
note: null
customer_id: 4662104293529
last_payment_status: null
tags: []
discount_code: null
order_frequency: 1
billing_frequency: 1
next_billing_date: '2021-07-08T19:37:01.595686Z'
last_billing_attempt: '2021-06-29 14:49:42'
min_cycles: null
max_cycles: null
executed_cycles: 1
currency_code: USD
type: subscription
status: active
currency_format: $0.00
line_items:
-
id: 60
product_id: 6137966461081
line_item_id: c4538325-70e6-429a-8335-685d2b4649ba
variant_id: 38027906547865
subscription_id: 1200619673
title: 'Folding Hex Wrench Set 3-10mm'
selling_plan_name: 'Delivery every month'
variant_title: AWS-11
image: 'https://cdn.shopify.com/s/files/1/0531/8538/0505/products/park-tool-aws-12.jpg?v=1612770280'
price: 11.69
quantity: 1
is_onetime: false
requires_shipping: 1
created_at: '2021-06-29T09:19:43.000000Z'
updated_at: '2021-06-29T09:19:43.000000Z'
-
id: 1200586905
interval: MONTH
note: null
customer_id: 4662104293529
last_payment_status: null
tags: []
discount_code: null
order_frequency: 1
billing_frequency: 1
next_billing_date: '2021-07-08T19:37:01.621831Z'
last_billing_attempt: '2021-06-29 14:49:39'
min_cycles: null
max_cycles: null
executed_cycles: 1
currency_code: USD
type: subscription
status: active
currency_format: $0.00
line_items:
-
id: 59
product_id: 6137965805721
line_item_id: ea9c9b31-6df0-4c70-aa27-9152811aad39
variant_id: 38027905433753
subscription_id: 1200586905
title: 'Fixie Stem'
selling_plan_name: 'Delivery every month'
variant_title: Black
image: 'https://cdn.shopify.com/s/files/1/0531/8538/0505/products/Stem_Black_3RD_WEB.jpg?v=1612770273'
price: 18
quantity: 1
is_onetime: false
requires_shipping: 1
created_at: '2021-06-29T09:19:40.000000Z'
updated_at: '2021-06-29T09:19:40.000000Z'
orders_count: 24
total_spent:
amount: 6298.97
presentment_money: 0
tags:
- Endpoints
parameters:
-
in: path
name: id
description: 'The ID of the customer.'
example: 4662104293529
required: true
schema:
type: integer
/api/v1/settings:
get:
summary: 'App Settings'
description: ''
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- Endpoints
parameters:
-
in: path
name: include
description: 'Available includes: language.'
example: language
required: true
schema:
type: string
/api/v1/cancellation-reasons:
get:
summary: ''
description: ''
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- Endpoints
/api/v1/get-selling-plan:
get:
summary: ''
description: ''
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- Endpoints
'/api/v1/subscription/{id}':
post:
summary: 'Get subscription details'
description: ''
parameters:
-
in: query
name: include
description: "Available includes: line_items.product.variants,line_items.available_products.variants,orders.line_items,\norder,card,address,upcoming_order,customer.cards,available_frequencies,available_products.variants,total"
example: 'line_items.product.variants,line_items.available_products.variants,orders.line_items, order,card,address,upcoming_order,customer.cards,available_frequencies,available_products.variants,total'
required: true
schema:
type: string
description: "Available includes: line_items.product.variants,line_items.available_products.variants,orders.line_items,\norder,card,address,upcoming_order,customer.cards,available_frequencies,available_products.variants,total"
example: 'line_items.product.variants,line_items.available_products.variants,orders.line_items, order,card,address,upcoming_order,customer.cards,available_frequencies,available_products.variants,total'
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses: { }
tags:
- Endpoints
parameters:
-
in: path
name: id
description: 'The ID of the subscription'
example: 1200619673
required: true
schema:
type: integer
'/api/v1/subscription/{id}/available-products':
post:
summary: 'Get subscription details'
description: ''
parameters:
-
in: query
name: include
description: 'Available includes: available_products.variants'
example: qui
required: true
schema:
type: string
description: 'Available includes: available_products.variants'
example: qui
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses: { }
tags:
- Endpoints
parameters:
-
in: path
name: id
description: 'The ID of the subscription'
example: 1200619673
required: true
schema:
type: integer
'/api/v1/subscription/{id}/all-available-products':
post:
summary: ''
description: ''
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses: { }
tags:
- Endpoints
parameters:
-
in: path
name: id
description: 'The ID of the subscription.'
example: 20
required: true
schema:
type: integer
'/api/v1/subscription/{id}/upsell-products':
get:
summary: ''
description: ''
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- Endpoints
parameters:
-
in: path
name: id
description: 'The ID of the subscription.'
example: 10
required: true
schema:
type: integer
'/api/v1/subscription/{id}/status':
post:
summary: 'Update status'
description: ''
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
status:
type: string
description: 'Must be one of active
, paused
, or cancelled
.'
example: active
required:
- status
parameters:
-
in: path
name: id
description: 'The ID of the subscription.'
example: 20
required: true
schema:
type: integer
'/api/v1/subscription/{id}/update_frequency':
post:
summary: 'Update order frequency'
description: ''
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
interval:
type: string
description: 'Must be one of day
, week
, month
, or year
.'
example: year
order_frequency:
type: integer
description: 'Must be one of available_frequencies from subscription details API'
example: 13
billing_frequency:
type: integer
description: 'Same as order_frequency if its not prepaid order'
example: 10
required:
- interval
- order_frequency
- billing_frequency
parameters:
-
in: path
name: id
description: 'The ID of the subscription.'
example: 18
required: true
schema:
type: integer
'/api/v1/subscription/{id}/update_variant':
post:
summary: 'Update product variant/quantity'
description: ''
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
line_item_ids:
type: array
description: ''
example:
- 20
items:
type: integer
quantity:
type: array
description: ''
example:
- 17
items:
type: integer
product_ids:
type: array
description: 'Require for updating the product'
example:
- 7
items:
type: integer
variant_ids:
type: array
description: 'Require for updating the product'
example:
- 10
items:
type: integer
required:
- line_item_ids
- quantity
parameters:
-
in: path
name: id
description: 'The ID of the subscription.'
example: 8
required: true
schema:
type: integer
'/api/v1/subscription/{id}/apply_discount':
post:
summary: 'Apply/Remove Discount'
description: ''
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses: { }
tags:
- Endpoints
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
code:
type: string
description: 'Pass null to remove discount'
example: optio
parameters:
-
in: path
name: id
description: 'The ID of the subscription.'
example: 1
required: true
schema:
type: integer
'/api/v1/subscription/{id}/add_product':
post:
summary: 'Add products to subscription'
description: ''
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
product_ids:
type: array
description: 'Must be at least 1.'
example:
- 1.0
items:
type: number
variant_ids:
type: array
description: 'Must be at least 1.'
example:
- 1.0
items:
type: number
quantity:
type: array
description: 'Must be at least 1.'
example:
- 0.0
items:
type: number
required:
- product_ids
- variant_ids
- quantity
parameters:
-
in: path
name: id
description: 'The ID of the subscription.'
example: 4
required: true
schema:
type: integer
'/api/v1/subscription/{id}/swap_product':
post:
summary: 'Swap Product'
description: ''
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
line_item_id:
type: integer
description: ''
example: 3
product_id:
type: integer
description: ''
example: 5
variant_id:
type: integer
description: ''
example: 4
required:
- line_item_id
- product_id
- variant_id
parameters:
-
in: path
name: id
description: 'The ID of the subscription.'
example: 13
required: true
schema:
type: integer
'/api/v1/subscription/{id}/add_onetime_product':
post:
summary: 'Add one-time product to subscription'
description: ''
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
product_ids:
type: array
description: 'Must be at least 1.'
example:
- 1.0
items:
type: number
variant_ids:
type: array
description: 'Must be at least 1.'
example:
- 1.0
items:
type: number
quantity:
type: array
description: 'Must be at least 1.'
example:
- 0.0
items:
type: number
required:
- product_ids
- variant_ids
- quantity
parameters:
-
in: path
name: id
description: 'The ID of the subscription.'
example: 5
required: true
schema:
type: integer
'/api/v1/subscription/{id}/update_address':
post:
summary: 'Update shipping address'
description: ''
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
address1:
type: string
description: ''
example: voluptates
city:
type: string
description: ''
example: eveniet
country:
type: string
description: ''
example: reiciendis
zip:
type: string
description: ''
example: modi
phone:
type: string
description: ''
example: et
first_name:
type: string
description: ''
example: error
last_name:
type: string
description: ''
example: velit
address2:
type: string
description: ''
example: voluptatibus
company:
type: string
description: ''
example: cum
required:
- address1
- city
- country
- zip
- phone
- first_name
- last_name
parameters:
-
in: path
name: id
description: 'The ID of the subscription.'
example: 4
required: true
schema:
type: integer
'/api/v1/subscription/{id}/update_billing_date':
post:
summary: 'Update billing date'
description: ''
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
date:
type: date
description: "YYYY-MM-DD\n\nDate should be greater than last billing attempt date"
example: et
required:
- date
parameters:
-
in: path
name: id
description: 'The ID of the subscription.'
example: 17
required: true
schema:
type: integer
'/api/v1/subscription/{id}/remove_line_item/{line_item_id}':
post:
summary: 'Remove subscription item'
description: ''
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses: { }
tags:
- Endpoints
parameters:
-
in: path
name: id
description: 'The ID of the subscription.'
example: 4
required: true
schema:
type: integer
-
in: path
name: line_item_id
description: 'Id of the subscription item'
example: 9
required: true
schema:
type: integer
'/api/v1/subscription/{id}/payment-method/{token}/update':
post:
summary: 'Swap subscription payment method'
description: ''
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses: { }
tags:
- Endpoints
parameters:
-
in: path
name: id
description: 'The ID of the subscription.'
example: 19
required: true
schema:
type: integer
-
in: path
name: token
description: 'Payment method token.'
example: laborum
required: true
schema:
type: string
'/api/v1/subscription/{id}/ship_now':
post:
summary: 'Ship now'
description: 'Note: Not applicable for prepaid subscription'
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses: { }
tags:
- Endpoints
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
update_shipping_date:
type: boolean
description: 'To change future billing date according to the current date'
example: false
parameters:
-
in: path
name: id
description: 'The ID of the subscription.'
example: 13
required: true
schema:
type: integer
'/api/v1/subscription/{id}/upsell-products/buy':
post:
summary: ''
description: ''
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses: { }
tags:
- Endpoints
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: array
description: ''
example:
- []
items:
type: object
properties:
product_id:
type: string
description: ''
example: soluta
variant_id:
type: string
description: ''
example: velit
subscribe:
type: boolean
description: ''
example: true
required:
- product_id
- variant_id
- subscribe
parameters:
-
in: path
name: id
description: 'The ID of the subscription.'
example: 11
required: true
schema:
type: integer
'/api/v1/customer/{id}/add-payment':
post:
summary: 'Add new payment method'
description: ''
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses: { }
tags:
- Endpoints
parameters:
-
in: path
name: id
description: 'The ID of the customer.'
example: 4662104293529
required: true
schema:
type: integer
'/api/v1/payment-method/{token}/update':
post:
summary: 'Update payment method'
description: ''
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses: { }
tags:
- Endpoints
parameters:
-
in: path
name: token
description: ''
example: ut
required: true
schema:
type: string
tags:
-
name: Endpoints
description: ''
components:
securitySchemes:
default:
type: http
scheme: bearer
description: ''
security:
-
default: []