AppDirect Discount API
The Discount API from AppDirect — 2 operation(s) for discount.
The Discount API from AppDirect — 2 operation(s) for discount.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/appdirect-discount-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
description: The Companies API allows developers to manage marketplace companies and their user memberships.
title: Companies Discount API
license:
name: Apache License, Version 2.0
url: http://www.apache.org/licenses/LICENSE-2.0
version: v296.0-SNAPSHOT
servers:
- url: https://marketplace.appdirect.com/api
- url: https://virtserver.swaggerhub.com
tags:
- name: Discount
x-displayName: Discounts
paths:
/channel/v1/discounts:
get:
description: 'Lists all available discounts.
The parameters can be used to filter the results.'
tags:
- Discount
summary: List all discounts
operationId: resource_Other_readDiscounts_GET
parameters:
- description: Discount code
name: code
in: query
schema:
type: string
- description: Number of results to fetch. Used for paging.
name: count
in: query
schema:
type: integer
default: 250
- description: Sort field. Default value is creation date.
name: sortField
in: query
schema:
type: string
enum:
- APPLICATION
- CHANNEL
- CODE
- CREATED_ON
- END_DATE
- REDEMPTIONS
- START_DATE
default: CREATED_ON
- description: Sort order. Default value is ascending.
name: sortOrder
in: query
schema:
type: string
enum:
- ASC
- DESC
default: ASC
- description: First result index. Used for paging.
name: start
in: query
schema:
type: integer
responses:
'200':
description: OK
headers:
X-Total-Count:
schema:
type: integer
content:
'*/*':
schema:
type: array
items:
$ref: '#/components/schemas/Discount'
application/json:
examples:
response:
value:
- id: 4
uuid: 47055f26-ace6-4abe-87a6-ab64f4de80ce
code: null
redemptions: 0
maxRedemptions: null
createdOn: 1480969138028
startDate: null
expirationDate: null
type: PERCENTAGE
percentage: 70
price: null
description: SOMEDESCRIPTION
applicationName: null
applicationId: null
applicationUuid: null
editionId: null
editionUuid: null
paymentPlanId: null
paymentPlanUuid: null
autoApply: true
billingCycles: null
retainable: false
redemptionRestriction: NONE
vendorSharePercentage: null
partnerSharePercentage: null
basePartnerSharePercentage: null
unit: USER
minUnits: 0
maxUnits: 0
industryId: null
headers:
examples:
response:
value:
X-Total-Count: 1
'404':
description: Not Found
x-codeSamples:
- lang: Shell + Curl
source: "curl --request GET \\\n --url 'https://marketplace.appdirect.com/api/channel/v1/discounts?code=SOME_STRING_VALUE&count=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_INTEGER_VALUE'"
- lang: Node + Request
source: "const request = require('request');\n\nconst options = {\n method: 'GET',\n url: 'https://marketplace.appdirect.com/api/channel/v1/discounts',\n qs: {\n code: 'SOME_STRING_VALUE',\n count: 'SOME_INTEGER_VALUE',\n sortField: 'SOME_STRING_VALUE',\n sortOrder: 'SOME_STRING_VALUE',\n start: 'SOME_INTEGER_VALUE'\n }\n};\n\nrequest(options, function (error, response, body) {\n if (error) throw new Error(error);\n\n console.log(body);\n});\n"
- lang: Java + Okhttp
source: "OkHttpClient client = new OkHttpClient();\n\nRequest request = new Request.Builder()\n .url(\"https://marketplace.appdirect.com/api/channel/v1/discounts?code=SOME_STRING_VALUE&count=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_INTEGER_VALUE\")\n .get()\n .build();\n\nResponse response = client.newCall(request).execute();"
post:
description: Creates a discount with the provided data. Note that percentage discounts cannot exceed two decimal places (for example, 10.15).
tags:
- Discount
summary: Create discounts
operationId: resource_Other_createDiscount_POST
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Discount'
description: Discount data object
responses:
'201':
description: Created
content:
application/json:
examples:
response:
value:
id: 1
uuid: 17055f26-ace6-4abe-87a6-ab64f4de80ce
code: null
redemptions: 0
maxRedemptions: null
createdOn: 1480969136160
startDate: null
expirationDate: null
type: PERCENTAGE
percentage: 70
price: null
description: SOMEDESCRIPTION
applicationName: null
applicationId: null
applicationUuid: null
editionId: null
editionUuid: null
paymentPlanId: null
paymentPlanUuid: null
autoApply: true
billingCycles: null
retainable: false
redemptionRestriction: NONE
vendorSharePercentage: 50
partnerSharePercentage: 25
basePartnerSharePercentage: 25
unit: USER
minUnits: 0
maxUnits: 0
industryId: null
'400':
description: Bad Request
'404':
description: Not Found
'409':
description: Conflict
x-codeSamples:
- lang: Shell + Curl
source: "curl --request POST \\\n --url https://marketplace.appdirect.com/api/channel/v1/discounts \\\n --data '{\"applicationId\":0,\"applicationUuid\":\"string\",\"applicationName\":\"string\",\"autoApply\":true,\"basePartnerSharePercentage\":0,\"billingCycles\":0,\"code\":\"string\",\"createdOn\":0,\"description\":\"string\",\"editionId\":0,\"editionUuid\":\"string\",\"expirationDate\":0,\"id\":0,\"uuid\":\"string\",\"industryId\":0,\"maxRedemptions\":0,\"maxUnits\":0,\"minUnits\":0,\"partnerSharePercentage\":0,\"paymentPlanId\":0,\"paymentPlanUuid\":\"string\",\"percentage\":0,\"price\":0,\"redemptionRestriction\":\"string\",\"redemptions\":0,\"retainable\":true,\"startDate\":0,\"type\":\"string\",\"unit\":\"USER\",\"vendorSharePercentage\":0}'"
- lang: Node + Request
source: "const request = require('request');\n\nconst options = {\n method: 'POST',\n url: 'https://marketplace.appdirect.com/api/channel/v1/discounts',\n body: {\n applicationId: 0,\n applicationUuid: 'string',\n applicationName: 'string',\n autoApply: true,\n basePartnerSharePercentage: 0,\n billingCycles: 0,\n code: 'string',\n createdOn: 0,\n description: 'string',\n editionId: 0,\n editionUuid: 'string',\n expirationDate: 0,\n id: 0,\n uuid: 'string',\n industryId: 0,\n maxRedemptions: 0,\n maxUnits: 0,\n minUnits: 0,\n partnerSharePercentage: 0,\n paymentPlanId: 0,\n paymentPlanUuid: 'string',\n percentage: 0,\n price: 0,\n redemptionRestriction: 'string',\n redemptions: 0,\n retainable: true,\n startDate: 0,\n type: 'string',\n unit: 'USER',\n vendorSharePercentage: 0\n },\n json: true\n};\n\nrequest(options, function (error, response, body) {\n if (error) throw new Error(error);\n\n console.log(body);\n});\n"
- lang: Java + Okhttp
source: "OkHttpClient client = new OkHttpClient();\n\nMediaType mediaType = MediaType.parse(\"application/json\");\nRequestBody body = RequestBody.create(mediaType, \"{\\\"applicationId\\\":0,\\\"applicationUuid\\\":\\\"string\\\",\\\"applicationName\\\":\\\"string\\\",\\\"autoApply\\\":true,\\\"basePartnerSharePercentage\\\":0,\\\"billingCycles\\\":0,\\\"code\\\":\\\"string\\\",\\\"createdOn\\\":0,\\\"description\\\":\\\"string\\\",\\\"editionId\\\":0,\\\"editionUuid\\\":\\\"string\\\",\\\"expirationDate\\\":0,\\\"id\\\":0,\\\"uuid\\\":\\\"string\\\",\\\"industryId\\\":0,\\\"maxRedemptions\\\":0,\\\"maxUnits\\\":0,\\\"minUnits\\\":0,\\\"partnerSharePercentage\\\":0,\\\"paymentPlanId\\\":0,\\\"paymentPlanUuid\\\":\\\"string\\\",\\\"percentage\\\":0,\\\"price\\\":0,\\\"redemptionRestriction\\\":\\\"string\\\",\\\"redemptions\\\":0,\\\"retainable\\\":true,\\\"startDate\\\":0,\\\"type\\\":\\\"string\\\",\\\"unit\\\":\\\"USER\\\",\\\"vendorSharePercentage\\\":0}\");\nRequest request = new Request.Builder()\n .url(\"https://marketplace.appdirect.com/api/channel/v1/discounts\")\n .post(body)\n .build();\n\nResponse response = client.newCall(request).execute();"
/channel/v1/discounts/{discountId}:
put:
description: Updates the specified discount with the provided data. Note that percentage discounts cannot exceed two decimal places (for example, 10.15).
tags:
- Discount
summary: Update discounts
operationId: resource_Other_updateDiscount_PUT
parameters:
- description: Discount ID or Discount UUID
name: discountId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Discount'
description: Discount data object
responses:
'200':
description: OK
content:
application/json:
examples:
response:
value:
id: 5
uuid: 57055f26-ace6-4abe-87a6-ab64f4de80ce
code: null
redemptions: 0
maxRedemptions: null
createdOn: null
startDate: null
expirationDate: null
type: PERCENTAGE
percentage: 50
price: null
description: SOMEDESCRIPTION
applicationName: null
applicationId: null
applicationUuid: null
editionId: null
editionUuid: null
paymentPlanId: null
paymentPlanUuid: null
autoApply: true
billingCycles: null
retainable: false
redemptionRestriction: NONE
vendorSharePercentage: 50
partnerSharePercentage: 25
basePartnerSharePercentage: 25
unit: USER
minUnits: 0
maxUnits: 0
industryId: null
'400':
description: Bad Request
'404':
description: Not Found
'409':
description: Conflict
x-codeSamples:
- lang: Shell + Curl
source: "curl --request PUT \\\n --url https://marketplace.appdirect.com/api/channel/v1/discounts/%7BdiscountId%7D \\\n --data '{\"applicationId\":0,\"applicationUuid\":\"string\",\"applicationName\":\"string\",\"autoApply\":true,\"basePartnerSharePercentage\":0,\"billingCycles\":0,\"code\":\"string\",\"createdOn\":0,\"description\":\"string\",\"editionId\":0,\"editionUuid\":\"string\",\"expirationDate\":0,\"id\":0,\"uuid\":\"string\",\"industryId\":0,\"maxRedemptions\":0,\"maxUnits\":0,\"minUnits\":0,\"partnerSharePercentage\":0,\"paymentPlanId\":0,\"paymentPlanUuid\":\"string\",\"percentage\":0,\"price\":0,\"redemptionRestriction\":\"string\",\"redemptions\":0,\"retainable\":true,\"startDate\":0,\"type\":\"string\",\"unit\":\"USER\",\"vendorSharePercentage\":0}'"
- lang: Node + Request
source: "const request = require('request');\n\nconst options = {\n method: 'PUT',\n url: 'https://marketplace.appdirect.com/api/channel/v1/discounts/%7BdiscountId%7D',\n body: {\n applicationId: 0,\n applicationUuid: 'string',\n applicationName: 'string',\n autoApply: true,\n basePartnerSharePercentage: 0,\n billingCycles: 0,\n code: 'string',\n createdOn: 0,\n description: 'string',\n editionId: 0,\n editionUuid: 'string',\n expirationDate: 0,\n id: 0,\n uuid: 'string',\n industryId: 0,\n maxRedemptions: 0,\n maxUnits: 0,\n minUnits: 0,\n partnerSharePercentage: 0,\n paymentPlanId: 0,\n paymentPlanUuid: 'string',\n percentage: 0,\n price: 0,\n redemptionRestriction: 'string',\n redemptions: 0,\n retainable: true,\n startDate: 0,\n type: 'string',\n unit: 'USER',\n vendorSharePercentage: 0\n },\n json: true\n};\n\nrequest(options, function (error, response, body) {\n if (error) throw new Error(error);\n\n console.log(body);\n});\n"
- lang: Java + Okhttp
source: "OkHttpClient client = new OkHttpClient();\n\nMediaType mediaType = MediaType.parse(\"application/json\");\nRequestBody body = RequestBody.create(mediaType, \"{\\\"applicationId\\\":0,\\\"applicationUuid\\\":\\\"string\\\",\\\"applicationName\\\":\\\"string\\\",\\\"autoApply\\\":true,\\\"basePartnerSharePercentage\\\":0,\\\"billingCycles\\\":0,\\\"code\\\":\\\"string\\\",\\\"createdOn\\\":0,\\\"description\\\":\\\"string\\\",\\\"editionId\\\":0,\\\"editionUuid\\\":\\\"string\\\",\\\"expirationDate\\\":0,\\\"id\\\":0,\\\"uuid\\\":\\\"string\\\",\\\"industryId\\\":0,\\\"maxRedemptions\\\":0,\\\"maxUnits\\\":0,\\\"minUnits\\\":0,\\\"partnerSharePercentage\\\":0,\\\"paymentPlanId\\\":0,\\\"paymentPlanUuid\\\":\\\"string\\\",\\\"percentage\\\":0,\\\"price\\\":0,\\\"redemptionRestriction\\\":\\\"string\\\",\\\"redemptions\\\":0,\\\"retainable\\\":true,\\\"startDate\\\":0,\\\"type\\\":\\\"string\\\",\\\"unit\\\":\\\"USER\\\",\\\"vendorSharePercentage\\\":0}\");\nRequest request = new Request.Builder()\n .url(\"https://marketplace.appdirect.com/api/channel/v1/discounts/%7BdiscountId%7D\")\n .put(body)\n .build();\n\nResponse response = client.newCall(request).execute();"
get:
description: Retrieves the discount for the given discount ID or UUID.
tags:
- Discount
summary: Retrieve discounts
operationId: resource_Other_readDiscount_GET
parameters:
- description: Discount ID or Discount UUID
name: discountId
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
examples:
response:
value:
id: 4
uuid: 47055f26-ace6-4abe-87a6-ab64f4de80ce
code: null
redemptions: 0
maxRedemptions: null
createdOn: 1480969138028
startDate: null
expirationDate: null
type: PERCENTAGE
percentage: 70
price: null
description: SOMEDESCRIPTION
applicationName: null
applicationId: null
applicationUuid: null
editionId: null
editionUuid: null
paymentPlanId: null
paymentPlanUuid: null
autoApply: true
billingCycles: null
retainable: false
redemptionRestriction: NONE
vendorSharePercentage: null
partnerSharePercentage: null
basePartnerSharePercentage: null
unit: USER
minUnits: 0
maxUnits: 0
industryId: null
'404':
description: Not Found
x-codeSamples:
- lang: Shell + Curl
source: "curl --request GET \\\n --url https://marketplace.appdirect.com/api/channel/v1/discounts/%7BdiscountId%7D"
- lang: Node + Request
source: "const request = require('request');\n\nconst options = {\n method: 'GET',\n url: 'https://marketplace.appdirect.com/api/channel/v1/discounts/%7BdiscountId%7D'\n};\n\nrequest(options, function (error, response, body) {\n if (error) throw new Error(error);\n\n console.log(body);\n});\n"
- lang: Java + Okhttp
source: "OkHttpClient client = new OkHttpClient();\n\nRequest request = new Request.Builder()\n .url(\"https://marketplace.appdirect.com/api/channel/v1/discounts/%7BdiscountId%7D\")\n .get()\n .build();\n\nResponse response = client.newCall(request).execute();"
delete:
description: Deletes the discount with the specified discount ID or UUID.
tags:
- Discount
summary: Delete discounts
operationId: resource_Other_deleteDiscount_DELETE
parameters:
- description: Discount ID or Discount UUID
name: discountId
in: path
required: true
schema:
type: string
responses:
'204':
description: No Content
'404':
description: Not Found
x-codeSamples:
- lang: Shell + Curl
source: "curl --request DELETE \\\n --url https://marketplace.appdirect.com/api/channel/v1/discounts/%7BdiscountId%7D"
- lang: Node + Request
source: "const request = require('request');\n\nconst options = {\n method: 'DELETE',\n url: 'https://marketplace.appdirect.com/api/channel/v1/discounts/%7BdiscountId%7D'\n};\n\nrequest(options, function (error, response, body) {\n if (error) throw new Error(error);\n\n console.log(body);\n});\n"
- lang: Java + Okhttp
source: "OkHttpClient client = new OkHttpClient();\n\nRequest request = new Request.Builder()\n .url(\"https://marketplace.appdirect.com/api/channel/v1/discounts/%7BdiscountId%7D\")\n .delete(null)\n .build();\n\nResponse response = client.newCall(request).execute();"
components:
schemas:
Discount:
description: Discount details
type: object
title: Discount
required:
- type
- description
properties:
applicationId:
description: Application ID.
type:
- number
- 'null'
applicationUuid:
description: Application UUID.
type:
- string
- 'null'
applicationName:
description: Name of the application to which the discount applies.
type:
- string
- 'null'
autoApply:
description: True if the discount is automatically applied. Default value is true.
type: boolean
basePartnerSharePercentage:
description: Base partner's percentage share of the discount.
type:
- number
- 'null'
billingCycles:
description: Number of billing cycles for which the discount should be applied.
type:
- number
- 'null'
code:
description: Discount code. Must be at least 4 characters, but no longer than 103 characters.
type:
- string
- 'null'
createdOn:
description: Creation date of the discount.
type:
- number
- 'null'
description:
description: Description of discount. Required field. Must be at least 4 characters, but no longer than 255 characters.
type: string
editionId:
description: Edition ID.
type:
- number
- 'null'
editionUuid:
description: Edition UUID.
type:
- string
- 'null'
expirationDate:
description: Expiration date for the discount. This date must be in the future.
type:
- number
- 'null'
id:
description: Discount ID.
type:
- number
- 'null'
uuid:
description: Discount UUID.
type:
- string
- 'null'
industryId:
description: Industry ID.
type:
- number
- 'null'
maxRedemptions:
description: Maximum number of redemptions available.
type:
- number
- 'null'
maxUnits:
description: Maximum number of units for which to apply the discount.
type: number
minUnits:
description: Minimum number of units for which to apply the discount.
type: number
partnerSharePercentage:
description: Partner's percentage share of the discount.
type:
- number
- 'null'
paymentPlanId:
description: Payment plan ID.
type:
- number
- 'null'
paymentPlanUuid:
description: Payment plan UUID.
type:
- string
- 'null'
percentage:
description: Percentage discount if discount is of PERCENTAGE type. The percentage value cannot exceed two decimal places (for example, 10.15).
type: number
price:
description: Amount to discount if discount is of FIXED_PRICE type.
type:
- number
- 'null'
redemptionRestriction:
$ref: '#/components/schemas/RedemptionRestriction'
redemptions:
description: Number of times the discount has been redeemed.
type: number
retainable:
description: True if the discount is retainable. Retainable discounts can be redeemed on orders that are updated after the discount expires. For example, if an order includes a discount that expires on 01 January 2019, and the order is then updated on 02 January 2019, the discount would still be redeemable. The default value is false (discounts are not retained).
type: boolean
startDate:
description: Start date for the discount.
type:
- number
- 'null'
type:
$ref: '#/components/schemas/DiscountType'
unit:
$ref: '#/components/schemas/PricingUnit'
vendorSharePercentage:
description: Vendor's percentage share of the discount.
type:
- number
- 'null'
RedemptionRestriction:
type: string
title: RedemptionRestriction
properties:
RedemptionRestriction:
type: string
enum:
- NONE
- ONCE_PER_USER
- ONCE_PER_COMPANY
DiscountType:
type: string
title: DiscountType
properties:
DiscountType:
type: string
enum:
- PERCENTAGE
- FIXED_PRICE
PricingUnit:
type: string
title: PricingUnit
enum:
- USER
- GIGABYTE
- GMV
- MEGABYTE
- PROSPECT_SCORE
- HOUR
- MINUTE
- INVOICE
- UNIT
- PROJECT
- PROPERTY
- ITEM
- WORD
- EMAIL
- CONTACT
- CALL
- CREDIT
- ROOM
- HOST
- AGENT
- OPERATOR
- PROVIDER
- MANAGER
- TESTER
- JVM
- SERVER
- WEB_USE_MINUTE
- AUDIO_USE_MINUTE
- PIECE
- EMPLOYEE_PAY_PERIOD
- EMPLOYEE_PER_PAY_PERIOD
- COMPUTER
- NOT_APPLICABLE
- ONE_TIME_SETUP
- DATA_POINTS
- TIER1_API_CALLS
- TIER2_API_CALLS
- ADVISORY_HOURS
- OVERAGE_AUDIO_MINUTE
- EMPLOYEE
- CONNECTION
- PUSH_USER
- THOUSAND_EMAILS_PER_DAY
- PUSH_NOTIFICATION_DEVICES
- API_CALLS
- SMS_TEXT_MESSAGE
- CONTACTS_1000
- CONTRACT_FEE
- TRANSFER_FEE
- REACTIVATION_FEE
- RECIPIENT
- ADDITIONAL_1000_CONTACTS_BLOCK
- SCHEDULE_PLAN
- EMAILS_1000
- EMAILS_2500
- EMAILS_100000
- MOBILE_DEVICE
- PAYSLIP
- PAYSLIP_CORRECTION
- STORE
- WEBSITE
- EPAPER
- PAGE
- POSTAGE_AND_PRINT
- INTERNATIONAL_POSTAGE_AND_PRINT
- TIER1_TOP_LEVEL_DOMAIN
- TIER2_TOP_LEVEL_DOMAIN
- DEDICATED_IP
- ENABLELCM
- MAXCOMPONENTS
- DATA_MANAGEMENT_USER
- SPECIALIST_USER
- PROFESSIONAL_USER
- MATERIALITY_MATRIX
- STAKEHOLDER_MANAGEMENT
- SCORECARD
- STANDARD_MAPPING
- DONATION_MANAGEMENT
- DOCUMENT
- PACKAGE_SMALL
- PACKAGE_LARGE
- MEMBER
- ATTENDEE
- MAILING
- RESPONSE
- EXTERNAL_INVOICE_FEE
- CLIENT_TEST
- IMAGE_TRANSFORMATION
- TOTAL_IMAGE
- LICENSE
- MAILBOX
- FREE_40_INCH_HDTV_PC
- FREE_46_INCH_HDTV_PC
- FREE_46_INCH_HDTV_PC_MOUNTING
- EMPLOYEE_PER_WEEK
- REGISTER
- END_USER
- CORE
- DEVICE
- PORT
- MEASURER
- PUBLISHED_MEASUREMENT
- NODE
- SERVER_RULE
- VPN_LP
- PROXY_LP
- DESKTOP_CONNECT_LP
- CAMERA
- MAIN_SOUND_ZONE
- SUB_SOUND_ZONE
- POST
- REPORT
- BOX
- SESSION
- DISPLAY
- TRUCKROLL
- TRANSACTION_FEE
- SENDING_API_CALL
- LOOKUP_API_CALL
- ANALYTICS_API_CALL
- MIGRATION_INSTANCE
- NFON_SETUP_PER_PHONE_EXTENSION
- NFON_SETUP_PER_PHONE_EXTENSION_PLUS
- NFON_SETUP_PER_EFAX_EXTENSION
- NFON_PHONE_EXTENSION
- NFON_PHONE_EXTENSION_PLUS
- NFON_EFAX_EXTENSION
- NFON_CALL_CENTER_MONITORING
- NFON_NMEETING
- NFON_MOBILE_NFON_DEVICE
- NFON_ISOFTPHONE_MAC
- NFON_NSOFTPHONE_STANDARD_WINDOWS
- NFON_NSOFTPHONE_PREMIUM_WINDOWS
- NFON_NCTI_STANDARD_WINDOWS
- NFON_NCTI_STANDARD_CRM_WINDOWS
- NFON_NCTI_STANDARD_MAC
- NFON_NSOFTPHONE_STANDARD_WINDOWS_OR_MOBILE
- WESUSTAIN_PERFORMANCE
- WESUSTAIN_STAKEHOLDER_REPUTATION
- WESUSTAIN_WEAPP
- FAX
- FAX_LINE
- ROOM_LINE
- DEPARTMENT_LINE
- INTERNATIONAL_LICENSE
- INTERNATIONAL_DEPARTMENT_LINE
- INTERNATIONAL_ROOM_LINE
- INTERNATIONAL_LINE
- CALLING_CREDIT
- LINE
- TOLLFREE_ROOM_LINE
- TOLLFREE_DEPARTMENT_LINE
- TAXES_AND_FEES
- LEAD
- OPPORTUNITY
- CAMPAIGN
- CASE
- CUSTOMER
- TIER1_STANDARD_LINE
- TIER1_ROOM_LINE
- TIER1_TOLLFREE_ROOM_LINE
- TIER1_TOLLFREE_DEPARTMENT_LINE
- TIER1_FAX_LINE
- TIER1_DEPARTMENT_LINE
- TIER2_STANDARD_LINE
- TIER2_ROOM_LINE
- TIER2_DEPARTMENT_LINE
- TIER3_STANDARD_LINE
- TIER3_ROOM_LINE
- TIER3_DEPARTMENT_LINE
- TIER4_STANDARD_LINE
- TIER4_ROOM_LINE
- TIER4_DEPARTMENT_LINE
- CLUSTER
- NODE_4VCPU
- FIVE_HUNDRED_GB_SSD
- TWELVE_TB_NETWORK_IO
- JBOSS_EAP
- JBOSS_FUSE
- JBOSS_A_MQ
- JBOSS_BRMS
- JBOSS_BPM_SUITE
- JBOSS_DATA_GRID
- JBOSS_DATA_VIRT
- USER_LICENSE
- ADDITIONAL_NUMBER_LICENSE
- ROOM_PHONE_LICENSE
- UBERCONFERENCE_PRO_LICENSE
- UBERCONFERENCE_PRO_LICENSE_UNBUNDLED
- INSTANCE
- INDOOR_CAMERA
- OUTDOOR_CAMERA
- VINGATE_LP_LICENCE
- ADMINISTRATOR
- MOBILE_USER
- G_SUITE
- T1
- PHONE
- AUTO_ATTENDANT
- HUNT_GROUP
- VOICEMAIL_BOX
- TOLL_FREE_NUMBER
- INBOUND_LONG_DISTANCE_MINUTE
- OUTBOUND_LONG_DISTANCE_MINUTE
- INBOUND_OUTBOUND_LONG_DISTANCE_MINUTE
- SET_TOP_BOX
- MODEM
- ACCESS_POINT
- CALLING_FEATURE
- IAD_DEVICE
- ANALOG_LINE
- PRI
- SBC_DEVICE
- ROUTER
- INTERNATIONAL_MINUTE
- PHONE_LINE
- DYNAMIC_IP_ADDRESS
- STATIC_IP_ADDRESS
- GATEWAY
- REMOTE_CONTROL
- TIER1_STANDARD_SEAT
- TIER2_STANDARD_SEAT
- TIER3_STANDARD_SEAT
- TIER4_STANDARD_SEAT
- TIER1_TOLL_FREE_SEAT
- MILLION_MESSAGES
- MESSAGE
- WEEKLY
- PHONE_NUMBER
- GUEST
- REVISION_SAFE_DATAROOM
- GROUP_SESSION
- MAILBOX_AD_SYNC
- PHONE_SUPPORT
- EXTRA_10TB
- EXTRA_50TB
- EXTRA_200TB
- MAP_VIEW
- SVM
- CHANNEL
- NUMBER_PRINTER_TABLET
- NUMBER_ONSITE_SERVER
- NUMBER_VISITS
- ONSITE_TECHNICIAN_PC
- ONSITE_TECHNICIAN_SERVER
- SHORTER_REACTION_TIMES
- E_COMMERCE_INTEGRATION
- LOCATION
- TRAINING_SESSION
- GIGABYTES_PER_HOUR
- FINANCIAL_PLANNING
- ONSITE_WORKPLACE
- INTERNAL_TOOLS_ACCESS
- DUTY_SERVICE
- TERABYTE
- HOST_UNIT_HOURS
- WEB_CHECKS
- ACTIVE_USERS
- ACTIVE_EMPLOYEE
- PC_OF_NET_RECURRING_FEE
- ACTIVE_VENDOR
- ADVERTISEMENT
- ADVERTISER_SPENDS
- ANNUAL_FUNDRAISING_INCOME
- ANNUAL_SUBSCRIPTION
- APPLIANCE
- ASSET
- ASSETS_UNDER_MANAGEMENT
- BUSINESS_PARTNERS
- CASH_FLOWS
- COMPONENT
- CONNECTED_SYSTEMS
- CONTRACTS
- COSTS
- DATA_STREAMS
- DATABASE_SIZE
- EXTERNAL_SERVICE_CALLS
- FILE
- FIXED
- FLAT
- FLAT_FEE_BASED_ON_ASSETS
- FLEET_PLANNING_ORDERS
- FORMS
- GIGABYTE_DATABASE_SIZES
- INSTALLATION
- INSTALLED_CAPACITY
- JOB_POSTING
- LEARNER
- LOGON
- MANAGED_SYSTEM
- MASTER_DATA_OBJECT
- MASTER_RECORDS
- MBPS
- MONITORED_USER
- MPLS
- ORDER
- OUTPATIENT_DAYS
- PAGE_VIEW
- PATIENT_CARE_DAY
- PATIENT_TREATED
- PLANT
- POINTS_OF_DELIVERY
- PREMIUM
- PROCESS
- PRODUCTS
- RECORDS
- RENTAL_UNIT
- RESOURCES
- REVENUE
- SALES_ORDER
- SALES_PORTFOLIOS
- SERVICE_ORDERS
- SITE_VISITS
- SPENDS
- SPEND_VOLUMES
- STREAM
- STUDENT
- SUBSCRIBER
- SUPPLIERS
- TICKETS
- TOTAL_ANNUAL_BUDGET
- TUNNEL
- VIRTUAL_USERS
- SAP_SYSTEM
- POSITION_TYPES
- OVERAGE_FEES
- OVERAGE_FEE_TRANSACTION
- OVERAGE_FEES_DOCUMENT
- OVERAGE_FEES_ITEM
- EVENT
- BUSINESS_EVENT
- LEGAL_TENDER
- ANNUAL_REVENUE
- AD_SYNC
- FULL_DATA_RESTORE
- USED_STORAGE_100GB
- COMPANY
- ADDITIONAL_USER
- VISIT
- VIDEO
- ELECTRONIC_PAYMENT
- CHECK_PAYMENT
- EXPRESS_PAY_ELECTRONIC_PAYMENT
- EXPRESS_PAY_CHECK_PAYMENT
- DATA_ENTRY_SERVICE
- MONTHLY_VISIT
- SCRUB_TRANSACTION
- DEVICE_LICENSE
- SERVER_LICENSE
- BASE_LICENSE
- SERVICE_CALL
- SUPPORT_INCIDENT_TICKET
- CUSTOM_REPORT_BUILDING_TRAINING
- QUOTA
- DOMESTIC_TRANSACTION
- BEE
- BEE_FLEET
- BEE_BEACON_AMBIENT_LIGHT
- BEE_BEACON_TEMPERATURE_HUMIDITY
- CONTACTS_100
- TEMPLATE
- TEMPLATE_PACKS_10
- PACK
- SMS_TEXT_MESSAGE_10
- VIRTUAL_SERVER
- PHYSICAL_SERVER
- WORKSTATION
- CHATS
- MATCH_LIST
- CERTIFICATE_12_MONTHS
- CERTIFICATE_24_MONTHS
- PRIVACY
- PAGE_VIEWS_100000
- VOICE_OUT
- EXAM
- PARTICIPANT
- ENCRYPTION_ADDON
- ESS
- ETI
- ATP_ADDON
- PBE_ADDO
- NETI_ADDON
- HUNDRED_SMS_REMINDER
- CALENDAR_SYNC
- PAYMENT_INTERFACE
- MULTILINGUAL_ONLINE_EVENT_BOOKING
- SOCKET
- OFFER
- FREELANCER
- SOAP
- DATEV_LEXWARE_INTERFACE
- TOKEN
- SERVICE_MONTH
# --- truncated at 32 KB (41 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/appdirect/refs/heads/main/openapi/appdirect-discount-api-openapi.yml