2022-05-01 22:28:27 -07:00
{
"paths" : {
"/api/v1/stores/{storeId}/apps/pos" : {
"parameters" : [
{
"name" : "storeId" ,
"in" : "path" ,
"required" : true ,
"description" : "The store ID" ,
"schema" : {
"type" : "string"
}
}
] ,
"post" : {
"operationId" : "Apps_CreatePointOfSaleApp" ,
"summary" : "Create a new Point of Sale app" ,
2022-11-17 21:20:07 -08:00
"description" : "Point of Sale app allows accepting payments for items in a virtual store" ,
2022-05-01 22:28:27 -07:00
"requestBody" : {
2022-07-17 22:23:22 -07:00
"x-name" : "request" ,
2022-05-01 22:28:27 -07:00
"content" : {
"application/json" : {
"schema" : {
2024-06-26 10:42:22 +02:00
"$ref" : "#/components/schemas/PointOfSaleAppRequest"
2022-07-17 22:23:22 -07:00
}
}
} ,
"required" : true ,
"x-position" : 1
} ,
"responses" : {
"200" : {
"description" : "Created app details" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/PointOfSaleAppData"
}
}
}
} ,
"422" : {
"description" : "Unable to validate the request" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ValidationProblemDetails"
2022-05-01 22:28:27 -07:00
}
}
}
}
} ,
2022-07-17 22:23:22 -07:00
"tags" : [
"Apps"
] ,
"security" : [
{
"API_Key" : [
"btcpay.store.canmodifystoresettings"
] ,
"Basic" : [ ]
}
]
}
} ,
"/api/v1/apps/pos/{appId}" : {
"parameters" : [
{
"name" : "appId" ,
"in" : "path" ,
"required" : true ,
"description" : "App ID" ,
"schema" : {
"type" : "string"
}
}
] ,
2022-08-09 21:06:28 -07:00
"put" : {
"operationId" : "Apps_PutPointOfSaleApp" ,
2022-07-17 22:23:22 -07:00
"summary" : "Update a Point of Sale app" ,
"description" : "Use this endpoint for updating the properties of a POS app" ,
"requestBody" : {
"x-name" : "request" ,
"content" : {
"application/json" : {
"schema" : {
2024-06-26 10:42:22 +02:00
"$ref" : "#/components/schemas/PointOfSaleAppRequest"
2022-07-17 22:23:22 -07:00
}
}
} ,
"required" : true ,
"x-position" : 1
} ,
2022-05-01 22:28:27 -07:00
"responses" : {
"200" : {
2022-07-17 22:23:22 -07:00
"description" : "App details" ,
2022-05-01 22:28:27 -07:00
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/PointOfSaleAppData"
}
}
}
} ,
"422" : {
"description" : "Unable to validate the request" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ValidationProblemDetails"
}
}
}
}
} ,
"tags" : [
2022-06-02 13:07:02 +09:00
"Apps"
2022-05-01 22:28:27 -07:00
] ,
"security" : [
{
"API_Key" : [
"btcpay.store.canmodifystoresettings"
] ,
"Basic" : [ ]
}
]
2023-02-07 00:01:53 -08:00
} ,
"get" : {
"tags" : [
"Apps" ,
"Point of Sale"
] ,
"operationId" : "Apps_GetPointOfSaleApp" ,
"summary" : "Get Point of Sale app data" ,
"description" : "Returns POS app data" ,
"responses" : {
"200" : {
"description" : "POS app data" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/PointOfSaleAppData"
}
}
}
} ,
"404" : {
"description" : "POS app with specified ID was not found"
}
} ,
"security" : [
{
"API_Key" : [
"btcpay.store.canmodifystoresettings"
] ,
"Basic" : [ ]
}
]
}
} ,
"/api/v1/apps/crowdfund/{appId}" : {
"parameters" : [
{
"name" : "appId" ,
"in" : "path" ,
"required" : true ,
"description" : "Crowdfund app ID" ,
"schema" : {
"type" : "string"
}
}
] ,
"get" : {
"tags" : [
"Apps" ,
"Crowdfund"
] ,
"operationId" : "Apps_GetCrowdfundApp" ,
"summary" : "Get crowdfund app data" ,
"description" : "Returns crowdfund app data" ,
"responses" : {
"200" : {
"description" : "Crowdfund app data" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/CrowdfundAppData"
}
}
}
} ,
"404" : {
"description" : "Crowdfund app with specified ID was not found"
}
} ,
"security" : [
{
"API_Key" : [
"btcpay.store.canmodifystoresettings"
] ,
"Basic" : [ ]
}
]
2022-05-01 22:28:27 -07:00
}
2022-06-26 18:14:16 -07:00
} ,
2022-11-17 21:20:07 -08:00
"/api/v1/stores/{storeId}/apps/crowdfund" : {
"parameters" : [
{
"name" : "storeId" ,
"in" : "path" ,
"required" : true ,
"description" : "The store ID" ,
"schema" : {
"type" : "string"
}
}
] ,
"post" : {
"operationId" : "Apps_CreateCrowdfundApp" ,
"summary" : "Create a new Crowdfund app" ,
"requestBody" : {
"x-name" : "request" ,
"content" : {
"application/json" : {
"schema" : {
2024-06-26 10:42:22 +02:00
"$ref" : "#/components/schemas/CrowdfundAppRequest"
2022-11-17 21:20:07 -08:00
}
}
} ,
"required" : true ,
"x-position" : 1
} ,
"responses" : {
"200" : {
"description" : "Created app details" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/CrowdfundAppData"
}
}
}
} ,
"422" : {
"description" : "Unable to validate the request" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ValidationProblemDetails"
}
}
}
}
} ,
"tags" : [
"Apps" ,
"Crowdfund"
] ,
"security" : [
{
"API_Key" : [
"btcpay.store.canmodifystoresettings"
] ,
"Basic" : [ ]
}
]
}
} ,
2022-06-26 18:14:16 -07:00
"/api/v1/apps/{appId}" : {
"get" : {
"tags" : [
"Apps"
] ,
2023-02-07 00:01:53 -08:00
"operationId" : "Apps_GetApp" ,
2022-06-26 18:14:16 -07:00
"summary" : "Get basic app data" ,
"description" : "Returns basic app data shared between all types of apps" ,
2022-08-15 15:28:41 +02:00
"parameters" : [
{
"name" : "appId" ,
"in" : "path" ,
"required" : true ,
"description" : "The app ID" ,
"schema" : {
"type" : "string"
}
}
] ,
2022-06-26 18:14:16 -07:00
"responses" : {
"200" : {
"description" : "Basic app data" ,
"content" : {
"application/json" : {
"schema" : {
2024-06-26 10:42:22 +02:00
"$ref" : "#/components/schemas/AppBaseData"
2022-06-26 18:14:16 -07:00
}
}
}
} ,
"404" : {
"description" : "App with specified ID was not found"
}
} ,
"security" : [
{
"API_Key" : [
"btcpay.store.canmodifystoresettings"
] ,
"Basic" : [ ]
}
]
} ,
"delete" : {
"tags" : [
"Apps"
] ,
2023-02-07 00:01:53 -08:00
"operationId" : "Apps_DeleteApp" ,
2022-06-26 18:14:16 -07:00
"summary" : "Delete app" ,
"description" : "Deletes apps with specified ID" ,
2022-08-15 15:28:41 +02:00
"parameters" : [
{
"name" : "appId" ,
"in" : "path" ,
"required" : true ,
"description" : "The app ID" ,
"schema" : {
"type" : "string"
}
}
] ,
2022-06-26 18:14:16 -07:00
"responses" : {
"200" : {
"description" : "App was deleted"
} ,
"404" : {
"description" : "App with specified ID was not found"
}
} ,
"security" : [
{
"API_Key" : [
"btcpay.store.canmodifystoresettings"
] ,
"Basic" : [ ]
}
]
}
2023-01-29 16:42:24 -08:00
} ,
2024-09-12 09:17:16 +02:00
"/api/v1/apps/{appId}/sales" : {
"get" : {
"tags" : [
"Apps"
] ,
"operationId" : "Apps_GetAppSales" ,
"summary" : "Get app sales statistics" ,
"description" : "Returns sales statistics for the app" ,
"parameters" : [
{
"name" : "appId" ,
"in" : "path" ,
"required" : true ,
"description" : "The app ID" ,
"schema" : {
"type" : "string"
}
} ,
{
"name" : "numberOfDays" ,
"in" : "query" ,
"required" : false ,
"description" : "How many of the last days" ,
"schema" : {
"nullable" : true ,
"type" : "number" ,
"default" : 7
}
}
] ,
"responses" : {
"200" : {
"description" : "App sales statistics" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/AppSalesStats"
}
}
}
} ,
"404" : {
"description" : "App with specified ID was not found"
}
} ,
"security" : [
{
"API_Key" : [
"btcpay.store.canmodifystoresettings"
] ,
"Basic" : [ ]
}
]
}
} ,
"/api/v1/apps/{appId}/top-items" : {
"get" : {
"tags" : [
"Apps"
] ,
"operationId" : "Apps_GetAppTopItems" ,
"summary" : "Get app top items statistics" ,
"description" : "Returns top items statistics for the app" ,
"parameters" : [
{
"name" : "appId" ,
"in" : "path" ,
"required" : true ,
"description" : "The app ID" ,
"schema" : {
"type" : "string"
}
} ,
{
"name" : "count" ,
"in" : "query" ,
"required" : false ,
"description" : "How many of the items" ,
"schema" : {
"nullable" : true ,
"type" : "number" ,
"default" : 5
}
} ,
{
"name" : "offset" ,
"in" : "query" ,
"required" : false ,
"description" : "Offset for paging" ,
"schema" : {
"nullable" : true ,
"type" : "number" ,
"default" : 0
}
}
] ,
"responses" : {
"200" : {
"description" : "App top items statistics" ,
"content" : {
"application/json" : {
"schema" : {
"type" : "array" ,
"items" : {
"$ref" : "#/components/schemas/AppItemStats"
}
}
}
}
} ,
"404" : {
"description" : "App with specified ID was not found"
}
} ,
"security" : [
{
"API_Key" : [
"btcpay.store.canmodifystoresettings"
] ,
"Basic" : [ ]
}
]
}
} ,
2023-01-29 16:42:24 -08:00
"/api/v1/stores/{storeId}/apps" : {
"parameters" : [
{
"name" : "storeId" ,
"in" : "path" ,
"required" : true ,
"description" : "The store ID" ,
"schema" : {
"type" : "string"
}
}
] ,
"get" : {
"tags" : [
"Apps"
] ,
"operationId" : "Apps_GetAllAppsForStore" ,
"summary" : "Get basic app data for all apps for a store" ,
"description" : "Returns basic app data for all apps for a store" ,
"responses" : {
"200" : {
"description" : "Array of basic app data object" ,
"content" : {
"application/json" : {
"schema" : {
"type" : "array" ,
"items" : {
2024-06-26 10:42:22 +02:00
"$ref" : "#/components/schemas/AppBaseData"
2023-01-29 16:42:24 -08:00
}
}
}
}
}
} ,
"security" : [
{
"API_Key" : [
"btcpay.store.canmodifystoresettings"
] ,
"Basic" : [ ]
}
]
}
} ,
"/api/v1/apps" : {
"get" : {
"tags" : [
"Apps"
] ,
"operationId" : "Apps_GetAllApps" ,
"summary" : "Get basic app data for all apps for all stores for a user" ,
"description" : "Returns basic app data for all apps for all stores" ,
"responses" : {
"200" : {
"description" : "Array of basic app data object" ,
"content" : {
"application/json" : {
"schema" : {
"type" : "array" ,
"items" : {
2024-06-26 10:42:22 +02:00
"$ref" : "#/components/schemas/AppBaseData"
2023-01-29 16:42:24 -08:00
}
}
}
}
}
} ,
"security" : [
{
"API_Key" : [
"btcpay.store.canmodifystoresettings"
] ,
"Basic" : [ ]
}
]
}
}
2022-05-01 22:28:27 -07:00
} ,
"components" : {
"schemas" : {
2024-06-26 10:42:22 +02:00
"AppBaseData" : {
"type" : "object" ,
"properties" : {
"id" : {
"type" : "string" ,
"description" : "Id of the app" ,
"example" : "3ki4jsAkN4u9rv1PUzj1odX4Nx7s"
} ,
"appName" : {
"type" : "string" ,
"description" : "Name given to the app when it was created" ,
"example" : "my test app"
} ,
"storeId" : {
"type" : "string" ,
"description" : "Id of the store to which the app belongs" ,
"example" : "9CiNzKoANXxmk5ayZngSXrHTiVvvgCrwrpFQd4m2K776"
} ,
"created" : {
"type" : "integer" ,
"example" : 1651554744 ,
"description" : "UNIX timestamp for when the app was created"
} ,
"appType" : {
"type" : "string" ,
"example" : "PointOfSale" ,
"description" : "Type of the app which was created"
} ,
"archived" : {
"type" : "boolean" ,
"description" : "If true, the app does not appear in the apps list by default." ,
"default" : false ,
"nullable" : true
}
}
} ,
"PointOfSaleBaseData" : {
2022-06-26 18:14:16 -07:00
"allOf" : [
{
2024-06-26 10:42:22 +02:00
"$ref" : "#/components/schemas/AppBaseData"
2022-06-26 18:14:16 -07:00
} ,
{
2023-02-07 00:01:53 -08:00
"type" : "object" ,
"properties" : {
"title" : {
"type" : "string" ,
"description" : "Display title of the app" ,
2024-06-26 10:42:22 +02:00
"example" : "My PoS app" ,
"nullable" : true
2023-02-07 00:01:53 -08:00
} ,
"description" : {
"type" : "string" ,
"description" : "App description" ,
2024-06-26 10:42:22 +02:00
"example" : "This is my amazing PoS app" ,
"nullable" : true
2023-02-07 00:01:53 -08:00
} ,
"defaultView" : {
"type" : "string" ,
"description" : "App view type (e.g., static, cart, etc...)" ,
"example" : "Cart" ,
"x-enumNames" : [
"Static" ,
"Cart" ,
"Light" ,
"Print"
] ,
"enum" : [
"Static" ,
"Cart" ,
"Light" ,
"Print"
2024-06-26 10:42:22 +02:00
] ,
"nullable" : true
2023-02-07 00:01:53 -08:00
} ,
2024-03-14 11:11:54 +01:00
"showItems" : {
"type" : "boolean" ,
"default" : false ,
"description" : "Display item selection for keypad" ,
2024-06-26 10:42:22 +02:00
"example" : true ,
"nullable" : true
2024-03-14 11:11:54 +01:00
} ,
2023-02-07 00:01:53 -08:00
"showCustomAmount" : {
"type" : "boolean" ,
"description" : "Whether the option to enter a custom amount is shown" ,
2024-06-26 10:42:22 +02:00
"example" : true ,
"nullable" : true
2023-02-07 00:01:53 -08:00
} ,
"showDiscount" : {
2023-12-31 09:07:15 +01:00
"default" : false ,
2023-02-07 00:01:53 -08:00
"type" : "boolean" ,
"description" : "Whether the option to enter a discount is shown" ,
2024-06-26 10:42:22 +02:00
"example" : false ,
"nullable" : true
2023-02-07 00:01:53 -08:00
} ,
2023-11-13 13:59:14 +01:00
"showSearch" : {
"type" : "boolean" ,
"description" : "Display the search bar" ,
"example" : false ,
2024-06-26 10:42:22 +02:00
"default" : true ,
"nullable" : true
2023-11-13 13:59:14 +01:00
} ,
"showCategories" : {
"type" : "boolean" ,
"description" : "Display the list of categories" ,
"example" : false ,
2024-06-26 10:42:22 +02:00
"default" : true ,
"nullable" : true
2023-11-13 13:59:14 +01:00
} ,
2023-02-07 00:01:53 -08:00
"enableTips" : {
2023-12-31 09:07:15 +01:00
"default" : false ,
2023-02-07 00:01:53 -08:00
"type" : "boolean" ,
"description" : "Whether the option to enter a tip is shown" ,
2024-06-26 10:42:22 +02:00
"example" : true ,
"nullable" : true
2023-02-07 00:01:53 -08:00
} ,
"currency" : {
"type" : "string" ,
"description" : "Currency used for the app" ,
2024-06-26 10:42:22 +02:00
"example" : "BTC" ,
"nullable" : true
} ,
"fixedAmountPayButtonText" : {
"type" : "string" ,
"description" : "Payment button text template for items with a set price" ,
"example" : "Buy for {0}" ,
"nullable" : true
2023-02-07 00:01:53 -08:00
} ,
2024-06-26 10:42:22 +02:00
"customAmountPayButtonText" : {
"type" : "string" ,
"description" : "Payment button text which appears for items which allow user to input a custom amount" ,
"example" : "Pay" ,
"nullable" : true
} ,
"tipText" : {
"type" : "string" ,
"description" : "Prompt which appears next to the tip amount field if tipping is enabled" ,
"example" : "Do you want to leave a tip?" ,
"nullable" : true
} ,
"customTipPercentages" : {
"type" : "array" ,
"description" : "Array of predefined tip percentage amounts" ,
"items" : {
"type" : "number"
} ,
"default" : [ 15 , 18 , 20 ] ,
"nullable" : true
} ,
"notificationUrl" : {
"type" : "string" ,
"description" : "Callback notification url to POST to once when invoice is paid for and once when there are enough blockchain confirmations" ,
"nullable" : true
} ,
"redirectUrl" : {
"type" : "string" ,
"description" : "URL user is redirected to once invoice is paid" ,
"nullable" : true
} ,
"redirectAutomatically" : {
"type" : "boolean" ,
"description" : "Whether user is redirected to specified redirect URL automatically after the invoice is paid" ,
"example" : true ,
"nullable" : true
} ,
"formId" : {
"type" : "string" ,
"description" : "Form ID to request customer data" ,
"nullable" : true
}
}
}
]
} ,
"PointOfSaleAppRequest" : {
"allOf" : [
{
"$ref" : "#/components/schemas/PointOfSaleBaseData"
} ,
{
"type" : "object" ,
"properties" : {
"template" : {
"type" : "string" ,
"description" : "JSON of item available in the app"
}
}
}
]
} ,
"PointOfSaleAppData" : {
"allOf" : [
{
"$ref" : "#/components/schemas/PointOfSaleBaseData"
} ,
{
"type" : "object" ,
"properties" : {
2023-02-07 00:01:53 -08:00
"items" : {
"type" : "object" ,
"description" : "JSON object of app items" ,
"example" : [
{
"description" : "Lovely, fresh and tender, Meng Ding Gan Lu ('sweet dew') is grown in the lush Meng Ding Mountains of the southwestern province of Sichuan where it has been cultivated for over a thousand years." ,
"id" : "green tea" ,
"image" : "~/img/pos-sample/green-tea.jpg" ,
"price" : {
"type" : 2 ,
"formatted" : "$1.00" ,
"value" : 1.0
} ,
"title" : "Green Tea" ,
"buyButtonText" : null ,
"inventory" : 5 ,
"paymentMethods" : null ,
"disabled" : false
} ,
{
"description" : "Tian Jian Tian Jian means 'heavenly tippy tea' in Chinese, and it describes the finest grade of dark tea. Our Tian Jian dark tea is from Hunan province which is famous for making some of the best dark teas available." ,
"id" : "black tea" ,
"image" : "~/img/pos-sample/black-tea.jpg" ,
"price" : {
"type" : 2 ,
"formatted" : "$1.00" ,
"value" : 1.0
} ,
"title" : "Black Tea" ,
"buyButtonText" : "Test Buy Button Text" ,
"inventory" : null ,
"paymentMethods" : null ,
"disabled" : false
}
]
}
}
2022-06-26 18:14:16 -07:00
}
]
} ,
2024-06-26 10:42:22 +02:00
"CrowdfundBaseData" : {
2022-11-17 21:20:07 -08:00
"allOf" : [
{
2024-06-26 10:42:22 +02:00
"$ref" : "#/components/schemas/AppBaseData"
2022-11-17 21:20:07 -08:00
} ,
{
2023-02-07 00:01:53 -08:00
"type" : "object" ,
"properties" : {
"title" : {
"type" : "string" ,
"description" : "Display title of the app" ,
2024-06-26 10:42:22 +02:00
"example" : "My crowdfund app" ,
"nullable" : true
2023-02-07 00:01:53 -08:00
} ,
"description" : {
"type" : "string" ,
"description" : "App description" ,
2024-06-26 10:42:22 +02:00
"example" : "My crowdfund description" ,
"nullable" : true
2023-02-07 00:01:53 -08:00
} ,
"enabled" : {
"type" : "boolean" ,
"description" : "Whether the app is enabled to be viewed by everyone" ,
2024-06-26 10:42:22 +02:00
"example" : true ,
"nullable" : true
2023-02-07 00:01:53 -08:00
} ,
"enforceTargetAmount" : {
"type" : "boolean" ,
"description" : "Whether contributions over the set target amount are allowed" ,
2024-06-26 10:42:22 +02:00
"example" : false ,
"nullable" : true
2023-02-07 00:01:53 -08:00
} ,
"startDate" : {
"type" : "number" ,
"description" : "UNIX timestamp for crowdfund start time (https://www.unixtimestamp.com/)" ,
"allOf" : [ { "$ref" : "#/components/schemas/UnixTimestamp" } ] ,
2024-06-26 10:42:22 +02:00
"example" : 768658369 ,
"nullable" : true
2023-02-07 00:01:53 -08:00
} ,
"endDate" : {
"type" : "number" ,
"description" : "UNIX timestamp for crowdfund end time (https://www.unixtimestamp.com/)" ,
"allOf" : [ { "$ref" : "#/components/schemas/UnixTimestamp" } ] ,
2024-06-26 10:42:22 +02:00
"example" : 771336769 ,
"nullable" : true
2023-02-07 00:01:53 -08:00
} ,
"targetCurrency" : {
"type" : "string" ,
"description" : "Target currency for the crowdfund" ,
2024-06-26 10:42:22 +02:00
"example" : "BTC" ,
"nullable" : true
2023-02-07 00:01:53 -08:00
} ,
"targetAmount" : {
"type" : "number" ,
"description" : "Target amount for the crowdfund" ,
2024-06-26 10:42:22 +02:00
"example" : 420.69 ,
"nullable" : true
2023-02-07 00:01:53 -08:00
} ,
"mainImageUrl" : {
"type" : "string" ,
2024-06-26 10:42:22 +02:00
"description" : "URL for image used as a cover image for the app" ,
"nullable" : true
2023-02-07 00:01:53 -08:00
} ,
"notificationUrl" : {
"type" : "string" ,
2024-06-26 10:42:22 +02:00
"description" : "Callback notification url to POST to once when invoice is paid for and once when there are enough blockchain confirmations" ,
"nullable" : true
2023-02-07 00:01:53 -08:00
} ,
"tagline" : {
"type" : "string" ,
"description" : "Tagline for the app displayed to user" ,
2024-06-26 10:42:22 +02:00
"example" : "I can't believe it's not butter" ,
"nullable" : true
2023-02-07 00:01:53 -08:00
} ,
"disqusEnabled" : {
"type" : "boolean" ,
2024-06-26 10:42:22 +02:00
"description" : "Whether Disqus is enabled for the app" ,
"nullable" : true
2023-02-07 00:01:53 -08:00
} ,
"disqusShortname" : {
"type" : "string" ,
2024-06-26 10:42:22 +02:00
"description" : "Disqus shortname to used for the app" ,
"nullable" : true
2023-02-07 00:01:53 -08:00
} ,
"soundsEnabled" : {
"type" : "boolean" ,
"description" : "Whether sounds on new contributions are enabled" ,
2024-06-26 10:42:22 +02:00
"example" : false ,
"nullable" : true
2023-02-07 00:01:53 -08:00
} ,
"animationsEnabled" : {
"type" : "boolean" ,
"description" : "Whether background animations on new contributions are enabled" ,
2024-06-26 10:42:22 +02:00
"example" : true ,
"nullable" : true
2023-02-07 00:01:53 -08:00
} ,
"resetEveryAmount" : {
"type" : "number" ,
"description" : "Contribution goal reset frequency amount" ,
2024-06-26 10:42:22 +02:00
"example" : 1 ,
"nullable" : true
2023-02-07 00:01:53 -08:00
} ,
"resetEvery" : {
"type" : "string" ,
"description" : "Contribution goal reset frequency" ,
2024-06-26 10:42:22 +02:00
"example" : "Day" ,
"nullable" : true
2023-02-07 00:01:53 -08:00
} ,
"displayPerksValue" : {
"type" : "boolean" ,
"description" : "Whether perk values are displayed" ,
2024-06-26 10:42:22 +02:00
"example" : false ,
"nullable" : true
2023-02-07 00:01:53 -08:00
} ,
"sortPerksByPopularity" : {
"type" : "boolean" ,
"description" : "Whether perks are sorted by popularity" ,
2024-06-26 10:42:22 +02:00
"default" : true ,
"nullable" : true
2023-02-07 00:01:53 -08:00
} ,
"sounds" : {
"type" : "array" ,
"description" : "Array of custom sounds which can be used on new contributions" ,
"items" : {
"type" : "string"
} ,
2024-06-26 10:42:22 +02:00
"example" : [ "https://github.com/ClaudiuHKS/AdvancedQuakeSounds/raw/master/sound/AQS/doublekill.wav" ] ,
"nullable" : true
2023-02-07 00:01:53 -08:00
} ,
"animationColors" : {
"type" : "array" ,
"description" : "Array of custom HEX colors which can be used for background animations on new contributions" ,
"items" : {
"type" : "string"
} ,
2024-06-26 10:42:22 +02:00
"example" : [ "#FF0000" , "#00FF00" , "#0000FF" ] ,
"nullable" : true
} ,
"formId" : {
"type" : "string" ,
"description" : "Form ID to request customer data" ,
"nullable" : true
2023-02-07 00:01:53 -08:00
}
}
2022-11-17 21:20:07 -08:00
}
]
} ,
2024-06-26 10:42:22 +02:00
"CrowdfundAppRequest" : {
"allOf" : [
{
"$ref" : "#/components/schemas/CrowdfundBaseData"
2022-07-17 22:23:22 -07:00
} ,
2024-06-26 10:42:22 +02:00
{
"type" : "object" ,
"properties" : {
"perksTemplate" : {
"type" : "string" ,
"description" : "JSON of perks available in the app"
}
}
2022-07-17 22:23:22 -07:00
}
2024-06-26 10:42:22 +02:00
]
2022-11-17 21:20:07 -08:00
} ,
2024-06-26 10:42:22 +02:00
"CrowdfundAppData" : {
"allOf" : [
{
"$ref" : "#/components/schemas/CrowdfundBaseData"
2022-11-17 21:20:07 -08:00
} ,
2024-06-26 10:42:22 +02:00
{
"type" : "object" ,
"properties" : {
"perks" : {
"type" : "object" ,
"description" : "JSON of perks available in the app" ,
"example" : [
{
"description" : null ,
"id" : "test perk" ,
"image" : null ,
"price" : {
"type" : 2 ,
"formatted" : "$100.00" ,
"value" : 100.0
} ,
"title" : "test perk" ,
"buyButtonText" : null ,
"inventory" : null ,
"paymentMethods" : null ,
"disabled" : false
} ,
{
"description" : "this is an amazing perk" ,
"id" : "test test" ,
"image" : "https://mainnet.demo.btcpayserver.org/img/errorpages/404_nicolas.jpg" ,
"price" : {
"type" : 1 ,
"formatted" : "$69.42" ,
"value" : 69.42
} ,
"title" : "test test" ,
"buyButtonText" : null ,
"inventory" : 5 ,
"paymentMethods" : null ,
"disabled" : false
} ,
{
"description" : null ,
"id" : "f$t45hj764325" ,
"image" : null ,
"price" : {
"type" : 0 ,
"formatted" : null ,
"value" : null
} ,
"title" : "amazing perk" ,
"buyButtonText" : "button text" ,
"inventory" : null ,
"paymentMethods" : null ,
"disabled" : true
}
]
}
}
2022-11-17 21:20:07 -08:00
}
2024-06-26 10:42:22 +02:00
]
2024-09-12 09:17:16 +02:00
} ,
"AppSalesStats" : {
"type" : "object" ,
"properties" : {
"salesCount" : {
"type" : "integer" ,
"example" : 615 ,
"description" : "Total sales in that period"
} ,
"series" : {
"type" : "array" ,
"items" : {
"$ref" : "#/components/schemas/AppSalesStatsItem"
}
}
}
} ,
"AppSalesStatsItem" : {
"type" : "object" ,
"properties" : {
"date" : {
"type" : "integer" ,
"description" : "UNIX timestamp of the beginning of that day"
} ,
"label" : {
"type" : "string" ,
"description" : "Short date as label" ,
"example" : "Jul 21"
} ,
"salesCount" : {
"type" : "integer" ,
"example" : 21 ,
"description" : "Total sales on that day"
}
}
} ,
"AppItemStats" : {
"type" : "object" ,
"properties" : {
"itemCode" : {
"type" : "string" ,
"description" : "Item ID"
} ,
"title" : {
"type" : "string" ,
"description" : "Item Name"
} ,
"salesCount" : {
"type" : "integer" ,
"example" : 21 ,
"description" : "Total sales of that item"
} ,
"total" : {
"type" : "string" ,
"format" : "decimal" ,
"description" : "The total amount of sales of that item"
} ,
"totalFormatted" : {
"type" : "string" ,
"description" : "The formatted total amount of sales of that item" ,
"example" : "615.21 USD"
}
}
2022-05-01 22:28:27 -07:00
}
}
} ,
"tags" : [
{
2022-10-25 13:37:36 +02:00
"name" : "Apps" ,
"description" : "App operations"
2022-05-01 22:28:27 -07:00
}
]
}