Skip to main content

AppDirect API Reference

The AppDirect API Reference lists various requests that you can use to manage and interact with your marketplace.

Use the following URL format to send API calls:
https://{marketplaceURL}/api/{endpoint}

For example:
https://myMarketplace.com/api/marketplace/v1/bundles



Companies (v296.0-SNAPSHOT)

Download OpenAPI specification:Download

The Companies API allows developers to manage marketplace companies and their user memberships.

AppDirect Api Reference

Bundles

List all bundles

This call lists all bundles on the marketplace.

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/marketplace/v1/bundles

Response samples

Content type
No sample

Retrieve a bundle

This call returns all details about a specific bundle.

path Parameters
bundleId
required
number

Bundle product id

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/marketplace/v1/bundles/%7BbundleId%7D

Response samples

Content type
No sample

Retrieve a bundle status

This call returns the current state of the bundle.

path Parameters
bundleId
required
number

Bundle product id

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/marketplace/v1/bundles/%7BbundleId%7D/status

Response samples

Content type
No sample

Checkout Items

Retrieves product details such as branding, pricing, and so on.

Get item details

Retrieves product details such as branding, pricing, and so on.

Request Body schema: application/json
required
ownerUserId
required
string

The owner user ID. The owner owns the product after the purchase is complete.

ownerCompanyId
required
string

The owner's company's ID.

buyerUserId
required
string

The buyer user ID. The buyer is the person who is making the purchase. In assisted sales or reseller scenarios, the buyer can be different than the owner.

buyerCompanyId
required
string

The buyer's company's ID. In assisted sales or reseller scenarios, the buyer's company can be different than the owner's company.

currency
required
string = 3 characters

Three-letter code, such as USD, that determines the currency in which to display item pricing details.

productIds
required
Array of strings

List of product IDs to retrieve details for.

pricingPlanIds
Array of strings

List of pricing plan IDs to retrieve details for.

bundleIds
Array of strings

List of bundle IDs to retrieve details for. (Currently not supported)

subscriptionIds
Array of strings

List of subscription IDs to retrieve details for. (Currently not supported)

Responses

Request samples

Content type
application/json
{
  • "ownerUserId": "19d7343b-b8ab-464a-a893-8b107d77137d",
  • "ownerCompanyId": "b0410709-8333-43e2-84d6-3228f6b9998b",
  • "buyerUserId": "55144410-a14a-43a1-9e0a-062c6cf31770",
  • "buyerCompanyId": "6e5a0af2-e6be-4a86-a1b0-ffabcc2c6324",
  • "currency": "USD",
  • "productIds": [
    ],
  • "pricingPlanIds": [
    ],
  • "bundleIds": [
    ],
  • "subscriptionIds": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "098357e5-7a88-45fe-82d3-843bfd6bcbd1",
  • "type": "PRODUCT",
  • "branding": {},
  • "stacked": false,
  • "editions": [
    ]
}

Companies

Read activities

Retrieve company or user activities.

The displayType parameter dictates whether activities for the given user or activities for the whole company are returned.

Required Scopes and Authorization Rules
  • ROLE_USER -

    Allows access as an end user in the company.

  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support agent for the marketplace.

  • ROLE_CHANNEL_SUPPORT -

    Allows access as a Customer Support agent for the marketplace.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER_READ -

    Allows access to read all marketplace data.

path Parameters
companyUuid
required
string

Unique identifier of company in the API request

query Parameters
displayType
string
Default: "ONLY_ME"
Enum: "EVERYONE" "ONLY_ME"

Scope

page
integer
Default: 0

Zero-based page index

size
integer
Default: 12

The size of the page to be returned

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/activities?displayType=SOME_STRING_VALUE&page=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE'

Response samples

Content type
No sample

List all companies

Retrieve all marketplace companies.

Rate limit: Bucket size is 20 requests, with a leak rate of 5 requests per second.

Rate limit uses leaky bucket algorithm. Usage of a leaky bucket algorithm allows client applications to make an unlimited number of requests over a large time horizon but prevents excessively large bursts over a short one.

Required Scopes and Authorization Rules
  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support agent for the marketplace.

  • ROLE_CHANNEL_SUPPORT -

    Allows access as a Customer Support agent for the marketplace.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER_READ -

    Allows access to read all marketplace data.

query Parameters
name
string

Company name

includeCustomAttributes
boolean

Optional. Default is true. When set to true, company custom attributes are included in the API response. When set to false, company custom attributes are not included.

includePurchaseLimitData
boolean

Optional. Default is true. When set to true, the purchase limit attributes are fetched, calculated and populated in the response. When set to false, the purchase limit attributes are not fetched.

page
integer
Default: 0

Zero-based page index

size
integer
Default: 50

The number of search results to return per page

sortField
string
Default: "NAME"
Value: "NAME"

The property to sort by

sortOrder
string
Default: "DESC"
Enum: "ASC" "DESC"

Ordering type

custom.customAttributeName
string

Accepts a notIn filter in the form of ?custom.customAttributeName=notIn(customAttributeValue1, customAttributeValue2, customAttributeValueN...) that excludes companies with matching values. Before you can use the filter, you must first create "Text" type company custom attributes in the user interface. You can then specify the custom attribute name and values as customAttributeName and customAttributeValueN. See https://help.appdirect.com/platform/Default.htm#MarketplaceManager/MM-Setgscustui-create-attribs.html.

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/account/v2/companies?name=SOME_STRING_VALUE&includeCustomAttributes=SOME_BOOLEAN_VALUE&includePurchaseLimitData=SOME_BOOLEAN_VALUE&page=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&custom.customAttributeName=SOME_STRING_VALUE'

Response samples

Content type
No sample

Create new company

Create a new marketplace company

Required Scopes and Authorization Rules
  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support agent for the marketplace.

  • ROLE_CHANNEL_SUPPORT -

    Allows access as a Customer Support agent for the marketplace.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER -

    Allows access to read and write all marketplace data.

Request Body schema: application/json
required

New marketplace company

name
string or null

Company name

allowLogin
boolean

Optional. Default is "true".

When set to "true", the marketplace company allows users, including the first user, to login to the marketplace and receive emails from the marketplace. Users can purchase and assign products within the company. Products can also be purchased on their behalf, and assigned to them.

When set to "false", the marketplace company does not allow company members, including the first user, to login to the marketplace or receive email notifications from the marketplace. Products are purchased and assigned on users behalf, and they access those products directly through the product interface.

idpUuid
string

UUID of the identity provider that the user will always use to log in. Contact your AppDirect technical consultant or business consultant to obtain the UUID.

object (CompanyAddress)
companySize
string (CompanySizeType)
Enum: "SMALL" "MEDIUM" "ENTERPRISE"

Company size types

Array of objects (CustomAttributeAccountV2Request)

Custom attributes

industry
string

Company industry sector

emailAddress
string

Company email address

website
string

Company website URL

vendor
boolean

Indicates whether the company has Vendor access

reseller
boolean

Indicates whether the company has Reseller access

channelAdmin
boolean

Indicates whether the company has Channel Admin access

referral
boolean

Indicates whether the company has Referral access

externalId
string

Company external ID

phoneNumber
string or null

Company phone number

defaultRole
string

The default role newly created users receive

countryCode
string

Company country code defined by ISO ALPHA-2 standard

thirtyDaysPurchaseLimitExempt
boolean

Indicates if company is exempt from the marketplace default thirty day spend limit

thirtyDaysPurchaseLimitOverrideAmt
number

Company-level override amount of marketplace default thirty day spend limit

dailyPurchaseLimitExempt
boolean

Indicates if company is exempt from the marketplace default daily spend limit

dailyPurchaseLimitOverrideAmt
number

Company-level override amount of marketplace default daily spend limit

onlyAdminsCanBuy
boolean

Indicates if only selected roles in company that can make purchases or all roles in company can make purchases

importAppsEnabled
boolean

The import apps feature is enabled for this company

billingDayOfMonth
integer

(Optional) Use this property in company creation requests to set the billing cycle start date. The date applies to all purchases made through the specified company, and overrides the marketplace-level billing cycle date.

object (CreateCompanyV2RequestFirstUser)

Represents the membership of the first user in a company, who also receives the Company Administrator role by default

Responses

Request samples

Content type
application/json
{
  • "externalId": "P02TSQ3YPZoykqx1a10",
  • "name": "Company Example",
  • "companySize": "SMALL",
  • "defaultRole": "USER",
  • "countryCode": "US",
  • "emailAddress": "info@company12345.com",
  • "phoneNumber": "11234567890",
  • "industry": "Sales",
  • "address": {
    },
  • "channelAdmin": false,
  • "reseller": false,
  • "vendor": false,
  • "customAttributes": [
    ],
  • "firstUser": {
    }
}

Response samples

Content type
No sample

Read a company

Retrieve a marketplace company by ID or external ID. If you use the ID, you can omit a prefix or use 'id:' as the prefix. If you use the external ID, you must always specify the 'externalId:' prefix.

Required Scopes and Authorization Rules
  • ROLE_USER -

    Allows access as an end user in the company.

  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support agent for the marketplace.

  • ROLE_CHANNEL_SUPPORT -

    Allows access as a Customer Support agent for the marketplace.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER_READ -

    Allows access to read all marketplace data.

path Parameters
companyUuid
required
string

Unique identifier (ID or external ID) of the company in the API request

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D

Response samples

Content type
No sample

Update company

Update a marketplace company.

Required Scopes and Authorization Rules
  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support agent for the marketplace.

  • ROLE_CHANNEL_SUPPORT -

    Allows access as a Customer Support agent for the marketplace.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER -

    Allows access to read and write all marketplace data.

path Parameters
companyUuid
required
string

Company ID

Request Body schema: application/json
required

Marketplace company details to be updated

name
string or null

Company name

enabled
boolean

Indicates whether company is enabled

allowLogin
boolean

Indicates whether a company's users are managed users (false) or not (true). Do not change the value with this request

object (CompanyAddress)
companySize
string (CompanySizeType)
Enum: "SMALL" "MEDIUM" "ENTERPRISE"

Company size types

Array of objects (CustomAttributeAccountV2)

Custom attributes

industry
string

Company industry sector

emailAddress
string

Company email address

website
string

Company website URL

vendor
boolean

Indicates whether the company has Vendor access

reseller
boolean

Indicates whether the company has Reseller access

channelAdmin
boolean

Indicates whether the company has Channel Admin access

referral
boolean

Indicates whether the company has Referral access

externalId
string

Company external ID

phoneNumber
string or null

Company phone number

defaultRole
string

The default role newly created users receive

countryCode
string

Company country code defined by ISO ALPHA-2 standard

billingDayOfMonth
integer

(Optional) Use this property in company creation requests to set the billing cycle start date. The date applies to all purchases made through the specified company, and overrides the marketplace-level billing cycle date.

thirtyDaysPurchaseLimit
number

Monthly spend limit used as the default limit for all companies in the marketplace

thirtyDaysPurchaseRemainingAmt
number

Remaining monthly spending amount

dailyPurchaseLimit
number

Daily spend limit used as the default limit for all companies in the marketplace

dailyPurchaseRemainingAmt
number

Remaining daily spending amount

thirtyDaysPurchaseLimitExempt
boolean

Whether company is exempt from the marketplace default thirty-day spend limit

thirtyDaysPurchaseLimitOverrideAmt
number

Thirty-day spend limit for this company (overrides marketplace default for thirty-day company spend limit)

dailyPurchaseLimitExempt
boolean

Whether company is exempt from the marketplace default daily spend limit

dailyPurchaseLimitOverrideAmt
number

Daily spend limit for this company (overrides marketplace default for daily company spend limit)

Responses

Request samples

Content type
application/json
{
  • "name": "Company 7078259907",
  • "enabled": true,
  • "address": {
    },
  • "companySize": "SMALL",
  • "customAttributes": [
    ],
  • "industry": "IT",
  • "emailAddress": "info@company.com",
  • "vendor": false,
  • "reseller": false,
  • "channelAdmin": false,
  • "externalId": "d689b970-f3f9-42a6-a974-90e2bdadf860",
  • "phoneNumber": "9259221234",
  • "defaultRole": "USER",
  • "countryCode": "US",
  • "thirtyDaysPurchaseLimit": 0,
  • "thirtyDaysPurchaseLimitExempt": false,
  • "thirtyDaysPurchaseLimitOverrideAmt": null,
  • "thirtyDaysPurchaseRemainingAmt": null,
  • "dailyPurchaseLimit": 1000,
  • "dailyPurchaseLimitExempt": false,
  • "dailyPurchaseLimitOverrideAmt": 100,
  • "dailyPurchaseRemainingAmt": null
}

Response samples

Content type
No sample

Patch company

Partially update marketplace company account information. This only adds or updates the values for the properties that you include in the call; all other properties are ignored.

Required Scopes and Authorization Rules
  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support agent for the marketplace.

  • ROLE_CHANNEL_SUPPORT -

    Allows access as a Customer Support agent for the marketplace.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER -

    Allows access to read and write all marketplace data.

path Parameters
companyUuid
required
string

Company ID

Request Body schema: application/json
required

Marketplace company account information and settings

name
string or null

Company name

enabled
boolean

Indicates whether company is enabled

allowLogin
boolean

Indicates whether a company's users are managed users (false) or not (true). Do not change the value with this request.

object (CompanyAddress)
companySize
string (CompanySizeType)
Enum: "SMALL" "MEDIUM" "ENTERPRISE"

Company size types

Array of objects (CustomAttributeAccountV2)

Custom attributes

industry
string

Company industry sector

emailAddress
string

Company email address

website
string

Company website URL

vendor
boolean

Indicates whether the company has Vendor access

reseller
boolean

Indicates whether the company has Reseller access

channelAdmin
boolean

Indicates whether the company has Channel Admin access

referral
boolean

Indicates whether the company has Referral access

externalId
string

Company external ID

phoneNumber
string or null

Company phone number

defaultRole
string

The default role newly created users receive

countryCode
string

Company country code defined by ISO ALPHA-2 standard

billingDayOfMonth
integer

(Optional) Use this property in company creation requests to set the billing cycle start date. The date applies to all purchases made through the specified company, and overrides the marketplace-level billing cycle date.

thirtyDaysPurchaseLimitExempt
boolean

Whether company is exempt from the marketplace default thirty-day spend limit

thirtyDaysPurchaseLimitOverrideAmt
number

Thirty-day spend limit for this company (overrides marketplace default for thirty-day company spend limit)

dailyPurchaseLimitExempt
boolean

Whether company is exempt from the marketplace default daily spend limit

dailyPurchaseLimitOverrideAmt
number

Daily spend limit for this company (overrides marketplace default for daily company spend limit)

Responses

Request samples

Content type
application/json
{
  • "name": "Company 7078259907",
  • "enabled": true,
  • "address": {
    },
  • "companySize": "SMALL",
  • "customAttributes": [
    ],
  • "industry": "IT",
  • "emailAddress": "info@company.com",
  • "vendor": false,
  • "reseller": false,
  • "channelAdmin": false,
  • "externalId": "d689b970-f3f9-42a6-a974-90e2bdadf860",
  • "phoneNumber": "9259221234",
  • "defaultRole": "USER",
  • "countryCode": "US",
  • "thirtyDaysPurchaseLimitExempt": false,
  • "thirtyDaysPurchaseLimitOverrideAmt": null,
  • "dailyPurchaseLimitExempt": false,
  • "dailyPurchaseLimitOverrideAmt": 10
}

Response samples

Content type
No sample

Update company picture

Update a marketplace company’s profile picture, for example, with an image of a logo. This method requires a Content-Type request header with a value of “multipart/form-data”. The updated company resource is returned.

Required Scopes and Authorization Rules
  • ROLE_SYS_ADMIN -

    Allows access as a Company Admin for the company.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER -

    Allows access to read and write all marketplace data.

path Parameters
companyUuid
required
string

Unique identifier of company in the API request

Request Body schema: application/json
required

Image file that will be used as the profile picture.

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
No sample

Companies (Reseller)

Create company

Create a new company linked to the current reseller.

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

Request Body schema: application/json
required

Information about the new company that will be created

createdByCompanyId
string

Reseller's company UUID

name
string

New company's name

externalId
string

External ID used to identify the new company (must be unique)

phone
string

New company's phone number

companySize
string (AppResellerAccountCompanySize)
Enum: "SMALL" "MEDIUM" "ENTERPRISE"

Size of the new company

website
string

New company's website

companyAccess
string (AppResellerAccountCompanyApiContext)
Enum: "RESELLER" "REFERRAL" "CUSTOMER"

Supported AppReseller contexts

Responses

Request samples

Content type
application/json
{
  • "createdByCompanyId": "386626c0-53e2-4515-8450-4a720bb5d029",
  • "name": "Test Name",
  • "externalId": "externalRandom",
  • "phone": "50505055",
  • "companySize": "SMALL",
  • "website": "www.new_company.com",
  • "companyAccess": "RESELLER"
}

Response samples

Content type
application/json
{
  • "id": "386626c0-53e2-4515-8450-4a720bb5d029",
  • "externalId": "externalRandom",
  • "name": "Test Name",
  • "createdOn": 1519158286000,
  • "phone": "50505055"
}

List companies

Retrieves companies depending on context: in the Reseller context, this endpoint lists all companies linked to the current reseller company; in the Reseller Manager context, it lists all referral and reseller companies in the current marketplace

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller for the companies

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager for the companies

query Parameters
context
required
string
Value: "RESELLER, RESELLER_MANAGER"

Supported AppReseller contexts

active
string

User activation status

enabled
string

User enablement status

searchText
string

Search text

fromDate
string

From date, in timestamp format

toDate
string

To date, in timestamp format

sortField
string
Enum: "COMPANY_ID" "CREATED_ON"

Field to sort by

sortOrder
string

Sort order

page
integer

Page number

size
integer

Number of results per page

vendor
string
Value: "ONLY_VENDORS, ONLY_NON_VENDORS, ONLY_RESELLERS"

This enum filters companies that can sell (or not) or resell products in the marketplace.

channelAdmin
string
Value: "ONLY_CHANNEL_ADMINS, ONLY_NON_CHANNEL_ADMINS"

This enum filters companies that have (or not) permission to manage the marketplace.

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/appReseller/v1/companies?context=SOME_STRING_VALUE&active=SOME_STRING_VALUE&enabled=SOME_STRING_VALUE&searchText=SOME_STRING_VALUE&fromDate=SOME_STRING_VALUE&toDate=SOME_STRING_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&page=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&vendor=SOME_STRING_VALUE&channelAdmin=SOME_STRING_VALUE'

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Company details

Retrieves the current reseller company details.

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager for the company.

path Parameters
companyId
required
string

Company ID

query Parameters
context
required
string
Value: "RESELLER, RESELLER_MANAGER"

Supported AppReseller contexts

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/appReseller/v1/companies/%7BcompanyId%7D?context=SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "id": "9e00b38b-7918-4a27-b2f6-123b77cfac0b",
  • "name": "C37719018",
  • "createdOn": 1523007202000,
  • "enabled": true,
  • "active": true,
  • "grantedAccesses": [ ],
  • "defaultRole": "USER",
  • "availableAccesses": [ ],
  • "availableTaxExemptions": [
    ],
  • "stats": [
    ],
  • "settings": [ ],
  • "actions": [
    ],
  • "availableRoles": [
    ],
  • "idpConfigurations": [ ]
}

Create user

Create a new user in a company linked to the Reseller company.

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

query Parameters
context
required
string
Enum: "RESELLER" "RESELLER_MANAGER"
Request Body schema: application/json

Information about the user to create

createdByCompanyId
string

Reseller's company ID

companyId
string

New user's company ID

externalId
string

New user's external ID (must be unique)

email
string

New user's email (must be unique)

firstName
string

New user's First Name

lastName
string

New user's Last Name

Responses

Request samples

Content type
application/json
{
  • "createdByCompanyId": "386626c0-53e2-0000-0000-4a720bb5d000",
  • "companyId": "4c00cad1-f741-0zf6-bb00-0000e73cec00",
  • "externalId": "01",
  • "email": "user@appdirect.com",
  • "firstName": "James",
  • "lastName": "Smith"
}

Response samples

Content type
application/json
{
  • "id": "6d375008-3b19-4cb8-bbb9-dcd9fce99432",
  • "companyId": "460fad0d-19e2-4eec-a756-59c15dc7a56a",
  • "email": "test4@yopmail.com",
  • "firstName": "user4",
  • "lastName": "user4",
  • "memberships": [
    ]
}

List users

In the Reseller Manager context, this request retrieves all Resellers and Referral users. In the Reseller context, it retrieves all users that belong to companies linked to the reseller.

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller for reading the users from companies that are linked to mine.

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager for reading the users whose company are Reseller or Referral.

query Parameters
context
required
string
Enum: "RESELLER" "RESELLER_MANAGER"
partner
string

User partner

companyId
string

User company ID

active
Array of strings

List of user activation status

searchText
string

Search text

fromDate
string

From date, in timestamp format

toDate
string

To date, in timestamp format

sortField
string
Enum: "CUSTOMER_ID" "EMAIL" "FIRST_NAME"

Field to sort by

sortOrder
string

Sort order

page
integer

Page number

size
integer

Number of results per page

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/appReseller/v1/users?context=SOME_STRING_VALUE&partner=SOME_STRING_VALUE&companyId=SOME_STRING_VALUE&active=SOME_ARRAY_VALUE&searchText=SOME_STRING_VALUE&fromDate=SOME_STRING_VALUE&toDate=SOME_STRING_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&page=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE'

Response samples

Content type
application/json
{
  • "content": [
    ],
  • "page": {
    }
}

User details

Get a single user details

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager for the company.

path Parameters
userId
required
string

User ID

query Parameters
context
required
string
Enum: "RESELLER" "RESELLER_MANAGER"
companyId
required
string

User's company ID (some user details depend on the specified company)

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/appReseller/v1/users/%7BuserId%7D?context=SOME_STRING_VALUE&companyId=SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "id": "64535371-9e83-0000-0000-61cb17bc0c9e",
  • "companyId": "c5fe2ca9-3db1-0000-0000-0cf0a01bd437",
  • "email": "c4201720@appdirect.com",
  • "firstName": "John",
  • "lastName": "Grande",
  • "createdOn": 1465984400000,
  • "activated": true,
  • "invitationRequired": false,
  • "memberships": [
    ],
  • "partner": "APPDIRECT",
  • "enabled": true,
  • "customAttributes": [ ],
  • "settings": [
    ],
  • "actions": [
    ],
  • "availableRoles": [
    ]
}

Company Association

Create company association

Creates an association (link) between a customer company and a reseller company.

Required Scopes and Authorization Rules
  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager for the marketplace.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_PARTNER -

    Allows access to read and write all marketplace data.

Request Body schema: application/json
required

Information about the association to create

customerCompanyId
required
string

Customer company ID

resellerCompanyId
required
string

Reseller company ID

Responses

Request samples

Content type
application/json
{
  • "customerCompanyId": "string",
  • "resellerCompanyId": "string"
}

Response samples

Content type
application/json
{
  • "id": "c39b8bcd-db7a-46d0-939f-facdeb1d6967",
  • "resellerCompany": {
    },
  • "customerCompany": {
    },
  • "createdOn": 1531839782000
}

List company associations

Retrieves all customer company associations. This request requires either the Reseller company ID or the Customer company ID, which you can retrieve with the List companies request.

Required Scopes and Authorization Rules
  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager for reading the users whose company are Reseller or Referral.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_PARTNER_READ -

    Allows access to read all marketplace data.

query Parameters
resellerCompanyId
required
string

Reseller company ID. This field is required if you do not include the Customer company ID

customerCompanyId
required
string

Customer company ID. This field is required if you do not include the Reseller company ID

searchText
string

Search term used to search on different fields of the customer company association.

createdOn
string

Date filter, defined by upper or lower inclusive or exclusive limits, in Unix timestamp format. Acceptable values are: gte([timestamp]) - 'greater than or equal to'; or lte([timestamp]) - 'less than or equal to'

sort
string

Sort field and order. For ascending sort order, use the '+[FieldName]' format. For descending order, use the '-[FieldName]' format.

number
integer

Page number

size
integer

Number of results per page

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/appReseller/v1/companyAssociations?resellerCompanyId=SOME_STRING_VALUE&customerCompanyId=SOME_STRING_VALUE&searchText=SOME_STRING_VALUE&createdOn=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&number=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE'

Response samples

Content type
application/json
{
  • "content": [
    ],
  • "page": {
    }
}

Remove company association

Deletes a company association.

Required Scopes and Authorization Rules
  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager for reading the users whose company are Reseller or Referral.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_PARTNER -

    Allows access to read and write all marketplace data.

path Parameters
companyAssociationId
required
string

Company Association ID

Responses

Request samples

curl --request DELETE \
  --url https://marketplace.appdirect.com/api/appReseller/v1/companyAssociations/%7BcompanyAssociationId%7D

Company Memberships

Read company membership

Retrieve a marketplace user's company membership information.

Required Scopes and Authorization Rules
  • ROLE_USER -

    Allows access as an end user in the company

  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager for the marketplace. Only memberships with the Reseller role or that are linked to Reseller companies can be retrieved.

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support agent for the marketplace.

  • ROLE_CHANNEL_SUPPORT -

    Allows access as a Customer Support agent for the marketplace.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER_READ -

    Allows access to read all marketplace data.

path Parameters
companyUuid
required
string

Unique identifier of company in the API request

userUuid
required
string

Unique identifier of user in the API request

query Parameters
includeCompanies
boolean

Optional. Default is true. When set to true, companies will be included in the API response. When set to false, companies will not be included.

includeUserCustomAttributes
boolean

Optional. Default is true. When set to true, user custom attributes will be included in the API response. When set to false, user custom attributes will not be included.

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/memberships/%7BuserUuid%7D?includeCompanies=SOME_BOOLEAN_VALUE&includeUserCustomAttributes=SOME_BOOLEAN_VALUE'

Response samples

Content type
No sample

Update company membership

Update a marketplace user's company membership.

Updates the following roles based on the provided user company membership data: Product Support, Sales Support, Reseller Manager, Customer Support, Reseller, Billing Admin, Company Admin, Developer. This also enables/disables the membership based on provided user company membership data.

Note: You cannot set the Marketplace Manager role through the API.

Required Scopes and Authorization Rules
  • ROLE_SYS_ADMIN -

    Allows access as a Company Admin for the company.

  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support agent for the marketplace.

  • ROLE_CHANNEL_SUPPORT -

    Allows access as a Customer Support agent for the marketplace.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER -

    Allows access to read and write all marketplace data.

path Parameters
companyUuid
required
string

Unique identifier of company in the API request

userUuid
required
string

Unique identifier of user in the API request

Request Body schema: application/json

Update User company membership data

enabled
boolean

Indicates whether the membership is enabled

roles
Array of strings

Roles for this membership. One or more of the following: ROLE_CHANNEL_ADMIN (Marketplace Manager), ROLE_CHANNEL_PRODUCT_SUPPORT (Product Support), ROLE_SALES_SUPPORT (Sales Support), ROLE_RESELLER_MANAGER (Reseller Manager), ROLE_RESELLER (Reseller), ROLE_CHANNEL_SUPPORT (Customer Support), ROLE_SYS_ADMIN (Company Admin), ROLE_BILLING_ADMIN (Billing Admin), ROLE_DEVELOPER (Developer).

Responses

Request samples

Content type
application/json
{
  • "enabled": true,
  • "roles": [
    ]
}

Response samples

Content type
No sample

Delete company membership

Delete a marketplace user's company membership.

If this is the only company the user was member of, user is marked as deleted. A user that has active entitlements, owns products or is externally managed can't be deleted.

Required Scopes and Authorization Rules
  • ROLE_SYS_ADMIN -

    Allows access as a Company Admin for the company.

  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support agent for the marketplace.

  • ROLE_CHANNEL_SUPPORT -

    Allows access as a Customer Support agent for the marketplace.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER -

    Allows access to read and write all marketplace data.

path Parameters
companyUuid
required
string

Unique identifier of company in the API request

userUuid
required
string

Unique identifier of user in the API request

Responses

Request samples

curl --request DELETE \
  --url https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/memberships/%7BuserUuid%7D

Enable/Disable company membership

Enable or disable marketplace user's company membership.

This only changes the user company membership's enabled status; all other attributes are ignored.

Required Scopes and Authorization Rules
  • ROLE_SYS_ADMIN -

    Allows access as a Company Admin for the company.

  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support agent for the marketplace.

  • ROLE_CHANNEL_SUPPORT -

    Allows access as a Customer Support agent for the marketplace.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER -

    Allows access to read and write all marketplace data.

path Parameters
companyUuid
required
string

Unique identifier of company in the API request

userUuid
required
string

Unique identifier of user in the API request

Request Body schema: application/json

User company membership data

enabled
boolean

Indicates whether membership is enabled

Responses

Request samples

Content type
application/json
{
  • "enabled": true
}

Response samples

Content type
No sample

Create company membership (Add User)

Create a marketplace user with membership in the given company.

The created user is active, and is associated with the specified company (membership). User is set with a temporary password; the password is emailed to the recipients specified in the request body.

The domain part of the user's email address must match one of the verified domains associated with the company the user will be created in.

Note: You cannot set the Marketplace Manager role through the API.

Required Scopes and Authorization Rules
  • ROLE_SYS_ADMIN -

    Allows access as a Company Admin for the company.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER -

    Allows access to read and write all marketplace data.

path Parameters
companyUuid
required
string

Unique identifier of company in the API request

Request Body schema: application/json

User creation data

recipientEmails
Array of strings

List of emails where the temporary password is sent

temporaryPassword
string

Temporary password

object (ActiveUserAccountV2)

User information (company)

Responses

Request samples

Content type
application/json
{
  • "user": {
    },
  • "temporaryPassword": "Temporary Password",
  • "recipientEmails": [
    ]
}

Response samples

Content type
No sample

List company memberships

List a marketplace company's user memberships.

Required Scopes and Authorization Rules
  • ROLE_USER -

    Allows access as an end user in the company.

  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support agent for the marketplace.

  • ROLE_CHANNEL_SUPPORT -

    Allows access as a Customer Support agent for the marketplace.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER_READ -

    Allows access to read all marketplace data.

path Parameters
companyUuid
required
string

Unique identifier of company in the API request

query Parameters
active
boolean

If specified, returns only memberships associated with users having the specified active status

enabled
boolean

If specified, returns only memberships with the specified enabled status

roleName
string

If specified, returns only memberships with the specified role enabled

groupUuid
string

If specified, returns only memberships that are a part of the specified group

page
integer
Default: 0

Zero-based page index

searchText
string

Search term used to search on different fields of a membership

size
integer
Default: 50

The size of the page to be returned

sortField
string
Default: "DATE"
Enum: "DATE" "FIRST_NAME" "LAST_NAME"

The property to sort by

sortOrder
string
Default: "ASC"
Enum: "ASC" "DESC"

Ordering type

includeCompanies
boolean

Optional. Default is true. When set to true, companies will be included in the API response. When set to false, companies will not be included.

includeUserCustomAttributes
boolean

Optional. Default is true. When set to true, user custom attributes will be included in the API response. When set to false, user custom attributes will not be included.

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/memberships?active=SOME_BOOLEAN_VALUE&enabled=SOME_BOOLEAN_VALUE&roleName=SOME_STRING_VALUE&groupUuid=SOME_STRING_VALUE&page=SOME_INTEGER_VALUE&searchText=SOME_STRING_VALUE&size=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&includeCompanies=SOME_BOOLEAN_VALUE&includeUserCustomAttributes=SOME_BOOLEAN_VALUE'

Response samples

Content type
No sample

Create company membership

Add a new or existing user as a member of a marketplace company.

If no user exists with the given email address a new user account (Users) will be created. Use the allowLogin body parameter to control if a new user account should be invited to the marketplace with login access or created as a managed user without login access. See CreateUserAccountV2 for more information on the allowLogin parameter.

Depending on channel configuration, an invited membership is either created immediately, or when the invited user accepts the invitation.

Note: You cannot set the Marketplace Manager role through the API.

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support agent for the marketplace.

  • ROLE_CHANNEL_SUPPORT -

    Allows access as a Customer Support agent for the marketplace.

  • ROLE_SYS_ADMIN -

    Allows access as a Company Admin for the company.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER -

    Allows access to read and write all marketplace data.

path Parameters
companyUuid
required
string

Unique identifier of company in the API request

query Parameters
inviterUuid
string

Unique identifier of the inviter in the API request. Required only when ROLE_PARTNER authority/scope is used to make the API request.

Request Body schema: application/json

User company membership data

object (CreateUserAccountV2)

User information data

roles
Array of strings

Optional. When not included the company default role will be used.

Roles for this membership. One or more of the following: ROLE_USER (User), ROLE_CHANNEL_PRODUCT_SUPPORT (Product Support), ROLE_SALES_SUPPORT (Sales Support), ROLE_RESELLER_MANAGER (Reseller Manager), ROLE_RESELLER (Reseller), ROLE_CHANNEL_SUPPORT (Customer Support), ROLE_SYS_ADMIN (Company Admin), ROLE_BILLING_ADMIN (Billing Admin), ROLE_DEVELOPER (Developer). For user roles (not associated with membership), see UserAccountV2.

Responses

Request samples

Content type
application/json
{
  • "user": {
    },
  • "roles": [
    ]
}

Response samples

Content type
No sample

Update company membership roles (bulk)

Update role assignments for one or more company memberships (users).

API clients acting on behalf of an end user must first call Read assignable roles for company membership to retrieve the list of roles they are allowed to update.

Note: You cannot set the Marketplace Manager role through the API.

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support agent for the marketplace.

  • ROLE_CHANNEL_SUPPORT -

    Allows access as a Customer Support agent for the marketplace.

  • ROLE_SYS_ADMIN -

    Allows access as a Company Admin for the company.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER -

    Allows access to read and write all marketplace data.

path Parameters
companyUuid
required
string

Unique identifier of company in the API request

Request Body schema: application/json

User company membership role data

Array
userUuid
string

UUID of the user whose membership roles need to be modified

rolesToAdd
Array of strings

Roles to add to this membership. One or more of the following: ROLE_CHANNEL_PRODUCT_SUPPORT (Product Support), ROLE_SALES_SUPPORT (Sales Support), ROLE_RESELLER_MANAGER (Reseller Manager), ROLE_RESELLER (Reseller), ROLE_CHANNEL_SUPPORT (Customer Support), ROLE_SYS_ADMIN (Company Admin), ROLE_BILLING_ADMIN (Billing Admin), ROLE_DEVELOPER (Developer).

rolesToRemove
Array of strings

Roles to remove from this membership. One or more of the following: ROLE_CHANNEL_ADMIN (Marketplace Manager), ROLE_CHANNEL_PRODUCT_SUPPORT (Product Support), ROLE_SALES_SUPPORT (Sales Support), ROLE_RESELLER_MANAGER (Reseller Manager), ROLE_RESELLER (Reseller), ROLE_CHANNEL_SUPPORT (Customer Support), ROLE_SYS_ADMIN (Company Admin), ROLE_BILLING_ADMIN (Billing Admin), ROLE_DEVELOPER (Developer).

Responses

Request samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Read user checklist

Retrieve a marketplace user's checklist.

Required Scopes and Authorization Rules
  • ROLE_USER -

    Allows access as current user matches the user in path.

  • ROLE_SYS_ADMIN -

    Allows access as a Company Admin for the company.

  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER_READ -

    Allows access to read all marketplace data.

path Parameters
companyUuid
required
string

Unique identifier of company in the API request

userUuid
required
string

Unique identifier of user in the API request

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/memberships/%7BuserUuid%7D/checklist

Response samples

Content type
No sample

Invite a managed user

Invite a managed user as a member of a marketplace company. If the user is a member of a managed company, the managed company identifier must be used in this request. The operation will then also convert the managed company to a regular company.

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support agent for the marketplace.

  • ROLE_CHANNEL_SUPPORT -

    Allows access as a Customer Support agent for the marketplace.

  • ROLE_SYS_ADMIN -

    Allows access as a Company Admin for the company.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER -

    Allows access to read and write all marketplace data.

path Parameters
companyUuid
required
string

Unique identifier of company in the API request

userUuid
required
string

Unique identifier of user in the API request

query Parameters
inviterUuid
string

Unique identifier of the inviter in the API request. Required only when ROLE_PARTNER authority/scope is used to make the API request.

Responses

Request samples

curl --request POST \
  --url 'https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/memberships/%7BuserUuid%7D/invite?inviterUuid=SOME_STRING_VALUE'

Request to purchase an application

Request to purchase an application for the given marketplace company and user.

This causes an email notification to be sent to company administrators (system and billing admins).

Required Scopes and Authorization Rules
  • ROLE_USER -

    Allows access as current user matches the user in path.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER -

    Allows access to read and write all marketplace data.

path Parameters
applicationId
required
integer

Unique identifier of application to purchase

companyUuid
required
string

Unique identifier of company in the API request

userUuid
required
string

User Unique identifier of user in the API request

Responses

Request samples

curl --request POST \
  --url https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/memberships/%7BuserUuid%7D/applications/%7BapplicationId%7D/purchaseRequests

List application assignments for company membership

Retrieve a marketplace user's application assignments.

Returns assignments that are not FAILED or CANCELLED.

Required Scopes and Authorization Rules
  • ROLE_SYS_ADMIN -

    Allows access as a Company Admin for the company.

  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support agent for the marketplace.

  • ROLE_CHANNEL_SUPPORT -

    Allows access as a Customer Support agent for the marketplace.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER_READ -

    Allows access to read all marketplace data.

path Parameters
companyUuid
required
string

Unique identifier of company in the API request

userUuid
required
string

Unique identifier of user in the API request

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/memberships/%7BuserUuid%7D/assignments

Response samples

Content type
No sample

Read assignable roles for company membership

Retrieve marketplace roles that can be assigned by this company membership.

Required Scopes and Authorization Rules
  • ROLE_USER -

    Allows access as current user matches the user in path.

  • ROLE_SYS_ADMIN -

    Allows access as a Company Admin for the company.

  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support agent for the marketplace.

  • ROLE_CHANNEL_SUPPORT -

    Allows access as a Customer Support agent for the marketplace.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER_READ -

    Allows access to read all marketplace data.

path Parameters
companyUuid
required
string

Unique identifier of company in the API request

userUuid
required
string

Unique identifier of user in the API request

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/memberships/%7BuserUuid%7D/assignableRoles

Response samples

Content type
No sample

Read company assignable roles

Retrieves a list of marketplace roles that the current, logged-in user can assign to any user in any marketplace company.

Required Scopes and Authorization Rules
  • ROLE_SYS_ADMIN -

    Allows access as a Company Admin for the company.

  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support agent for the marketplace.

  • ROLE_CHANNEL_SUPPORT -

    Allows access as a Customer Support agent for the marketplace.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

path Parameters
companyUuid
required
string

Unique identifier of the company

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/assignableRoles

Response samples

Content type
No sample

List groups for company membership

Retrieve the list of groups the company membership is in.

Required Scopes and Authorization Rules
  • ROLE_USER -

    Allows access as an end user in the company

  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support agent for the marketplace.

  • ROLE_CHANNEL_SUPPORT -

    Allows access as a Customer Support agent for the marketplace.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER_READ -

    Allows access to read all marketplace data.

path Parameters
companyUuid
required
string

Unique identifier of company in the API request

userUuid
required
string

Unique identifier of user in the API request

query Parameters
ldap
boolean

Set to true when company is externally managed

page
integer
Default: 0

Zero-based page index

searchText
string

Search term used to search on group name and description

size
integer
Default: 50

The size of the page to be returned

sortField
string
Default: "createdOn"
sortOrder
string
Default: "DESC"
Enum: "ASC" "DESC"

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/memberships/%7BuserUuid%7D/groups?ldap=SOME_BOOLEAN_VALUE&page=SOME_INTEGER_VALUE&searchText=SOME_STRING_VALUE&size=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE'

Response samples

Content type
No sample

Content Events

Publish content events

Publishes content events that contain new or changed data in referenced resources. To access this API, you must configure product-scoped OAuth2 authentication for your application.

Required Scopes and Authorization Rules
  • ROLE_APPLICATION -

    Allows access as the Developer that owns the Product.

Request Body schema: application/json
required

All information about a change to data in a referenced resource, including the resource key, change description, changes to fields, user access, and content.

object (EventMetadata)

Metadata for Search content

required
object (Key)

Identify a resource

object (ContentEventActor)

Identify the application user by identifier (accountName) and name.

Required parameters: Only identifier is required to identify a user.

object (Action)

An action statement that can be used to describe changes that appear in feeds. The statement is constructed of a verb suffixed by text. For example: Verb (assigned) + text (a task) = action description (assigned a task). If delete boolean is true, the resource is deleted from Customer Search.

Required parameters: Only Text and Verb are required in requests to create action statements. Only delete is required to delete a resource.

object (Changes)

Changes to a resource connected to Search

Array of objects (Content)

Content items associated with the resource

Responses

Request samples

Content type
application/json
{
  • "eventMetadata": {
    },
  • "key": {
    },
  • "actor": {
    },
  • "action": {
    },
  • "changes": {
    },
  • "contents": []
}

Response samples

Content type
application/json
{ }

Currency Exchange Rate

Read all Currency Exchange Rates

Retrieve all of the current and historical exchange rates set on the marketplace.

query Parameters
baseCurrency
string
Enum: "USD" "CAD" "EUR" "JPY" "GBP" "KRW" "CHF" "SEK" "SGD" "MYR" "AUD" "MXN" "INR" "BRL" "DKK" "NZD" "NOK" "ZAR" "PHP" "CNY" "SAR" "GTQ"

The base currency filter. Optional.

counterCurrency
string
Enum: "USD" "CAD" "EUR" "JPY" "GBP" "KRW" "CHF" "SEK" "SGD" "MYR" "AUD" "MXN" "INR" "BRL" "DKK" "NZD" "NOK" "ZAR" "PHP" "CNY" "SAR" "GTQ"

The counter currency filter. Optional.

page
integer
Default: 0

The page number. Optional.

size
integer
Default: 20

The number of application returned by page. Optional.

sortField
string
Default: "VALID_FROM"
Enum: "BASE_CURRENCY" "COUNTER_CURRENCY" "VALID_FROM"

The order field. Optional.

sortOrder
string
Default: "DESC"
Enum: "ASC" "DESC"

The sort direction. Optional.

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/channel/v1/exchangeRates?baseCurrency=SOME_STRING_VALUE&counterCurrency=SOME_STRING_VALUE&page=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "content": [
    ],
  • "page": {
    },
  • "links": []
}

Create new Currency Exchange Rate

Define a new exchange rate to be used when custom metered usage is reported to your marketplace by a Developer in a currency that isn't supported by your marketplace. This enables you to invoice your customers in your marketplace currency, even though a Developer's external price list for metered usage charges (like Amazon Web Services) might be in a different currency.

Request Body schema: application/json

The new Currency Exchange Rate

baseCurrency
required
string (Currency)
Default: "USD"
Enum: "USD" "CAD" "EUR" "JPY" "GBP" "KRW" "CHF" "SEK" "SGD" "MYR" "AUD" "MXN" "INR" "BRL" "DKK" "NZD" "NOK" "ZAR" "PHP" "CNY" "SAR" "GTQ" "IDR" "ARS" "COP" "PEN"

Supported currencies for the system

counterCurrency
required
string (Currency)
Default: "USD"
Enum: "USD" "CAD" "EUR" "JPY" "GBP" "KRW" "CHF" "SEK" "SGD" "MYR" "AUD" "MXN" "INR" "BRL" "DKK" "NZD" "NOK" "ZAR" "PHP" "CNY" "SAR" "GTQ" "IDR" "ARS" "COP" "PEN"

Supported currencies for the system

rate
required
number

A currency pair is the quotation and pricing structure of the currencies traded in a forex market. A Currency Pair is represented as XXX/YYY where XXX is the Base currency and YYY is the Counter currency.

In AppDirect the Base currency is an external currency and the Counter currency is a supported currency in your marketplace.

When an exchange rate is provided with a Currency Pair, it represents how much of the Counter currency is required to purchase 1 unit of the Base currency. EUR/USD=1.18; EUR is the Base currency and USD is the counter currency. 1 EUR is equal to 1.18 USD. In order to buy 1 EUR, the buyer must pay 1.18 USD.

Responses

Request samples

Content type
application/json
{
  • "baseCurrency": "USD",
  • "counterCurrency": "CAD",
  • "rate": 0.5
}

Response samples

Content type
application/json
{
  • "baseCurrency": "GTQ",
  • "counterCurrency": "INR",
  • "rate": 0.3,
  • "validFrom": 1507077229000,
  • "active": true,
  • "authenticationType": "USER_LOGIN",
  • "oauthKey": "",
  • "userId": 3434556,
  • "currencyExchangeRateUuid": "76b11329-e3a5-4944-93b0-0411c9f63369"
}

Read a Currency Exchange Rate

Retrieve the details of a specific Currency Exchange Rate.

path Parameters
currencyExchangeRateUuid
required
string

The unique identifier of the currency exchange rate.

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/channel/v1/exchangeRates/%7BcurrencyExchangeRateUuid%7D

Response samples

Content type
application/json
{
  • "baseCurrency": "GTQ",
  • "counterCurrency": "INR",
  • "rate": 0.3,
  • "validFrom": 1507077229000,
  • "active": true,
  • "authenticationType": "USER_LOGIN",
  • "oauthKey": "",
  • "userId": 3434556,
  • "currencyExchangeRateUuid": "76b11329-e3a5-4944-93b0-0411c9f63369"
}

Deactivate a Currency Exchange Rate

Deactivate a Currency Exchange Rate. To stop supporting currency exchange on your marketplace, deactivate a rate. This will prevent the exchange rate from being used to convert usage.

path Parameters
currencyExchangeRateUuid
required
string

The unique identifier of the currency exchange rate.

Request Body schema: application/json

Currency Exchange Rate active

active
boolean

Currency Exchange Rates can be only deactivated. Allowed value: false.

Responses

Request samples

Content type
application/json
{
  • "active": true
}

Response samples

Content type
application/json
{
  • "baseCurrency": "GTQ",
  • "counterCurrency": "INR",
  • "rate": 0.3,
  • "validFrom": 1507077229000,
  • "active": true,
  • "authenticationType": "USER_LOGIN",
  • "oauthKey": "",
  • "userId": 3434556,
  • "currencyExchangeRateUuid": "76b11329-e3a5-4944-93b0-0411c9f63369"
}

Customer Notifications

API endpoint to manage notification templates (email and sms) that are used to communicate with users on the marketplace when a event occurs on the marketplace that requires a notification to users.

Retrieve an SMS template by type

This call returns all details for a specific sms template type.

path Parameters
type
required
string

Sms template type

query Parameters
directSales
boolean
Default: false

Get the developer sms tempalte

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/notification/v1/templates/sms/%7Btype%7D?directSales=SOME_BOOLEAN_VALUE'

Response samples

Content type
application/json
{
  • "id": 269,
  • "type": "ACCOUNT_ACTIVATION",
  • "Subject": "subject...",
  • "locale": "en_US",
  • "content": "activate that bad boy",
  • "enabled": true,
  • "directSales": false
}

List notification templates

List notification templates for the current channel

query Parameters
directSales
boolean
Default: false

List only the developers notification templates

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/notification/v1/templates?directSales=SOME_BOOLEAN_VALUE'

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

Create or update a common email template element

This call allows you to create a new template element (for example, a variable) or update an existing one.

Request Body schema: application/json

Common element definition

content
required
string

Email notification content

defaultCommonElement
boolean

If the elements are default common elements

enabled
boolean

If the email template is enabled

id
number

Email notification template ID

locale
required
string

Email notification locale to determine the language

partner
string

Partner being used to render the email

type
required
string (NotificationCommonElementType)
Value: "UNSUBSCRIBE"

Responses

Request samples

Content type
application/json
{
  • "content": "string",
  • "defaultCommonElement": true,
  • "enabled": true,
  • "id": 0,
  • "locale": "string",
  • "partner": "string",
  • "type": "UNSUBSCRIBE"
}

Response samples

Content type
application/json
{
  • "id": 3,
  • "type": "UNSUBSCRIBE",
  • "content": "This is a test.",
  • "locale": "en_US",
  • "enabled": true,
  • "partner": "APPDIRECT",
  • "defaultCommonElement": false
}

List all notification parameters for a notification type

This call returns all parameter details from a notification template for a specified template type.

path Parameters
type
required
string

Notification type

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/notification/v1/templates/parameters/%7Btype%7D

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

Retrieve an email template by type

This call returns all details from a specific email template type.

path Parameters
type
required
string

Email template type

query Parameters
directSales
boolean
Default: false

Get the developer email template

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/notification/v1/templates/email/%7Btype%7D?directSales=SOME_BOOLEAN_VALUE'

Response samples

Content type
application/json
{
  • "id": 2,
  • "type": "ACCOUNT_ACTIVATION",
  • "locale": "en_US",
  • "subject": "Please verify your email address for {PARTNER_LABEL}",
  • "content": "Hello,<br/>Congratulations! You have a new {PARTNER_STORE_LABEL} account ready to be activated.<br/>Your account has been created with the username {USER_EMAIL}<br/>To activate your account please use the following link:<br/>{ACTIVATION_URL}<br/><br/>If you have any questions, our Support Team is standing by. You can<br/>email us at {SUPPORT_EMAIL}, call us at {SUPPORT_PHONE},<br/>or start a chat with us on the website at {SUPPORT_URL}.<br/>\n<br/>Thank you!<br/>Your friends at {PARTNER_LABEL}",
  • "enabled": true,
  • "reminderPattern": "pattern...",
  • "directSales": false,
  • "defaultTemplate": false,
  • "partner": "APPDIRECT",
  • "fallbackEmailTemplateId": 10
}

Create or update an sms template

This call create a new element or updates an existing SMS template.

Request Body schema: application/json

Sms Template definition

content
required
string

SMS notification content

directSales
boolean

If the template is used for a direct sale product

enabled
boolean

If the SMS template is enabled

id
number

SMS notification template ID

locale
required
string

SMS notification locale to determine the language

type
required
string (NotificationTemplateType)
Enum: "ACCOUNT_ACTIVATION" "ACCOUNT_ACTIVATION_AFTER_MIGRATION" "BRANDED_ACCOUNT_ACTIVATION" "ACCOUNT_ACTIVATION_CREATED_BY_ASSISTED_SALES" "ACTIVE_USER_TEMP_PASSWORD" "NEW_USER" "INVITE_USER" "BAAS_MARKETPLACE_SIGN_UP_REQUEST" "LISTING_MARKETPLACE_SIGN_UP_REQUEST" "STORE_MARKETPLACE_SIGN_UP_REQUEST" "LISTING_MARKETPLACE_SIGN_UP_REMINDER" "STORE_MARKETPLACE_SIGN_UP_REMINDER" "PASSWORD_RESET" "PASSWORD_CHANGED_NOTICE" "PRIMARY_EMAIL_CHANGED_NOTICE" "EMAIL_VERIFICATION" "IMPERSONATE_REQUEST" "PASSWORD_REMINDER" "REGISTRATION_REMINDER" "FIRST_TIME_LOGIN" "INACTIVE_USER_LOGIN_REMINDER" "INACTIVE_USER_PURCHASE_REMINDER" "ACCOUNT_ACTIVATION_FOR_EMAIL_CHANGE" "TWO_FACTOR_AUTHENTICATION_EMAIL" "ASSIGNMENT_NOTICE" "UNASSIGNMENT_NOTICE" "ASSIGNED_USERS_LIMIT" "ADOPTION_NOTICE" "SUBSCRIPTION_ADOPTION" "APPLICATION_ACCESS_REQUEST_NOTICE" "APPLICATION_PURCHASE_REQUEST_NOTICE" "EXPIRED_APPLICATION_REQUEST" "SUSPENDED_APPLICATION_REQUEST" "UPDATED_DOWNLOAD" "REVIEW_PURCHASE_REMINDER" "DENY_REVIEW" "DISCOUNT_DEACTIVATED" "CHANGE_OWNERSHIP" "REACTIVATE_DOMAIN" "SUBSCRIPTION_ORDER" "SUBSCRIPTION_ORDER_SINGLE_USER" "SUBSCRIPTION_ORDER_FREE_TRIAL" "PERSONAL_SUBSCRIPTION_NOTICE" "SUBSCRIPTION_ORDER_DOCUMENT" "SUBSCRIPTION_ORDER_MODULE" "FAILED_ORDER" "SUBSCRIPTION_UPGRADE" "FREE_TRIAL_OVER" "FREE_TRIAL_AUTO_UPGRADE_TO_PAID" "EXPIRED_TRIAL_UPGRADE_REMINDER" "INVOICE" "PAYMENT_SUCCESSFUL" "PAYMENT_FAILED" "REFUND" "EXPIRED_CREDIT_CARD" "SUBSCRIPTION_SUSPENDED_OVERDUE_INVOICE" "SUBSCRIPTION_SUSPENDED" "SUBSCRIPTION_CANCEL" "SUBSCRIPTION_CANCEL_SCHEDULED" "SCHEDULED_CANCELLATION_REMINDER" "TICKET_SUPPORT_SUBSCRIPTION_CANCEL" "FAILED_TO_REMOVE_USER" "FAILED_TO_REMOVE_USER_HAS_ACTIVE_OR_PENDING_APPS" "FAILED_TO_REMOVE_USER_OWNS_APPS" "FAILED_TO_REMOVE_USER_SOLE_SYSADMIN" "END_OF_CONTRACT" "OFF_PURCHASE_ORDER" "ORDER_APPROVAL_REQUEST" "SUBSCRIPTION_ORDER_RESELLER" "SUBSCRIPTION_CHANGE_RESELLER" "PUBLISH_REQUEST_PENDING_APPROVAL" "APPLICATION_PUBLISHED" "PUBLISH_DENIED" "VENDOR_NOTIFICATION" "VENDOR_REVIEW" "QUESTION_ASKED" "VENDOR_PUBLISH_REQUEST" "NETWORK_APPLICATION_REPUBLISHED" "MANUAL_EVENT_RESOLUTION" "NEW_REPORT_AVAILABLE" "REPORT_GENERATED" "REPORT_SUMMARY" "NEW_REPORT_SPECIFIC_NOTIFICATION" "OFFLINE_ORDER" "OFFLINE_ASSIGNMENT" "PRODUCT_CREDENTIALS" "MOSI_BOOST_FAILURE" "CREST_NEW_ADMIN" "MOSI_NEW_ADMIN" "MOSI_NEW_USER" "MOSI_UPDATE_USERNAME" "MOSI_ORDER_PLACED" "GOOGLE_NEW_ADMIN_USER" "GOOGLE_NEW_USER" "SENDGRID_PURCHASE" "MCAFEE_PURCHASE" "SCALEXTREME_ACCOUNT" "SYMANTEC_CLOUD_NEW_ACCOUNT" "SYMANTEC_CLOUD_OLD_ACCOUNT" "SYMANTEC_EV_CLOUD_NOTIFICATION" "MOZY_NEW_USER" "NORTON_NEW_USER_PC" "WEBEX_NEW_USER" "ASYNCHRONOUS_PRODUCT_PURCHASE_NOTIFICATION" "MARKETPLACE_REQUEST_TO_ADD_PRODUCT" "VENDOR_ADD_REQUEST" "PRODUCT_ADDED" "VENDOR_APPROVED" "AZURE_SYNC_INVITE_NEW_USER" "AZURE_SYNC_INVITE_USER" "DOCUSIGN_PURCHASE" "DOCUSIGN_ASSIGN" "RESELLER_LINKED" "RESELLER_UNLINKED" "RESELLER_SIGNUP_REQUESTED" "RESELLER_SIGNUP_APPROVED" "RESELLER_SIGNUP_DENIED" "TBILL_VALIDATION" "TBILL_APPROVED_USER_NOTIFICATION" "TBILL_REJECTED_USER_NOTIFICATION" "TBILL_APPROVED_CHANNEL_NOTIFICATION" "TBILL_REJECTED_CHANNEL_NOTIFICATION" "TBILL_INVALID_NOTIFICATION" "LEFTRONIC_ACCOUNT_ACTIVATION" "DOMAIN_REGISTRATION_DOMAIN_PURCHASED_NEW" "DOMAIN_REGISTRATION_DOMAIN_PURCHASED_TRANSFER" "DOMAIN_REGISTRATION_DOMAIN_TRANSFER_COMPLETE" "DOMAIN_REGISTRATION_END_OF_CONTRACT" "DOMAIN_REGISTRATION_END_OF_CONTRACT_MANUAL_RENEWAL" "DOMAIN_REGISTRATION_DOMAIN_SUSPENDED" "DOMAIN_REGISTRATION_DOMAIN_CANCELED" "O365_RESET_DOMAIN_USER_PASSWORDS" "SALES_LEAD_CREATED" "SALES_LEAD_ACCEPTED" "SALES_LEAD_DENIED" "SALES_LEAD_ASSIGNED" "SALES_LEAD_WON" "SALES_LEAD_LOST" "LEAD_PRODUCT_CREATED_ADMIN" "LEAD_MANUAL_CREATED_RESELLER" "LEAD_MANUAL_CREATED_DEVELOPER" "LEAD_PRODUCT_CREATED_SSR" "LEAD_REFERRED_COMPANY_SSR" "LEAD_REFERRED_COMPANY_RESELLER" "LEAD_CONVERTED_ADMIN" "LEAD_CONVERTED_SSR" "PRODUCT_PROFILE_LEAD_CREATED" "CUSTOM_AD_HOC" "SALES_OPPORTUNITY_CREATED" "SALES_OPPORTUNITY_APPROVED" "SALES_OPPORTUNITY_DENIED" "RESELLER_PROFILE_PUBLICATION_REQUESTED" "RESELLER_PROFILE_PUBLICATION_REQUEST_CANCELLED" "RESELLER_PROFILE_UNPUBLISHED" "RESELLER_PROFILE_PUBLICATION_APPROVED" "RESELLER_PROFILE_PUBLICATION_DENIED" "MICROSOFT_CREDENTIALS_SENT" "FAILED_CONTRACT" "WHOLESALES_PRICE_END_USER_ACTION_PENDING_PRICE_GRANTED" "WHOLESALE_PRICE_END_USER_ACTION_PENDING_PRICE_GRANTED_BY_SALES_SUPPORT" "WHOLESALE_PRICE_END_USER_ACTION_PENDING_REJECTED" "WHOLESALE_PRICE_END_USER_ACTION_PENDING_REJECTED_BY_CHANNEL" "WHOLESALES_PRICE_RESELLER_ACTION_PENDING_PRICE_REQUESTED" "WHOLESALE_PRICE_SALES_SUPPORT_ACTION_PENDING_PRICE_REQUESTED" "WHOLESALES_PRICE_RESELLER_ACTION_PENDING_PRICE_REQUESTED_FOR_COMPANY_ADMIN" "WHOLESALE_PRICE_RESELLER_ACTION_PENDING_REJECTED_BY_RESELLER_MANAGER" "WHOLESALE_PRICE_SALES_SUPPORT_ACTION_PENDING_REJECTED_BY_CHANNEL_ADMIN" "WHOLESALE_PRICE_RESELLER_ACTION_PENDING_REJECTED_BY_END_USER" "WHOLESALE_PRICE_SALES_SUPPORT_ACTION_PENDING_REJECTED_BY_END_USER" "WHOLESALES_PRICE_RESELLER_ACTION_PENDING_MANAGER_APPROVED" "WHOLESALES_PRICE_RESELLER_MANAGER_ACTION_PENDING_PRICE_REQUESTED" "WHOLESALES_PRICE_RESELLER_MANAGER_ACTION_PENDING_PRICE_REQUESTED_FOR_CHANNEL_ADMIN" "API_ALERT" "WELCOME_USER" "CREDIT_CARD_REQUIRED"

Responses

Request samples

Content type
application/json
{
  • "content": "string",
  • "directSales": true,
  • "enabled": true,
  • "id": 0,
  • "locale": "string",
  • "type": "ACCOUNT_ACTIVATION"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "type": "ACCOUNT_ACTIVATION",
  • "locale": "en_US",
  • "content": "This is a test.",
  • "enabled": true,
  • "directSales": false
}

Create or update an email template

This call creates a new email template or updates an existing template.

Request Body schema: application/json

Template definition

content
required
string

Email notification content

defaultTemplate
boolean

If the template is a default template of it's kind

directSales
boolean

If the template is used for a direct sale product

enabled
boolean

If the email template is enabled

fallbackEmailTemplateId
number

The ID of the template to fallback to if current one is disabled or not existing

id
number

Email notification template ID

locale
required
string

Email notification locale to determine the language

partner
string

Partner being used to render the email

reminderPattern
string

Notification reminder pattern

subject
required
string

Email notification subject

type
required
string (NotificationTemplateType)
Enum: "ACCOUNT_ACTIVATION" "ACCOUNT_ACTIVATION_AFTER_MIGRATION" "BRANDED_ACCOUNT_ACTIVATION" "ACCOUNT_ACTIVATION_CREATED_BY_ASSISTED_SALES" "ACTIVE_USER_TEMP_PASSWORD" "NEW_USER" "INVITE_USER" "BAAS_MARKETPLACE_SIGN_UP_REQUEST" "LISTING_MARKETPLACE_SIGN_UP_REQUEST" "STORE_MARKETPLACE_SIGN_UP_REQUEST" "LISTING_MARKETPLACE_SIGN_UP_REMINDER" "STORE_MARKETPLACE_SIGN_UP_REMINDER" "PASSWORD_RESET" "PASSWORD_CHANGED_NOTICE" "PRIMARY_EMAIL_CHANGED_NOTICE" "EMAIL_VERIFICATION" "IMPERSONATE_REQUEST" "PASSWORD_REMINDER" "REGISTRATION_REMINDER" "FIRST_TIME_LOGIN" "INACTIVE_USER_LOGIN_REMINDER" "INACTIVE_USER_PURCHASE_REMINDER" "ACCOUNT_ACTIVATION_FOR_EMAIL_CHANGE" "TWO_FACTOR_AUTHENTICATION_EMAIL" "ASSIGNMENT_NOTICE" "UNASSIGNMENT_NOTICE" "ASSIGNED_USERS_LIMIT" "ADOPTION_NOTICE" "SUBSCRIPTION_ADOPTION" "APPLICATION_ACCESS_REQUEST_NOTICE" "APPLICATION_PURCHASE_REQUEST_NOTICE" "EXPIRED_APPLICATION_REQUEST" "SUSPENDED_APPLICATION_REQUEST" "UPDATED_DOWNLOAD" "REVIEW_PURCHASE_REMINDER" "DENY_REVIEW" "DISCOUNT_DEACTIVATED" "CHANGE_OWNERSHIP" "REACTIVATE_DOMAIN" "SUBSCRIPTION_ORDER" "SUBSCRIPTION_ORDER_SINGLE_USER" "SUBSCRIPTION_ORDER_FREE_TRIAL" "PERSONAL_SUBSCRIPTION_NOTICE" "SUBSCRIPTION_ORDER_DOCUMENT" "SUBSCRIPTION_ORDER_MODULE" "FAILED_ORDER" "SUBSCRIPTION_UPGRADE" "FREE_TRIAL_OVER" "FREE_TRIAL_AUTO_UPGRADE_TO_PAID" "EXPIRED_TRIAL_UPGRADE_REMINDER" "INVOICE" "PAYMENT_SUCCESSFUL" "PAYMENT_FAILED" "REFUND" "EXPIRED_CREDIT_CARD" "SUBSCRIPTION_SUSPENDED_OVERDUE_INVOICE" "SUBSCRIPTION_SUSPENDED" "SUBSCRIPTION_CANCEL" "SUBSCRIPTION_CANCEL_SCHEDULED" "SCHEDULED_CANCELLATION_REMINDER" "TICKET_SUPPORT_SUBSCRIPTION_CANCEL" "FAILED_TO_REMOVE_USER" "FAILED_TO_REMOVE_USER_HAS_ACTIVE_OR_PENDING_APPS" "FAILED_TO_REMOVE_USER_OWNS_APPS" "FAILED_TO_REMOVE_USER_SOLE_SYSADMIN" "END_OF_CONTRACT" "OFF_PURCHASE_ORDER" "ORDER_APPROVAL_REQUEST" "SUBSCRIPTION_ORDER_RESELLER" "SUBSCRIPTION_CHANGE_RESELLER" "PUBLISH_REQUEST_PENDING_APPROVAL" "APPLICATION_PUBLISHED" "PUBLISH_DENIED" "VENDOR_NOTIFICATION" "VENDOR_REVIEW" "QUESTION_ASKED" "VENDOR_PUBLISH_REQUEST" "NETWORK_APPLICATION_REPUBLISHED" "MANUAL_EVENT_RESOLUTION" "NEW_REPORT_AVAILABLE" "REPORT_GENERATED" "REPORT_SUMMARY" "NEW_REPORT_SPECIFIC_NOTIFICATION" "OFFLINE_ORDER" "OFFLINE_ASSIGNMENT" "PRODUCT_CREDENTIALS" "MOSI_BOOST_FAILURE" "CREST_NEW_ADMIN" "MOSI_NEW_ADMIN" "MOSI_NEW_USER" "MOSI_UPDATE_USERNAME" "MOSI_ORDER_PLACED" "GOOGLE_NEW_ADMIN_USER" "GOOGLE_NEW_USER" "SENDGRID_PURCHASE" "MCAFEE_PURCHASE" "SCALEXTREME_ACCOUNT" "SYMANTEC_CLOUD_NEW_ACCOUNT" "SYMANTEC_CLOUD_OLD_ACCOUNT" "SYMANTEC_EV_CLOUD_NOTIFICATION" "MOZY_NEW_USER" "NORTON_NEW_USER_PC" "WEBEX_NEW_USER" "ASYNCHRONOUS_PRODUCT_PURCHASE_NOTIFICATION" "MARKETPLACE_REQUEST_TO_ADD_PRODUCT" "VENDOR_ADD_REQUEST" "PRODUCT_ADDED" "VENDOR_APPROVED" "AZURE_SYNC_INVITE_NEW_USER" "AZURE_SYNC_INVITE_USER" "DOCUSIGN_PURCHASE" "DOCUSIGN_ASSIGN" "RESELLER_LINKED" "RESELLER_UNLINKED" "RESELLER_SIGNUP_REQUESTED" "RESELLER_SIGNUP_APPROVED" "RESELLER_SIGNUP_DENIED" "TBILL_VALIDATION" "TBILL_APPROVED_USER_NOTIFICATION" "TBILL_REJECTED_USER_NOTIFICATION" "TBILL_APPROVED_CHANNEL_NOTIFICATION" "TBILL_REJECTED_CHANNEL_NOTIFICATION" "TBILL_INVALID_NOTIFICATION" "LEFTRONIC_ACCOUNT_ACTIVATION" "DOMAIN_REGISTRATION_DOMAIN_PURCHASED_NEW" "DOMAIN_REGISTRATION_DOMAIN_PURCHASED_TRANSFER" "DOMAIN_REGISTRATION_DOMAIN_TRANSFER_COMPLETE" "DOMAIN_REGISTRATION_END_OF_CONTRACT" "DOMAIN_REGISTRATION_END_OF_CONTRACT_MANUAL_RENEWAL" "DOMAIN_REGISTRATION_DOMAIN_SUSPENDED" "DOMAIN_REGISTRATION_DOMAIN_CANCELED" "O365_RESET_DOMAIN_USER_PASSWORDS" "SALES_LEAD_CREATED" "SALES_LEAD_ACCEPTED" "SALES_LEAD_DENIED" "SALES_LEAD_ASSIGNED" "SALES_LEAD_WON" "SALES_LEAD_LOST" "LEAD_PRODUCT_CREATED_ADMIN" "LEAD_MANUAL_CREATED_RESELLER" "LEAD_MANUAL_CREATED_DEVELOPER" "LEAD_PRODUCT_CREATED_SSR" "LEAD_REFERRED_COMPANY_SSR" "LEAD_REFERRED_COMPANY_RESELLER" "LEAD_CONVERTED_ADMIN" "LEAD_CONVERTED_SSR" "PRODUCT_PROFILE_LEAD_CREATED" "CUSTOM_AD_HOC" "SALES_OPPORTUNITY_CREATED" "SALES_OPPORTUNITY_APPROVED" "SALES_OPPORTUNITY_DENIED" "RESELLER_PROFILE_PUBLICATION_REQUESTED" "RESELLER_PROFILE_PUBLICATION_REQUEST_CANCELLED" "RESELLER_PROFILE_UNPUBLISHED" "RESELLER_PROFILE_PUBLICATION_APPROVED" "RESELLER_PROFILE_PUBLICATION_DENIED" "MICROSOFT_CREDENTIALS_SENT" "FAILED_CONTRACT" "WHOLESALES_PRICE_END_USER_ACTION_PENDING_PRICE_GRANTED" "WHOLESALE_PRICE_END_USER_ACTION_PENDING_PRICE_GRANTED_BY_SALES_SUPPORT" "WHOLESALE_PRICE_END_USER_ACTION_PENDING_REJECTED" "WHOLESALE_PRICE_END_USER_ACTION_PENDING_REJECTED_BY_CHANNEL" "WHOLESALES_PRICE_RESELLER_ACTION_PENDING_PRICE_REQUESTED" "WHOLESALE_PRICE_SALES_SUPPORT_ACTION_PENDING_PRICE_REQUESTED" "WHOLESALES_PRICE_RESELLER_ACTION_PENDING_PRICE_REQUESTED_FOR_COMPANY_ADMIN" "WHOLESALE_PRICE_RESELLER_ACTION_PENDING_REJECTED_BY_RESELLER_MANAGER" "WHOLESALE_PRICE_SALES_SUPPORT_ACTION_PENDING_REJECTED_BY_CHANNEL_ADMIN" "WHOLESALE_PRICE_RESELLER_ACTION_PENDING_REJECTED_BY_END_USER" "WHOLESALE_PRICE_SALES_SUPPORT_ACTION_PENDING_REJECTED_BY_END_USER" "WHOLESALES_PRICE_RESELLER_ACTION_PENDING_MANAGER_APPROVED" "WHOLESALES_PRICE_RESELLER_MANAGER_ACTION_PENDING_PRICE_REQUESTED" "WHOLESALES_PRICE_RESELLER_MANAGER_ACTION_PENDING_PRICE_REQUESTED_FOR_CHANNEL_ADMIN" "API_ALERT" "WELCOME_USER" "CREDIT_CARD_REQUIRED"

Responses

Request samples

Content type
application/json
{
  • "content": "string",
  • "defaultTemplate": true,
  • "directSales": true,
  • "enabled": true,
  • "fallbackEmailTemplateId": 0,
  • "id": 0,
  • "locale": "string",
  • "partner": "string",
  • "reminderPattern": "string",
  • "subject": "string",
  • "type": "ACCOUNT_ACTIVATION"
}

Response samples

Content type
application/json
{
  • "id": 573,
  • "type": "ACCOUNT_ACTIVATION",
  • "locale": "en_US",
  • "subject": "Test email",
  • "content": "This is a test.",
  • "enabled": true,
  • "reminderPattern": "pattern...",
  • "directSales": false,
  • "defaultTemplate": false,
  • "partner": "APPDIRECT",
  • "fallbackEmailTemplateId": 1
}

Retrieve common email element by type

Retrieve common email element by type for the current channel

path Parameters
type
required
string

Notification common element type

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/notification/v1/templates/common/email/%7Btype%7D

Response samples

Content type
application/json
{
  • "id": 4,
  • "type": "UNSUBSCRIBE",
  • "content": "This is a test.",
  • "locale": "en_US",
  • "enabled": true,
  • "partner": "APPDIRECT",
  • "defaultCommonElement": false
}

List notification common elements

List common element definitions that is present in each notification that is sent e.g. an unsubscribe message in an email footer.

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/notification/v1/templates/common

Response samples

Content type
application/json
[
  • {
    }
]

Default Notification Template Api

API endpoint to manage default notification templates (email and sms) When a partner have not customized a notification template, the default template will be used to send notification to users if it exists for the required notification template type and required locale.

Read default notification templates available for the current channel.

Read default notification templates available for the current channel. Reserved for super support users.

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/notification/v1/templates/default

Response samples

Content type
application/json
[
  • {
    }
]

Create or update a default common email template element.

Create or update a default common email template element

Request Body schema: application/json

Common element definition

content
required
string

Email notification content

defaultCommonElement
boolean

If the elements are default common elements

enabled
boolean

If the email template is enabled

id
number

Email notification template ID

locale
required
string

Email notification locale to determine the language

partner
string

Partner being used to render the email

type
required
string (NotificationCommonElementType)
Value: "UNSUBSCRIBE"

Responses

Request samples

Content type
application/json
{
  • "content": "string",
  • "defaultCommonElement": true,
  • "enabled": true,
  • "id": 0,
  • "locale": "string",
  • "partner": "string",
  • "type": "UNSUBSCRIBE"
}

Read default common email element by type.

Read default common email element by type

path Parameters
type
required
string

Notification common element type

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/notification/v1/templates/default/common/email/%7Btype%7D

Response samples

Content type
application/json
{
  • "content": "string",
  • "defaultCommonElement": true,
  • "enabled": true,
  • "id": 0,
  • "locale": "string",
  • "partner": "string",
  • "type": "UNSUBSCRIBE"
}

Create or update default email template

Create or update default email template. Reserved for super support users.

Request Body schema: application/json

Template definition

content
required
string

Email notification content

defaultTemplate
boolean

If the template is a default template of it's kind

directSales
boolean

If the template is used for a direct sale product

enabled
boolean

If the email template is enabled

fallbackEmailTemplateId
number

The ID of the template to fallback to if current one is disabled or not existing

id
number

Email notification template ID

locale
required
string

Email notification locale to determine the language

partner
string

Partner being used to render the email

reminderPattern
string

Notification reminder pattern

subject
required
string

Email notification subject

type
required
string (NotificationTemplateType)
Enum: "ACCOUNT_ACTIVATION" "ACCOUNT_ACTIVATION_AFTER_MIGRATION" "BRANDED_ACCOUNT_ACTIVATION" "ACCOUNT_ACTIVATION_CREATED_BY_ASSISTED_SALES" "ACTIVE_USER_TEMP_PASSWORD" "NEW_USER" "INVITE_USER" "BAAS_MARKETPLACE_SIGN_UP_REQUEST" "LISTING_MARKETPLACE_SIGN_UP_REQUEST" "STORE_MARKETPLACE_SIGN_UP_REQUEST" "LISTING_MARKETPLACE_SIGN_UP_REMINDER" "STORE_MARKETPLACE_SIGN_UP_REMINDER" "PASSWORD_RESET" "PASSWORD_CHANGED_NOTICE" "PRIMARY_EMAIL_CHANGED_NOTICE" "EMAIL_VERIFICATION" "IMPERSONATE_REQUEST" "PASSWORD_REMINDER" "REGISTRATION_REMINDER" "FIRST_TIME_LOGIN" "INACTIVE_USER_LOGIN_REMINDER" "INACTIVE_USER_PURCHASE_REMINDER" "ACCOUNT_ACTIVATION_FOR_EMAIL_CHANGE" "TWO_FACTOR_AUTHENTICATION_EMAIL" "ASSIGNMENT_NOTICE" "UNASSIGNMENT_NOTICE" "ASSIGNED_USERS_LIMIT" "ADOPTION_NOTICE" "SUBSCRIPTION_ADOPTION" "APPLICATION_ACCESS_REQUEST_NOTICE" "APPLICATION_PURCHASE_REQUEST_NOTICE" "EXPIRED_APPLICATION_REQUEST" "SUSPENDED_APPLICATION_REQUEST" "UPDATED_DOWNLOAD" "REVIEW_PURCHASE_REMINDER" "DENY_REVIEW" "DISCOUNT_DEACTIVATED" "CHANGE_OWNERSHIP" "REACTIVATE_DOMAIN" "SUBSCRIPTION_ORDER" "SUBSCRIPTION_ORDER_SINGLE_USER" "SUBSCRIPTION_ORDER_FREE_TRIAL" "PERSONAL_SUBSCRIPTION_NOTICE" "SUBSCRIPTION_ORDER_DOCUMENT" "SUBSCRIPTION_ORDER_MODULE" "FAILED_ORDER" "SUBSCRIPTION_UPGRADE" "FREE_TRIAL_OVER" "FREE_TRIAL_AUTO_UPGRADE_TO_PAID" "EXPIRED_TRIAL_UPGRADE_REMINDER" "INVOICE" "PAYMENT_SUCCESSFUL" "PAYMENT_FAILED" "REFUND" "EXPIRED_CREDIT_CARD" "SUBSCRIPTION_SUSPENDED_OVERDUE_INVOICE" "SUBSCRIPTION_SUSPENDED" "SUBSCRIPTION_CANCEL" "SUBSCRIPTION_CANCEL_SCHEDULED" "SCHEDULED_CANCELLATION_REMINDER" "TICKET_SUPPORT_SUBSCRIPTION_CANCEL" "FAILED_TO_REMOVE_USER" "FAILED_TO_REMOVE_USER_HAS_ACTIVE_OR_PENDING_APPS" "FAILED_TO_REMOVE_USER_OWNS_APPS" "FAILED_TO_REMOVE_USER_SOLE_SYSADMIN" "END_OF_CONTRACT" "OFF_PURCHASE_ORDER" "ORDER_APPROVAL_REQUEST" "SUBSCRIPTION_ORDER_RESELLER" "SUBSCRIPTION_CHANGE_RESELLER" "PUBLISH_REQUEST_PENDING_APPROVAL" "APPLICATION_PUBLISHED" "PUBLISH_DENIED" "VENDOR_NOTIFICATION" "VENDOR_REVIEW" "QUESTION_ASKED" "VENDOR_PUBLISH_REQUEST" "NETWORK_APPLICATION_REPUBLISHED" "MANUAL_EVENT_RESOLUTION" "NEW_REPORT_AVAILABLE" "REPORT_GENERATED" "REPORT_SUMMARY" "NEW_REPORT_SPECIFIC_NOTIFICATION" "OFFLINE_ORDER" "OFFLINE_ASSIGNMENT" "PRODUCT_CREDENTIALS" "MOSI_BOOST_FAILURE" "CREST_NEW_ADMIN" "MOSI_NEW_ADMIN" "MOSI_NEW_USER" "MOSI_UPDATE_USERNAME" "MOSI_ORDER_PLACED" "GOOGLE_NEW_ADMIN_USER" "GOOGLE_NEW_USER" "SENDGRID_PURCHASE" "MCAFEE_PURCHASE" "SCALEXTREME_ACCOUNT" "SYMANTEC_CLOUD_NEW_ACCOUNT" "SYMANTEC_CLOUD_OLD_ACCOUNT" "SYMANTEC_EV_CLOUD_NOTIFICATION" "MOZY_NEW_USER" "NORTON_NEW_USER_PC" "WEBEX_NEW_USER" "ASYNCHRONOUS_PRODUCT_PURCHASE_NOTIFICATION" "MARKETPLACE_REQUEST_TO_ADD_PRODUCT" "VENDOR_ADD_REQUEST" "PRODUCT_ADDED" "VENDOR_APPROVED" "AZURE_SYNC_INVITE_NEW_USER" "AZURE_SYNC_INVITE_USER" "DOCUSIGN_PURCHASE" "DOCUSIGN_ASSIGN" "RESELLER_LINKED" "RESELLER_UNLINKED" "RESELLER_SIGNUP_REQUESTED" "RESELLER_SIGNUP_APPROVED" "RESELLER_SIGNUP_DENIED" "TBILL_VALIDATION" "TBILL_APPROVED_USER_NOTIFICATION" "TBILL_REJECTED_USER_NOTIFICATION" "TBILL_APPROVED_CHANNEL_NOTIFICATION" "TBILL_REJECTED_CHANNEL_NOTIFICATION" "TBILL_INVALID_NOTIFICATION" "LEFTRONIC_ACCOUNT_ACTIVATION" "DOMAIN_REGISTRATION_DOMAIN_PURCHASED_NEW" "DOMAIN_REGISTRATION_DOMAIN_PURCHASED_TRANSFER" "DOMAIN_REGISTRATION_DOMAIN_TRANSFER_COMPLETE" "DOMAIN_REGISTRATION_END_OF_CONTRACT" "DOMAIN_REGISTRATION_END_OF_CONTRACT_MANUAL_RENEWAL" "DOMAIN_REGISTRATION_DOMAIN_SUSPENDED" "DOMAIN_REGISTRATION_DOMAIN_CANCELED" "O365_RESET_DOMAIN_USER_PASSWORDS" "SALES_LEAD_CREATED" "SALES_LEAD_ACCEPTED" "SALES_LEAD_DENIED" "SALES_LEAD_ASSIGNED" "SALES_LEAD_WON" "SALES_LEAD_LOST" "LEAD_PRODUCT_CREATED_ADMIN" "LEAD_MANUAL_CREATED_RESELLER" "LEAD_MANUAL_CREATED_DEVELOPER" "LEAD_PRODUCT_CREATED_SSR" "LEAD_REFERRED_COMPANY_SSR" "LEAD_REFERRED_COMPANY_RESELLER" "LEAD_CONVERTED_ADMIN" "LEAD_CONVERTED_SSR" "PRODUCT_PROFILE_LEAD_CREATED" "CUSTOM_AD_HOC" "SALES_OPPORTUNITY_CREATED" "SALES_OPPORTUNITY_APPROVED" "SALES_OPPORTUNITY_DENIED" "RESELLER_PROFILE_PUBLICATION_REQUESTED" "RESELLER_PROFILE_PUBLICATION_REQUEST_CANCELLED" "RESELLER_PROFILE_UNPUBLISHED" "RESELLER_PROFILE_PUBLICATION_APPROVED" "RESELLER_PROFILE_PUBLICATION_DENIED" "MICROSOFT_CREDENTIALS_SENT" "FAILED_CONTRACT" "WHOLESALES_PRICE_END_USER_ACTION_PENDING_PRICE_GRANTED" "WHOLESALE_PRICE_END_USER_ACTION_PENDING_PRICE_GRANTED_BY_SALES_SUPPORT" "WHOLESALE_PRICE_END_USER_ACTION_PENDING_REJECTED" "WHOLESALE_PRICE_END_USER_ACTION_PENDING_REJECTED_BY_CHANNEL" "WHOLESALES_PRICE_RESELLER_ACTION_PENDING_PRICE_REQUESTED" "WHOLESALE_PRICE_SALES_SUPPORT_ACTION_PENDING_PRICE_REQUESTED" "WHOLESALES_PRICE_RESELLER_ACTION_PENDING_PRICE_REQUESTED_FOR_COMPANY_ADMIN" "WHOLESALE_PRICE_RESELLER_ACTION_PENDING_REJECTED_BY_RESELLER_MANAGER" "WHOLESALE_PRICE_SALES_SUPPORT_ACTION_PENDING_REJECTED_BY_CHANNEL_ADMIN" "WHOLESALE_PRICE_RESELLER_ACTION_PENDING_REJECTED_BY_END_USER" "WHOLESALE_PRICE_SALES_SUPPORT_ACTION_PENDING_REJECTED_BY_END_USER" "WHOLESALES_PRICE_RESELLER_ACTION_PENDING_MANAGER_APPROVED" "WHOLESALES_PRICE_RESELLER_MANAGER_ACTION_PENDING_PRICE_REQUESTED" "WHOLESALES_PRICE_RESELLER_MANAGER_ACTION_PENDING_PRICE_REQUESTED_FOR_CHANNEL_ADMIN" "API_ALERT" "WELCOME_USER" "CREDIT_CARD_REQUIRED"

Responses

Request samples

Content type
application/json
{
  • "content": "string",
  • "defaultTemplate": true,
  • "directSales": true,
  • "enabled": true,
  • "fallbackEmailTemplateId": 0,
  • "id": 0,
  • "locale": "string",
  • "partner": "string",
  • "reminderPattern": "string",
  • "subject": "string",
  • "type": "ACCOUNT_ACTIVATION"
}

Read default email template by type

Read default email template by type. Reserved for super support user.

path Parameters
type
required
string

Email template type

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/notification/v1/templates/default/email/%7Btype%7D

Response samples

Content type
application/json
{
  • "content": "string",
  • "defaultTemplate": true,
  • "directSales": true,
  • "enabled": true,
  • "fallbackEmailTemplateId": 0,
  • "id": 0,
  • "locale": "string",
  • "partner": "string",
  • "reminderPattern": "string",
  • "subject": "string",
  • "type": "ACCOUNT_ACTIVATION"
}

Discounts

List all discounts

Lists all available discounts. The parameters can be used to filter the results.

query Parameters
code
string

Discount code

count
integer
Default: 250

Number of results to fetch. Used for paging.

sortField
string
Default: "CREATED_ON"
Enum: "APPLICATION" "CHANNEL" "CODE" "CREATED_ON" "END_DATE" "REDEMPTIONS" "START_DATE"

Sort field. Default value is creation date.

sortOrder
string
Default: "ASC"
Enum: "ASC" "DESC"

Sort order. Default value is ascending.

start
integer

First result index. Used for paging.

Responses

Request samples

curl --request GET \
  --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'

Response samples

Content type
No sample

Create discounts

Creates a discount with the provided data. Note that percentage discounts cannot exceed two decimal places (for example, 10.15).

Request Body schema: application/json

Discount data object

applicationId
number or null

Application ID.

applicationUuid
string or null

Application UUID.

applicationName
string or null

Name of the application to which the discount applies.

autoApply
boolean

True if the discount is automatically applied. Default value is true.

basePartnerSharePercentage
number or null

Base partner's percentage share of the discount.

billingCycles
number or null

Number of billing cycles for which the discount should be applied.

code
string or null

Discount code. Must be at least 4 characters, but no longer than 103 characters.

createdOn
number or null

Creation date of the discount.

description
required
string

Description of discount. Required field. Must be at least 4 characters, but no longer than 255 characters.

editionId
number or null

Edition ID.

editionUuid
string or null

Edition UUID.

expirationDate
number or null

Expiration date for the discount. This date must be in the future.

id
number or null

Discount ID.

uuid
string or null

Discount UUID.

industryId
number or null

Industry ID.

maxRedemptions
number or null

Maximum number of redemptions available.

maxUnits
number

Maximum number of units for which to apply the discount.

minUnits
number

Minimum number of units for which to apply the discount.

partnerSharePercentage
number or null

Partner's percentage share of the discount.

paymentPlanId
number or null

Payment plan ID.

paymentPlanUuid
string or null

Payment plan UUID.

percentage
number

Percentage discount if discount is of PERCENTAGE type. The percentage value cannot exceed two decimal places (for example, 10.15).

price
number or null

Amount to discount if discount is of FIXED_PRICE type.

redemptionRestriction
string (RedemptionRestriction)
redemptions
number

Number of times the discount has been redeemed.

retainable
boolean

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).

startDate
number or null

Start date for the discount.

type
required
string (DiscountType)
unit
string (PricingUnit)
Enum: "USER" "GIGABYTE" "MEGABYTE" "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" "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" "VIDEO_PACKAGE_50_HOURS" "INTERFACE" "TEST_CASE" "MINUTES_15" "MINUTES_30" "CONNECTED_ACCESS_POINT" "DAY" "SATURDAY_SURCHARGE" "NIGHT_SURCHARGE" "SUNDAY_SURCHARGE" "PUBLIC_HOLIDAY_SURCHARGE" "BASIC_PACKAGE" "STANDARD_PACKAGE" "PREMIUM_PACKAGE" "REPORTS_MODULE" "WORKFLOW_MODULE" "NBV_250K" "NBV" "INVENTORY" "ADDITIONAL_COMPANY" "TRANSACTION" "PREMIUM_CREDIT_REPORTS" "ADDITIONAL_CONNECTION" "STOCK_UNIT" "MONTHLY_USAGE_FEE" "USAGE_FEE" "MONTHLY_CHARGES" "STANDARD_USER" "ADDITIONAL_UNIT" "COMMISSION" "KITTING" "WOP" "SFDC" "NAMED_USER_LICENSE" "BARCODING_AND_WAREHOUSING" "MODULE" "MANUFACTURING_MODULE" "MRP" "CONSOLE_MODULE" "CONSOLIDATIONS" "MULTI_CURRENCY" "ADDON_LICENSE" "INBOUND_PAGE" "OUTBOUND_PAGE" "OPPORTUNITY_RETENTION" "SOCIAL_SENTIMENT" "DEMAND_PRICE" "SETUP_FEE" "SHAREPOINT" "INTEGRATION_MAINTENANCE" "VIEWER" "MANAGEMENT_USER" "SQ_FT" "LOCATION_UPTO_10_EMPLOYEES" "LOCATION_UPTO_20_EMPLOYEES" "LOCATION_UPTO_30_EMPLOYEES" "LOCATION_UPTO_60_EMPLOYEES" "LOCATION_UPTO_99_EMPLOYEES" "M365_ONLINE" "WEB_HOSTING_SERVER" "STANDARD_EDITION_GIGABYTE" "STORAGE_GIGABYTE" "EGRESS_GIGABYTE" "FEE_HW_DEFECT_NO_WARRANTY_CASE" "SIM_CARD" "SIM_CARDS_10" "APPLICATION_CONNECTOR" "ADDITIONAL_API_CALLS" "USED_STORAGE_PER_GB" "CERTIFICATION" "MACHINE" "CALCULATION_USER" "MAILBOX_S" "MAILBOX_M" "MAILBOX_L" "STORAGE" "GROUP" "VEHICLE" "ENDPOINT" "MANAGED_SERVICE" "SOC" "ONLINE_PLAN" "ENTERPRISE_PLAN" "FLOATING_LICENSE" "USER_PER_LICENSE" "CONCURRENT_USER_PER_LICENSE" "DASHBOARD" "IT_INTERFACE" "CONNECTABLE_IOT_DEVICE_VIA_USB" "CONNECTABLE_IOT_DEVICE_VIA_TULIP_GATEWAY" "CONNECTABLE_MACHINE_PER_LICENSE" "OBJECT_TO_BE_CHECKED" "MACHINE_WITH_BI_SUPPORT" "CONNECTED_DEVICE" "LISTING" "TLS_ENCRYPTION" "DOMAIN_LEVEL_SEND" "EFAX_ROUTER" "PRORATED_CREDIT" "NEW_HIRE" "NAS" "SALESFORCE_USER" "INTERVIEW" "ASSESSMENT" "NU_WEBEX_CALLING_ENHANCED" "NU_WEBEX_CALLING_PROFESSIONAL" "WEBEX_ASSISTANT_FOR_WEBEX_MEETINGS_NU" "NU_MEETINGS_BRIDGE_COUNTRY_CALL_BACK_AUDIO" "FLEX_TEAMS_MESSAGING" "ADDON_ANALYSES" "ADDITIONAL_LISTING" "MIGRATION_TENANT" "MIGRATION_GROUP" "MIGRATION_DOCUMENT" "MIGRATION_GSUITE" "MIGRATION_FOLDER" "ENHANCED_USER" "SINGLE_NAME_CERTIFICATE" "SETUP" "WILDCARD_CERTIFICATE" "SECURITY_PACKAGE" "ADDITIONAL_LANGUAGE" "VANITY_URL" "BRANDING" "DATA_SOURCE" "CREATOR_USER" "ESIGN_USER" "READ_ONLY_USER" "MEASURING_POINT" "ANDON_TV" "TABLET" "USER_10000" "USER_100" "PUBLIC_IP" "WORKLOAD" "PUBLIC_IP_ADDRESS" "COMPUTE_POINT" "RESOURCE_UNIT" "VALUE_POINT" "ACCOUNT" "REQUEST" "TRANSCRIPT" "NOTIFICATION" "CLAIM" "MID" "ENGAGEMENT" "TEAM_LICENSE_DIGITAL_TEAMBOARD" "TEAM_LICENSE_MODULE_CONNECTIVITY" "TEAM_LICENSE_MODULE_PROBLEM_SOLUTION" "TEAM_LICENSE_MODULE_AUDITS" "TEAM_LICENSE_MODULE_PROCESS_CONFIRMATION" "TEAM_LICENSE_MODULE_QUALIFICATION_MATRIX" "TEAM_LICENSE_MODULE_STANDARD_WORK_INSTRUCTION" "TEAM_LICENSE_MODULE_PARETO_ANALYSIS" "KPI" "YEAR_KPI_ARCHIVAL" "CORPORATE_CLOUD_HOSTING" "ON_PREMISES_HOSTING" "SUPPORT_SERVICE_HOUR" "CLASS" "EXPERT" "SPINDLE_HOUR" "ADDON_ADMINISTRATION" "ADDON_CONFIGURATION" "ADDON_PLANNING" "ADDON_PLANNING_OBJECTS" "ADDON_MASTER_DATA" "ADDON_CAPACITY_PLANS_CALENDAR" "ADDON_CONFLICT_RADAR" "ADDON_GAP_LIST" "ADDON_DASHBOARD" "ADDON_PLANNING_READ_ONLY" "ADDON_UTILIZATION_POOLS" "ADDON_FIXED_SCHEDULES" "ADDON_ASSEMBLY_GROUPS" "ADDON_ORDER_ON_HOLD" "ADDON_PARALLEL_RESSOURCES" "ADDON_MULTI_FUNCTIONAL_RESSOURCES" "ADDON_PLANEUS_TV_PER_TERMINAL" "ADDON_MASTER_DATA_WORK_PROCEDURES" "ADDON_MANUAL_IMPORT" "ADDON_AUTOMATIC_IMPORT" "ADDON_REPORTING_BASIC" "ADDON_REPORTING_ADVANCED" "ADDON_REPORT_RESOURCES_AVAILABILITY_PER_DAY" "ADDON_REPORT_OEE" "ADDON_REPORT_ON_TIME_DELIVERY_HISTORY" "ADDON_REPORT_PROCESS_PERFORMANCE_HISTORY" "ADDON_REPORT_UTILIZATION_PER_RESOURCE" "ADDON_REPORT_REPORTING_PLUG_IN" "ADDON_EXTERNAL_PARTNERS_BASIC_LICENSE" "ADDON_WORKBENCH_PACK_OF_5" "ADDON_WORKBENCH_PACK_OF_10" "ADDON_WORKBENCH_PACK_OF_15" "CLIENT" "VIRTUAL_MACHINE" "MODEL_TRANSFORMATION" "CASE_REFRESH" "CASE_VIEW" "CASE_DOCUMENT_DOWNLOAD" "VERIFICATION" "ADDON_CORPORATE_BRANDING" "CLIENT_TAX_FILINGS" "CLIENT_COMPLIANCE_SERVICES" "PROPOSAL" "UK_ID_CHECK" "INTERNATIONAL_ID_CHECK" "CREDIT_SCREEN" "UK_COMPANY_REPORT" "NON_UK_COMPANY_REPORT" "HR_SCREEN" "COMPANY_FORMATION" "CLIENT_ACCOUNTS" "SMARTKIT" "WORKFLOW" "EDITOR" "WORKER" "ADDON_POTENTIAL_ANALYSIS" "TRAINING_PACKAGE_SMALL" "TRAINING_PACKAGE_LARGE" "TOOL_PATH_OPTIMIZATION" "CLIENT_VAT_FILINGS" "BUNDLE" "PACKAGE" "VM" "INCIDENT" "SEND" "INTEGRATION" "BILLABLE_HOUR" "TB" "SOURCE" "TRAINING" "SITE" "CONSULTING_UNIT" "CAPACITY" "MIGRATION" "WORKSHOP" "ONBOARDING" "BENEFIT_ELIGIBLE_EMPLOYEE" "SEAT" "MS365_SEAT" "MS_EXCHANGE_MAILBOX" "GWORKSPACE_SEAT" "INTERNET_LINE" "BACKUP_LINE" "USER_PACK_50" "USER_PACK_100" "CIRCUIT" "NAC" "INFRASTRUCTURE" "TEN_THOUSAND_TEST_RUNS" "ONE_THOUSAND_TEST_RUNS" "INGESTED_OR_SCANNED_GB" "MILLION_LOG_EVENTS" "GB_OUTBOUND_PER_DESTINATION" "DESTINATION" "COMMITTER" "INGESTED_GB" "CPU" "ONE_THOUSAND_SESSIONS" "MILLION_RECORDS" "GB_OF_ANALYZED_LOGS" "ACTIVE_FUNCTION" "MILLION_TRACED_INVOCATIONS" "ACTIVE_APPLICATION_INSTANCES" "HUNDRED_TEST_RUNS" "ADDITIONAL_PARALLELIZATION" "TASK" "ONE_HUNDRED_WORKFLOW_EXECUTIONS" "SCANNED_GB" "USE_CASE" "ONE_THOUSAND_ERROR_EVENTS" "PERFORMANCE_GOAL"
vendorSharePercentage
number or null

Vendor's percentage share of the discount.

Responses

Request samples

Content type
application/json
{
  • "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
}

Response samples

Content type
No sample

Update discounts

Updates the specified discount with the provided data. Note that percentage discounts cannot exceed two decimal places (for example, 10.15).

path Parameters
discountId
required
string

Discount ID or Discount UUID

Request Body schema: application/json

Discount data object

applicationId
number or null

Application ID.

applicationUuid
string or null

Application UUID.

applicationName
string or null

Name of the application to which the discount applies.

autoApply
boolean

True if the discount is automatically applied. Default value is true.

basePartnerSharePercentage
number or null

Base partner's percentage share of the discount.

billingCycles
number or null

Number of billing cycles for which the discount should be applied.

code
string or null

Discount code. Must be at least 4 characters, but no longer than 103 characters.

createdOn
number or null

Creation date of the discount.

description
required
string

Description of discount. Required field. Must be at least 4 characters, but no longer than 255 characters.

editionId
number or null

Edition ID.

editionUuid
string or null

Edition UUID.

expirationDate
number or null

Expiration date for the discount. This date must be in the future.

id
number or null

Discount ID.

uuid
string or null

Discount UUID.

industryId
number or null

Industry ID.

maxRedemptions
number or null

Maximum number of redemptions available.

maxUnits
number

Maximum number of units for which to apply the discount.

minUnits
number

Minimum number of units for which to apply the discount.

partnerSharePercentage
number or null

Partner's percentage share of the discount.

paymentPlanId
number or null

Payment plan ID.

paymentPlanUuid
string or null

Payment plan UUID.

percentage
number

Percentage discount if discount is of PERCENTAGE type. The percentage value cannot exceed two decimal places (for example, 10.15).

price
number or null

Amount to discount if discount is of FIXED_PRICE type.

redemptionRestriction
string (RedemptionRestriction)
redemptions
number

Number of times the discount has been redeemed.

retainable
boolean

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).

startDate
number or null

Start date for the discount.

type
required
string (DiscountType)
unit
string (PricingUnit)
Enum: "USER" "GIGABYTE" "MEGABYTE" "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" "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" "VIDEO_PACKAGE_50_HOURS" "INTERFACE" "TEST_CASE" "MINUTES_15" "MINUTES_30" "CONNECTED_ACCESS_POINT" "DAY" "SATURDAY_SURCHARGE" "NIGHT_SURCHARGE" "SUNDAY_SURCHARGE" "PUBLIC_HOLIDAY_SURCHARGE" "BASIC_PACKAGE" "STANDARD_PACKAGE" "PREMIUM_PACKAGE" "REPORTS_MODULE" "WORKFLOW_MODULE" "NBV_250K" "NBV" "INVENTORY" "ADDITIONAL_COMPANY" "TRANSACTION" "PREMIUM_CREDIT_REPORTS" "ADDITIONAL_CONNECTION" "STOCK_UNIT" "MONTHLY_USAGE_FEE" "USAGE_FEE" "MONTHLY_CHARGES" "STANDARD_USER" "ADDITIONAL_UNIT" "COMMISSION" "KITTING" "WOP" "SFDC" "NAMED_USER_LICENSE" "BARCODING_AND_WAREHOUSING" "MODULE" "MANUFACTURING_MODULE" "MRP" "CONSOLE_MODULE" "CONSOLIDATIONS" "MULTI_CURRENCY" "ADDON_LICENSE" "INBOUND_PAGE" "OUTBOUND_PAGE" "OPPORTUNITY_RETENTION" "SOCIAL_SENTIMENT" "DEMAND_PRICE" "SETUP_FEE" "SHAREPOINT" "INTEGRATION_MAINTENANCE" "VIEWER" "MANAGEMENT_USER" "SQ_FT" "LOCATION_UPTO_10_EMPLOYEES" "LOCATION_UPTO_20_EMPLOYEES" "LOCATION_UPTO_30_EMPLOYEES" "LOCATION_UPTO_60_EMPLOYEES" "LOCATION_UPTO_99_EMPLOYEES" "M365_ONLINE" "WEB_HOSTING_SERVER" "STANDARD_EDITION_GIGABYTE" "STORAGE_GIGABYTE" "EGRESS_GIGABYTE" "FEE_HW_DEFECT_NO_WARRANTY_CASE" "SIM_CARD" "SIM_CARDS_10" "APPLICATION_CONNECTOR" "ADDITIONAL_API_CALLS" "USED_STORAGE_PER_GB" "CERTIFICATION" "MACHINE" "CALCULATION_USER" "MAILBOX_S" "MAILBOX_M" "MAILBOX_L" "STORAGE" "GROUP" "VEHICLE" "ENDPOINT" "MANAGED_SERVICE" "SOC" "ONLINE_PLAN" "ENTERPRISE_PLAN" "FLOATING_LICENSE" "USER_PER_LICENSE" "CONCURRENT_USER_PER_LICENSE" "DASHBOARD" "IT_INTERFACE" "CONNECTABLE_IOT_DEVICE_VIA_USB" "CONNECTABLE_IOT_DEVICE_VIA_TULIP_GATEWAY" "CONNECTABLE_MACHINE_PER_LICENSE" "OBJECT_TO_BE_CHECKED" "MACHINE_WITH_BI_SUPPORT" "CONNECTED_DEVICE" "LISTING" "TLS_ENCRYPTION" "DOMAIN_LEVEL_SEND" "EFAX_ROUTER" "PRORATED_CREDIT" "NEW_HIRE" "NAS" "SALESFORCE_USER" "INTERVIEW" "ASSESSMENT" "NU_WEBEX_CALLING_ENHANCED" "NU_WEBEX_CALLING_PROFESSIONAL" "WEBEX_ASSISTANT_FOR_WEBEX_MEETINGS_NU" "NU_MEETINGS_BRIDGE_COUNTRY_CALL_BACK_AUDIO" "FLEX_TEAMS_MESSAGING" "ADDON_ANALYSES" "ADDITIONAL_LISTING" "MIGRATION_TENANT" "MIGRATION_GROUP" "MIGRATION_DOCUMENT" "MIGRATION_GSUITE" "MIGRATION_FOLDER" "ENHANCED_USER" "SINGLE_NAME_CERTIFICATE" "SETUP" "WILDCARD_CERTIFICATE" "SECURITY_PACKAGE" "ADDITIONAL_LANGUAGE" "VANITY_URL" "BRANDING" "DATA_SOURCE" "CREATOR_USER" "ESIGN_USER" "READ_ONLY_USER" "MEASURING_POINT" "ANDON_TV" "TABLET" "USER_10000" "USER_100" "PUBLIC_IP" "WORKLOAD" "PUBLIC_IP_ADDRESS" "COMPUTE_POINT" "RESOURCE_UNIT" "VALUE_POINT" "ACCOUNT" "REQUEST" "TRANSCRIPT" "NOTIFICATION" "CLAIM" "MID" "ENGAGEMENT" "TEAM_LICENSE_DIGITAL_TEAMBOARD" "TEAM_LICENSE_MODULE_CONNECTIVITY" "TEAM_LICENSE_MODULE_PROBLEM_SOLUTION" "TEAM_LICENSE_MODULE_AUDITS" "TEAM_LICENSE_MODULE_PROCESS_CONFIRMATION" "TEAM_LICENSE_MODULE_QUALIFICATION_MATRIX" "TEAM_LICENSE_MODULE_STANDARD_WORK_INSTRUCTION" "TEAM_LICENSE_MODULE_PARETO_ANALYSIS" "KPI" "YEAR_KPI_ARCHIVAL" "CORPORATE_CLOUD_HOSTING" "ON_PREMISES_HOSTING" "SUPPORT_SERVICE_HOUR" "CLASS" "EXPERT" "SPINDLE_HOUR" "ADDON_ADMINISTRATION" "ADDON_CONFIGURATION" "ADDON_PLANNING" "ADDON_PLANNING_OBJECTS" "ADDON_MASTER_DATA" "ADDON_CAPACITY_PLANS_CALENDAR" "ADDON_CONFLICT_RADAR" "ADDON_GAP_LIST" "ADDON_DASHBOARD" "ADDON_PLANNING_READ_ONLY" "ADDON_UTILIZATION_POOLS" "ADDON_FIXED_SCHEDULES" "ADDON_ASSEMBLY_GROUPS" "ADDON_ORDER_ON_HOLD" "ADDON_PARALLEL_RESSOURCES" "ADDON_MULTI_FUNCTIONAL_RESSOURCES" "ADDON_PLANEUS_TV_PER_TERMINAL" "ADDON_MASTER_DATA_WORK_PROCEDURES" "ADDON_MANUAL_IMPORT" "ADDON_AUTOMATIC_IMPORT" "ADDON_REPORTING_BASIC" "ADDON_REPORTING_ADVANCED" "ADDON_REPORT_RESOURCES_AVAILABILITY_PER_DAY" "ADDON_REPORT_OEE" "ADDON_REPORT_ON_TIME_DELIVERY_HISTORY" "ADDON_REPORT_PROCESS_PERFORMANCE_HISTORY" "ADDON_REPORT_UTILIZATION_PER_RESOURCE" "ADDON_REPORT_REPORTING_PLUG_IN" "ADDON_EXTERNAL_PARTNERS_BASIC_LICENSE" "ADDON_WORKBENCH_PACK_OF_5" "ADDON_WORKBENCH_PACK_OF_10" "ADDON_WORKBENCH_PACK_OF_15" "CLIENT" "VIRTUAL_MACHINE" "MODEL_TRANSFORMATION" "CASE_REFRESH" "CASE_VIEW" "CASE_DOCUMENT_DOWNLOAD" "VERIFICATION" "ADDON_CORPORATE_BRANDING" "CLIENT_TAX_FILINGS" "CLIENT_COMPLIANCE_SERVICES" "PROPOSAL" "UK_ID_CHECK" "INTERNATIONAL_ID_CHECK" "CREDIT_SCREEN" "UK_COMPANY_REPORT" "NON_UK_COMPANY_REPORT" "HR_SCREEN" "COMPANY_FORMATION" "CLIENT_ACCOUNTS" "SMARTKIT" "WORKFLOW" "EDITOR" "WORKER" "ADDON_POTENTIAL_ANALYSIS" "TRAINING_PACKAGE_SMALL" "TRAINING_PACKAGE_LARGE" "TOOL_PATH_OPTIMIZATION" "CLIENT_VAT_FILINGS" "BUNDLE" "PACKAGE" "VM" "INCIDENT" "SEND" "INTEGRATION" "BILLABLE_HOUR" "TB" "SOURCE" "TRAINING" "SITE" "CONSULTING_UNIT" "CAPACITY" "MIGRATION" "WORKSHOP" "ONBOARDING" "BENEFIT_ELIGIBLE_EMPLOYEE" "SEAT" "MS365_SEAT" "MS_EXCHANGE_MAILBOX" "GWORKSPACE_SEAT" "INTERNET_LINE" "BACKUP_LINE" "USER_PACK_50" "USER_PACK_100" "CIRCUIT" "NAC" "INFRASTRUCTURE" "TEN_THOUSAND_TEST_RUNS" "ONE_THOUSAND_TEST_RUNS" "INGESTED_OR_SCANNED_GB" "MILLION_LOG_EVENTS" "GB_OUTBOUND_PER_DESTINATION" "DESTINATION" "COMMITTER" "INGESTED_GB" "CPU" "ONE_THOUSAND_SESSIONS" "MILLION_RECORDS" "GB_OF_ANALYZED_LOGS" "ACTIVE_FUNCTION" "MILLION_TRACED_INVOCATIONS" "ACTIVE_APPLICATION_INSTANCES" "HUNDRED_TEST_RUNS" "ADDITIONAL_PARALLELIZATION" "TASK" "ONE_HUNDRED_WORKFLOW_EXECUTIONS" "SCANNED_GB" "USE_CASE" "ONE_THOUSAND_ERROR_EVENTS" "PERFORMANCE_GOAL"
vendorSharePercentage
number or null

Vendor's percentage share of the discount.

Responses

Request samples

Content type
application/json
{
  • "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
}

Response samples

Content type
No sample

Retrieve discounts

Retrieves the discount for the given discount ID or UUID.

path Parameters
discountId
required
string

Discount ID or Discount UUID

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/channel/v1/discounts/%7BdiscountId%7D

Response samples

Content type
No sample

Delete discounts

Deletes the discount with the specified discount ID or UUID.

path Parameters
discountId
required
string

Discount ID or Discount UUID

Responses

Request samples

curl --request DELETE \
  --url https://marketplace.appdirect.com/api/channel/v1/discounts/%7BdiscountId%7D

Domains

List company domains

Retrieve a marketplace company's domains.

Required Scopes and Authorization Rules
  • ROLE_BILLING_ADMIN -

    Allows access as a Billing Admin for the company.

  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER_READ -

    Allows access to read all marketplace data.

path Parameters
companyUuid
required
string

Unique identifier of company in the API request

query Parameters
searchText
string

Search term used to search domain names

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/domains?searchText=SOME_STRING_VALUE'

Response samples

Content type
No sample

Read company domain

Get a specific company domain

Required Scopes and Authorization Rules
  • ROLE_USER -

    Allows access as owner of the company domain.

  • ROLE_BILLING_ADMIN -

    Allows access as a Billing Admin for the company.

  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER_READ -

    Allows access to read all marketplace data.

path Parameters
companyUuid
required
string

Unique identifier of company in the API request

domainName
required
string

Company domain name

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/domains/%7BdomainName%7D

Response samples

Content type
No sample

List verified company domains

Retrieve a marketplace company's verified domains.

Required Scopes and Authorization Rules
  • ROLE_BILLING_ADMIN -

    Allows access as a Billing Admin for the company.

  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER_READ -

    Allows access to read all marketplace data.

path Parameters
companyUuid
required
string

Unique identifier of company in the API request

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/verifiedDomains

Response samples

Content type
No sample

Editions

Retrieve an edition

This call returns all details related to a specific product edition

path Parameters
applicationId
required
number

product id

editionId
required
number

Edition id

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/marketplace/v1/products/%7BapplicationId%7D/editions/%7BeditionId%7D

Response samples

Content type
No sample

Events

List all events

This call lists all events on your marketplace.

query Parameters
fromDate
number

Search events from this date in milliseconds.

orderId
number

Only return events for these purchase order.

page
string
Default: "0"

The desired page. Defaults to "0".

searchText
string [ 0 .. 1024 ] characters

Search term used to search on different fields of an application.

size
string
Default: "50"

The number of events per page. Defaults to "250".

sortOrder
string
Default: "ASC"
Enum: "ASC" "DESC"

Ordering type. Default is "ASC".

toDate
number

Search events to this date in milliseconds.

type
string

Only return events for these event type.

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/channel/v1/events?fromDate=SOME_NUMBER_VALUE&orderId=SOME_NUMBER_VALUE&page=SOME_STRING_VALUE&searchText=SOME_STRING_VALUE&size=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&toDate=SOME_NUMBER_VALUE&type=SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "links": [ ],
  • "content": [
    ],
  • "page": {
    }
}

Retrieve an event

This call returns all details for a specific event.

path Parameters
eventId
required
string

Only return event with this event id.

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/channel/v1/events/%7BeventId%7D

Response samples

Content type
application/json
{}

Groups

List user groups

Retrieve a marketplace company's user groups.

Required Scopes and Authorization Rules
  • ROLE_SYS_ADMIN -

    Allows access as a Company Admin for the company.

  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support agent for the marketplace.

  • ROLE_CHANNEL_SUPPORT -

    Allows access as a Customer Support agent for the marketplace.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER_READ -

    Allows access to read all marketplace data.

path Parameters
companyUuid
required
string

Unique identifier of company in the API request

query Parameters
page
integer
Default: 0

Zero-based page index

searchText
string

Search term used to search groups names

size
integer
Default: 50

The size of the page to be returned

sortField
string
Default: "createdOn"

The property to sort by. Supported values are createdOn, name.

sortOrder
string
Default: "DESC"
Enum: "ASC" "DESC"

Ordering type

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/groups?page=SOME_INTEGER_VALUE&searchText=SOME_STRING_VALUE&size=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE'

Response samples

Content type
No sample

Create user group

Create a user group for a marketplace company.

Required Scopes and Authorization Rules
  • ROLE_SYS_ADMIN -

    Allows access as a Company Admin for the company.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER -

    Allows access to read and write all marketplace data.

path Parameters
companyUuid
required
string

Unique identifier of company in the API request

Request Body schema: application/json

Group creation data

description
string

Company group description.

name
string

Company group name.

Responses

Request samples

Content type
application/json
{
  • "name": "HR",
  • "description": "Human Resources"
}

Response samples

Content type
No sample

Update user group

Update user group for the requested marketplace company.

Required Scopes and Authorization Rules
  • ROLE_SYS_ADMIN -

    Allows access as a Company Admin for the company.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER -

    Allows access to read and write all marketplace data.

path Parameters
companyUuid
required
string

Unique identifier of company in the API request

groupUuid
required
string

Unique identifier of group in the API request

Request Body schema: application/json

Updated user grouop data

description
string

Company group description.

name
string

Company group name.

Responses

Request samples

Content type
application/json
{
  • "name": "Engineer",
  • "description": "Engineering"
}

Response samples

Content type
No sample

Read user group

Retrieve a marketplace company's user group.

Required Scopes and Authorization Rules
  • ROLE_SYS_ADMIN -

    Allows access as a Company Admin for the company.

  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support agent for the marketplace.

  • ROLE_CHANNEL_SUPPORT -

    Allows access as a Customer Support agent for the marketplace.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER_READ -

    Allows access to read all marketplace data.

path Parameters
companyUuid
required
string

Unique identifier of company in the API request

groupUuid
required
string

Unique identifier of group in the API request

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/groups/%7BgroupUuid%7D

Response samples

Content type
No sample

Delete user group

Delete a user group for the requested marketplace company.

Required Scopes and Authorization Rules
  • ROLE_SYS_ADMIN -

    Allows access as a Company Admin for the company.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER -

    Allows access to read and write all marketplace data.

path Parameters
companyUuid
required
string

Unique identifier of company in the API request

groupUuid
required
string

Unique identifier of group in the API request

Responses

Request samples

curl --request DELETE \
  --url https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/groups/%7BgroupUuid%7D

Response samples

Content type
No sample

List user group members

List members of a user group for the requested marketplace company.

Required Scopes and Authorization Rules
  • ROLE_SYS_ADMIN -

    Allows access as a Company Admin for the company.

  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support agent for the marketplace.

  • ROLE_CHANNEL_SUPPORT -

    Allows access as a Customer Support agent for the marketplace.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER_READ -

    Allows access to read all marketplace data.

path Parameters
companyUuid
required
string

Unique identifier of company in the API request

groupUuid
required
string

Unique identifier of group in the API request

query Parameters
searchText
string

Optional parameter object containing:
searchText - Search term used to search on different fields of a user
role - If specified, only users with the specified marketplace role are returned
status - If specified, only users with the specified status are returned

member
boolean
Default: true

When true, only group members are return. When false, non-members of the group are returned.

page
integer
Default: 0

Zero-based page index

size
integer
Default: 50

The size of the page to be returned @return List of user/company membership resources

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/groups/%7BgroupUuid%7D/memberships?searchText=SOME_STRING_VALUE&member=SOME_BOOLEAN_VALUE&page=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE'

Response samples

Content type
No sample

Create batch group memberships change requests.

Create batched group memberships change requests.

Required Scopes and Authorization Rules
  • ROLE_SYS_ADMIN -

    Allows access as a Company Admin for the company.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

path Parameters
companyUuid
required
string

Unique identifier of company in the API request

groupUuid
required
string

Unique identifier of group in the API request

query Parameters
validateOnly
boolean
Default: false

If specified, the API returns a response without actually persisting it through to the database.

Request Body schema: application/json
Array of objects (AssignmentRequest)
Array of objects (UassignmentRequest)
Array of objects (UserGroupAssignmentRequest)
Array of objects (UserGroupUnassignmentRequest)

Responses

Request samples

Content type
application/json
{
  • "assignments": [
    ],
  • "unassignments": [
    ],
  • "appAssignmentRequests": [
    ],
  • "appUnassignmentRequests": [
    ]
}

Response samples

Content type
No sample

Add user to group

Add a user to marketplace company's user group.

Required Scopes and Authorization Rules
  • ROLE_SYS_ADMIN -

    Allows access as a Company Admin for the company.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

path Parameters
companyUuid
required
string

Unique identifier of company in the API request

groupUuid
required
string

Unique identifier of group in the API request

userUuid
required
string

Unique identifier of user (part of company) in the API request

Responses

Request samples

curl --request PUT \
  --url https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/groups/%7BgroupUuid%7D/memberships/%7BuserUuid%7D

Response samples

Content type
No sample

Read user from group

Retrieve a user/company membership resource.

Required Scopes and Authorization Rules
  • ROLE_SYS_ADMIN -

    Allows access as a Company Admin for the company.

  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support agent for the marketplace.

  • ROLE_CHANNEL_SUPPORT -

    Allows access as a Customer Support agent for the marketplace.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER_READ -

    Allows access to read all marketplace data.

path Parameters
companyUuid
required
string

Unique identifier of company in the API request

groupUuid
required
string

Unique identifier of group in the API request

userUuid
required
string

Unique identifier of user in the API request

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/groups/%7BgroupUuid%7D/memberships/%7BuserUuid%7D

Response samples

Content type
No sample

Delete user from group

Delete a user from a marketplace company's user group.

Required Scopes and Authorization Rules
  • ROLE_SYS_ADMIN -

    Allows access as a Company Admin for the company.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

path Parameters
companyUuid
required
string

Unique identifier of company in the API request

groupUuid
required
string

Unique identifier of group in the API request

userUuid
required
string

Unique identifier of user in the API request

Responses

Request samples

curl --request DELETE \
  --url https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/groups/%7BgroupUuid%7D/memberships/%7BuserUuid%7D

Response samples

Content type
No sample

Invitations

Revoke user invitation

Revoke a user's invitiation to a marketplace company.

Required Scopes and Authorization Rules
  • ROLE_SYS_ADMIN -

    Allows access as a Company Admin for the company.

  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support agent for the marketplace.

  • ROLE_CHANNEL_SUPPORT -

    Allows access as a Customer Support agent for the marketplace.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER -

    Allows access to read and write all marketplace data.

path Parameters
companyUuid
required
string

Unique identifier of company in the API request

email
required
string

Email address of invitee in the API request

query Parameters
inviterUuid
string

Unique identifier of marketplace user who sent invitation

Responses

Request samples

curl --request DELETE \
  --url 'https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/invitations/%7Bemail%7D?inviterUuid=SOME_STRING_VALUE'

List company invitations

Retrieve a marketplace company's user invitations.

Required Scopes and Authorization Rules
  • ROLE_SYS_ADMIN -

    Allows access as a Company Admin for the company.

  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support agent for the marketplace.

  • ROLE_CHANNEL_SUPPORT -

    Allows access as a Customer Support agent for the marketplace.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER_READ -

    Allows access to read all marketplace data.

path Parameters
companyUuid
required
string

Unique identifier of company in the API request

query Parameters
filter
string

Filter query used to reduce the returned result set

inviterUuid
string

Unique identifier of marketplace user who sent invitation

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/invitations?filter=SOME_STRING_VALUE&inviterUuid=SOME_STRING_VALUE'

Response samples

Content type
No sample

Invite users to company

Invite multiple users to a marketplace company using list of Invitation resources.

Note: You cannot set the Marketplace Manager role through the API.

Required Scopes and Authorization Rules
  • ROLE_SYS_ADMIN -

    Allows access as a Company Admin for the company.

  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support agent for the marketplace.

  • ROLE_CHANNEL_SUPPORT -

    Allows access as a Customer Support agent for the marketplace.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER -

    Allows access to read and write all marketplace data.

path Parameters
companyUuid
required
string

Unique identifier of company in the API request

query Parameters
api.usesExternalIds
boolean
Default: false

If "true", specified companyUuid is used as company external Id.

inviterUuid
string

Unique identifier of inviter (marketplace user) in the API request

Request Body schema: application/json

List of invitation resources.

Array
email
string

Email the invitation was sent to.

role
string (Role)
Enum: "USER" "APPLICATION" "PARTNER" "PARTNER_READ" "COMPANY" "CLIENT" "CHECKOUT_USER" "BILLING_ADMIN" "SYS_ADMIN" "DEVELOPER" "CHANNEL_PRODUCT_SUPPORT" "CHANNEL_SUPPORT" "CHANNEL_ADMIN" "CORPORATE_ADMIN" "SUPERUSER" "SUPER_SUPPORT" "ANALYTICS_ADMIN" "LAYOUT_DESIGNER" "SALES_SUPPORT" "RESTRICTED_SALES_SUPPORT" "RESELLER" "RESELLER_MANAGER" "TESTER" "MONITORING" "SYSTEM"

Responses

Request samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    }
]

Response samples

Content type
No sample

Invite users to company (CSV)

Invite multiple users to a marketplace company using a CSV file. This method expects a Content-Type request header with a value of “multipart/form-data”, “text/plain” or “text/csv”.

Note: You cannot set the Marketplace Manager role through the API.

Required Scopes and Authorization Rules
  • ROLE_SYS_ADMIN -

    Allows access as a Company Admin for the company.

  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support agent for the marketplace.

  • ROLE_CHANNEL_SUPPORT -

    Allows access as a Customer Support agent for the marketplace.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER -

    Allows access to read and write all marketplace data.

path Parameters
companyUuid
required
string

Unique identifier of company in the API request

query Parameters
inviterUuid
string

Unique identifier of inviter (marketplace user) in the API request

Request Body schema: multipart/form-data
invitations
string <binary>

CSV file to uploaded.

Responses

Request samples

curl --request POST \
  --url 'https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/invitations/csv?inviterUuid=SOME_STRING_VALUE' \
  --header 'content-type: multipart/form-data'

Response samples

Content type
No sample

Accept user invitation

Accept a user's invitation to a marketplace company

Required Scopes and Authorization Rules
  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER -

    Allows access to read and write all marketplace data.

path Parameters
invitationToken
required
string

Unique invitation token in the API request

query Parameters
api.usesExternalIds
boolean
Default: false

When "true", inviter external Id will be used instead of UUID

Request Body schema: application/json

User registration resource

Array of objects or null (Link)

Resource links

externalIdentifier
string

External identifier of user

firstName
string

First name of user

lastName
string or null

Last name of user

locale
string

Locale of user in the standard ISO 639-1 language code + ISO 3166-1 country code format. For example: 'en_US', 'fr_CA' etc

password
string

Password

title
string

Title of user

Responses

Request samples

Content type
application/json
{
  • "links": [
    ],
  • "externalIdentifier": "123456456",
  • "firstName": "John",
  • "lastName": "Doe",
  • "locale": "en_US",
  • "password": "Admin123",
  • "title": "MS"
}

Response samples

Content type
No sample

Invoices

List all invoices for a user

List all of the invoices for the given user

path Parameters
companyId
required
string

User's company UUID

userId
required
string

User UUID

query Parameters
count
integer
Default: 250

Number of results to fetch. Used for paging.

excludeFree
boolean

Exclude invoices with no charges (free)

fromDate
number

From date

sortField
string
Default: "INVOICE_ID"
Enum: "DATE" "INVOICE_ID" "TOTAL"

Sort field

sortOrder
string
Default: "ASC"
Enum: "ASC" "DESC"

Sort order

start
integer
Default: 0

First result index. Used for paging.

status
string
Enum: "CARRIED" "PAID" "UNPAID" "VOIDED"

Invoice status

toDate
number

To date

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/billing/v1/companies/%7BcompanyId%7D/users/%7BuserId%7D/invoices?count=SOME_INTEGER_VALUE&excludeFree=SOME_BOOLEAN_VALUE&fromDate=SOME_NUMBER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_INTEGER_VALUE&status=SOME_STRING_VALUE&toDate=SOME_NUMBER_VALUE'

Response samples

Content type
No sample

List all invoices for a company

List all of the invoices for the given company

path Parameters
companyId
required
string

Company UUID

query Parameters
count
integer
Default: 250

Number of results to fetch. Used for paging.

excludeFree
boolean

Exclude invoices with no charges (free)

fromDate
number

From date

sortField
string
Default: "INVOICE_ID"
Enum: "DATE" "INVOICE_ID" "TOTAL"

Sort field

sortOrder
string
Default: "DESC"
Enum: "ASC" "DESC"

Sort order

start
integer
Default: 0

First result index. Used for paging.

status
string
Enum: "CARRIED" "PAID" "UNPAID" "VOIDED"

Invoice status

toDate
number

To date

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/billing/v1/companies/%7BcompanyId%7D/invoices?count=SOME_INTEGER_VALUE&excludeFree=SOME_BOOLEAN_VALUE&fromDate=SOME_NUMBER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_INTEGER_VALUE&status=SOME_STRING_VALUE&toDate=SOME_NUMBER_VALUE'

Response samples

Content type
No sample

List All Invoice Payments

List all payment data for an invoice

path Parameters
invoiceNumber
required
integer

Invoice number.

query Parameters
count
string
Default: "250"

Number of results to fetch. Used for paging.

fromDate
number

From date.

method
string
Enum: "ADP_INVOICE" "ARIBAPAY" "BT_BILL" "CLICKANDBUY" "CLOUDFOUNDRY" "CREDIT_CARD" "CUMULA_BILL" "DTAG" "EXTERNAL_INVOICE" "KREDITKARTE" "LASTSCHRIFT_MRNEXNET" "MANO_TEO_BILL" "MANUAL" "MARKETPLACE_CREDITS" "NETS_ARVATO_INVOICE" "NEXTEL" "PAYPAL" "ROGERS_CC_DTMF" "ROGERS_CC_POS" "SNAP" "TBILL" "THISTLE" "TOICLEARING"

Payment method.

result
string
Enum: "FAILED" "GATEWAY_NOT_AVAILABLE" "MANUAL" "SUCCESSFUL"

Payment result.

sortField
string
Default: "PAYMENT_ID"
Enum: "AMOUNT" "DATE" "PAYMENT_ID"

Sort field.

sortOrder
string
Default: "ASC"
Enum: "ASC" "DESC"

Sort order.

start
string
Default: "0"

First result index. Used for paging.

toDate
number

To date.

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/billing/v1/invoices/%7BinvoiceNumber%7D/payments?count=SOME_STRING_VALUE&fromDate=SOME_NUMBER_VALUE&method=SOME_STRING_VALUE&result=SOME_STRING_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_STRING_VALUE&toDate=SOME_NUMBER_VALUE'

Response samples

Content type
No sample

Pay an Invoice

If the invoice is unpaid, will process the payment and return the result. Will return an exception otherwise

path Parameters
invoiceNumber
required
integer

The unique identifier for the invoice provided by the channel.

Request Body schema:

Payment data object.

Array of objects or null (Link)

Resource links

amount
number or null

Payment amount.

object or null (LinkWS)
currency
string (Currency)
Default: "USD"
Enum: "USD" "CAD" "EUR" "JPY" "GBP" "KRW" "CHF" "SEK" "SGD" "MYR" "AUD" "MXN" "INR" "BRL" "DKK" "NZD" "NOK" "ZAR" "PHP" "CNY" "SAR" "GTQ" "IDR" "ARS" "COP" "PEN"

Supported currencies for the system

date
number or null

Payment date.

object (GatewayResponse)
id
number or null

Payment number.

method
string (PaymentMethod)
Enum: "CREDIT_CARD" "PAYPAL" "MANUAL" "EXTERNAL_INVOICE" "MARKETPLACE_CREDITS"

The supported payment methods

result
string (PaymentResult)
Enum: "SUCCESSFUL" "FAILED" "GATEWAY_NOT_AVAILABLE" "MANUAL"
transactionId
string or null

Transaction ID.

object or null (LinkWS)

Responses

Request samples

Content type
No sample

Response samples

Content type
No sample

List All Invoices

List all invoice data

query Parameters
count
string
Default: "250"

Number of results to fetch. Used for paging.

excludeFree
boolean

Exclude invoices with no charges.

fromDate
number

From date.

sortField
string
Default: "INVOICE_ID"
Enum: "DATE" "INVOICE_ID" "TOTAL"

Sort field.

sortOrder
string
Default: "ASC"
Enum: "ASC" "DESC"

Sort order.

start
string
Default: "0"

First result index. Used for paging.

status
string
Enum: "CARRIED" "PAID" "UNPAID" "VOIDED"

Invoice status.

toDate
number

To date.

buyerRole
string
Enum: "ALL" "CUSTOMER" "RESELLER" "SALES_SUPPORT"

Filter invoices with purchases made by user with this role.

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/billing/v1/invoices?count=SOME_STRING_VALUE&excludeFree=SOME_BOOLEAN_VALUE&fromDate=SOME_NUMBER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_STRING_VALUE&status=SOME_STRING_VALUE&toDate=SOME_NUMBER_VALUE&buyerRole=SOME_STRING_VALUE'

Response samples

Content type
No sample

Retrieve an Invoice

Read an invoice

path Parameters
invoiceNumber
required
integer

The unique identifier for the invoice provided by the channel.

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/billing/v1/invoices/%7BinvoiceNumber%7D

Response samples

Content type
No sample

Patch method to partially update an invoice

Currently only used to void an invoice by updating the invoice status

path Parameters
invoiceNumber
required
integer

The unique identifier of the invoice that should be patched.

Request Body schema:
Array of objects or null (Link)

Resource links

object or null (LinkWS)
creationDate
number or null

Creation date for the invoice.

orderIds
Array of strings

Array of Order IDs

currency
string (Currency)
Default: "USD"
Enum: "USD" "CAD" "EUR" "JPY" "GBP" "KRW" "CHF" "SEK" "SGD" "MYR" "AUD" "MXN" "INR" "BRL" "DKK" "NZD" "NOK" "ZAR" "PHP" "CNY" "SAR" "GTQ" "IDR" "ARS" "COP" "PEN"

Supported currencies for the system

dueDate
number or null

Due date for the invoice.

invoiceId
number or null

Invoice ID.

referenceNumber
string or null

Reference number.

status
string (InvoiceStatus)
Enum: "PAID" "UNPAID" "CARRIED" "VOIDED"
total
number or null

Invoice total.

object or null (LinkWS)
object or null (LinkWS)
Array of objects or null or null (LinkWS)

List of links to the included invoices

Array of objects (InvoiceLine)

List of Invoice lines

Responses

Request samples

Content type
No sample

Response samples

Content type
No sample

Lead v1

List leads

List leads

query Parameters
fromDate
integer

Search for leads created on of after this date, in milliseconds since epoch

page
integer
Default: 0

Zero-based page index

searchText
string

Search term used to search on different fields of a lead

size
integer
Default: 50

The size of the page to be returned

sortField
string
Default: "DATE"
Enum: "COMPANY_NAME" "DATE" "RESELLER_LAST_NAME" "USER_FULL_NAME" "USER_LAST_NAME"

The property to sort by

sortOrder
string
Default: "DESC"
Enum: "ASC" "DESC"

Ordering type

source
Array of strings

If specified, only return leads with matching source(s)

status
Array of strings

If specified, only return leads with matching status(es)

target
Array of strings

If specified, only return leads with matching target(s)

toDate
integer

Search for leads created on of before this date, in milliseconds since epoch

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/prm/v1/leads?fromDate=SOME_INTEGER_VALUE&page=SOME_INTEGER_VALUE&searchText=SOME_STRING_VALUE&size=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&source=SOME_ARRAY_VALUE&status=SOME_ARRAY_VALUE&target=SOME_ARRAY_VALUE&toDate=SOME_INTEGER_VALUE'

Response samples

Content type
No sample

Create a lead

Create a lead

query Parameters
ignoreDuplicateEmail
boolean
Default: false

when true, duplicate emails are accepted. Applies only to reseller referral leads.

Request Body schema: application/json

Lead data

additionalComment
string or null

Any note that you want to add about the lead

anticipatedCloseDate
number or null

The anticipated date that the lead will be closed in UNIX Epoch milliseconds

anticipatedNumberOfSeats
number or null

The number of licenses required for the subcription

attributes
object

Custom attributes for the lead

comment
string or null

Any note that you want to add about the lead

creationDate
number or null

The date the lead was created in UNIX Epoch milliseconds

object (CompanyContact)
externalIdentifier
string or null

An optional identifier provided by the markeplace owner

lastModificationDate
number or null

The date that the lead was last modified in UNIX Epoch milliseconds

object (CompanyContact)
useCaseDescription
string or null

Description of what the lead customer needs

uuid
string or null

The unique identifier of either the lead or the opportunity

object or null (ApplicationReseller)
customerLeadForProvider
boolean

Indicates whether a lead is for a marketplace owner (true) or not (false)

customerLeadForReseller
boolean

Indicates whether a lead is for a Reseller (true) or not (false)

customerLeadForVendor
boolean

Indicates whether a lead is for a vendor (true) or not (false)

object or null (LeadEdition)
referralLead
boolean

Indicates whether the lead was created by a Reseller (true) or not (false)

source
string (SalesLeadSource)
Enum: "RESELLER" "CUSTOMER"
status
string or null (SalesLeadStatus)
Enum: "PENDING" "DENIED" "ACCEPTED" "ASSIGNED" "LOST" "WON"
target
string or null (SalesLeadTarget)
Enum: "PROVIDER" "RESELLER" "VENDOR"

Responses

Request samples

Content type
application/json
{
  • "additionalComment": "...",
  • "anticipatedCloseDate": "...",
  • "anticipatedNumberOfSeats": "...",
  • "attrbutes": "...",
  • "comment": "...",
  • "creationDate": "...",
  • "customer": "...",
  • "externalIdentifier": "...",
  • "lastModificationDate": "...",
  • "reseller": "...",
  • "useCaseDescription": "...",
  • "uuid": "...",
  • "application": "...",
  • "attributes": "...",
  • "customerLeadForProvider": "...",
  • "customerLeadForReseller": "...",
  • "customerLeadForVendor": "...",
  • "edition": "...",
  • "referalLead": "...",
  • "source": "...",
  • "status": "...",
  • "target": "..."
}

Response samples

Content type
No sample

Read a lead

Read a lead

path Parameters
uuid
required
string

Lead UUID

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/prm/v1/leads/%7Buuid%7D

Response samples

Content type
No sample

Update a lead

Update a lead

path Parameters
uuid
required
string

Lead UUID

Request Body schema: application/json

(Partial) Lead data. Only specified fields will override current lead fields. Unknown fields, or fields that can't be updated are ignored.

additionalComment
string or null

Any note that you want to add about the lead

anticipatedCloseDate
number or null

The anticipated date that the lead will be closed in UNIX Epoch milliseconds

anticipatedNumberOfSeats
number or null

The number of licenses required for the subcription

attributes
object

Custom attributes for the lead

comment
string or null

Any note that you want to add about the lead

creationDate
number or null

The date the lead was created in UNIX Epoch milliseconds

object (CompanyContact)
externalIdentifier
string or null

An optional identifier provided by the markeplace owner

lastModificationDate
number or null

The date that the lead was last modified in UNIX Epoch milliseconds

object (CompanyContact)
useCaseDescription
string or null

Description of what the lead customer needs

uuid
string or null

The unique identifier of either the lead or the opportunity

object or null (ApplicationReseller)
customerLeadForProvider
boolean

Indicates whether a lead is for a marketplace owner (true) or not (false)

customerLeadForReseller
boolean

Indicates whether a lead is for a Reseller (true) or not (false)

customerLeadForVendor
boolean

Indicates whether a lead is for a vendor (true) or not (false)

object or null (LeadEdition)
referralLead
boolean

Indicates whether the lead was created by a Reseller (true) or not (false)

source
string (SalesLeadSource)
Enum: "RESELLER" "CUSTOMER"
status
string or null (SalesLeadStatus)
Enum: "PENDING" "DENIED" "ACCEPTED" "ASSIGNED" "LOST" "WON"
target
string or null (SalesLeadTarget)
Enum: "PROVIDER" "RESELLER" "VENDOR"

Responses

Request samples

Content type
application/json
{
  • "additionalComment": "...",
  • "anticipatedCloseDate": "...",
  • "anticipatedNumberOfSeats": "...",
  • "attrbutes": "...",
  • "comment": "...",
  • "creationDate": "...",
  • "customer": "...",
  • "externalIdentifier": "...",
  • "lastModificationDate": "...",
  • "reseller": "...",
  • "useCaseDescription": "...",
  • "uuid": "...",
  • "application": "...",
  • "attributes": "...",
  • "customerLeadForProvider": "...",
  • "customerLeadForReseller": "...",
  • "customerLeadForVendor": "...",
  • "edition": "...",
  • "referalLead": "...",
  • "source": "...",
  • "status": "...",
  • "target": "..."
}

Response samples

Content type
No sample

Leads v2

List leads

Retrieves a list of all leads visible for a given context. You can filter the list using optional query parameters. Manual leads are visible to only those who created them. Company profile leads are visible to the Reseller that created the profile page as well as the Reseller Managers and Marketplace Managers. Product profile leads are visible to Marketplace Managers and Reseller Managers and can be configured so that the Developers who own the product profile can also see them.

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller for the company

  • ROLE_REFERRAL -

    Allows access as a Referral for the company

  • ROLE_DEVELOPER -

    Allows access as a Developer for the company

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager for the marketplace

query Parameters
context
required
string
Enum: "RESELLER" "REFERRAL" "DEVELOPER" "RESELLER_MANAGER" "PARTNER" "ANONYMOUS"

Supported contexts

companyId
required
string

Company ID of the user who retrieved the list

status
string
Enum: "CONVERTED" "DISQUALIFIED" "DELETED" "PENDING_CONVERSION_APPROVAL" "CONVERSION_APPROVED" "PENDING_SUBMISSION" "SUBMITTED" "ASSIGNED" "LEGACY" "PENDING_FOR_MANAGERS" "ACCEPTED_FOR_MANAGERS"

Lead status

searchText
string

Search text, which filters the list of leads

fromDate
number

Date on which the lead was created (lower bound) in Unix timestamp format

toDate
number

Date on which the lead was created (upper bound) in Unix timestamp format

sortField
string
Default: "DATE"
Enum: "DATE" "COMPANY_NAME"

The field by which to order the results

sortOrder
string
Default: "DESC"
Enum: "ASC" "DESC"

Type of ordering used (ascending or descending)

page
integer
Default: 0

Page number

size
integer
Default: 50

Number of results per page

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/lead/v2/leads?context=SOME_STRING_VALUE&companyId=SOME_STRING_VALUE&status=SOME_STRING_VALUE&searchText=SOME_STRING_VALUE&fromDate=SOME_NUMBER_VALUE&toDate=SOME_NUMBER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&page=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE'

Response samples

Content type
application/json
{
  • "content": [
    ],
  • "page": {
    }
}

Create lead

Creates a manual, company profile or product profile lead. Manual leads are visible to only those who created them. Company profile leads are visible to the Reseller that created the profile page as well as the Reseller Managers and Marketplace Managers. Product profile leads are visible to Marketplace Managers and Reseller Managers and can be configured so that the Developers who own the product profile can also see them.
Required parameters:
Company name
Contact email
Lead type
Partner
If the lead type is PRODUCT, the product ID
If the lead type is COMPANY, the reseller company ID
The required parameter correspond to the request payload in LeadCreationRequest

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller for the company

  • ROLE_REFERRAL -

    Allows access as a Referral for the company

  • ROLE_DEVELOPER -

    Allows access as a Developer for the company

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager for the marketplace

  • ROLE_PARTNER -

    Allows access to read and write all Marketplace data. Non-interactive OAuth 1.0 credentials with read and write access are required to use this scope. The companyId, userId, and context parameters are also required.

query Parameters
context
required
string
Enum: "RESELLER" "REFERRAL" "DEVELOPER" "RESELLER_MANAGER" "PARTNER" "ANONYMOUS"

The supported lead's API contexts. ANONYMOUS context can be used to create a PRODUCT or COMPANY lead without authentication.

companyId
required
string

Company ID of the user who is creating the lead. Only required when creating a lead of type MANUAL.

userId
required
string

User ID of the user who is creating the lead. Only required when using OAuth credentials with role PARTNER to create a lead of type MANUAL. In this case, the user ID must correspond to a marketplace user who has the Marketplace Manager role. The user must be a member of a company that has marketplace access.

Request Body schema: application/json
required

Information about the lead to create

partner
required
string

Marketplace partner code

leadType
required
string (LeadType)
Enum: "MANUAL" "PRODUCT" "COMPANY"

The type of lead. Leads created manually by users have the MANUAL type. Leads created by anonymous users through profiles have the PRODUCT or COMPANY types, depending on whether they were created from product profiles or reseller company profiles respectively.

required
object (LeadCustomer)

Information about the customer and customer company

customAttributes
object

Custom attributes associated with the lead. This is a key-value object where the values are a set of strings associated with a given key, which is also a String.

object (LeadUser)

Information about the marketplace user related to the lead

notes
string

Notes attached to the lead

object (LeadUser)

Information about the marketplace user related to the lead

object (LeadCompany)

Information about the marketplace company related to the lead

object (LeadProduct)

Information about the product related to a lead

object (LeadProductEdition)

Information about the product edition related to a lead

Responses

Request samples

Content type
application/json
{
  • "customer": {
    },
  • "leadType": "MANUAL",
  • "partner": "APPDIRECT"
}

Response samples

Content type
application/json
{
  • "id": "cc146924-afe3-4f6f-b368-2279e1e2039e",
  • "partner": "APPDIRECT",
  • "leadType": "MANUAL",
  • "status": "ASSIGNED",
  • "customer": {
    },
  • "createdOn": 1534875428054,
  • "lastModified": 1534875428054,
  • "creator": {
    },
  • "referrer": {
    },
  • "recipient": {
    }
}

Get lead details

Retrieves a single lead and its details

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller for the company

  • ROLE_REFERRAL -

    Allows access as a Referral for the company

  • ROLE_DEVELOPER -

    Allows access as a Developer for the company

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager for the marketplace

path Parameters
leadId
required
string

Lead ID

query Parameters
context
required
string
Enum: "RESELLER" "REFERRAL" "DEVELOPER" "RESELLER_MANAGER" "PARTNER" "ANONYMOUS"

Supported contexts

companyId
required
string

Company ID of the user who is retrieving the lead

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/lead/v2/leads/%7BleadId%7D?context=SOME_STRING_VALUE&companyId=SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "id": "29a1dc26-8088-475c-ba75-7b73915a0fab",
  • "partner": "APPDIRECT",
  • "leadType": "MANUAL",
  • "status": "SUBMITTED",
  • "customer": {
    },
  • "createdOn": 1534465177000,
  • "lastModified": 1534465179000,
  • "creator": {
    },
  • "customAttributes": { },
  • "referrer": {
    },
  • "recipient": {
    }
}

Discard lead

Deletes or disqualifies a lead (depending on type and assignment)

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller for the company

  • ROLE_REFERRAL -

    Allows access as a Referral for the company

  • ROLE_DEVELOPER -

    Allows access as a Developer for the company

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager for the marketplace

path Parameters
leadId
required
string

Lead ID

query Parameters
context
required
string
Enum: "RESELLER" "REFERRAL" "DEVELOPER" "RESELLER_MANAGER" "PARTNER" "ANONYMOUS"

Supported contexts

companyId
required
string

Company ID of the user who is discarding the lead

Responses

Request samples

curl --request DELETE \
  --url 'https://marketplace.appdirect.com/api/lead/v2/leads/%7BleadId%7D?context=SOME_STRING_VALUE&companyId=SOME_STRING_VALUE'

Update lead

Updates the contact information or notes from a lead

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller for the company

  • ROLE_REFERRAL -

    Allows access as a Referral for the company

  • ROLE_DEVELOPER -

    Allows access as a Developer for the company

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager for the marketplace

path Parameters
leadId
required
string

Lead ID

query Parameters
context
required
string
Enum: "RESELLER" "REFERRAL" "DEVELOPER" "RESELLER_MANAGER" "PARTNER" "ANONYMOUS"

Supported contexts

companyId
required
string

Company ID of the user who is updating the lead

Request Body schema: application/json
required

Information about the lead to update

object (LeadCustomer)

Information about the customer and customer company

notes
string

Notes attached to the lead

Responses

Request samples

Content type
application/json
{
  • "customer": {
    },
  • "notes": "Updated company name, added floor and changed person to be contacted"
}

Response samples

Content type
application/json
{
  • "id": "29a1dc26-8088-475c-ba75-7b73915a0fab",
  • "partner": "APPDIRECT",
  • "leadType": "MANUAL",
  • "status": "SUBMITTED",
  • "customer": {
    },
  • "notes": "Updated company name, added floor and changed person to be contacted",
  • "createdOn": 1534465177000,
  • "lastModified": 1534857159000,
  • "creator": {
    },
  • "customAttributes": { },
  • "referrer": {
    },
  • "recipient": {
    }
}

Assign lead

Assigns a lead to a Reseller company. The assignee will be able to see that lead as long as is not assigned to another company. The owner of the lead retains visibility even if it is assigned to another company.

Required Scopes and Authorization Rules
  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager for the marketplace

query Parameters
context
required
string
Enum: "RESELLER" "REFERRAL" "DEVELOPER" "RESELLER_MANAGER" "PARTNER" "ANONYMOUS"

Supported contexts

companyId
required
string

Company ID of the user who is assigning the lead

Request Body schema: application/json
required

Information about the person to whom the lead is being assigned

leadId
required
string

Lead ID

required
object (LeadParticipant)

Information about the person who is receiving or referring the lead

Responses

Request samples

Content type
application/json
{
  • "leadId": "29a1dc26-8088-475c-ba75-7b73915a0fab",
  • "recipient": {
    }
}

Response samples

Content type
application/json
{
  • "lead": {
    }
}

Associate lead

Associates a lead with an existing marketplace user and company

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller for the company

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager for the marketplace

query Parameters
context
required
string
Enum: "RESELLER" "REFERRAL" "DEVELOPER" "RESELLER_MANAGER" "PARTNER" "ANONYMOUS"

Supported contexts

companyId
required
string

Company ID of the user who is updating the lead

Request Body schema: application/json
required

Information about the user/company that the lead is being associated with

leadId
required
string

Lead ID

required
object (LeadUser)

Information about the marketplace user related to the lead

Responses

Request samples

Content type
application/json
{
  • "leadId": "ce9d1713-7a48-43e4-bb43-b6880a19df24",
  • "user": {
    }
}

Response samples

Content type
application/json
{
  • "id": "ce9d1713-7a48-43e4-bb43-b6880a19df24",
  • "partner": "APPDIRECT",
  • "leadType": "MANUAL",
  • "status": "SUBMITTED",
  • "customer": {
    },
  • "createdOn": 1534845351000,
  • "lastModified": 1534845352000,
  • "creator": {
    },
  • "convertedCompany": {
    },
  • "convertedUser": {
    },
  • "customAttributes": { },
  • "referrer": {
    },
  • "recipient": {
    }
}

List activities

Retrieves a list of all lead activities visible for a given context. You can filter the list using optional query parameters.

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller for the company

  • ROLE_REFERRAL -

    Allows access as a Referral for the company

  • ROLE_DEVELOPER -

    Allows access as a Developer for the company

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager for the marketplace

path Parameters
leadId
required
string

Lead ID

query Parameters
context
required
string
Enum: "RESELLER" "REFERRAL" "DEVELOPER" "RESELLER_MANAGER" "PARTNER" "ANONYMOUS"

Supported contexts

companyId
required
string

Company ID of the user who is retrieving the list

fromDate
number

Date on which the lead activity was created (lower bound) in Unix timestamp format

toDate
number

Date on which the lead activity was created (upper bound) in Unix timestamp format

creationDateOrder
string
Default: "DESC"
Enum: "ASC" "DESC"

Type of ordering used (ascending or descending) for the creation date

page
integer
Default: 0

Page number

size
integer
Default: 50

Number of results per page

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/lead/v2/leads/%7BleadId%7D/activities?context=SOME_STRING_VALUE&companyId=SOME_STRING_VALUE&fromDate=SOME_NUMBER_VALUE&toDate=SOME_NUMBER_VALUE&creationDateOrder=SOME_STRING_VALUE&page=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE'

Response samples

Content type
application/json
{
  • "content": [
    ],
  • "page": {
    }
}

Convert lead

Converts the lead to a marketplace company

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller for the company

query Parameters
context
required
string
Enum: "RESELLER" "REFERRAL" "DEVELOPER" "RESELLER_MANAGER" "PARTNER" "ANONYMOUS"

Supported contexts

companyId
required
string

Company ID of the user who is converting the lead

leadId
required
string

Lead ID

Responses

Request samples

curl --request POST \
  --url 'https://marketplace.appdirect.com/api/lead/v2/conversion?context=SOME_STRING_VALUE&companyId=SOME_STRING_VALUE&leadId=SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "lead": {
    }
}

Request conversion approval

Request permission to convert the lead to a marketplace company

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller for the company

query Parameters
context
required
string
Enum: "RESELLER" "REFERRAL" "DEVELOPER" "RESELLER_MANAGER" "PARTNER" "ANONYMOUS"

Supported contexts

companyId
required
string

Company ID of the user who is requesting the lead conversion

leadId
required
string

Lead ID

Responses

Request samples

curl --request POST \
  --url 'https://marketplace.appdirect.com/api/lead/v2/conversionRequest?context=SOME_STRING_VALUE&companyId=SOME_STRING_VALUE&leadId=SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "lead": {
    }
}

Approve conversion request

Approves the conversion request made by a Reseller company

Required Scopes and Authorization Rules
  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager for the marketplace

query Parameters
context
required
string
Enum: "RESELLER" "REFERRAL" "DEVELOPER" "RESELLER_MANAGER" "PARTNER" "ANONYMOUS"

Supported contexts

leadId
required
string

Lead ID

Responses

Request samples

curl --request POST \
  --url 'https://marketplace.appdirect.com/api/lead/v2/conversionApproval?context=SOME_STRING_VALUE&leadId=SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "lead": {
    }
}

Marketplace Product Settings

Retrieve active settings for a given marketplace

Retrieve the settings, sections, tabs that should be visible to end user on the marketplace product settings UI for a given marketplace.

Required Scopes and Authorization Rules
  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CHANNEL_PRODUCT_SUPPORT -

    Allows access as a Product Support agent for the marketplace.

path Parameters
productId
required
integer

The product identifier

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/v3/marketplaceProduct/activeSettings/%7BproductId%7D

Response samples

Content type
application/json
{
  • "productInformation": {
    },
  • "showSettingsContainer": true,
  • "showVisibleOnNetwork": true,
  • "showVisibleOnMarketplace": true,
  • "showSellDomainAsStandalone": false,
  • "showAsComingSoon": true,
  • "showCollectLeads": true,
  • "showCompanyGroupSegmentsContainer": true,
  • "showHideAllPricing": true,
  • "showDisableSelfService": false,
  • "showTermsOfServiceURL": false,
  • "showSortingRank": true,
  • "showAdditionalSettingsContainer": false,
  • "showAPIHealthMaintenanceContainer": true,
  • "showSKUsContainer": false,
  • "showFID1Number": false,
  • "showProductTab": true,
  • "showCategoriesContainer": true,
  • "showAttributesContainer": true,
  • "showProductLinesContainer": true,
  • "showCustomerGroupsContainer": true,
  • "showMerchandisingOptionsContainer": true,
  • "showBillingTab": true,
  • "showBillingSettingsContainer": true,
  • "showSkipFirstPayment": false,
  • "showTaxCode": true,
  • "showSetupFeeTaxCode": false,
  • "showBillingCycleStartDay": false,
  • "showFreeTrialBillingOptionsContainer": true,
  • "showBillingPatternsContainer": false
}

Retrieve product settings on a given marketplace

Retrieve product settings, including product information, general settings, product group, and billing settings for a product on a given marketplace.

Required Scopes and Authorization Rules
  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CHANNEL_PRODUCT_SUPPORT -

    Allows access as a Product Support agent for the marketplace.

path Parameters
productId
required
integer

The product identifier

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/v3/marketplaceProduct/productSettings/%7BproductId%7D

Response samples

Content type
application/json
{
  • "productInformation": {},
  • "general": {
    },
  • "productGroups": {
    },
  • "billing": {
    }
}

Update product settings on a given marketplace

Update product settings for a product on a given marketplace.

Required Scopes and Authorization Rules
  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CHANNEL_PRODUCT_SUPPORT -

    Allows access as a Product Support agent for the marketplace.

path Parameters
productId
required
integer

The product identifier

Request Body schema: application/json
required

Information about the product settings that will be updated.

object (ProductInformation)

Information about the product, such as the name, icon URL, and if it is a network product.

object (GeneralSettings)

Information about the availability of the product, API health maintenance, and additional settings.

object (ProductGroups)

Information about the tooltip, attribute, and list of categories associated to the product.

object (Billing)

Information about the billing settings, free trials, billing patterns, or SKU settings of the product.

Responses

Request samples

Content type
application/json
{
  • "productInformation": {},
  • "general": {
    },
  • "productGroups": {
    },
  • "billing": {
    }
}

Response samples

Content type
application/json
[
  • {
    }
]

Metered Usage

Billing Usage V1

Submit usage data to be billed for the given account identifier

query Parameters
async
boolean
Default: false

True if asynchronous. Default value is false.

Request Body schema:

Usage data information.

object or null (AccountInfo)
object (AddonInstanceInfo)
Array of objects (UsageItemBean)

Responses

Request samples

Content type
No sample

Response samples

Content type
No sample

Status verification

Status verification

path Parameters
customerIdentifier
required
string
domain
required
string
Request Body schema: application/json
verified
boolean

Responses

Request samples

Content type
application/json
{
  • "verified": true
}

Billing Usage V2

Submit preconfigured, custom, or volume-priced metered usage data to be billed for a customer account.

Volume pricing usage is always preconfigured, not custom. It is processed at 6:00 PM UTC, either on the last day of the billing period or, if delayed billing is configured (always recommended for volume pricing), on the last day of a defined number of days after the billing period ends. It must be submitted in requests that do not include other pricing models.

Request Body schema: application/json

Metered usage request body. The request body example includes a preconfigured metered usage item followed by a custom metered usage item. For volume price usage, the request is the same.

idempotencyKey
string

Unique caller-generated identifier for the metered usage that is sent. Ensures duplicate submissions can be identified and an error returned. Required.

requestGroupId
string or null

A caller-generated identifier to group related metered usage requests. For example, 'January 2022' to group all requests that include January billing period events.

billable
boolean

Indicates usage is billable (true) or estimated (false). Required.

Array of objects (MeteredUsageItem)

List of metered usage events.

Responses

Request samples

Content type
application/json
{
  • "idempotencyKey": "string",
  • "requestGroupId": "string",
  • "billable": true,
  • "usages": [
    ]
}

Response samples

Content type
application/json
{
  • "requestId": "067464f3-be67-4dd3-b1a3-b2ac75180222",
  • "idempotencyKey": "20210429-b436h7j2",
  • "queryUsageStatus": "/api/integration/v2/billing/usage/requests/fade1f71-3f40-4f4e-81c1-e835cb459c30"
}

Fetch usage processing status

Retrieve whether the metered usage events submitted with a Billing Usage V2 request were successfully processed. In the Billing Usage V2 response, locate the path that is unique to the request (queryUsageStatus). Use it to retrieve the processing status for the submitted usage events, and error details if applicable.

path Parameters
requestId
required
string

Unique system-assigned identifier for the API request used to submit the metered usage; returned with the Billing Usage V2 submission response.

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/integration/v2/billing/usage/requests/%7BrequestId%7D

Response samples

Content type
No sample

MyApps

List applications

List all applications assigned to a marketplace company user.

Required Scopes and Authorization Rules
  • ROLE_USER -

    Allows access as the owner of the user entitlements.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER_READ -

    Allows access to read all marketplace data.

  • ROLE_CHANNEL_SUPPORT -

    Allows access as a Customer Support agent for the marketplace.

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support agent for the marketplace.

  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

  • ROLE_SYS_ADMIN -

    Allows access as a Company Admin for the company.

path Parameters
companyUuid
required
string

Company UUID

userUuid
required
string

User UUID

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/memberships/%7BuserUuid%7D/myapps

Response samples

Content type
No sample

Update MyApps order

Update the order in which applications will should show up on the MyApps page.

Required Scopes and Authorization Rules
  • ROLE_USER -

    Allows access as the owner of the user entitlements.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER -

    Allows access to read and write all marketplace data.

  • ROLE_SYS_ADMIN -

    Allows access as a Company Admin for the company.

path Parameters
companyUuid
required
string

Company UUID

userUuid
required
string

User UUID

Request Body schema: application/json
required

Ordered list of app hrefs

Array
string (MyAppsUrl)

MyApps URL

Responses

Read application with completed assignment

Retrieve a marketplace user's application when assignment is complete.

Required Scopes and Authorization Rules
  • ROLE_USER -

    Allows access as the owner of the user entitlement.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER_READ -

    Allows access to read all marketplace data.

  • ROLE_CHANNEL_SUPPORT -

    Allows access as a Customer Support agent for the marketplace.

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support agent for the marketplace.

  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

  • ROLE_SYS_ADMIN -

    Allows access as a Company Admin for the company.

path Parameters
companyUuid
required
string

Company UUID

userUuid
required
string

User UUID

userEntitlementId
required
integer

User entitlement ID

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/memberships/%7BuserUuid%7D/myapps/assigned/%7BuserEntitlementId%7D

Response samples

Content type
No sample

Read application with pending assignment

Retrieve a marketplace user's application when assignment is pending.

Required Scopes and Authorization Rules
  • ROLE_USER -

    Allows access as the owner of the user entitlement.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_SUPERUSER -

    Allows access as a Super User for the marketplace.

  • ROLE_PARTNER_READ -

    Allows access to read all marketplace data.

  • ROLE_CHANNEL_SUPPORT -

    Allows access as a Customer Support agent for the marketplace.

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support agent for the marketplace.

  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

  • ROLE_SYS_ADMIN -

    Allows access as a Company Admin for the company.

path Parameters
companyUuid
required
string

Company UUID

userUuid
required
string

User UUID

pendingAppId
required
integer

Pending App ID

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/memberships/%7BuserUuid%7D/myapps/pending/%7BpendingAppId%7D

Response samples

Content type
No sample

Navigation

List all product tags

This call lists all product groups (attributes, categories, and customer tags) that are used on your marketplace.

query Parameters
pl
Array of numbers

The IDs of the product line to filter on. This is an optional parameter

locale
string

Specify the locale context

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/marketplace/v1/navigator?pl=SOME_ARRAY_VALUE&locale=SOME_STRING_VALUE'

Response samples

Content type
No sample

Opportunities

Create opportunity

Creates a new opportunity

Required: Accept-Language header with Locale format. For example: en-US

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller to the opportunity

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support Representative to the opportunity

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager to the opportunity

  • ROLE_PARTNER -

    Allows access as a Partner to the opportunity

query Parameters
context
string
Enum: "RESELLER" "SSR"

Deprecated. Parameter has no impact on this endpoint.

Request Body schema: application/json
required

Information about the opportunity being created

customerCompanyId
required
string

Customer company ID

customerId
required
string

Customer user ID

ownerCompanyId
required
string

Sales agent company ID

ownerId
required
string

Sales agent user ID

currency
string (OpportunityCurrency) ^[A-Z]{3}$
Default: "USD"
Enum: "USD" "CAD" "EUR" "JPY" "GBP" "KRW" "CHF" "SEK" "SGD" "MYR" "AUD" "MXN" "INR" "BRL" "DKK" "NZD" "NOK" "ZAR" "PHP" "CNY" "SAR" "GTQ" "IDR" "ARS" "COP" "PEN"

The currency using the ISO-4217 currency code

required
Array of objects (OpportunityItem)

List of items in the opportunity

purchaseEffectiveDate
number

Opportunity purchase effective date, in UNIX Epoch milliseconds

name
string

Opportunity name

Responses

Request samples

Content type
application/json
{
  • "customerCompanyId": "498c62ea-ad14-48e6-96ce-5400c617444c",
  • "customerId": "505f0a0c-57a7-4d9e-9fac-66bbf557ac4d",
  • "ownerCompanyId": "6a62244e-aa2f-461b-8c7a-3a0e091be9d3",
  • "ownerId": "d781ac09-b4fe-4d57-8ba2-4640fc5b7c49",
  • "items": [
    ],
  • "currency": "USD"
}

Response samples

Content type
application/json
{
  • "id": "ef6c414f-39da-401f-a4b8-81adc6190fda",
  • "ownerUser": {
    },
  • "customerUser": {
    },
  • "createdOn": "1546300800000",
  • "currency": "USD",
  • "purchaseEffectiveDate": "1577750400000",
  • "name": "Prospect N1",
  • "status": "OPEN",
  • "items": [
    ],
  • "availableActions": [
    ],
  • "actionRestrictions": { }
}

List opportunities

Retrieve a list of opportunities. Returned opportunities are limited to role visibility: Marketplace Manager, Partner, Partner Read: all opportunities. Reseller Manager: all opportunities owned by Reseller companies. Reseller, SSR: all opportunities owned by the company to which the Reseller or SSR belongs. When users have multiple roles, visibility is the sum of visibility for all their roles. Additional filter parameters are available for some roles.

Required: Accept-Language header with Locale format. For example: en-US

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller to the opportunity

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support to the opportunity

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager to the opportunity

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager to the opportunity

  • ROLE_PARTNER -

    Allows access as a Partner to the opportunity

  • ROLE_PARTNER_READ -

    Allows read access as a Partner to the opportunity

query Parameters
ownerId
string

Sales agent's user ID

ownerCompanyId
string

Sales agent's company ID, which defines which company owns opportunities. This is an optional filter to only return opportunities that the sale's agent's company owns. Only valid for Marketplace Manager, Reseller Manager, Partner, and Partner Read roles (invalid for Reseller and SSR roles because they can only see opportunities owned by their company). No opportunities are returned when the call is filtered by a company ID for which the user does not have access.

customerId
string

Customer's user ID

customerCompanyId
string

Customer's company ID

context
string
Enum: "RESELLER" "SSR"

Optional. For Marketplace Manager, Partner, and Partner Read roles, filter the returned opportunities by those owned by SSRs or Resellers.

status
string
Enum: "OPEN" "CLOSED" "PENDING_REVIEW"

Opportunity status

purchaseEffectiveDate
Array of strings

Opportunity purchase effective date filter, defined by upper or lower inclusive or exclusive limits, in Unix timestamp format. Acceptable values are: gte([timestamp]) - 'greater than or equal to'; or lte([timestamp]) - 'less than or equal to'

createdOn
Array of strings

Opportunity creation date filter, defined by upper or lower inclusive or exclusive limits, in Unix timestamp format. Acceptable values are: gte([timestamp]) - 'greater than or equal to'; or lte([timestamp]) - 'less than or equal to'

searchText
string

General text search filter used for any ID (opportunity, sales agent, sales agent company, customer, or customer company) and opportunity name

number
integer
Default: 1

Page number

size
integer
Default: 10

Number of results per page

sort
string

Sort field and order. For ascending sort order, use the '+[FieldName]' format. For descending order, use the '-[FieldName]' format.

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/assistedSales/v1/opportunities?ownerId=SOME_STRING_VALUE&ownerCompanyId=SOME_STRING_VALUE&customerId=SOME_STRING_VALUE&customerCompanyId=SOME_STRING_VALUE&context=SOME_STRING_VALUE&status=SOME_STRING_VALUE&purchaseEffectiveDate=SOME_ARRAY_VALUE&createdOn=SOME_ARRAY_VALUE&searchText=SOME_STRING_VALUE&number=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&sort=SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "page": {
    },
  • "content": [
    ]
}

Remove opportunities

Removes a list of opportunities

Required: Accept-Language header with Locale format. For example: en-US

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller to the opportunity

  • ROLE_SALES_SUPPORT -

    Allows Sales Support Representative access to opportunity

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager to the opportunity

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager to the opportunity

  • ROLE_PARTNER -

    Allows access as a Partner to the opportunity

query Parameters
opportunityId
required
Array of strings

This parameter is required. The parameter lists the opportunity IDs.

Responses

Request samples

curl --request DELETE \
  --url 'https://marketplace.appdirect.com/api/assistedSales/v1/opportunities?opportunityId=SOME_ARRAY_VALUE'

Response samples

Content type
application/json
{ }

Get opportunity details

Read an opportunity

Required: Accept-Language header with Locale format. For example: en-US

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller to the opportunity

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support to the opportunity

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager to the opportunity

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager to the opportunity

  • ROLE_PARTNER -

    Allows access as a Partner to the opportunity

  • ROLE_PARTNER_READ -

    Allows read access as a Partner to the opportunity

path Parameters
opportunityId
required
string

Opportunity ID

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/assistedSales/v1/opportunities/%7BopportunityId%7D

Response samples

Content type
application/json
{
  • "id": "ef6c414f-39da-401f-a4b8-81adc6190fda",
  • "ownerUser": {
    },
  • "customerUser": {
    },
  • "createdOn": "1546300800000",
  • "currency": "USD",
  • "purchaseEffectiveDate": "1577750400000",
  • "name": "Prospect N1",
  • "status": "OPEN",
  • "items": [
    ],
  • "availableActions": [
    ],
  • "actionRestrictions": { }
}

Update opportunity

Updates an existing opportunity: name, purchase effective date and purchase custom attributes

Required: Accept-Language header with Locale format. For example: en-US

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller to the opportunity

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support to the opportunity

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager to the opportunity

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager to the opportunity

  • ROLE_PARTNER -

    Allows access as a Partner to the opportunity

path Parameters
opportunityId
required
string

Opportunity ID

Request Body schema: application/json
required

Information about the opportunity being updated

name
string

Opportunity name

purchaseEffectiveDate
number

Opportunity purchase effective date, in UNIX Epoch milliseconds

object (CustomAttribute)

Custom attributes as key-value pairs. Values must be a string array

Responses

Request samples

Content type
application/json
{
  • "name": "New opportunity",
  • "purchaseEffectiveDate": 1577750400000,
  • "purchaseCustomAttributes": {
    }
}

Response samples

Content type
application/json
{
  • "id": "ef6c414f-39da-401f-a4b8-81adc6190fda",
  • "ownerUser": {
    },
  • "customerUser": {
    },
  • "createdOn": "1546300800000",
  • "currency": "USD",
  • "purchaseEffectiveDate": "1577750400000",
  • "name": "Prospect N1",
  • "status": "OPEN",
  • "items": [
    ],
  • "availableActions": [
    ],
  • "actionRestrictions": { }
}

Add items

Add one or more items to an opportunity

Required: Accept-Language header with Locale format. For example: en-US

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller for the opportunity

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support for the opportunity

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager to the opportunity

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager to the opportunity. Role permissions are required to execute this action.

  • ROLE_PARTNER -

    Allows access as a Partner to the opportunity

path Parameters
opportunityId
required
string

Opportunity ID

Request Body schema: application/json
required

Information about the items being added to the opportunity. Request body must include either a product ID or pricing plan ID for each item. Item IDs are returned by the API after the items are added to the opportunity

Array
id
string

Item ID

parentItemId
string

The parent product's Product ID. Only relevant to and required for add-on products.

pricingPlanId
string

Pricing plan ID

Array of objects (BillingConfiguration)

List of units (quantity and type) associated with the item

productId
string

Product ID

object (CustomAttribute)

Custom attributes as key-value pairs. Values must be a string array

object (CustomAttribute)

Custom attributes as key-value pairs. Values must be a string array

object (ProvisioningConfiguration)

Determines when to send the service activation request to the vendor, either immediately after the opportunity is finalized (set the provisioning strategy to IMMEDIATELY) or at a future date (set the provisioning strategy to CUSTOM and set the desired date).

object (BillingConfiguration)

Determines when the billing cycle starts. Set UPON_SERVICE_ACTIVATION to start the billing cycle according to the specified provisioning strategy (either immediately after the opportunity is finalized or on a custom provisioning date). Set NEXT_BILLING_CYCLE to start the billing cycle according to the marketplace billing configuration (for example, first of the month). Set CUSTOM to start the billing cycle on a specified date in the future.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]

List items

Lists all items in an opportunity.

Required: Accept-Language header with Locale format. For example: en-US

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller to the opportunity

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support to the opportunity

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager to the opportunity

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager to the opportunity

  • ROLE_PARTNER -

    Allows access as a Partner to the opportunity

  • ROLE_PARTNER_READ -

    Allows read access as a Partner to the opportunity

path Parameters
opportunityId
required
string

Opportunity ID

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/assistedSales/v1/opportunities/%7BopportunityId%7D/items

Response samples

Content type
application/json
[
  • {
    }
]

Remove item

Removes an item from the opportunity

Required: Accept-Language header with Locale format. For example: en-US

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller to the opportunity

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support to the opportunity

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager to the opportunity

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager to the opportunity

  • ROLE_PARTNER -

    Allows access as a Partner to the opportunity

path Parameters
opportunityId
required
string

Opportunity ID

itemId
required
string

Item ID

Responses

Request samples

curl --request DELETE \
  --url https://marketplace.appdirect.com/api/assistedSales/v1/opportunities/%7BopportunityId%7D/items/%7BitemId%7D

Response samples

Content type
application/json
{
  • "status": 401,
  • "code": "UNAUTHORIZED",
  • "message": "HTTP 401 Unauthorized"
}

Edit item

Edit an item on the opportunity.

Required: Accept-Language header with Locale format. For example: en-US

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allow access as a Reseller to the opportunity. Role permissions are required to update, for example, custom prices, custom contracts, provisioning configuration, and billing configuration.

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support Representative to the opportunity. Role permissions are required to update, for example, custom prices, custom contracts, provisioning configuration, and billing configuration.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager to the opportunity

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager to the opportunity. Role permissions are required to update, for example, custom prices.

  • ROLE_PARTNER -

    Allows access as a Partner to the opportunity

path Parameters
opportunityId
required
string

Opportunity ID

itemId
required
string

Item ID

Request Body schema: application/json
required

Information about the item being edited

id
string

Item ID

pricingPlanId
required
string

Pricing plan ID

Array of objects (Unit)

List of units (quantity and type) associated with the item

Array of objects (CustomPrice)

List of custom prices per cost

object (ContractConfiguration)

Contract configuration options for subscriptions that customers purchase. For example: contract length and cancellation penalities.

object (ProvisioningConfiguration)

Determines when to send the service activation request to the vendor, either immediately after the opportunity is finalized (set the provisioning strategy to IMMEDIATELY) or at a future date (set the provisioning strategy to CUSTOM and set the desired date).

object (BillingConfiguration)

Determines when the billing cycle starts. Set UPON_SERVICE_ACTIVATION to start the billing cycle according to the specified provisioning strategy (either immediately after the opportunity is finalized or on a custom provisioning date). Set NEXT_BILLING_CYCLE to start the billing cycle according to the marketplace billing configuration (for example, first of the month). Set CUSTOM to start the billing cycle on a specified date in the future.

object (CustomAttribute)

Custom attributes as key-value pairs. Values must be a string array

object (CustomAttribute)

Custom attributes as key-value pairs. Values must be a string array

Responses

Request samples

Content type
application/json
{
  • "id": "37f56046-2cec-4bf4-a4e2-5a733dc849a9",
  • "pricingPlanId": "a22c03e9-9e27-4e85-8433-78f246345685",
  • "units": [
    ],
  • "customPrices": [
    ],
  • "contractConfiguration": {
    },
  • "provisioningConfiguration": {
    },
  • "billingConfiguration": {
    },
  • "subscriptionCustomAttributes": {
    },
  • "vendorRequiredFields": {
    }
}

Response samples

Content type
application/json
{
  • "id": "37f56046-2cec-4bf4-a4e2-5a733dc849a9",
  • "product": {},
  • "pricingPlan": {
    },
  • "units": [
    ],
  • "pricing": [
    ],
  • "subscriptionCustomAttributes": {
    },
  • "vendorRequiredFields": {
    },
  • "contractConfiguration": {
    },
  • "provisioningConfiguration": {
    },
  • "billingConfiguration": {
    }
}

Finalize opportunity

Finalize an opportunity

Required: Accept-Language header with Locale format. For example: en-US

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller to the opportunity. Role permissions are required to execute this action.

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support to the opportunity. Role permissions are required to execute this action.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager to the opportunity

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager to the opportunity. Role permissions are required to execute this action.

  • ROLE_PARTNER -

    Allows access as a Partner to the opportunity

path Parameters
opportunityId
required
string

Opportunity ID

Responses

Request samples

curl --request POST \
  --url https://marketplace.appdirect.com/api/assistedSales/v2/opportunities/%7BopportunityId%7D/finalize

Response samples

Content type
application/json
{
  • "id": "ef6c414f-39da-401f-a4b8-81adc6190fda",
  • "ownerUser": {
    },
  • "customerUser": {
    },
  • "createdOn": "1546300800000",
  • "currency": "USD",
  • "name": "Prospect N1",
  • "status": "PROCESSING",
  • "items": [
    ],
  • "availableActions": [ ]
}

Request opportunity review

Submit the opportunity to the manager for review. After it is submitted, the sales agent cannot modify the opportunity. Managers can still modify and finalize it.

Required: Accept-Language header with Locale format. For example: en-US

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller to the opportunity

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support to the opportunity

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager to the opportunity. Role permmission required to execute this action.

path Parameters
opportunityId
required
string

Opportunity ID

Responses

Request samples

curl --request POST \
  --url https://marketplace.appdirect.com/api/assistedSales/v1/opportunities/%7BopportunityId%7D/requestReview

Response samples

Content type
application/json
{
  • "id": "ef6c414f-39da-401f-a4b8-81adc6190fda",
  • "ownerUser": {
    },
  • "customerUser": {
    },
  • "createdOn": "1546300800000",
  • "currency": "USD",
  • "purchaseEffectiveDate": "1577750400000",
  • "name": "Prospect N1",
  • "status": "PENDING_REVIEW",
  • "items": [
    ],
  • "availableActions": [ ]
}

Get opportunity summary

Read the pricing summary of an opportunity

Required: Accept-Language header with Locale format. For example: en-US

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller to the opportunity

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support to the opportunity

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager to the opportunity

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager to the opportunity

  • ROLE_PARTNER -

    Allows access as a Partner to the opportunity

  • ROLE_PARTNER_READ -

    Allows read access as a Partner to the opportunity

path Parameters
opportunityId
required
string

Opportunity ID

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/assistedSales/v1/opportunities/%7BopportunityId%7D/summary

Response samples

Content type
application/json
{
  • "amountDueBeforeTax": "11.0000000000",
  • "taxSummary": [
    ],
  • "amountDueAfterTax": "13.0000000000",
  • "items": [
    ],
  • "recurringTotals": [
    ]
}

Get opportunity pricing plan costs

Read initial costs for a pricing plan of an opportunity item.

'Required: Accept-Language' header with Locale format. For example: en-US

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller to the opportunity

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support to the opportunity

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager to the opportunity

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager to the opportunity

  • ROLE_PARTNER -

    Allows access as a Partner to the opportunity

  • ROLE_PARTNER_READ -

    Allows read access as a Partner to the opportunity

path Parameters
opportunityId
required
string

Opportunity ID

query Parameters
pricingPlanId
required
string

Pricing plan ID

currency
required
string

Opportunity currency, using the ISO-4217 currency code

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/assistedSales/v1/opportunities/%7BopportunityId%7D/pricingPlanCosts?pricingPlanId=SOME_STRING_VALUE&currency=SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "pricingPlanId": "a01c46d4-8925-4719-a891-2c036e2216a1",
  • "pricing": [
    ],
  • "contractConfiguration": {
    },
  • "unitDefinitions": [
    ]
}

Get opportunity pricing plan costs without specifying an opportunity

Read initial costs for a pricing plan of an opportunity item without specifying an opportunity.

'Required: Accept-Language' header with Locale format. For example: en-US

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as Reseller to the opportunity

  • ROLE_SALES_SUPPORT -

    Allows access as Sales Support to the opportunity

  • ROLE_CHANNEL_ADMIN -

    Allows access as Marketplace Manager to the opportunity

  • ROLE_RESELLER_MANAGER -

    Allows access as Reseller Manager to the opportunity

  • ROLE_PARTNER -

    Allows access as Partner to the opportunity

  • ROLE_PARTNER_READ -

    Allows read access as Partner to the opportunity

query Parameters
pricingPlanId
required
string

Pricing plan ID

ownerId
required
string

Sales agent's user ID

ownerCompanyId
required
string

Sales agent's company ID

currency
required
string

Opportunity currency, using the ISO-4217 currency code

header Parameters
Accept-Language
required
string

Locale. Format: 'en-US'

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/assistedSales/v1/opportunities/pricingPlanCosts?pricingPlanId=SOME_STRING_VALUE&ownerId=SOME_STRING_VALUE&ownerCompanyId=SOME_STRING_VALUE&currency=SOME_STRING_VALUE' \
  --header 'Accept-Language: SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "pricingPlanId": "a01c46d4-8925-4719-a891-2c036e2216a1",
  • "pricing": [
    ],
  • "contractConfiguration": {
    },
  • "unitDefinitions": [
    ]
}

Change opportunity owner

Changes the owner of an opportunity. When the owner changes, all products are removed from the opportunity.

Required: Accept-Language header with Locale format. For example: en-US

Required Scopes and Authorization Rules
  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager to the opportunity

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager to the opportunity

  • ROLE_PARTNER -

    Allows access as a Partner to the opportunity

path Parameters
opportunityId
required
string

Opportunity ID

Request Body schema: application/json
required

Information about the new owner of the opportunity

ownerId
required
string

The unique user ID of the owner

ownerCompanyId
required
string

The unique company ID of the owner

Responses

Request samples

Content type
application/json
{
  • "ownerId": "d781ac09-b4fe-4d57-8ba2-4640fc5b7c49",
  • "ownerCompanyId": "6a62244e-aa2f-461b-8c7a-3a0e091be9d3"
}

Response samples

Content type
application/json
{
  • "id": "ef6c414f-39da-401f-a4b8-81adc6190fda",
  • "ownerUser": {
    },
  • "customerUser": {
    },
  • "createdOn": "1546300800000",
  • "status": "OPEN",
  • "availableActions": [
    ],
  • "actionRestrictions": { }
}

Retrieve validation results

Retrieve the latest validation results for an opportunity

Required: Accept-Language header with Locale format. For example: en-US

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller to the opportunity

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support to the opportunity

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager to the opportunity

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager to the opportunity

  • ROLE_PARTNER -

    Allows access as a Partner to the opportunity

  • ROLE_PARTNER_READ -

    Allows read access as a Partner to the opportunity

path Parameters
opportunityId
required
string

Opportunity ID

query Parameters
enforce
boolean

Indicates that a new validation must be executed and returned

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/assistedSales/v1/opportunities/%7BopportunityId%7D/validation?enforce=SOME_BOOLEAN_VALUE'

Response samples

Content type
application/json
{
  • "blockingErrors": [
    ],
  • "pendingValidations": [
    ]
}

Required field definitions

For a customer/sales agent combination, returns the vendor-required fields for one or more products, and a description of the fields. Request can be made before or after an opportunity is created. It returns the fields that will be required, and any values previously saved on the AppDirect platform that can be prepopulated when an opportunity is created. It does not return required field values edited, added, or saved with an opportunity.

Some vendors (for example, Microsoft) have business rules that exclude required fields from the response when the vendor already has the information stored on their platform for the customer/sales agent/product combination.

Required: Accept-Language header with Locale format. For example: en-US

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller to the opportunity

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support Representative to the opportunity

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager to the opportunity

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager to the opportunity

  • ROLE_PARTNER -

    Allows access as a Partner to the opportunity

  • ROLE_PARTNER_READ -

    Allows read access as a Partner to the opportunity

query Parameters
userId
required
string

Customer's unique identifier

companyId
required
string

Customer's company's unique identifier

salesAgentUserId
required
string

Sales agent's unique user identifier

salesAgentCompanyId
required
string

Sales agent's company's unique identifier

header Parameters
Accept-Language
required
string

Locale. Format: 'en-US'

Request Body schema: application/json
required

List of product IDs for which to retrieve required field details. Required: editionID and productID.

Array
productId
required
string

The product ID

editionId
required
string

The edition code

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "productId": "dfc9cefb-610b-4e49-ade8-6ae51a4d35c9",
  • "editionId": "EDITION_CODE",
  • "forms": [
    ]
}

Apply discount

Apply a discount to an opportunity. More than one discount (one per call) can be applied to an opportunity. The response is an updated opportunity summary. The discount is applied to all eligible products. However, redemption limits apply. When the redemption limits exceed the contents of the opportunity, the discount is not applied.

Required: Accept-Language header with Locale format. For example: en-US

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller to the opportunity

  • ROLE_SALES_SUPPORT -

    Allows access as Sales Support to the opportunity

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager to the opportunity

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager to the opportunity

  • ROLE_PARTNER -

    Allows access as a Partner to the opportunity

path Parameters
opportunityId
required
string

Opportunity ID

Request Body schema: application/json
required

The discount to be applied

discountCode
string

The discount code can be a combination of letters, numbers, and special characters

itemIds
Array of strings

The opportunity's item IDs to which the discount is applied or removed

Responses

Request samples

Content type
application/json
{
  • "discountCode": "10%OFF",
  • "itemIds": [
    ]
}

Response samples

Content type
application/json
{
  • "amountDueBeforeTax": "-8.0000000000",
  • "taxSummary": [ ],
  • "amountDueAfterTax": "-8.0000000000",
  • "items": [
    ],
  • "recurringTotals": [
    ]
}

Remove discount

Remove a discount from an opportunity. The response is an updated opportunity summary.

Required: Accept-Language header with Locale format. For example: en-US

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller to the opportunity

  • ROLE_SALES_SUPPORT -

    Allow access as Sales Support to the opportunity

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager to the opportunity

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager to the opportunity

  • ROLE_PARTNER -

    Allows access as a Partner to the opportunity

path Parameters
opportunityId
required
string

Opportunity ID

Request Body schema: application/json
required

The discount to be removed

discountCode
string

The discount code can be a combination of letters, numbers, and special characters

itemIds
Array of strings

The opportunity's item IDs to which the discount is applied or removed

Responses

Request samples

Content type
application/json
{
  • "discountCode": "10%OFF",
  • "itemIds": [
    ]
}

Response samples

Content type
application/json
{
  • "amountDueBeforeTax": "11.0000000000",
  • "taxSummary": [
    ],
  • "amountDueAfterTax": "13.0000000000",
  • "items": [
    ],
  • "recurringTotals": [
    ]
}

Update required fields

Update required fields for all products from the same vendor on an opportunity, with identical required field values.

When a vendor requires the same required fields for all products (also known as vendor 'cart level' required fields), the required field values must be identical for all the vendor's products on an opportunity. To ensure all values remain identical, always include the itemIds for all the vendor's products on the opportunity in the array, even if required field values are already saved for some items.

Warning: Previously saved required field values for the items in the array will be removed.

Required: Accept-Language header with Locale format. For example: en-US

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller to the opportunity

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support to the opportunity

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager to the opportunity

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager to the opportunity

  • ROLE_PARTNER -

    Allows access as a Partner to the opportunity

path Parameters
opportunityId
required
string

Opportunity ID

Request Body schema: application/json
required

Required fields update request with the item IDs to be updated and required field values. Required.

itemIds
required
Array of strings

IDs of the items to be updated

required
object (CustomAttribute)

Custom attributes as key-value pairs. Values must be a string array

Responses

Request samples

Content type
application/json
{
  • "itemIds": [
    ],
  • "requiredFields": {
    }
}

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Get shipping address

Retrieve the shipping address for the opportunity

Required: Accept-Language header with Locale format. For example: en-US

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller to the opportunity

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support to the opportunity

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager to the opportunity

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager to the opportunity

  • ROLE_PARTNER -

    Allows access as a Partner to the opportunity

  • ROLE_PARTNER_READ -

    Allows read access as a Partner to the opportunity

path Parameters
opportunityId
required
string

Opportunity ID

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/assistedSales/v1/opportunities/%7BopportunityId%7D/shipping

Response samples

Content type
application/json
{
  • "sameAsBillingAddress": false,
  • "deliveryAddress": {
    }
}

Create or replace shipping address

Create or replace a shipping address for physical goods that require one on an opportunity. There is one shipping address per opportunity.

Required: Accept-Language header with Locale format. For example: en-US

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller to the opportunity

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support to the opportunity

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager to the opportunity

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager to the opportunity

  • ROLE_PARTNER -

    Allows access as a Partner to the opportunity

path Parameters
opportunityId
required
string

Opportunity ID

Request Body schema: application/json
required

The shipping address information

sameAsBillingAddress
boolean

Whether customer requests to use billing address as shipping address. WARNING: Does not manage addresses; does not change shipping address to billing address, nor update shipping address if billing address changes.

object (DeliveryAddress)

The shipping address

Responses

Request samples

Content type
application/json
{
  • "sameAsBillingAddress": false,
  • "deliveryAddress": {
    }
}

Response samples

Content type
application/json
{
  • "sameAsBillingAddress": false,
  • "deliveryAddress": {
    }
}

Clone opportunity

Clone an existing opportunity

Required: Accept-Language header with Locale format. For example: en-US

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller to the opportunity

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support to the opportunity

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager to the opportunity

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager to the opportunity

  • ROLE_PARTNER -

    Allows access as a Partner to the opportunity

path Parameters
opportunityId
required
string

Opportunity ID

Request Body schema: application/json
required

Parameters to be used when cloning the opportunity

name
required
string

The name of the opportunity

customerCompanyId
required
string

The company ID of the customer

customerId
required
string

The user ID of the customer

ownerCompanyId
required
string

The company ID of the sales agent

ownerId
required
string

The user ID of the sales agent

Responses

Request samples

Content type
application/json
{
  • "name": "Opportunity name - COPY",
  • "customerCompanyId": "498c62ea-ad14-48e6-96ce-5400c617444c",
  • "customerId": "505f0a0c-57a7-4d9e-9fac-66bbf557ac4d",
  • "ownerCompanyId": "6a62244e-aa2f-461b-8c7a-3a0e091be9d3",
  • "ownerId": "d781ac09-b4fe-4d57-8ba2-4640fc5b7c49"
}

Response samples

Content type
application/json
{
  • "opportunityId": "498c62ea-ad14-48e6-96ce-5400c617444c"
}

Payment Instruments

List all payment instruments for a user

List all of the payment instruments for the given user

path Parameters
companyId
required
string

User's company UUID

userId
required
string

User UUID

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/billing/v1/companies/%7BcompanyId%7D/users/%7BuserId%7D/paymentInstruments

Response samples

Content type
No sample

Create a payment instrument

Create a payment instrument for the given user and company using the provided data

path Parameters
companyId
required
string

User's company UUID

userId
required
string

User UUID

Request Body schema:

Payment instrument data object

accountDisplay
string [ 0 .. 255 ] characters

Account display text.

object (BillingAddressWS)
object or null (LinkWS)
createdOn
number

Payment instrument creation date.

object (CreditCard)
id
string

ID

isDefault
boolean

True if this payment instrument is the default.

paymentMethod
string (PaymentMethod)
Enum: "CREDIT_CARD" "PAYPAL" "MANUAL" "EXTERNAL_INVOICE" "MARKETPLACE_CREDITS"

The supported payment methods

object or null (LinkWS)
vatId
string

VAT ID.

Responses

Request samples

Content type
No sample

Response samples

Content type
No sample

Update a payment instrument

Update the payment instrument for the given user and company using the provided data

path Parameters
companyId
required
string

User's company UUID

paymentInstrumentId
required
string

Existing payment instrument UUID

userId
required
string

User UUID

Request Body schema:

Payment instrument data object

accountDisplay
string [ 0 .. 255 ] characters

Account display text.

object (BillingAddressWS)
object or null (LinkWS)
createdOn
number

Payment instrument creation date.

object (CreditCard)
id
string

ID

isDefault
boolean

True if this payment instrument is the default.

paymentMethod
string (PaymentMethod)
Enum: "CREDIT_CARD" "PAYPAL" "MANUAL" "EXTERNAL_INVOICE" "MARKETPLACE_CREDITS"

The supported payment methods

object or null (LinkWS)
vatId
string

VAT ID.

Responses

Request samples

Content type
No sample

Response samples

Content type
No sample

Retrieve the default payment instrument

Retrieve the default payment instrument for a given user and company

query Parameters
companyUuid
string

User's company UUID

userUuid
string

User's UUID

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/billing/v1/paymentInstruments/default?companyUuid=SOME_STRING_VALUE&userUuid=SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "id": "ce6266c9-7939-42ee-8cdb-a7a2bc240be4",
  • "company": {},
  • "user": {},
  • "accountDisplay": "1111",
  • "paymentMethod": "CREDIT_CARD",
  • "billingAddress": {
    },
  • "creditCard": {
    },
  • "createdOn": 1481065767448,
  • "default": false
}

Retrieve a payment instrument

path Parameters
paymentInstrumentId
required
string

Payment Instrument Id

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/billing/v1/paymentInstruments/%7BpaymentInstrumentId%7D

Response samples

Content type
No sample

Delete a payment instrument

Delete a payment instrument

path Parameters
paymentInstrumentId
required
string

Payment Instrument Id

Responses

Request samples

curl --request DELETE \
  --url https://marketplace.appdirect.com/api/billing/v1/paymentInstruments/%7BpaymentInstrumentId%7D

Payment Methods

Tokenize payment methods

Calls the payment gateway to validate the payment method, which is not yet associated with a user. A front-end should call this endpoint directly, not a back-end. Requires a public developer key (use the AD-Public-Developer-Key header), which you must obtain from AppDirect.

header Parameters
AD-Public-Developer-Key
required
string
Request Body schema: application/json
required

The payment method to tokenize

paymentMethodType
required
string

The type of payment method, such as CARD, BANKACCOUNT, and so on.

required
object

The properties of the payment method, as listed in getPaymentMethodTypes

required
object (BillingAddress)

Billing address

Responses

Request samples

Content type
application/json
{
  • "paymentMethodType": "CARD",
  • "properties": {
    },
  • "billingAddress": {
    }
}

Response samples

Content type
application/json
{
  • "id": "pm_0838a859-dfa6-4863-aa38-042d50a9e69a",
  • "expiration": "2018-04-112T19:15:00Z",
  • "paymentMethod": {
    }
}

List payment methods for a user

Returns all available payment methods for the specified user in the specified company.

Required Scopes and Authorization Rules
  • ROLE_PARTNER -

    Allows access to read all marketplace data.

query Parameters
ownerId
required
string

ID of the user whose payment method you want to retrieve

companyId
required
string

ID of the company of which the user is a member

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/appMarket/v2/paymentMethods?ownerId=SOME_STRING_VALUE&companyId=SOME_STRING_VALUE'

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    }
]

Create payment methods using a token OR by providing all of the payment method data

When using a token, the validated payment method is assigned to the current user on the current marketplace. When providing all of the payment method data, the payment gateway is called, and the payment method is validated and assigned to the user.

Required Scopes and Authorization Rules
  • ROLE_PARTNER -

    Allows access to create a payment method with a token.

  • ROLE_USER -

    Allows access to create a payment method with a full payload.

Request Body schema: application/json
required
ownerId
required
string [ 0 .. 255 ] characters

The ID of the user who owns the payment method.

companyId
required
string [ 0 .. 255 ] characters

The ID of the company in which to create the payment method.

token
string [ 0 .. 255 ] characters

Token of the payment method, as returned by createPaymentMethodToken. Required when creating a payment method from a token, not applicable when creating it from payment method data.

paymentMethodType
string

The type of payment method, such as CARD, BANKACCOUNT, and so on. Required when creating a payment method from payment method data, not applicable when creating it from token.

object

The properties of the payment method, as listed in getPaymentMethodTypes Required when creating a payment method from payment method data, not applicable when creating it from token.

object (BillingAddress)

Billing address

Responses

Request samples

Content type
application/json
{
  • "ownerId": "40e8af95-4caf-415a-96d9-7b023207b535",
  • "companyId": "9c130291-cf29-4272-8005-a280b1e81388",
  • "token": "pm_0838a859-dfa6-4863-aa38-042d50a9e69a"
}

Response samples

Content type
application/json
{
  • "id": "e35c2f85-ef92-4a8f-89f0-45b62fb95fa7",
  • "accountDisplay": "1111",
  • "default": true,
  • "paymentMethodType": "CARD",
  • "properties": {
    },
  • "billingAddress": {
    }
}

Delete payment methods

The payment method is deleted from the system and cannot be used anymore.

path Parameters
paymentMethodId
required
string

The Payment Method ID

Responses

Request samples

curl --request DELETE \
  --url https://marketplace.appdirect.com/api/appMarket/v2/paymentMethods/%7BpaymentMethodId%7D

Response samples

Content type
application/json
{
  • "status": 500,
  • "code": "INTERNAL_SERVER_ERROR"
}

List default payment methods

Returns the default payment methods for the specified user in the specified company

Required Scopes and Authorization Rules
  • ROLE_USER -

    Allows access to get default payment method(s).

query Parameters
ownerId
required
string

ID of the user whose default payment method you want to retrieve

companyId
required
string

ID of the company of which the user is a member

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/appMarket/v2/paymentMethods/defaults?ownerId=SOME_STRING_VALUE&companyId=SOME_STRING_VALUE'

Response samples

Content type
application/json
[
  • {
    }
]

Set default payment methods

Sets a default payment method for the specified user

Required Scopes and Authorization Rules
  • ROLE_USER -

    Allows access to set default payment method(s).

Request Body schema: application/json
required
ownerId
required
string [ 0 .. 255 ] characters

ID of the user who owns the default payment method

companyId
required
string [ 0 .. 255 ] characters

ID of the company of which the user is a member

paymentMethodId
required
string [ 0 .. 255 ] characters

ID of the default payment method

Responses

Request samples

Content type
application/json
{
  • "ownerId": "40e8af95-4caf-415a-96d9-7b023207b535",
  • "companyId": "9c130291-cf29-4272-8005-a280b1e81388",
  • "paymentMethodId": "e35c2f85-ef92-4a8f-89f0-45b62fb95fa7"
}

Response samples

Content type
application/json
[
  • {
    }
]

Returns all supported Payment Method Types

Returns all supported Payment Method Types. These are the only types of payment method that can be created.

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/appMarket/v2/paymentMethodTypes

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Payment Methods (Reseller)

Create payment method

Creates a payment method on behalf of the specified user

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller.

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support Representative.

Request Body schema: application/json

Information about the user and the new payment method

ownerId
required
string

ID of the user for whom to create the payment method

companyId
required
string

ID of the user's company

paymentMethodType
required
string

Payment method types supported by AppReseller

object

List of payment method properties. Varies by payment method type

required
object (BillingAddress)

Billing address

Responses

Request samples

Content type
application/json
{
  • "ownerId": "833d4c99-1939-0000-0000-6fb7ae30000",
  • "companyId": "6b4bd452-895d-0000-0000-e6046b230000",
  • "paymentMethodType": "CARD",
  • "properties": {
    },
  • "billingAddress": {
    }
}

Response samples

Content type
application/json
{
  • "id": "5d399e4a-cae3-0000-0000-85be1db90000",
  • "accountDisplay": "1111",
  • "paymentMethodType": "CARD",
  • "properties": {
    },
  • "billingAddress": {
    },
  • "owner": {
    },
  • "default": true
}

List payment methods

Retrieves a list of the specified user's payment methods

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support Representative.

query Parameters
ownerId
required
string

User ID

companyId
required
string

Company ID

number
integer

Page number starting at 1. The default value is 1.

size
integer

Number of results per page. The default value is 50.

paymentMethodType
string

Payment method type

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/appReseller/v1/paymentMethods?ownerId=SOME_STRING_VALUE&companyId=SOME_STRING_VALUE&number=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&paymentMethodType=SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "content": [
    ],
  • "page": {
    }
}

Remove payment methods

Deletes a user's payment methods

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support Representative.

path Parameters
paymentMethodId
required
string

Payment method ID

Responses

Request samples

curl --request DELETE \
  --url https://marketplace.appdirect.com/api/appReseller/v1/paymentMethods/%7BpaymentMethodId%7D

Payment Plans

List payment plans

List payment plans for a given product edition

path Parameters
applicationId
required
number

Application id

editionId
required
number

Edition id

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/marketplace/v1/products/%7BapplicationId%7D/editions/%7BeditionId%7D/paymentPlans

Response samples

Content type
No sample

Read payment plan by product edition

Read payment plan by product edition

path Parameters
applicationId
required
number

Application id

editionId
required
number

Edition id

paymentPlanId
required
number

Payment plan id

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/marketplace/v1/products/%7BapplicationId%7D/editions/%7BeditionId%7D/paymentPlans/%7BpaymentPlanId%7D

Response samples

Content type
No sample

Read payment plan

Read payment plan information

path Parameters
paymentPlanId
required
number

Payment plan id

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/marketplace/v1/paymentPlans/%7BpaymentPlanId%7D

Response samples

Content type
No sample

Payments v1

List all payments for a company

List all of the payments for the given company

path Parameters
companyId
required
string

Company UUID

query Parameters
count
integer
Default: 250

Number of results to fetch. Used for paging.

fromDate
number

From date

method
string
Enum: "ADP_INVOICE" "ARIBAPAY" "BT_BILL" "CLICKANDBUY" "CLOUDFOUNDRY" "CREDIT_CARD" "CUMULA_BILL" "DTAG" "EXTERNAL_INVOICE" "KREDITKARTE" "LASTSCHRIFT_MRNEXNET" "MANO_TEO_BILL" "MANUAL" "MARKETPLACE_CREDITS" "NETS_ARVATO_INVOICE" "NEXTEL" "PAYPAL" "ROGERS_CC_DTMF" "ROGERS_CC_POS" "SNAP" "TBILL" "THISTLE" "TOICLEARING"

Payment method

result
string
Enum: "FAILED" "GATEWAY_NOT_AVAILABLE" "MANUAL" "SUCCESSFUL"

Payment result

sortField
string
Default: "PAYMENT_ID"
Enum: "AMOUNT" "DATE" "PAYMENT_ID"

Sort field

sortOrder
string
Default: "DESC"
Enum: "ASC" "DESC"

Sort order

start
integer
Default: 0

First result index. Used for paging.

toDate
number

To date

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/billing/v1/companies/%7BcompanyId%7D/payments?count=SOME_INTEGER_VALUE&fromDate=SOME_NUMBER_VALUE&method=SOME_STRING_VALUE&result=SOME_STRING_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_INTEGER_VALUE&toDate=SOME_NUMBER_VALUE'

Response samples

Content type
No sample

List all payments for a user

List all of the payments for the given user

path Parameters
companyId
required
string

Company UUID

userId
required
string

User UUID

query Parameters
count
integer
Default: 250

Number of results to fetch. Used for paging.

fromDate
number

From date

method
string
Enum: "ADP_INVOICE" "ARIBAPAY" "BT_BILL" "CLICKANDBUY" "CLOUDFOUNDRY" "CREDIT_CARD" "CUMULA_BILL" "DTAG" "EXTERNAL_INVOICE" "KREDITKARTE" "LASTSCHRIFT_MRNEXNET" "MANO_TEO_BILL" "MANUAL" "MARKETPLACE_CREDITS" "NETS_ARVATO_INVOICE" "NEXTEL" "PAYPAL" "ROGERS_CC_DTMF" "ROGERS_CC_POS" "SNAP" "TBILL" "THISTLE" "TOICLEARING"

Payment method

result
string
Enum: "FAILED" "GATEWAY_NOT_AVAILABLE" "MANUAL" "SUCCESSFUL"

Payment result

sortField
string
Default: "PAYMENT_ID"
Enum: "AMOUNT" "DATE" "PAYMENT_ID"

Sort field

sortOrder
string
Default: "ASC"
Enum: "ASC" "DESC"

Sort order

start
integer
Default: 0

First result index. Used for paging.

toDate
number

To date

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/billing/v1/companies/%7BcompanyId%7D/users/%7BuserId%7D/payments?count=SOME_INTEGER_VALUE&fromDate=SOME_NUMBER_VALUE&method=SOME_STRING_VALUE&result=SOME_STRING_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_INTEGER_VALUE&toDate=SOME_NUMBER_VALUE'

Response samples

Content type
No sample

List all payments

List all payments matching the input filters

query Parameters
count
string
Default: "250"

Number of results to fetch. Used for paging.

fromDate
number

From date

method
string
Enum: "ADP_INVOICE" "ARIBAPAY" "BT_BILL" "CLICKANDBUY" "CLOUDFOUNDRY" "CREDIT_CARD" "CUMULA_BILL" "DTAG" "EXTERNAL_INVOICE" "KREDITKARTE" "LASTSCHRIFT_MRNEXNET" "MANO_TEO_BILL" "MANUAL" "MARKETPLACE_CREDITS" "NETS_ARVATO_INVOICE" "NEXTEL" "PAYPAL" "ROGERS_CC_DTMF" "ROGERS_CC_POS" "SNAP" "TBILL" "THISTLE" "TOICLEARING"

Payment method

result
string
Enum: "FAILED" "GATEWAY_NOT_AVAILABLE" "MANUAL" "SUCCESSFUL"

Payment result

sortField
string
Default: "PAYMENT_ID"
Enum: "AMOUNT" "DATE" "PAYMENT_ID"

Sort field

sortOrder
string
Default: "ASC"
Enum: "ASC" "DESC"

Sort order

start
string
Default: "0"

First result index. Used for paging.

toDate
number

To date

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/billing/v1/payments?count=SOME_STRING_VALUE&fromDate=SOME_NUMBER_VALUE&method=SOME_STRING_VALUE&result=SOME_STRING_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_STRING_VALUE&toDate=SOME_NUMBER_VALUE'

Response samples

Content type
No sample

Retrieve a payment

Retrieve a payment given its payment number

path Parameters
paymentNumber
required
integer

Payment number

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/billing/v1/payments/%7BpaymentNumber%7D

Response samples

Content type
No sample

List all payment invoices

List all invoices attached to a given payment

path Parameters
paymentNumber
required
integer

Payment number

query Parameters
count
string
Default: "250"

Number of results to fetch. Used for paging.

excludeFree
boolean

Exclude free invoices

fromDate
number

From date

sortField
string
Default: "INVOICE_ID"
Enum: "DATE" "INVOICE_ID" "TOTAL"

Sort field

sortOrder
string
Default: "ASC"
Enum: "ASC" "DESC"

Sort order

start
string
Default: "0"

First result index. Used for paging.

status
string
Enum: "CARRIED" "PAID" "UNPAID" "VOIDED"

Status of the related invoice(s)

toDate
number

To date

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/billing/v1/payments/%7BpaymentNumber%7D/invoices?count=SOME_STRING_VALUE&excludeFree=SOME_BOOLEAN_VALUE&fromDate=SOME_NUMBER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_STRING_VALUE&status=SOME_STRING_VALUE&toDate=SOME_NUMBER_VALUE'

Response samples

Content type
No sample

Payments v2

Retrieve all transfer platform configurations

Retrieves all transfer platform configurations for the marketplace of the current user

Required Scopes and Authorization Rules
  • ROLE_CHANNEL_ADMIN -

    Allows access to retrieve transfer platform configurations.

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/api/appMarket/v2/transferPlatformConfigurations

Response samples

Content type
application/json
[]

Create transfer platform configurations

Create a transfer platform configuration in the marketplace of the current user

Required Scopes and Authorization Rules
  • ROLE_CHANNEL_ADMIN -

    Allows access to create transfer platform configurations.

Request Body schema: application/json
required

The transfer platform configuration request

platformType
required
string [ 1 .. 255 ] characters

The transfer platform type

required
object non-empty

The transfer platform parameters.

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{}

Retrieve transfer platform configurations

Retrieves the transfer platform configuration by ID

Required Scopes and Authorization Rules
  • ROLE_CHANNEL_ADMIN -

    Allows access to retrieve one transfer platform configuration.

path Parameters
transferPlatformConfigurationId
required
string

The transfer platform configuration ID

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/api/appMarket/v2/transferPlatformConfigurations/%7BtransferPlatformConfigurationId%7D

Response samples

Content type
application/json
{}

Update transfer platform configurations

Updates the specified transfer platform configuration

Required Scopes and Authorization Rules
  • ROLE_CHANNEL_ADMIN -

    Allows access to update one transfer platform configuration.

path Parameters
transferPlatformConfigurationId
required
string

The transfer platform configuration ID

Request Body schema: application/json
required

The transfer platform configuration request

platformType
required
string [ 1 .. 255 ] characters

The transfer platform type

required
object non-empty

The transfer platform parameters.

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{}

Delete transfer platform configurations

Deletes the specified transfer platform configuration. It cannot be used anymore

Required Scopes and Authorization Rules
  • ROLE_CHANNEL_ADMIN -

    Allows access to delete one transfer platform configuration.

path Parameters
transferPlatformConfigurationId
required
string

The transfer platform configuration ID

Responses

Request samples

curl --request DELETE \
  --url https://marketplace.appdirect.com/api/api/appMarket/v2/transferPlatformConfigurations/%7BtransferPlatformConfigurationId%7D

Response samples

Content type
application/json
{
  • "status": 500,
  • "code": "UNKNOWN_ERROR",
  • "message": "Internal server error."
}

Create transfer methods

Creates a new Transfer Method for the requesting (authenticated) user

Request Body schema: application/json
required

The transfer method to create

required
object non-empty

The transfer method properties

platformType
required
string [ 1 .. 255 ] characters

The transfer platform type

partyId
required
string [ 1 .. 255 ] characters

The ID of the transfer method's party

partyType
required
string [ 1 .. 255 ] characters

The type of the transfer method's party (USER, CHANNEL, and so on)

Responses

Request samples

Content type
application/json
{
  • "platformType": "stripe",
  • "partyId": "1",
  • "partyType": "USER",
  • "properties": {
    }
}

Response samples

Content type
application/json
{
  • "id": "ab65d3e8-4ee0-11e8-9c2d-222222222222",
  • "platformType": "stripe",
  • "partyId": "1",
  • "partyType": "USER",
  • "balance": {
    },
  • "displayName": "****3456",
  • "properties": {
    }
}

Retrieve transfer methods

Retrieves the transfer methods associated with the requesting (authenticated) user

query Parameters
includeBalance
boolean
Default: false

Determines whether the response should include the transfer method balance

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/api/appMarket/v2/transferMethods?includeBalance=SOME_BOOLEAN_VALUE'

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Retrieves Transfer Method by ID

Retrieves the Transfer Method for the given ID

path Parameters
transferMethodId
required
string

The Transfer Method ID

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/api/appMarket/v2/transferMethods/%7BtransferMethodId%7D

Response samples

Content type
application/json
{
  • "id": "ab65d3e8-4ee0-11e8-9c2d-222222222222",
  • "platformType": "stripe",
  • "partyId": "1",
  • "partyType": "USER",
  • "balance": {
    },
  • "displayName": "****3456",
  • "properties": {
    }
}

Delete transfer methods

Deletes the transfer method with the specified ID

path Parameters
transferMethodId
required
string

The Transfer Method ID

Responses

Request samples

curl --request DELETE \
  --url https://marketplace.appdirect.com/api/api/appMarket/v2/transferMethods/%7BtransferMethodId%7D

Response samples

Content type
application/json
{
  • "status": 500,
  • "code": "UNKNOWN_ERROR",
  • "message": "Internal server error."
}

Product Answers

List all answers

List answers of a given question on an product

path Parameters
applicationId
required
number

Application id

questionId
required
number

Question id

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/marketplace/v1/products/%7BapplicationId%7D/questions/%7BquestionId%7D/answers

Response samples

Content type
No sample

Create an answer

This call creates an answer to a product question submitted on your marketplace.

path Parameters
applicationId
required
number

Application id

questionId
required
number

Question id

Request Body schema:

Question answer data

object (Author)

Author of a question, an answer, a review or a review comment

comment
string

Comment

id
number or null

ID

lastModified
number or null

Last modified date

official
boolean

Is the official answer

Responses

Request samples

Content type
No sample

Response samples

Content type
No sample

Retrieve an answer

This call returns all answer details for a specific product.

path Parameters
answerId
required
number

Answer id

applicationId
required
number

Application id

questionId
required
number

Question id

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/marketplace/v1/products/%7BapplicationId%7D/questions/%7BquestionId%7D/answers/%7BanswerId%7D

Response samples

Content type
No sample

Update an answer

This call updates an existing answer on your marketplace.

path Parameters
answerId
required
number

Answer id

applicationId
required
number

Application id

questionId
required
number

Question id

Request Body schema:

Question answer data

object (Author)

Author of a question, an answer, a review or a review comment

comment
string

Comment

id
number or null

ID

lastModified
number or null

Last modified date

official
boolean

Is the official answer

Responses

Request samples

Content type
No sample

Response samples

Content type
No sample

Delete an answer

This call deletes an answer from your marketplace.

path Parameters
answerId
required
number

Answer id

applicationId
required
number

Application id

questionId
required
number

Question id

Responses

Request samples

curl --request DELETE \
  --url https://marketplace.appdirect.com/api/marketplace/v1/products/%7BapplicationId%7D/questions/%7BquestionId%7D/answers/%7BanswerId%7D

Product Comments

Create a comment

This call creates a new review comment on your marketplace.

path Parameters
applicationId
required
number

Application id

reviewId
required
number

Review id

Request Body schema:

Review comment data

object (Author)

Author of a question, an answer, a review or a review comment

comment
string

Comment

id
number or null

ID

lastModified
number or null

Last modified date

official
boolean

Is an official comment

Responses

Request samples

Content type
No sample

Response samples

Content type
No sample

List all comments

This call lists all review comments on your marketplace.

path Parameters
applicationId
required
number

Application id

reviewId
required
number

Review id

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/marketplace/v1/products/%7BapplicationId%7D/reviews/%7BreviewId%7D/comments

Response samples

Content type
No sample

Retrieve a comment

This call returns all the comment details from a specific product.

path Parameters
applicationId
required
number

Application id

commentId
required
number

Comment id

reviewId
required
number

Review id

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/marketplace/v1/products/%7BapplicationId%7D/reviews/%7BreviewId%7D/comments/%7BcommentId%7D

Response samples

Content type
No sample

Update a comment

This call updates a product comment on your marketplace.

path Parameters
applicationId
required
number

Application id

commentId
required
number

Comment id

reviewId
required
number

Review id

Request Body schema:

Review comment data

object (Author)

Author of a question, an answer, a review or a review comment

comment
string

Comment

id
number or null

ID

lastModified
number or null

Last modified date

official
boolean

Is an official comment

Responses

Request samples

Content type
No sample

Response samples

Content type
No sample

Delete a comment

This call deletes a review comment from your marketplace.

path Parameters
applicationId
required
number

Application id

commentId
required
number

Comment id

reviewId
required
number

Review id

Responses

Request samples

curl --request DELETE \
  --url https://marketplace.appdirect.com/api/marketplace/v1/products/%7BapplicationId%7D/reviews/%7BreviewId%7D/comments/%7BcommentId%7D

Response samples

Content type
No sample

Product Context

Retrieve a product context for the current user

Retrieve a product context for the current user

path Parameters
applicationId
required
number

id of the application

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/billing/v1/userProductContext/%7BapplicationId%7D

Response samples

Content type
No sample

Retrieve a product context for a supplied user and a company they belong to

Retrieve a product context for a supplied user and a company they belong to

path Parameters
applicationId
required
number

id of the application

companyId
required
string

uuid of the desired users' company

userId
required
string

uuid of the desired user

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/billing/v1/userProductContext/%7BapplicationId%7D/companies/%7BcompanyId%7D/users/%7BuserId%7D

Response samples

Content type
No sample

Product Questions

Retrieve a question

This call returns all question details for a specific product.

path Parameters
applicationId
required
number

Application id

questionId
required
number

Question id

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/marketplace/v1/products/%7BapplicationId%7D/questions/%7BquestionId%7D

Response samples

Content type
No sample

Update a question

This call allows you to update a product question on your marketplace.

path Parameters
applicationId
required
number

Application id

questionId
required
number

Question id

Request Body schema:

Question data

answerCount
number or null

Number of answers

object (Author)

Author of a question, an answer, a review or a review comment

comment
string

Comment

id
number or null

ID

lastModified
number or null

Last modified date

title
string

Title

Responses

Request samples

Content type
No sample

Response samples

Content type
No sample

Delete a question

This call deletes a product question from your marketplace.

path Parameters
applicationId
required
number

Application id

questionId
required
number

Question id

Responses

Request samples

curl --request DELETE \
  --url https://marketplace.appdirect.com/api/marketplace/v1/products/%7BapplicationId%7D/questions/%7BquestionId%7D

Response samples

Content type
No sample

List all questions

This call lists all questions listed on your marketplace.

path Parameters
applicationId
required
number

Application id

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/marketplace/v1/products/%7BapplicationId%7D/questions

Response samples

Content type
No sample

Product Reviews

Create a review

This call creates a new product review on your marketplace.

path Parameters
applicationId
required
number

Application id

Request Body schema:

Review data

object (Author)

Author of a question, an answer, a review or a review comment

comment
string

Comment

commentCount
number or null

Number of comment

id
number or null

ID

lastModified
number or null

Last modified date

rating
number or null

Rating

source
string or null

Source

title
string

Title

Responses

Request samples

Content type
No sample

Response samples

Content type
No sample

List all reviews

This call lists all reviews and associated information listed on your marketplace.

path Parameters
applicationId
required
number

Application id

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/marketplace/v1/products/%7BapplicationId%7D/reviews

Response samples

Content type
No sample

Retrieve a review

This call returns all details for a specific review.

path Parameters
applicationId
required
number

Application id

reviewId
required
number

Review id

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/marketplace/v1/products/%7BapplicationId%7D/reviews/%7BreviewId%7D

Response samples

Content type
No sample

Update a review This call updates an existing product review on your marketplace.

Update a review This call updates an existing product review on your marketplace.

path Parameters
applicationId
required
number

Application id

reviewId
required
number

Review id

Request Body schema:

Review data

object (Author)

Author of a question, an answer, a review or a review comment

comment
string

Comment

commentCount
number or null

Number of comment

id
number or null

ID

lastModified
number or null

Last modified date

rating
number or null

Rating

source
string or null

Source

title
string

Title

Responses

Request samples

Content type
No sample

Response samples

Content type
No sample

Delete a review This call deletes a product review from your marketplace.

Delete a review This call deletes a product review from your marketplace.

path Parameters
applicationId
required
number

Application id

reviewId
required
number

Review id

Responses

Request samples

curl --request DELETE \
  --url https://marketplace.appdirect.com/api/marketplace/v1/products/%7BapplicationId%7D/reviews/%7BreviewId%7D

Response samples

Content type
No sample

Products

Retrieve buyable products

Retrieve all products in the production catalog, including products that are not marked as visible on either the marketplace or network.

Required Scopes and Authorization Rules
  • ROLE_PARTNER_READ -

    Allows access to read all marketplace data.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager for the marketplace.

  • ROLE_RESELLER -

    Allows access as a Reseller for the marketplace.

query Parameters
page
string
Default: "0"

The page number. Defaults to 0.

size
string
Default: "20"

The maximum number of products to return. The default is 20.

sortField
string
Default: "NAME"
Enum: "RATING" "POPULARITY" "NEWEST_FIRST" "NAME"

The field by which to sort results. The default is NAME. RATING: Sort by the rating in descending order. POPULARITY: Sort by product popularity, from most to least popular. Popularity is calculated from the number of purchases. NEWEST_FIRST: Sort by product creation date/time. NAME: Sort by the product name in alphabetic order.

sortOrder
string
Default: "ASC"
Enum: "ASC" "DESC"

Sort order, either ASC (ascending) or DESC (descending). The default is ASC.

searchText
string

Search text.

categoryId
Array of numbers

Product category IDs. If specified, only products belonging to these categories are returned.

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/channel/v1/applications?page=SOME_STRING_VALUE&size=SOME_STRING_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&searchText=SOME_STRING_VALUE&categoryId=SOME_ARRAY_VALUE'

Response samples

Content type
application/json
{}

Retrieve a product

This request returns all details about a specific product on your marketplace. The product in the response contains invisible editions if you are using OAuth to access the endpoint and the current user has either a Marketplace Manager role or a Sales Support role.
Maximum of 5 requests per second per caller.
To receive language-specific content in your response, ensure that your marketplace supports the specified language. Also ensure that you have a version of your product in the specified language.

path Parameters
applicationId
required
number

Application ID

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/marketplace/v1/products/%7BapplicationId%7D

Response samples

Content type
No sample

List all products by vendor

Lists all products offered by the specified vendor. On the product profile page, the results appear in the Related Products list, in ascending order by product ID. To retrieve the vendor ID, use the List all companies endpoint (vendor companies have the "vendor" property set to "true").

path Parameters
vendorUuid
required
string

ID of the vendor company

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/marketplace/v1/vendors/%7BvendorUuid%7D/products

Response samples

Content type
No sample

Retrieve a product status

This call returns the status of a product on your marketplace.

path Parameters
applicationId
required
number

Application id

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/marketplace/v1/products/%7BapplicationId%7D/status

Response samples

Content type
No sample

List all product recommendations

This call lists all products that other customers have bought in addition to the one specified. Returns recommendations for additional purchases (currently simply returning what others who have bought the product have also bought). This may be augmented later to include additional recommendation strategies but always in the context of a single product

path Parameters
applicationId
required
number

Application id

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/marketplace/v1/products/%7BapplicationId%7D/recommendations

Response samples

Content type
No sample

List all products

This call lists products based on specific parameters such as attribute, category, date, or type.

query Parameters
a
Array of numbers

Only return products for these attribute ids

approvalAfter
number

Search products published after this date in milliseconds

approvalBefore
number

Search products published before this date in milliseconds

c
Array of numbers

Only return products for these categories

count
string
Default: "500"

Limit number of products returned

filter
Array of strings
Items Enum: "DISCOUNT" "FEATURED" "FREE" "FREE_TRIAL" "PAID" "POPULAR" "STAFFPICK"

Only return products for these characteristics

s
Array of numbers

Only return products for these sub category ids

order
string
Enum: "ALPHABETICAL" "NEWEST_FIRST" "NEWEST_PUBLISHED" "POPULARITY" "RATING"

Ordering type

pl
Array of numbers
platform
Array of strings
q
string

Search term used to search on different fields of an product

s
Array of numbers

Only return products for these category ids

start
integer

Start to return product after this offset

type
Array of strings
Items Enum: "APPDIRECT_SERVICE" "BUNDLE" "CLOUDFOUNDRY_DEPLOYABLE" "CLOUD_SERVICES" "DESIGN_ELEMENT" "DOMAIN_REGISTRATION" "DOMAIN_RESELLER" "DOWNLOAD" "DOWNLOADABLE_BUNDLE" "DOWNLOAD_WITH_FULL_PROFILE" "EMBEDDED_VIDEO" "EXTERNAL" "MODULE" "OPEN_SOURCE" "RACKSPACE_IMAGE" "STANDING_CLOUD" "STATIC" "SUPPORT" "TEMPLATE" "WEB_APP" "WEB_APP_MANUAL_SETUP" "WEB_APP_STACKED"

Only return product for these product types

vendor
Array of strings

Only return products for the specified vendor IDs

locale
string

Specify the locale context

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/marketplace/v1/listing?a=SOME_ARRAY_VALUE&approvalAfter=SOME_NUMBER_VALUE&approvalBefore=SOME_NUMBER_VALUE&c=SOME_ARRAY_VALUE&count=SOME_STRING_VALUE&filter=SOME_ARRAY_VALUE&s=SOME_ARRAY_VALUE&s=SOME_ARRAY_VALUE&order=SOME_STRING_VALUE&pl=SOME_ARRAY_VALUE&platform=SOME_ARRAY_VALUE&q=SOME_STRING_VALUE&start=SOME_INTEGER_VALUE&type=SOME_ARRAY_VALUE&vendor=SOME_ARRAY_VALUE&locale=SOME_STRING_VALUE'

Response samples

Content type
No sample

Read staging catalog

This call lists all products in the Staging Catalog of your marketplace.

query Parameters
appStatus
string
Enum: "DEVELOPMENT" "PENDING" "PRODUCTION"

The status of the application, optional.

page
string
Default: "0"

The page number. Optional, defaults to 0.

productType
string
Enum: "APPDIRECT_SERVICE" "BUNDLE" "CLOUDFOUNDRY_DEPLOYABLE" "CLOUD_SERVICES" "DESIGN_ELEMENT" "DOMAIN_REGISTRATION" "DOMAIN_RESELLER" "DOWNLOAD" "DOWNLOADABLE_BUNDLE" "DOWNLOAD_WITH_FULL_PROFILE" "EMBEDDED_VIDEO" "EXTERNAL" "MODULE" "OPEN_SOURCE" "RACKSPACE_IMAGE" "STANDING_CLOUD" "STATIC" "SUPPORT" "TEMPLATE" "WEB_APP" "WEB_APP_MANUAL_SETUP" "WEB_APP_STACKED"

The product type, optional.

searchText
string

The search text, optional.

vendorUuid
string

(Optional) ID of the vendor company

size
string
Default: "20"

The number of application returned. Optional, defaults to 20.

sortOrder
string
Default: "ASC"
Enum: "ASC" "DESC"

The order. Optional, default to ascending.

sortProperty
string
Default: "createdOn"

The sort field. Optional, defaults to the creation date of the application.

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/channel/v1/stagingCatalog?appStatus=SOME_STRING_VALUE&page=SOME_STRING_VALUE&productType=SOME_STRING_VALUE&searchText=SOME_STRING_VALUE&vendorUuid=SOME_STRING_VALUE&size=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&sortProperty=SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "links": [ ],
  • "content": [
    ],
  • "page": {
    }
}

Purchase Orders

List all purchase orders for a company

List all of the purchase orders for the given company

path Parameters
companyId
required
string

Company ID

query Parameters
startDateFrom
number

Filters results to only include subscriptions that were started on or after the specified date

startDateTo
number

Filters results to only include subscriptions that were started on or before the specified date

status
string
Enum: "INITIALIZED" "PENDING_USER_APPROVAL" "PENDING_REMOTE_CREATION" "PENDING_MANUAL_RECOVERY" "PENDING_ASYNCHRONOUS_CREATION" "FREE_TRIAL" "ACTIVE" "FINISHED" "ONE_TIME" "CANCELLED" "SUSPENDED" "FREE_TRIAL_EXPIRED" "FREE_TRIAL_CANCELLED" "DELETED" "FAILED" "UPCOMING" "PENDING_MIGRATION_ACTIVATION" "PENDING_DELAYED_PROVISIONING"

Filters subscriptions by order status

currency
string
Enum: "USD" "CAD" "EUR" "JPY" "GBP" "KRW" "CHF" "SEK" "SGD" "MYR" "AUD" "MXN" "INR" "BRL" "DKK" "NZD" "NOK" "ZAR" "PHP" "CNY" "SAR" "GTQ" "IDR" "ARS" "COP" "PEN"

Filters subscriptions by currency

type
string
Enum: "NEW" "MIGRATION" "ADOPTION" "FREE_TRIAL_ACTIVATION" "TERMINATION_FEE" "END_OF_CONTRACT_MIGRATION" "REFUND" "CREDIT" "ONE_TIME_FEE" "ADDITIONAL_FEE" "END_OF_DISCOUNT_MIGRATION" "METERED_USAGE"

Filters subscriptions by order type.
NEW: The first order of a subscription. The order contains flat fees (one time or recurring) for this subscription. It is active until the subscription is updated or canceled.
MIGRATION: The order created after a subscription change. The order includes flat fees for both one-time and recurring editions.
ADOPTION: The order created by an administrator who has taken ownership of an application from another user within the same company.
FREE_TRIAL_ACTIVATION: Created when a free trial is manually upgraded to a paid subscription. Any subscription that is updated from free trial to paid automatically keeps the original NEW purchase order type.
TERMINATION_FEE: A subscription is canceled that had a termination fee. This purchase order represents the fees incurred as a result of the cancellation.
END_OF_CONTRACT_MIGRATION: Created when a subscription update takes place as a result of a contract extension. If the contract autorenewal is set to either continue without a contract or renew the contract with the same pricing plan, then no migration occurs and the original purchase order is updated to include the new end date for the contract.
REFUND: Created when a refund is performed. The refund purchase order is created for only on-platform refunds. Off-platform refunds do not generate this type of purchase order.
CREDIT: Created during subscription update events. Any subscription update calculates a paid period and a credit period. The credit is then provided to the user to prorate the subscription.
ONE_TIME_FEE: Created if an edition includes one-time setup fees.
ADDITIONAL_FEE: Used for off-order charges. A developer change creates an off-order charge and charges their customer a custom amount outside of the normal subscription cycle.
END_OF_DISCOUNT_MIGRATION: Created after a discount of limited duration expires. This purchase order is created to represent the updated costs without the discount.
METERED_USAGE: A purchase order created to accumulate usage fees during a billing period. The order is only valid for the billing period but it is updated with usage lines over the course of the billing period. A metered purchase order is invoiced in arrears at the end of the billing cycle.

frequency
string
Enum: "ONE_TIME" "MONTHLY" "QUARTERLY" "SIX_MONTHS" "YEARLY" "TWO_YEARS" "THREE_YEARS" "DAILY"

Filters subscriptions by pricing frequency

orderReferenceCode
string

Filters subscriptions by order reference code

applicationIds
number

Filters subscriptions by internal application ID

fromCreationDate
number

Filters results to only include subscriptions that were created on or after the specified date

toCreationDate
number

Filters results to only include subscriptions that were created on or before the specified date

count
integer
Default: 250

Number of results to fetch. Used for paging.

sortField
string
Default: "DATE"
Enum: "DATE" "ORDER_ID" "TOTAL"

Sort field.

sortOrder
string
Default: "ASC"
Enum: "ASC" "DESC"

Sort order.

start
integer
Default: 0

First result index. Used for paging.

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/billing/v1/companies/%7BcompanyId%7D/orders?startDateFrom=SOME_NUMBER_VALUE&startDateTo=SOME_NUMBER_VALUE&status=SOME_STRING_VALUE&currency=SOME_STRING_VALUE&type=SOME_STRING_VALUE&frequency=SOME_STRING_VALUE&orderReferenceCode=SOME_STRING_VALUE&applicationIds=SOME_NUMBER_VALUE&fromCreationDate=SOME_NUMBER_VALUE&toCreationDate=SOME_NUMBER_VALUE&count=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_INTEGER_VALUE'

Response samples

Content type
No sample

List all purchase orders for a user

List all of the purchase orders for the given user

path Parameters
companyId
required
string

User's company ID

userId
required
string

User ID

query Parameters
startDateFrom
number

Filters results to only include subscriptions that were started on or after the specified date

startDateTo
number

Filters results to only include subscriptions that were started on or before the specified date

status
string
Enum: "INITIALIZED" "PENDING_USER_APPROVAL" "PENDING_REMOTE_CREATION" "PENDING_MANUAL_RECOVERY" "PENDING_ASYNCHRONOUS_CREATION" "FREE_TRIAL" "ACTIVE" "FINISHED" "ONE_TIME" "CANCELLED" "SUSPENDED" "FREE_TRIAL_EXPIRED" "FREE_TRIAL_CANCELLED" "DELETED" "FAILED" "UPCOMING" "PENDING_MIGRATION_ACTIVATION" "PENDING_DELAYED_PROVISIONING"

Filters subscriptions by order status

currency
string
Enum: "USD" "CAD" "EUR" "JPY" "GBP" "KRW" "CHF" "SEK" "SGD" "MYR" "AUD" "MXN" "INR" "BRL" "DKK" "NZD" "NOK" "ZAR" "PHP" "CNY" "SAR" "GTQ" "IDR" "ARS" "COP" "PEN"

Filters subscriptions by currency

type
string
Enum: "NEW" "MIGRATION" "ADOPTION" "FREE_TRIAL_ACTIVATION" "TERMINATION_FEE" "END_OF_CONTRACT_MIGRATION" "REFUND" "CREDIT" "ONE_TIME_FEE" "ADDITIONAL_FEE" "END_OF_DISCOUNT_MIGRATION" "METERED_USAGE"

Filters subscriptions by order type.
NEW: The first order of a subscription. The order contains flat fees (one time or recurring) for this subscription. It is active until the subscription is updated or canceled.
MIGRATION: The order created after a subscription change. The order includes flat fees for both one-time and recurring editions.
ADOPTION: The order created by an administrator who has taken ownership of an application from another user within the same company.
FREE_TRIAL_ACTIVATION: Created when a free trial is manually upgraded to a paid subscription. Any subscription that is updated from free trial to paid automatically keeps its NEW status purchase order.
TERMINATION_FEE: A subscription is canceled that had a termination fee. This purchase order represents the fees incurred as a result of the cancellation.
END_OF_CONTRACT_MIGRATION: Created when a subscription update takes place as a result of a contract extension. If the contract autorenewal is set to either continue without a contract or renew the contract with the same pricing plan, then no migration occurs and the original purchase order is updated to include the new end date for the contract.
REFUND: Created when a refund is performed. The refund purchase order is created for only on-platform refunds. Off-platform refunds do not generate this type of purchase order.
CREDIT: Created during subscription update events. Any subscription update calculates a paid period and a credit period. The credit is then provided to the user to prorate the subscription.
ONE_TIME_FEE: Created if an edition includes one-time setup fees.
ADDITIONAL_FEE: Used for off-order charges. A developer change creates an off-order charge and charges their customer a custom amount outside of the normal subscription cycle.
END_OF_DISCOUNT_MIGRATION: Created after a discount of limited duration expires. This purchase order is created to represent the updated costs without the discount.
METERED_USAGE: A purchase order created to accumulate usage fees during a billing period. The order is only valid for the billing period but it is updated with usage lines over the course of the billing period. A metered purchase order is invoiced in arrears at the end of the billing cycle.

frequency
string
Enum: "ONE_TIME" "MONTHLY" "QUARTERLY" "SIX_MONTHS" "YEARLY" "TWO_YEARS" "THREE_YEARS" "DAILY"

Filters subscriptions by pricing frequency

orderReferenceCode
string

Filters subscriptions by order reference code

applicationIds
number

Filters subscriptions by internal application ID

fromCreationDate
number

Filters results to only include subscriptions that were created on or after the specified date

toCreationDate
number

Filters results to only include subscriptions that were created on or before the specified date

count
integer
Default: 250

Number of results to fetch. Used for paging.

sortField
string
Default: "DATE"
Enum: "DATE" "ORDER_ID" "TOTAL"

Sort field.

sortOrder
string
Default: "ASC"
Enum: "ASC" "DESC"

Sort order.

start
integer
Default: 0

First result index. Used for paging.

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/billing/v1/companies/%7BcompanyId%7D/users/%7BuserId%7D/orders?startDateFrom=SOME_NUMBER_VALUE&startDateTo=SOME_NUMBER_VALUE&status=SOME_STRING_VALUE&currency=SOME_STRING_VALUE&type=SOME_STRING_VALUE&frequency=SOME_STRING_VALUE&orderReferenceCode=SOME_STRING_VALUE&applicationIds=SOME_NUMBER_VALUE&fromCreationDate=SOME_NUMBER_VALUE&toCreationDate=SOME_NUMBER_VALUE&count=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_INTEGER_VALUE'

Response samples

Content type
No sample

List all purchase order payments

List all purchase order payments

path Parameters
orderId
required
number

The specific order id for which information is requested

query Parameters
count
string
Default: "250"

Number of results to fetch. Used for paging.

fromDate
number

Filter by the start date of the invoice

method
string
Enum: "ADP_INVOICE" "ARIBAPAY" "BT_BILL" "CLICKANDBUY" "CLOUDFOUNDRY" "CREDIT_CARD" "CUMULA_BILL" "DTAG" "EXTERNAL_INVOICE" "KREDITKARTE" "LASTSCHRIFT_MRNEXNET" "MANO_TEO_BILL" "MANUAL" "MARKETPLACE_CREDITS" "NETS_ARVATO_INVOICE" "NEXTEL" "PAYPAL" "ROGERS_CC_DTMF" "ROGERS_CC_POS" "SNAP" "TBILL" "THISTLE" "TOICLEARING"

Filter by method of the payment

result
string
Enum: "FAILED" "GATEWAY_NOT_AVAILABLE" "MANUAL" "SUCCESSFUL"

Filter by results of the payment

sortField
string
Default: "PAYMENT_ID"
Enum: "AMOUNT" "DATE" "PAYMENT_ID"

The filed to be used for sorting com.appdirect.backend.api.billing.types.OrderSortWS.

sortOrder
string
Default: "ASC"
Enum: "ASC" "DESC"

Sort order org.springframework.data.domain.Sort.Direction.

start
string
Default: "0"

First result index. Used for paging.

toDate
number

Filter by the end date of the invoice

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/billing/v1/orders/%7BorderId%7D/payments?count=SOME_STRING_VALUE&fromDate=SOME_NUMBER_VALUE&method=SOME_STRING_VALUE&result=SOME_STRING_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_STRING_VALUE&toDate=SOME_NUMBER_VALUE'

Response samples

Content type
No sample

List all purchase orders

List all purchase orders

Required Scopes and Authorization Rules
  • ROLE_PARTNER_READ -

    Allows access to read all marketplace data.

query Parameters
startDateFrom
number

Filters results to only include subscriptions that were started on or after the specified date

startDateTo
number

Filters results to only include subscriptions that were started on or before the specified date

status
string
Enum: "INITIALIZED" "PENDING_USER_APPROVAL" "PENDING_REMOTE_CREATION" "PENDING_MANUAL_RECOVERY" "PENDING_ASYNCHRONOUS_CREATION" "FREE_TRIAL" "ACTIVE" "FINISHED" "ONE_TIME" "CANCELLED" "SUSPENDED" "FREE_TRIAL_EXPIRED" "FREE_TRIAL_CANCELLED" "DELETED" "FAILED" "UPCOMING" "PENDING_MIGRATION_ACTIVATION" "PENDING_DELAYED_PROVISIONING"

Filters orders with an order status

currency
string
Enum: "USD" "CAD" "EUR" "JPY" "GBP" "KRW" "CHF" "SEK" "SGD" "MYR" "AUD" "MXN" "INR" "BRL" "DKK" "NZD" "NOK" "ZAR" "PHP" "CNY" "SAR" "GTQ" "IDR" "ARS" "COP" "PEN"

Filters orders by currency

type
string
Enum: "NEW" "MIGRATION" "ADOPTION" "FREE_TRIAL_ACTIVATION" "TERMINATION_FEE" "END_OF_CONTRACT_MIGRATION" "REFUND" "CREDIT" "ONE_TIME_FEE" "ADDITIONAL_FEE" "END_OF_DISCOUNT_MIGRATION" "METERED_USAGE"

Filters orders by type.
NEW: The first order of a subscription. The order contains flat fees (one time or recurring) for this subscription. It is active until the subscription is updated or canceled.
MIGRATION: The order created after a subscription change. The order includes flat fees for both one-time and recurring editions.
ADOPTION: The order created by an administrator who has taken ownership of an application from another user within the same company.
FREE_TRIAL_ACTIVATION: Created when a free trial is manually upgraded to a paid subscription. Any subscription that is updated from free trial to paid automatically keeps its NEW status purchase order.
TERMINATION_FEE: A subscription is canceled that had a termination fee. This purchase order represents the fees incurred as a result of the cancellation.
END_OF_CONTRACT_MIGRATION: Created when a subscription update takes place as a result of a contract extension. If the contract autorenewal is set to either continue without a contract or renew the contract with the same pricing plan, then no migration occurs and the original purchase order is updated to include the new end date for the contract.
REFUND: Created when a refund is performed. The refund purchase order is created for only on-platform refunds. Off-platform refunds do not generate this type of purchase order.
CREDIT: Created during subscription update events. Any subscription update calculates a paid period and a credit period. The credit is then provided to the user to prorate the subscription.
ONE_TIME_FEE: Created if an edition includes one-time setup fees.
ADDITIONAL_FEE: Used for off-order charges. A developer change creates an off-order charge and charges their customer a custom amount outside of the normal subscription cycle.
END_OF_DISCOUNT_MIGRATION: Created after a discount of limited duration expires. This purchase order is created to represent the updated costs without the discount.
METERED_USAGE: A purchase order created to accumulate usage fees during a billing period. The order is only valid for the billing period but it is updated with usage lines over the course of the billing period. A metered purchase order is invoiced in arrears at the end of the billing cycle.

frequency
string
Enum: "ONE_TIME" "MONTHLY" "QUARTERLY" "SIX_MONTHS" "YEARLY" "TWO_YEARS" "THREE_YEARS" "DAILY"

Filters orders by payment frequency

orderReferenceCode
string

Filters orders by order reference code

applicationIds
number

Filters orders by internal application ID

fromCreationDate
number

Filters results to only include subscriptions that were created on or after the specified date

toCreationDate
number

Filters results to only include subscriptions that were created on or before the specified date

page
integer
Default: 0

First result index. Used for paging.

referenceCode
string
Default: ""

Code provided by resellers and Sales Reps while purchasing a subscription

size
integer
Default: 50

Number of results to fetch. Used for paging.

sortField
string
Default: "DATE"
Enum: "DATE" "ORDER_ID" "TOTAL"

The filed to be used for sorting com.appdirect.backend.api.billing.types.OrderSortWS.

sortOrder
string
Default: "ASC"
Enum: "ASC" "DESC"

Sort order org.springframework.data.domain.Sort.Direction.

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/billing/v1/orders?startDateFrom=SOME_NUMBER_VALUE&startDateTo=SOME_NUMBER_VALUE&status=SOME_STRING_VALUE&currency=SOME_STRING_VALUE&type=SOME_STRING_VALUE&frequency=SOME_STRING_VALUE&orderReferenceCode=SOME_STRING_VALUE&applicationIds=SOME_NUMBER_VALUE&fromCreationDate=SOME_NUMBER_VALUE&toCreationDate=SOME_NUMBER_VALUE&page=SOME_INTEGER_VALUE&referenceCode=SOME_STRING_VALUE&size=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE'

Response samples

Content type
No sample

Retrieve a purchase order

Retrieve a purchase order.

Rate limit: Bucket size is 20 requests, with a leak rate of 4 requests per second.

Rate limit uses leaky bucket algorithm. Usage of a leaky bucket algorithm allows client applications to make an unlimited number of requests over a large time horizon but prevents excessively large bursts over a short one.

path Parameters
orderId
required
number

The specific order id for which information is requested

query Parameters
expand
Array of strings

Provide the list of comma separated resource name (possible values = "user,company,salesSupportUser") which is needed to be expanded in the response

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/billing/v1/orders/%7BorderId%7D?expand=SOME_ARRAY_VALUE'

Response samples

Content type
No sample

Update purchase order configuration details

Update purchase order configuration details

path Parameters
orderId
required
number

Id of the specific purchase order to update

Request Body schema: application/json

List of parameters which needs to be update

Array
name
string or null
value
string or null

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
No sample

List all purchase order invoices

List all purchase order invoices

path Parameters
orderId
required
number

The specific order id for which information is requested

query Parameters
count
string
Default: "250"

Number of results to fetch. Used for paging.

excludeFree
boolean

Exclude invoices whose amount is zero

fromDate
number

Filter by the start date of the invoice

sortField
string
Default: "INVOICE_ID"
Enum: "DATE" "INVOICE_ID" "TOTAL"

The filed to be used for sorting com.appdirect.backend.api.billing.types.OrderSortWS.

sortOrder
string
Default: "ASC"
Enum: "ASC" "DESC"

Sort order org.springframework.data.domain.Sort.Direction.

start
string
Default: "0"

First result index. Used for paging.

status
string
Enum: "CARRIED" "PAID" "UNPAID" "VOIDED"

Filter by the status of the invoice

toDate
number

Filter by the end date of the invoice

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/billing/v1/orders/%7BorderId%7D/invoices?count=SOME_STRING_VALUE&excludeFree=SOME_BOOLEAN_VALUE&fromDate=SOME_NUMBER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_STRING_VALUE&status=SOME_STRING_VALUE&toDate=SOME_NUMBER_VALUE'

Response samples

Content type
No sample

Purchase Orders (Reseller)

List orders

Retrieves a list of all user orders of a linked company. You can filter the list using optional query parameters.

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller for the company

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager for the company

query Parameters
context
required
string
Value: "RESELLER, RESELLER_MANAGER"

Supported billing contexts

number
integer

Page number

size
integer

Number of results per page

sort
string

Sort field and order. For ascending sort order, use the '+[FieldName]' format. For descending order, use the '-[FieldName]' format.

userId
string

For RESELLER, the customer's user ID; for RESELLER_MANAGER, the Reseller's user ID

resellerCompanyId
required
string

Reseller's company ID. Required only for the RESELLER_MANAGER context.

customerCompanyId
required
string

User's company ID. Required only for the RESELLER context.

createdOn
string

Date filter, defined by upper or lower inclusive or exclusive limits, in Unix timestamp format. Acceptable values are: gte([timestamp]) - 'greater than or equal to'; gt([timestamp]) - 'greater than'; lte([timestamp]) - 'less than or equal to'; or lt([timestamp]) - 'less than.'

status
string

Order status (valid status are INITIALIZED, PENDING_USER_APPROVAL, PENDING_REMOTE_CREATION, PENDING_MANUAL_RECOVERY, PENDING_ASYNCHRONOUS_CREATION, FREE_TRIAL, ACTIVE, FINISHED, ONE_TIME, CANCELLED, SUSPENDED, FREE_TRIAL_EXPIRED, FREE_TRIAL_CANCELLED, DELETED, FAILED, UPCOMING, PENDING_MIGRATION_ACTIVATION, PENDING_DELAYED_PROVISIONING)

paidStatus
string
Value: "PAID, FREE"

Status of the subscription related to the payment of this order

pending
boolean

Indicates whether order has pending events

searchText
string

Search text

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/appReseller/v1/orders?context=SOME_STRING_VALUE&number=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&sort=SOME_STRING_VALUE&userId=SOME_STRING_VALUE&resellerCompanyId=SOME_STRING_VALUE&customerCompanyId=SOME_STRING_VALUE&createdOn=SOME_STRING_VALUE&status=SOME_STRING_VALUE&paidStatus=SOME_STRING_VALUE&pending=SOME_BOOLEAN_VALUE&searchText=SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "content": [
    ],
  • "page": {
    }
}

Quote Versions

Create quote version

Creates a quote version from a quote source

Required: Accept-Language header with Locale format. For example: en-US

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller to the opportunity

  • ROLE_SALES_SUPPORT -

    Allows access as Sales Support to the opportunity

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager to the opportunity

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager to the opportunity

Request Body schema: application/json
required

Details about the quote version being created

name
string

The name of the quote version

required
object (User)
required
object (QuoteVersionSource)

Responses

Request samples

Content type
application/json
{
  • "source": {
    },
  • "name": "Quote version name",
  • "createdBy": {
    }
}

Response samples

Content type
application/json
{
  • "id": "e8801dc6-8c0f-4c0b-82bc-99c4ebfb5e8a",
  • "name": "API quote version",
  • "createdOn": 1674590164842,
  • "createdBy": {
    },
  • "status": "OPEN",
  • "ownerUser": {
    },
  • "customerUser": {
    },
  • "availableActions": [
    ]
}

A list of quote versions

List quote versions based on a source type and ID

Required: Accept-Language header with Locale format. For example: en-US

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller to the opportunity

  • ROLE_SALES_SUPPORT -

    Allows access as Sales Support to the opportunity

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager to the opportunity

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager to the opportunity

query Parameters
sourceId
string

The source ID

sourceType
string
Enum: "OPPORTUNITY" "PLACE_HOLDER"

The source type of the quote version

status
string

The status of the quote version

after
string

The page number

first
integer

The number of results per page to return

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/assistedSales/v1/quotes?sourceId=SOME_STRING_VALUE&sourceType=SOME_STRING_VALUE&status=SOME_STRING_VALUE&after=SOME_STRING_VALUE&first=SOME_INTEGER_VALUE'

Response samples

Content type
application/json
{
  • "quotes": [
    ],
  • "pageInfo": {
    },
  • "totalCount": 2
}

Execute action on a quote version

Execute the action passed by the parameter on the quote version

Required: Accept-Language header with Locale format. For example: en-US"

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller to the opportunity

  • ROLE_SALES_SUPPORT -

    Allows access as Sales Support to the opportunity

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager to the opportunity

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager to the opportunity

path Parameters
quoteId
required
string

The ID of a quote version

Request Body schema: application/json
required

Details about the action to be executed on the quote version

action
required
string

Action name to be executed to a quote version

Responses

Request samples

Content type
application/json
{
  • "action": "REQUEST_CUSTOMER_APPROVAL"
}

Response samples

Content type
application/json
{
  • "id": "757d0f09-385c-41df-9781-d6df98584953",
  • "name": "API quote version",
  • "createdBy": {
    },
  • "status": "PENDING",
  • "availableActions": [
    ]
}

Get a quote version

Get a quote version from a quote ID

Required: Accept-Language header with Locale format. For example: en-US

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller to the opportunity

  • ROLE_SALES_SUPPORT -

    Allows access as Sales Support to the opportunity

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager to the opportunity

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager to the opportunity

path Parameters
quoteId
required
string

The ID of a quote version

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/assistedSales/v1/quotes/%7BquoteId%7D

Response samples

Content type
application/json
{
  • "id": "757d0f09-385c-41df-9781-d6df98584953",
  • "displayId": "Q5701241",
  • "name": "API quote version",
  • "createdOn": 1674574349898,
  • "createdBy": {
    },
  • "status": "OPEN",
  • "ownerUser": {
    },
  • "customerUser": {
    },
  • "currency": "USD",
  • "pricingTotals": {
    },
  • "items": [
    ],
  • "quoteSource": {
    },
  • "availableActions": [
    ]
}

Reconciliation

Retrieve ledger lines

Retrieve ledger lines generated for a specific role. Example, retrieve all ledger lines that a reseller manager has against all resellers

query Parameters
context
required
string
Value: "RESELLER_MANAGER"

Currently only supported value is 'RESELLER_MANAGER'

page
integer

Page number to be returned in the result. Default value is 1

size
integer

Size of the page to be returned. Default value is 50, maximum allowed is 250

sortOrder
string
Enum: "ASC" "DESC"

Sorting is done against 'reconciliationDate'. Defaults to sorting in ascending order

fromDate
number

Filters ledger lines from given date. Filtering is performed against the reconciliation date of the ledger line. The parameter represents milliseconds since epoch date, but only the date part is taken into account. The time component is ignored

toDate
number

Filters ledger lines until given date. Filtering is performed against the reconciliation date of the ledger line. The parameter represents milliseconds since epoch date, but only the date part is taken into account. The time component is ignored

reconciliationType
string
Enum: "ITEM" "TAX" "DISCOUNT" "TERMINATION_FEE" "ADJUSTMENT" "RESELLER_MARKUP" "CHANNEL_MARKUP" "APPDIRECT_FEE"

Filters by ledger line reconciliation type

operationType
string
Enum: "CREDIT" "DEBIT"

Filters by ledger line operation type

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/v3/reconciliation/ledgerLines?context=SOME_STRING_VALUE&page=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&sortOrder=SOME_STRING_VALUE&fromDate=SOME_NUMBER_VALUE&toDate=SOME_NUMBER_VALUE&reconciliationType=SOME_STRING_VALUE&operationType=SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "links": [ ],
  • "content": [
    ],
  • "page": {
    }
}

Reconciliation (Reseller)

List transfers

Retrieves all transfers

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows Resellers to access their transfers

query Parameters
number
integer
Default: 1

Page number

size
integer
Default: 10

Number of results per page

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/reseller/v1/reconciliation/transfers?number=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE'

Response samples

Content type
application/json
{
  • "content": [
    ],
  • "page": {
    }
}

Retrieve transfer details

Retrieves the summary of a transfer, which includes the date of the transfer, the transfer status, currency, net payable and net receivable

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows Resellers to access their transfer details

path Parameters
transferId
required
string

Transfer ID

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/reseller/v1/reconciliation/transfers/%7BtransferId%7D

Response samples

Content type
application/json
{
  • "id": "2319ee21-185c-485e-bcb0-18328b49b58f",
  • "transferRequestId": 3,
  • "status": "COMPLETE",
  • "accountReceivable": 0,
  • "accountPayable": 52,
  • "netReceivable": 0,
  • "netPayable": 52,
  • "currency": "USD",
  • "transferDate": 1572451157602
}

List transfer ledger lines

Retrieves the ledger lines of a transfer

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows Resellers to access their transfer ledger lines

path Parameters
transferId
required
string

Transfer ID

query Parameters
number
integer
Default: 1

Page number

size
integer
Default: 5

Number of results per page

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/reseller/v1/reconciliation/transfers/%7BtransferId%7D/details?number=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE'

Response samples

Content type
application/json
{
  • "content": [
    ],
  • "page": {
    }
}

Reports v1

List all reports

Lists all reports that are automatically generated on your marketplace.

query Parameters
count
integer

The number of reports to return from the results

fromDate
number

The report generation start date and time, in epoch time

start
integer

The lower bound index for the requested results

toDate
number

The report generation end date and time, in epoch time

type
string
Enum: "ACTIVE_UNCONVERTED_USERS" "APPLICATION_USAGE" "CANCELLED_ENTITLEMENTS" "COMPANIES_CSV" "CONTRACT_TERM" "CUSTOMERS_CSV" "CUSTOMER_ACQUISITION_BONUS" "CUSTOMER_RETENTION_BONUS" "FAILED_ORDERS" "FAILURE_INTEGRATION_EVENT" "FREE_TRIALS" "GENERAL_PERFORMANCE_REPORT" "INVOICES" "INVOICES_CSV" "MICROSOFT_RECONCILIATION" "MIGRATION_PRODUCT_DATA" "MOSI_ACQUISITION_BONUS" "MOSI_RETENTION_BONUS" "NOT_USED_APP" "ORDER_EDITIONS_CSV" "ORDER_PRODUCTS_CSV" "PAYMENTS_DETAIL_CSV" "PAYMENTS_OVERVIEW_CSV" "RECONCILIATION" "RE_CALCULATE_SUBSCRIPTION_PRICES" "SUSPENDED_PURCHASED" "TAXES" "TRANSACTIONS" "VOICE_CONN_CSV"

Report type

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/reporting/v1/reports?count=SOME_INTEGER_VALUE&fromDate=SOME_NUMBER_VALUE&start=SOME_INTEGER_VALUE&toDate=SOME_NUMBER_VALUE&type=SOME_STRING_VALUE'

Response samples

Content type
No sample

Retrieve a report

This call returns all details from a specific report.

path Parameters
id
required
number

Report ID

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/reporting/v1/report/%7Bid%7D

Delete report

This call deletes a report from your marketplace

path Parameters
id
required
number

Report ID

Responses

Request samples

curl --request DELETE \
  --url https://marketplace.appdirect.com/api/reporting/v1/report/%7Bid%7D

Reports V2

List all reports

Lists all reports generated from your marketplace.

query Parameters
ownerType
string
Enum: "ROLE_CHANNEL_ADMIN" "ROLE_DEVELOPER" "ROLE_RESELLER_MANAGER" "ROLE_PARTNER"

The owner type that is allowed access to the reports

reportName
string

Filter reports by name

date
string

Time bound for the report creation date: could be of the form 'gte([Unix timestamp])' for a lower bound (inclusive) or 'lte([Unix timestamp])' for an upper bound (inclusive).

number
integer
Default: 1

The page number of the requested result. The first page has index 1

size
integer
Default: 50

The page size of the requested result

searchText
string

Show only reports whose names contain this text

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/reporting/v2/reports?ownerType=SOME_STRING_VALUE&reportName=SOME_STRING_VALUE&date=SOME_STRING_VALUE&number=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&searchText=SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "content": [
    ],
  • "page": {
    }
}

Download a report file

Download an individual report

path Parameters
reportUuid
required
string

Report UUID

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/reporting/v2/reports/%7BreportUuid%7D

Reseller Catalog

List sellable products

Retrieve all products that a Reseller can sell.

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

query Parameters
page
integer

Page number

size
integer

Number of results per page

searchText
string

Search text

targetUserId
string

Current user ID

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/appReseller/v1/catalog/sellableProducts?page=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&searchText=SOME_STRING_VALUE&targetUserId=SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "links": [ ],
  • "content": [
    ],
  • "page": {
    }
}

Edition details

Get product editions, costs and markups.

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

path Parameters
productId
required
string

Product ID

query Parameters
targetUserId
string

User ID

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/appReseller/v1/catalog/sellableProducts/%7BproductId%7D/editions?targetUserId=SOME_STRING_VALUE'

Response samples

Content type
application/json
[
  • {
    }
]

Search

Segment Folders

Create segment folders

Creates a segment folder

Required Scopes and Authorization Rules
  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

Request Body schema: application/json
required
name
required
string <= 255 characters

Segment folder name

Responses

Request samples

Content type
application/json
{
  • "name": "Fortune 500 Companies"
}

Response samples

Content type
application/json
{
  • "id": "7e3b3bb8-1b75-408b-8cbf-561ccd910479",
  • "name": "Fortune 500 Companies",
  • "enable": true,
  • "partner": "APPDIRECT"
}

Read segment folders

Returns a paginated list of segment folders for the marketplace

Required Scopes and Authorization Rules
  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

query Parameters
number
integer
Default: 0

Page number

size
integer <= 250
Default: 50

Number of results per page

sort
string
Default: "+name"

Sort field and order. For ascending sort order, use the '+[FieldName]' format. For descending order, use the '-[FieldName]' format.

name
string

Search text

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/channel/v1/companyGroups?number=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&sort=SOME_STRING_VALUE&name=SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "content": [
    ],
  • "page": {
    }
}

Update segment folders

Updates a segment folder

Required Scopes and Authorization Rules
  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

path Parameters
companyGroupId
required
string

Segment folder ID

Request Body schema: application/json
required
name
required
string <= 255 characters

Segment folder name

Responses

Request samples

Content type
application/json
{
  • "name": "Fortune 500 Companies"
}

Response samples

Content type
application/json
{
  • "code": "EXTERNAL_ERROR",
  • "message": "Execution of an external dependency failed with message: User with email random@appdirect.com was not found in the linked account."
}

Delete segment folder

Deletes a segment folder, all associated segments, and all product associations

Required Scopes and Authorization Rules
  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

path Parameters
companyGroupId
required
string

Segment folder ID

Responses

Request samples

curl --request DELETE \
  --url https://marketplace.appdirect.com/api/channel/v1/companyGroups/%7BcompanyGroupId%7D

Delete segments from segment folders

Deletes a segment from a segment folder

Required Scopes and Authorization Rules
  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

path Parameters
companyGroupId
required
string

Segment folder ID

companySegmentId
required
string

Segment ID

Responses

Request samples

curl --request DELETE \
  --url https://marketplace.appdirect.com/api/channel/v1/companyGroups/%7BcompanyGroupId%7D/segments/%7BcompanySegmentId%7D

Read segments

Returns a paginated list of segments

Required Scopes and Authorization Rules
  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

query Parameters
companyGroupId
required
string

Segment folder ID

number
integer
Default: 0

Page number

size
integer <= 250
Default: 50

Number of results per page

sort
string^[+-]name$
Default: "+name"

Sort field and order. For ascending sort order, use the '+[FieldName]' format. For descending order, use the '-[FieldName]' format.

searchText
string

Search text

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/channel/v1/segments?companyGroupId=SOME_STRING_VALUE&number=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&sort=SOME_STRING_VALUE&searchText=SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "content": [
    ],
  • "page": {
    }
}

Create manual segment

Creates a manual segment. Manual segments allow Marketplace Managers to select companies manually, as opposed to dynamic segments, which contain user selected automatically based on filter values.

Required Scopes and Authorization Rules
  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

query Parameters
companyGroupId
required
string

Segment folder ID

Request Body schema: application/json
required
name
required
string [ 1 .. 255 ] characters

Segment name

code
string [ 1 .. 255 ] characters

Segment code

Responses

Request samples

Content type
application/json
{
  • "name": "Canada",
  • "code": "XXYU"
}

Response samples

Content type
application/json
{
  • "id": "9f4e5c52-5258-4193-a132-303f06e9eef1",
  • "name": "Canada",
  • "partner": "APPDIRECT",
  • "code": "CAN",
  • "type": "MANUAL"
}

Update manual segments

Updates a manual segment

Required Scopes and Authorization Rules
  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

path Parameters
companySegmentId
required
string

Segment ID

Request Body schema: application/json
required
name
required
string [ 1 .. 255 ] characters

Segment name

code
string [ 1 .. 255 ] characters

Segment code

Responses

Request samples

Content type
application/json
{
  • "name": "Canada",
  • "code": "XXYU"
}

Response samples

Content type
application/json
{
  • "code": "EXTERNAL_ERROR",
  • "message": "Execution of an external dependency failed with message: User with email random@appdirect.com was not found in the linked account."
}

Create or remove segment-company associations

Creates or removes associations between segments and companies

Required Scopes and Authorization Rules
  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

path Parameters
companySegmentId
required
string

Segment ID

Request Body schema: application/json
required
deleteAll
required
boolean

Set to true to delete all associations

companyIdsToAdd
required
Array of strings

The list of company IDs to associate with the segment, up to a maximum of 1000 IDs

companyIdsToRemove
required
Array of strings

The list of company IDs to disassociate from the segment, up to a maximum of 1000 IDs

Responses

Request samples

Content type
application/json
{
  • "deleteAll": "false",
  • "companyIdsToAdd": [
    ],
  • "companyIdsToRemove": [
    ]
}

Response samples

Content type
application/json
{
  • "code": "EXTERNAL_ERROR",
  • "message": "Execution of an external dependency failed with message: User with email random@appdirect.com was not found in the linked account."
}

Read segment companies

Returns a paginated list of all marketplace companies and indicates whether they are associated with the segment

Required Scopes and Authorization Rules
  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

path Parameters
companySegmentId
required
string

Segment ID

query Parameters
number
integer
Default: 0

Page number

size
integer <= 250
Default: 50

Number of results per page

sort
string^[+-]name$
Default: "+name"

Sort field and order. For ascending sort order, use the '+[FieldName]' format. For descending order, use the '-[FieldName]' format.

searchText
string

Search text

selected
boolean
Default: false

If true, returns only associated companies

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/channel/v1/segments/%7BcompanySegmentId%7D/availableAndAssociatedCompanies?number=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&sort=SOME_STRING_VALUE&searchText=SOME_STRING_VALUE&selected=SOME_BOOLEAN_VALUE'

Response samples

Content type
application/json
{
  • "content": [
    ],
  • "page": {
    }
}

Update dynamic segments

Updates a dynamic segment

Required Scopes and Authorization Rules
  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

path Parameters
dynamicSegmentId
required
string

Segment ID

Request Body schema: application/json
required
name
required
string [ 1 .. 255 ] characters

Segment name

code
string [ 1 .. 255 ] characters

Segment code

required
Array of objects (Filters) [ items ]

Dynamic filter

Responses

Request samples

Content type
application/json
{
  • "name": "Canada",
  • "code": "XXYU",
  • "filters": [
    ]
}

Response samples

Content type
application/json
{
  • "code": "EXTERNAL_ERROR",
  • "message": "Execution of an external dependency failed with message: User with email random@appdirect.com was not found in the linked account."
}

Read filter parameters

Returns a list of parameters for the dynamic filter

Required Scopes and Authorization Rules
  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

query Parameters
locale
string
Default: "en_US"

Locale

header Parameters
AD-Tenant
required
string(\s*\S+\s*)+

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/channel/v1/segments/dynamicSegments/filterParameters?locale=SOME_STRING_VALUE' \
  --header 'AD-Tenant: SOME_STRING_VALUE'

Response samples

Content type
application/json
[
  • {
    }
]

Test dynamic segments

Determines whether the specified user matches the specified dynamic segment

Required Scopes and Authorization Rules
  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

path Parameters
userEmail
required
string

User email address

Request Body schema: application/json
required
name
required
string [ 1 .. 255 ] characters

Segment name

code
string [ 1 .. 255 ] characters

Segment code

required
Array of objects (Filters) [ items ]

Dynamic filter

Responses

Request samples

Content type
application/json
{
  • "name": "Canada",
  • "code": "XXYU",
  • "filters": [
    ]
}

Response samples

Content type
application/json
{
  • "matches": "true"
}

Read dynamic segments

Reads a dynamic segment

Required Scopes and Authorization Rules
  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

query Parameters
dynamicSegmentId
required
string

Dynamic segment ID

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/channel/v1/segments/dynamicSegments?dynamicSegmentId=SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "id": "9f4e5c52-5258-4193-a132-303f06e9eef1",
  • "name": "Canada",
  • "partner": "APPDIRECT",
  • "code": "CAN",
  • "type": "DYNAMIC",
  • "filters": [
    ]
}

Create dynamic segments

Creates a dynamic segment. Dynamic segments contain user selected automatically based on filter values, as opposed to manual segments, in which Marketplace Managers select companies manually.

Required Scopes and Authorization Rules
  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

query Parameters
companyGroupId
required
string

Segment folder ID

Request Body schema: application/json
required
name
required
string [ 1 .. 255 ] characters

Segment name

code
string [ 1 .. 255 ] characters

Segment code

required
Array of objects (Filters) [ items ]

Dynamic filter

Responses

Request samples

Content type
application/json
{
  • "name": "Canada",
  • "code": "XXYU",
  • "filters": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "9f4e5c52-5258-4193-a132-303f06e9eef1",
  • "name": "Canada",
  • "partner": "APPDIRECT",
  • "code": "CAN",
  • "type": "DYNAMIC",
  • "filters": [
    ]
}

Settings

List channel settings

Use the GET method to list channel settings for a specific channel.

path Parameters
partner
required
string

channel name

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/channel/v1/settings/%7Bpartner%7D

Response samples

Content type
application/json
{
  • "privacyPolicyUrlMap": { },
  • "minimumReviewsForRating": 1,
  • "resellerTermsUrlMap": { },
  • "importAppsConfigurable": false,
  • "companyName": "",
  • "encryptBankAccount": false,
  • "metaDescription": null,
  • "allCompaniesVendors": false,
  • "identityProvider": false,
  • "smtpBcc": "",
  • "marketplaceUsername": "",
  • "supportUrlMap": { },
  • "analyticsId": "",
  • "supportEmailMap": { },
  • "hideCustomerInfoFromDevelopers": false,
  • "canImpersonate": true,
  • "emailCopySalesRepOnBillingEvents": false,
  • "showSocialMediaLinks": false,
  • "forceReauthentication": false,
  • "allAdmins": false,
  • "changeOwnershipRequestEmail": "",
  • "developerTermsUrlMap": { },
  • "phoneNumberRequired": false,
  • "approvesUserContent": false,
  • "developerCanViewLeads": false,
  • "marketplacePassword": "",
  • "termsUrlMap": { },
  • "marketplaceNameMap": {
    },
  • "reviewRequirePurchase": false,
  • "domainReactivationEmail": "",
  • "hideQuestions": false,
  • "passwordProtected": false,
  • "metaNoIndex": false,
  • "developerDocsUrl": "",
  • "faviconFileKey": "",
  • "supportPhone": "",
  • "keychainApiRealmId": null,
  • "smtpFromMap": {
    },
  • "companySyncAutoCreateCompaniesEnabled": false,
  • "logoFileKey": null,
  • "versionManagementApiClientId": "",
  • "hideChannelUserInfoFromCustomers": false,
  • "trustedURLs": [ ],
  • "reportsEmail": "",
  • "encryptReports": false,
  • "selfManagedCompanyStructure": false,
  • "betaProductCustomAttribute": false,
  • "securityPolicy": "DEFAULT",
  • "companySyncEnabled": false,
  • "authenticationGracePeriodInSeconds": 60,
  • "resellerLeadsTermsUrlMap": { },
  • "hideSupportSection": false,
  • "metaKeyWords": null,
  • "keychainApiUrl": null,
  • "companySyncInviteAdminOnCompanyCreationEnabled": false,
  • "developerTermsUpdatedOn": null,
  • "showProfiles": true,
  • "supportContactUrlMap": { }
}

Update channel settings

Use the PATCH method to update one or more channel settings.

path Parameters
partner
required
string

channel name

Request Body schema: application/json

a list of settings to update

Array
setting
required
string

Channel setting name

value
string

Channel setting value

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

ShoppingCart

Operations related to shopping carts

List shopping carts

Returns all ACTIVE and FINISHED shopping carts

query Parameters
buyerUserId
string

Buyer user ID

buyerCompanyId
string

Buyer user company ID

ownerUserId
string

Owner user ID

ownerCompanyId
string

Owner company ID

productId
string

Product ID

status
Array of strings

Shopping cart status

partner
string

Shopping cart partner (This field is not public to client)

number
integer
Default: 1

1-based page index

size
integer
Default: 10

The number of results per page to return

sortField
string
Default: "createdOn"

Sort field

sortOrder
string
Default: "ASC"
Enum: "ASC" "DESC"

Sort order.

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/v3/checkout/shoppingCarts?buyerUserId=SOME_STRING_VALUE&buyerCompanyId=SOME_STRING_VALUE&ownerUserId=SOME_STRING_VALUE&ownerCompanyId=SOME_STRING_VALUE&productId=SOME_STRING_VALUE&status=SOME_ARRAY_VALUE&partner=SOME_STRING_VALUE&number=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "content": [
    ],
  • "page": {
    }
}

Create shopping carts

Creates a shopping cart

header Parameters
AD-ShoppingCart-Partner
required
string

The partner code of a marketplace

Request Body schema: application/json
required

ShoppingCartWS

id
string

Shopping cart ID

createdOn
string

Shopping cart creation date

ownerUserId
string
Default: ""

Cart owner user ID

ownerCompanyId
string
Default: ""

Cart owner company ID

buyerType
string (BuyerType)
Default: "CUSTOMER"
Enum: "CUSTOMER" "PLATFORM_OWNER" "PARTNER"

Describes the buyer's relationship with the platform, either CUSTOMER (end user), PLATFORM_OWNER (sales representative) or PARTNER (reseller)

currency
string (Currency)
Default: "USD"
Enum: "USD" "CAD" "EUR" "JPY" "GBP" "KRW" "CHF" "SEK" "SGD" "MYR" "AUD" "MXN" "INR" "BRL" "DKK" "NZD" "NOK" "ZAR" "PHP" "CNY" "SAR" "GTQ" "IDR" "ARS" "COP" "PEN"

Supported currencies for the system

status
string

Shopping cart status

isBlocked
boolean
Default: false

Shopping Cart is locked waiting for an external event

paymentMethodId
string
Default: ""

Payment method ID

preAuthId
string
Default: ""

Cart payment pre-authorization ID

locale
string
Default: ""

Locale of shopping cart (ISO 639 language, ISO 3166 country, variant).

buyerUserId
string
Default: ""

User ID of the buyer (customer, reseller, sales representative) who initiates the purchase

buyerCompanyId
string
Default: ""

Buyer company ID

Array of objects (ShoppingCartItem)
object (ShoppingCartCustomAttributes)

Custom attributes for the purchase, buyer, and owner

Array of objects (Association)

Item associations

Array of objects (Fee)

Cart fees

Array of objects (AccreditedAgent)

Responses

Request samples

Content type
application/json
{
  • "id": "4f59d160-0e63-45c4-bb91-7ebe873da29f",
  • "createdOn": "2020-10-12 07:20:50.52Z",
  • "ownerUserId": "83407ce8-373f-11e6-ac61-9e71128cae77",
  • "ownerCompanyId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
  • "buyerType": "CUSTOMER",
  • "currency": "USD",
  • "status": "ACTIVE",
  • "isBlocked": false,
  • "paymentMethodId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
  • "preAuthId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
  • "locale": "en_US",
  • "buyerUserId": "83407ce8-373f-11e6-ac61-9e71128cae77",
  • "buyerCompanyId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
  • "items": [
    ],
  • "customAttributes": {
    },
  • "associations": [
    ],
  • "fees": [
    ],
  • "accreditedAgents": [
    ]
}

Response samples

Content type
application/json
{
  • "ownerUserId": "01ada338-52fb-42b8-8c47-c72c30b8a602",
  • "ownerCompanyId": "08a28380-b2cf-4915-aaf8-2958b350b090",
  • "buyerType": "CUSTOMER",
  • "currency": "USD",
  • "buyerUserId": "01ada338-52fb-42b8-8c47-c72c30b8a602",
  • "buyerCompanyId": "08a28380-b2cf-4915-aaf8-2958b350b090",
  • "items": [
    ]
}

Retrieve shopping cart

Retrieves the specified shopping cart

path Parameters
shoppingCartId
required
string

Shopping cart ID

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/v3/checkout/shoppingCarts/%7BshoppingCartId%7D

Response samples

Content type
application/json
{
  • "id": "5bda3aeedd54f113e3694422",
  • "createdOn": "1541028590204",
  • "ownerUserId": "01ada338-52fb-42b8-8c47-c72c30b8a602",
  • "ownerCompanyId": "08a28380-b2cf-4915-aaf8-2958b350b090",
  • "buyerUserId": "01ada338-52fb-42b8-8c47-c72c30b8a602",
  • "buyerCompanyId": "08a28380-b2cf-4915-aaf8-2958b350b090",
  • "buyerType": "CUSTOMER",
  • "currency": "USD",
  • "status": "ACTIVE",
  • "items": [
    ],
  • "customAttributes": {
    }
}

Delete shopping carts

Deletes the specified shopping cart

path Parameters
shoppingCartId
required
string

Shopping cart ID

Responses

Request samples

curl --request DELETE \
  --url https://marketplace.appdirect.com/api/v3/checkout/shoppingCarts/%7BshoppingCartId%7D

Update shopping carts

Updates the specified shopping cart

path Parameters
shoppingCartId
required
string

Shopping cart ID

Request Body schema: application/json
required

ShoppingCartWS

id
string

Shopping cart ID

createdOn
string

Shopping cart creation date

ownerUserId
string
Default: ""

Cart owner user ID

ownerCompanyId
string
Default: ""

Cart owner company ID

buyerType
string (BuyerType)
Default: "CUSTOMER"
Enum: "CUSTOMER" "PLATFORM_OWNER" "PARTNER"

Describes the buyer's relationship with the platform, either CUSTOMER (end user), PLATFORM_OWNER (sales representative) or PARTNER (reseller)

currency
string (Currency)
Default: "USD"
Enum: "USD" "CAD" "EUR" "JPY" "GBP" "KRW" "CHF" "SEK" "SGD" "MYR" "AUD" "MXN" "INR" "BRL" "DKK" "NZD" "NOK" "ZAR" "PHP" "CNY" "SAR" "GTQ" "IDR" "ARS" "COP" "PEN"

Supported currencies for the system

status
string

Shopping cart status

isBlocked
boolean
Default: false

Shopping Cart is locked waiting for an external event

paymentMethodId
string
Default: ""

Payment method ID

preAuthId
string
Default: ""

Cart payment pre-authorization ID

locale
string
Default: ""

Locale of shopping cart (ISO 639 language, ISO 3166 country, variant).

buyerUserId
string
Default: ""

User ID of the buyer (customer, reseller, sales representative) who initiates the purchase

buyerCompanyId
string
Default: ""

Buyer company ID

Array of objects (ShoppingCartItem)
object (ShoppingCartCustomAttributes)

Custom attributes for the purchase, buyer, and owner

Array of objects (Association)

Item associations

Array of objects (Fee)

Cart fees

Array of objects (AccreditedAgent)

Responses

Request samples

Content type
application/json
{
  • "id": "4f59d160-0e63-45c4-bb91-7ebe873da29f",
  • "createdOn": "2020-10-12 07:20:50.52Z",
  • "ownerUserId": "83407ce8-373f-11e6-ac61-9e71128cae77",
  • "ownerCompanyId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
  • "buyerType": "CUSTOMER",
  • "currency": "USD",
  • "status": "ACTIVE",
  • "isBlocked": false,
  • "paymentMethodId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
  • "preAuthId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
  • "locale": "en_US",
  • "buyerUserId": "83407ce8-373f-11e6-ac61-9e71128cae77",
  • "buyerCompanyId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
  • "items": [
    ],
  • "customAttributes": {
    },
  • "associations": [
    ],
  • "fees": [
    ],
  • "accreditedAgents": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "5be20b01411e037ed1e5dbd5",
  • "createdOn": "1541540609246",
  • "ownerUserId": "01ada338-52fb-42b8-8c47-c72c30b8a602",
  • "ownerCompanyId": "08a28380-b2cf-4915-aaf8-2958b350b090",
  • "buyerUserId": "01ada338-52fb-42b8-8c47-c72c30b8a602",
  • "buyerCompanyId": "08a28380-b2cf-4915-aaf8-2958b350b090",
  • "buyerType": "CUSTOMER",
  • "currency": "USD",
  • "status": "ACTIVE",
  • "items": [
    ],
  • "customAttributes": {
    }
}

Finalize shopping carts

Returns requested shopping cart

path Parameters
shoppingCartId
required
string

Shopping cart ID

header Parameters
AD-Timezone
string

Responses

Request samples

curl --request POST \
  --url https://marketplace.appdirect.com/api/v3/checkout/shoppingCarts/%7BshoppingCartId%7D/finalize \
  --header 'AD-Timezone: SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "purchaseId": "42d444da-9da5-4fc6-b0e0-4879fe549307"
}

Create and finalize shopping carts

Creates and finalizes a shopping cart in a single request

header Parameters
AD-ShoppingCart-Partner
required
string

The partner code of a marketplace

AD-Timezone
string
Request Body schema: application/json
required

shoppingCartWS

id
string

Shopping cart ID

createdOn
string

Shopping cart creation date

ownerUserId
string
Default: ""

Cart owner user ID

ownerCompanyId
string
Default: ""

Cart owner company ID

buyerType
string (BuyerType)
Default: "CUSTOMER"
Enum: "CUSTOMER" "PLATFORM_OWNER" "PARTNER"

Describes the buyer's relationship with the platform, either CUSTOMER (end user), PLATFORM_OWNER (sales representative) or PARTNER (reseller)

currency
string (Currency)
Default: "USD"
Enum: "USD" "CAD" "EUR" "JPY" "GBP" "KRW" "CHF" "SEK" "SGD" "MYR" "AUD" "MXN" "INR" "BRL" "DKK" "NZD" "NOK" "ZAR" "PHP" "CNY" "SAR" "GTQ" "IDR" "ARS" "COP" "PEN"

Supported currencies for the system

status
string

Shopping cart status

isBlocked
boolean
Default: false

Shopping Cart is locked waiting for an external event

paymentMethodId
string
Default: ""

Payment method ID

preAuthId
string
Default: ""

Cart payment pre-authorization ID

locale
string
Default: ""

Locale of shopping cart (ISO 639 language, ISO 3166 country, variant).

buyerUserId
string
Default: ""

User ID of the buyer (customer, reseller, sales representative) who initiates the purchase

buyerCompanyId
string
Default: ""

Buyer company ID

Array of objects (ShoppingCartItem)
object (ShoppingCartCustomAttributes)

Custom attributes for the purchase, buyer, and owner

Array of objects (Association)

Item associations

Array of objects (Fee)

Cart fees

Array of objects (AccreditedAgent)

Responses

Request samples

Content type
application/json
{
  • "id": "4f59d160-0e63-45c4-bb91-7ebe873da29f",
  • "createdOn": "2020-10-12 07:20:50.52Z",
  • "ownerUserId": "83407ce8-373f-11e6-ac61-9e71128cae77",
  • "ownerCompanyId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
  • "buyerType": "CUSTOMER",
  • "currency": "USD",
  • "status": "ACTIVE",
  • "isBlocked": false,
  • "paymentMethodId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
  • "preAuthId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
  • "locale": "en_US",
  • "buyerUserId": "83407ce8-373f-11e6-ac61-9e71128cae77",
  • "buyerCompanyId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
  • "items": [
    ],
  • "customAttributes": {
    },
  • "associations": [
    ],
  • "fees": [
    ],
  • "accreditedAgents": [
    ]
}

Response samples

Content type
application/json
{
  • "purchaseId": "42d444da-9da5-4fc6-b0e0-4879fe549307"
}

Retrieve cart associations

Returns the associations included in the shopping cart

path Parameters
shoppingCartId
required
string

Shopping cart ID

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/v3/checkout/shoppingCarts/%7BshoppingCartId%7D/associations

Response samples

Content type
application/json
[
  • {
    }
]

Get cart pre-authorization

Retrieves the payment pre-authorization for the specified cart.

path Parameters
shoppingCartId
required
string

Shopping cart ID

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/v3/checkout/shoppingCarts/%7BshoppingCartId%7D/preauth

Response samples

Content type
No sample

Retrieve shopping cart items

Returns all items included in the shopping cart

path Parameters
shoppingCartId
required
string

Shopping cart ID

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/v3/checkout/shoppingCarts/%7BshoppingCartId%7D/items

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Add items to cart

Adds the specified item to the shopping cart

path Parameters
shoppingCartId
required
string

Shopping cart ID

Request Body schema: application/json
required

A shopping cart item

id
string

Item UUID

referenceId
string

A 'local' ID for the item, which can be used in requests instead of the full UUID. Use the ref:{referenceId} format.

subscriptionId
string

Existing subscription UUID.

pricingPlanId
string

ID of the pricing plan that the user is going to purchase

object (ServiceConfiguration)

Service Configuration

object (BillingConfiguration)

Determines when the billing cycle starts. Set UPON_SERVICE_ACTIVATION to start the billing cycle according to the specified provisioning strategy (either immediately after the opportunity is finalized or on a custom provisioning date). Set NEXT_BILLING_CYCLE to start the billing cycle according to the marketplace billing configuration (for example, first of the month). Set CUSTOM to start the billing cycle on a specified date in the future.

discountCode
string

Discount applied to the product

discountId
string

Discount ID

Array of objects (CustomPrice)

Definition of custom prices for the purchase

Array of objects (Unit)
Default: []

List of units included in the product

object (ItemCustomAttributes)

Collection of custom attributes

object (CustomContractConfiguration)

Configuration to use for custom contract

Responses

Request samples

Content type
application/json
{
  • "id": "45ae34b7-ffc1-4d74-be78-dce34008cd2e",
  • "referenceId": "45",
  • "subscriptionId": "83407ce8-373f-11e6-ac61-9e71128cae77",
  • "pricingPlanId": "3dcc468d-fd4c-41ce-b700-f88c0c74561f",
  • "serviceConfiguration": {
    },
  • "billingConfiguration": {
    },
  • "discountCode": "DISCOUNT",
  • "discountId": "30",
  • "customPrices": [
    ],
  • "units": [ ],
  • "customAttributes": {
    },
  • "customContractConfiguration": {
    }
}

Response samples

Content type
application/json
{
  • "id": "e34b836e-3963-4eb7-8ce2-ca5867549ba6",
  • "pricingPlanId": "d0495026-dcab-45fe-858a-757491e93121",
  • "units": [
    ]
}

Retrieve cart item

Returns the specified shopping cart item

path Parameters
shoppingCartId
required
string

Shopping cart ID

itemId
required
string

Item ID

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/v3/checkout/shoppingCarts/%7BshoppingCartId%7D/items/%7BitemId%7D

Response samples

Content type
application/json
{
  • "id": "e34b836e-3963-4eb7-8ce2-ca5867549ba6",
  • "pricingPlanId": "d0495026-dcab-45fe-858a-757491e93121",
  • "units": [
    ]
}

Update shopping cart item

Updates the specified shopping cart item

path Parameters
shoppingCartId
required
string

Shopping cart ID

itemId
required
string

Item ID

Request Body schema: application/json
required

A shopping cart item

id
string

Item UUID

referenceId
string

A 'local' ID for the item, which can be used in requests instead of the full UUID. Use the ref:{referenceId} format.

subscriptionId
string

Existing subscription UUID.

pricingPlanId
string

ID of the pricing plan that the user is going to purchase

object (ServiceConfiguration)

Service Configuration

object (BillingConfiguration)

Determines when the billing cycle starts. Set UPON_SERVICE_ACTIVATION to start the billing cycle according to the specified provisioning strategy (either immediately after the opportunity is finalized or on a custom provisioning date). Set NEXT_BILLING_CYCLE to start the billing cycle according to the marketplace billing configuration (for example, first of the month). Set CUSTOM to start the billing cycle on a specified date in the future.

discountCode
string

Discount applied to the product

discountId
string

Discount ID

Array of objects (CustomPrice)

Definition of custom prices for the purchase

Array of objects (Unit)
Default: []

List of units included in the product

object (ItemCustomAttributes)

Collection of custom attributes

object (CustomContractConfiguration)

Configuration to use for custom contract

Responses

Request samples

Content type
application/json
{
  • "id": "45ae34b7-ffc1-4d74-be78-dce34008cd2e",
  • "referenceId": "45",
  • "subscriptionId": "83407ce8-373f-11e6-ac61-9e71128cae77",
  • "pricingPlanId": "3dcc468d-fd4c-41ce-b700-f88c0c74561f",
  • "serviceConfiguration": {
    },
  • "billingConfiguration": {
    },
  • "discountCode": "DISCOUNT",
  • "discountId": "30",
  • "customPrices": [
    ],
  • "units": [ ],
  • "customAttributes": {
    },
  • "customContractConfiguration": {
    }
}

Response samples

Content type
application/json
{
  • "id": "e34b836e-3963-4eb7-8ce2-ca5867549ba6",
  • "pricingPlanId": "d0495026-dcab-45fe-858a-757491e93121",
  • "units": [
    ]
}

Remove cart item

Removes the specified item from the shopping cart

path Parameters
shoppingCartId
required
string

Shopping cart ID

itemId
required
string

Application ID

Responses

Request samples

curl --request DELETE \
  --url https://marketplace.appdirect.com/api/v3/checkout/shoppingCarts/%7BshoppingCartId%7D/items/%7BitemId%7D

Delete cart items

Removes the specified items from the shopping cart.

path Parameters
shoppingCartId
required
string

Shopping cart ID

Request Body schema: application/json
required
ids
Array of strings

Item IDs

cascade
Array of strings (AssociationType)
Items Value: "ADDON"

Cascade deletion of associated items

itemPath
string

Selection of items to delete, in JsonPath syntax

Responses

Request samples

Content type
application/json
{
  • "ids": "[]",
  • "cascade": "[\"ADDON\"]",
  • "itemPath": ".items[?(@.pricingPlanId=='planid')]"
}

Response samples

Content type
application/json
{
  • "id": "4f59d160-0e63-45c4-bb91-7ebe873da29f",
  • "createdOn": "2020-10-12 07:20:50.52Z",
  • "ownerUserId": "83407ce8-373f-11e6-ac61-9e71128cae77",
  • "ownerCompanyId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
  • "buyerType": "CUSTOMER",
  • "currency": "USD",
  • "status": "ACTIVE",
  • "isBlocked": false,
  • "paymentMethodId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
  • "preAuthId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
  • "locale": "en_US",
  • "buyerUserId": "83407ce8-373f-11e6-ac61-9e71128cae77",
  • "buyerCompanyId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
  • "items": [
    ],
  • "customAttributes": {
    },
  • "associations": [
    ],
  • "fees": [
    ],
  • "accreditedAgents": [
    ]
}

Preview non-persisted carts

Returns a preview of the shopping cart with pricing summary information and a list of errors, if any

header Parameters
AD-Timezone
string
AD-ShoppingCart-Partner
required
string

The partner code of a marketplace

Request Body schema: application/json
required

A shopping cart

id
string

Shopping cart ID

createdOn
string

Shopping cart creation date

ownerUserId
string
Default: ""

Cart owner user ID

ownerCompanyId
string
Default: ""

Cart owner company ID

buyerType
string (BuyerType)
Default: "CUSTOMER"
Enum: "CUSTOMER" "PLATFORM_OWNER" "PARTNER"

Describes the buyer's relationship with the platform, either CUSTOMER (end user), PLATFORM_OWNER (sales representative) or PARTNER (reseller)

currency
string (Currency)
Default: "USD"
Enum: "USD" "CAD" "EUR" "JPY" "GBP" "KRW" "CHF" "SEK" "SGD" "MYR" "AUD" "MXN" "INR" "BRL" "DKK" "NZD" "NOK" "ZAR" "PHP" "CNY" "SAR" "GTQ" "IDR" "ARS" "COP" "PEN"

Supported currencies for the system

status
string

Shopping cart status

isBlocked
boolean
Default: false

Shopping Cart is locked waiting for an external event

paymentMethodId
string
Default: ""

Payment method ID

preAuthId
string
Default: ""

Cart payment pre-authorization ID

locale
string
Default: ""

Locale of shopping cart (ISO 639 language, ISO 3166 country, variant).

buyerUserId
string
Default: ""

User ID of the buyer (customer, reseller, sales representative) who initiates the purchase

buyerCompanyId
string
Default: ""

Buyer company ID

Array of objects (ShoppingCartItem)
object (ShoppingCartCustomAttributes)

Custom attributes for the purchase, buyer, and owner

Array of objects (Association)

Item associations

Array of objects (Fee)

Cart fees

Array of objects (AccreditedAgent)

Responses

Request samples

Content type
application/json
{
  • "id": "4f59d160-0e63-45c4-bb91-7ebe873da29f",
  • "createdOn": "2020-10-12 07:20:50.52Z",
  • "ownerUserId": "83407ce8-373f-11e6-ac61-9e71128cae77",
  • "ownerCompanyId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
  • "buyerType": "CUSTOMER",
  • "currency": "USD",
  • "status": "ACTIVE",
  • "isBlocked": false,
  • "paymentMethodId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
  • "preAuthId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
  • "locale": "en_US",
  • "buyerUserId": "83407ce8-373f-11e6-ac61-9e71128cae77",
  • "buyerCompanyId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
  • "items": [
    ],
  • "customAttributes": {
    },
  • "associations": [
    ],
  • "fees": [
    ],
  • "accreditedAgents": [
    ]
}

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "amountDueBeforeTax": "0.0000000000",
  • "amountDueAfterTax": "0.0000000000",
  • "recurringTotals": [
    ]
}

Preview shopping carts

Previews the specified, persisted shopping cart

path Parameters
shoppingCartId
required
string

Shopping cart ID

header Parameters
AD-Timezone
string

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/v3/checkout/shoppingCarts/%7BshoppingCartId%7D/preview \
  --header 'AD-Timezone: SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "amountDueBeforeTax": "0.0000000000",
  • "amountDueAfterTax": "0.0000000000",
  • "recurringTotals": [
    ]
}

Retrieve pricing summary (non-persisted shopping cart)

Retrieves a pricing summary for the cart. The pricing summary includes the detailed and effective costs as well as the billing schedule and recurring charges. The effective cost indicates the price that the customer pays whereas the detailed cost provides the price sources used in the calculation of the effective cost. Prices are not prorated and tax is not included in the pricing summary.

header Parameters
AD-Timezone
string
AD-ShoppingCart-Partner
required
string

The partner code of a marketplace

Request Body schema: application/json
required

A shopping cart

id
string

Shopping cart ID

createdOn
string

Shopping cart creation date

ownerUserId
string
Default: ""

Cart owner user ID

ownerCompanyId
string
Default: ""

Cart owner company ID

buyerType
string (BuyerType)
Default: "CUSTOMER"
Enum: "CUSTOMER" "PLATFORM_OWNER" "PARTNER"

Describes the buyer's relationship with the platform, either CUSTOMER (end user), PLATFORM_OWNER (sales representative) or PARTNER (reseller)

currency
string (Currency)
Default: "USD"
Enum: "USD" "CAD" "EUR" "JPY" "GBP" "KRW" "CHF" "SEK" "SGD" "MYR" "AUD" "MXN" "INR" "BRL" "DKK" "NZD" "NOK" "ZAR" "PHP" "CNY" "SAR" "GTQ" "IDR" "ARS" "COP" "PEN"

Supported currencies for the system

status
string

Shopping cart status

isBlocked
boolean
Default: false

Shopping Cart is locked waiting for an external event

paymentMethodId
string
Default: ""

Payment method ID

preAuthId
string
Default: ""

Cart payment pre-authorization ID

locale
string
Default: ""

Locale of shopping cart (ISO 639 language, ISO 3166 country, variant).

buyerUserId
string
Default: ""

User ID of the buyer (customer, reseller, sales representative) who initiates the purchase

buyerCompanyId
string
Default: ""

Buyer company ID

Array of objects (ShoppingCartItem)
object (ShoppingCartCustomAttributes)

Custom attributes for the purchase, buyer, and owner

Array of objects (Association)

Item associations

Array of objects (Fee)

Cart fees

Array of objects (AccreditedAgent)

Responses

Request samples

Content type
application/json
{
  • "id": "4f59d160-0e63-45c4-bb91-7ebe873da29f",
  • "createdOn": "2020-10-12 07:20:50.52Z",
  • "ownerUserId": "83407ce8-373f-11e6-ac61-9e71128cae77",
  • "ownerCompanyId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
  • "buyerType": "CUSTOMER",
  • "currency": "USD",
  • "status": "ACTIVE",
  • "isBlocked": false,
  • "paymentMethodId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
  • "preAuthId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
  • "locale": "en_US",
  • "buyerUserId": "83407ce8-373f-11e6-ac61-9e71128cae77",
  • "buyerCompanyId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
  • "items": [
    ],
  • "customAttributes": {
    },
  • "associations": [
    ],
  • "fees": [
    ],
  • "accreditedAgents": [
    ]
}

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "recurringTotals": [
    ]
}

Retrieve pricing summary

Retrieves a pricing summary for the cart. The pricing summary includes the detailed and effective costs as well as the billing schedule and recurring charges. The effective cost indicates the price that the customer pays whereas the detailed cost provides the price sources used in the calculation of the effective cost. Prices are not prorated and tax is not included in the pricing summary.

path Parameters
shoppingCartId
required
string

Shopping cart ID

header Parameters
AD-Timezone
string

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/v3/checkout/shoppingCarts/%7BshoppingCartId%7D/pricingSummary \
  --header 'AD-Timezone: SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "recurringTotals": [
    ]
}

Validate non-persisted shopping carts

Validates and retrieves the validation summary of the specified shopping cart payload

query Parameters
level
required
string
Enum: "PRE_FINALIZE" "PREVENT_FINALIZE" "PREVENT_PROVISIONING"

Level of validation. Run PRE_FINALIZE validations before the shopping cart is finalized. Run PREVENT_FINALIZE and PREVENT_PROVISIONING at the time of finalization and provisioning respectively to prevent those operations if validation fails.

header Parameters
AD-ShoppingCart-Partner
required
string

The partner code of a marketplace

Request Body schema: application/json
required
id
string

Shopping cart ID

createdOn
string

Shopping cart creation date

ownerUserId
string
Default: ""

Cart owner user ID

ownerCompanyId
string
Default: ""

Cart owner company ID

buyerType
string (BuyerType)
Default: "CUSTOMER"
Enum: "CUSTOMER" "PLATFORM_OWNER" "PARTNER"

Describes the buyer's relationship with the platform, either CUSTOMER (end user), PLATFORM_OWNER (sales representative) or PARTNER (reseller)

currency
string (Currency)
Default: "USD"
Enum: "USD" "CAD" "EUR" "JPY" "GBP" "KRW" "CHF" "SEK" "SGD" "MYR" "AUD" "MXN" "INR" "BRL" "DKK" "NZD" "NOK" "ZAR" "PHP" "CNY" "SAR" "GTQ" "IDR" "ARS" "COP" "PEN"

Supported currencies for the system

status
string

Shopping cart status

isBlocked
boolean
Default: false

Shopping Cart is locked waiting for an external event

paymentMethodId
string
Default: ""

Payment method ID

preAuthId
string
Default: ""

Cart payment pre-authorization ID

locale
string
Default: ""

Locale of shopping cart (ISO 639 language, ISO 3166 country, variant).

buyerUserId
string
Default: ""

User ID of the buyer (customer, reseller, sales representative) who initiates the purchase

buyerCompanyId
string
Default: ""

Buyer company ID

Array of objects (ShoppingCartItem)
object (ShoppingCartCustomAttributes)

Custom attributes for the purchase, buyer, and owner

Array of objects (Association)

Item associations

Array of objects (Fee)

Cart fees

Array of objects (AccreditedAgent)

Responses

Request samples

Content type
application/json
{
  • "id": "4f59d160-0e63-45c4-bb91-7ebe873da29f",
  • "createdOn": "2020-10-12 07:20:50.52Z",
  • "ownerUserId": "83407ce8-373f-11e6-ac61-9e71128cae77",
  • "ownerCompanyId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
  • "buyerType": "CUSTOMER",
  • "currency": "USD",
  • "status": "ACTIVE",
  • "isBlocked": false,
  • "paymentMethodId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
  • "preAuthId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
  • "locale": "en_US",
  • "buyerUserId": "83407ce8-373f-11e6-ac61-9e71128cae77",
  • "buyerCompanyId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
  • "items": [
    ],
  • "customAttributes": {
    },
  • "associations": [
    ],
  • "fees": [
    ],
  • "accreditedAgents": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "ad26eb9c-f414-4ae1-9c52-06c478ec12b0",
  • "blockingErrors": [
    ],
  • "warnings": [ ],
  • "info": [ ],
  • "pendingValidations": [ ]
}

Validate persisted shopping carts

Validates and retrieves the validation summary of the specified shopping cart

path Parameters
shoppingCartId
required
string

Shopping cart ID

query Parameters
level
required
string
Enum: "PRE_FINALIZE" "PREVENT_FINALIZE" "PREVENT_PROVISIONING"

Level of validation

Responses

Request samples

curl --request POST \
  --url 'https://marketplace.appdirect.com/api/v3/checkout/shoppingCarts/%7BshoppingCartId%7D/validation?level=SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "id": "ad26eb9c-f414-4ae1-9c52-06c478ec12b0",
  • "blockingErrors": [
    ],
  • "warnings": [ ],
  • "info": [ ],
  • "pendingValidations": [ ]
}

Read validation summary for persisted shopping carts

Retrieves the validation summary for the specified shopping cart, but does not validate the cart. You must use the "Validate persisted shopping carts" request to generate a summary before you can use this request.

path Parameters
shoppingCartId
required
string

Shopping cart ID

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/v3/checkout/shoppingCarts/%7BshoppingCartId%7D/validation

Response samples

Content type
application/json
{
  • "id": "ad26eb9c-f414-4ae1-9c52-06c478ec12b0",
  • "blockingErrors": [
    ],
  • "warnings": [ ],
  • "info": [ ],
  • "pendingValidations": [ ]
}

Remove cart discounts

Deletes a discount by code from shopping cart items. To remove the discount from specific items only, send the item IDs as parameters. Otherwise, the discount will be removed from all items.

path Parameters
shoppingCartId
required
string

Shopping cart ID

discountCode
required
string

Discount code

query Parameters
itemId
Array of strings

Cart item IDs

Responses

Request samples

curl --request DELETE \
  --url 'https://marketplace.appdirect.com/api/v3/checkout/shoppingCarts/%7BshoppingCartId%7D/discounts/%7BdiscountCode%7D?itemId=SOME_ARRAY_VALUE'

Delete shopping cart fees

Removes fees from the specified cart

path Parameters
shoppingCartId
required
string

Shopping cart ID

feeId
required
string

Fee UUID

header Parameters
AD-ShoppingCart-Partner
string

The partner code of a marketplace

Responses

Request samples

curl --request DELETE \
  --url https://marketplace.appdirect.com/api/v3/checkout/shoppingCarts/%7BshoppingCartId%7D/fees/%7BfeeId%7D \
  --header 'AD-ShoppingCart-Partner: SOME_STRING_VALUE'

Create cart fees

Creates a fee and applies it to the specified cart

path Parameters
shoppingCartId
required
string

Shopping cart ID

header Parameters
AD-ShoppingCart-Partner
required
string

The partner code of a marketplace

Request Body schema: application/json
required
id
string

Fee ID

externalId
string

External ID assigned by the fee provider service

createdOn
string

Fee creation date and time

key
string

Key used to identify fee type

currency
string

Currency code (ISO 4217) of the fee

amount
number

Fee amount

object (Description)

Description of the fee

object (RevenueShare)

Revenue shares of the fee sent to AppDirect, the marketplace owner, and the product vendor. The total of all three revenue shares must be 1.00.

itemIds
Array of strings

List of item IDs

object

Metadata

Responses

Request samples

Content type
application/json
{
  • "id": "ce402858-4fe8-4254-8b69-73c41142f4ba",
  • "externalId": "a8bf31a8-fe75-4ab9-9559-dcd41eca9d12",
  • "createdOn": "2020-10-12 07:20:50.52Z",
  • "key": "SHIPPING_FEE_100",
  • "currency": "USD",
  • "amount": "9.81",
  • "description": {
    },
  • "revenueShare": {
    },
  • "itemIds": "[\"b126e204-05f9-444a-af43-7629069eed03\", \"20de5578-a903-43da-95b8-65a3b584bc29\", \"a104ae19-d5cd-4de1-802b-5b2ec60e7fbf\"]",
  • "metadata": "key1: \"value1\""
}

Response samples

Content type
application/json
{
  • "id": "ce402858-4fe8-4254-8b69-73c41142f4ba",
  • "externalId": "a8bf31a8-fe75-4ab9-9559-dcd41eca9d12",
  • "createdOn": "2020-10-12 07:20:50.52Z",
  • "key": "SHIPPING_FEE_100",
  • "currency": "USD",
  • "amount": "9.81",
  • "description": {
    },
  • "revenueShare": {
    },
  • "itemIds": "[\"b126e204-05f9-444a-af43-7629069eed03\", \"20de5578-a903-43da-95b8-65a3b584bc29\", \"a104ae19-d5cd-4de1-802b-5b2ec60e7fbf\"]",
  • "metadata": "key1: \"value1\""
}

Set accredited agents

Associates an accredited Agent with the specified cart

path Parameters
shoppingCartId
required
string

Shopping cart ID

header Parameters
AD-ShoppingCart-Partner
required
string

The partner code of a marketplace

Request Body schema: application/json
required
Array of objects (AccreditedAgent)
Array
userId
string
Default: ""

Accredited agent to whom the purchase is attributed.

companyId
string
Default: ""

Company of the accredited agent to whom the purchase is attributed.

Responses

Request samples

Content type
application/json
{
  • "accreditedAgents": [
    ]
}

Response samples

Content type
application/json
{
  • "userId": "83407ce8-373f-11e6-ac61-9e71128cae77",
  • "companyId": "a411dc54-d46f-4002-ab00-3ea52e4eb118"
}

Remove accredited agents

Removes the accredited agent from the specified cart

path Parameters
shoppingCartId
required
string

Shopping cart ID

header Parameters
AD-ShoppingCart-Partner
required
string

The partner code of a marketplace

Responses

Request samples

curl --request DELETE \
  --url https://marketplace.appdirect.com/api/v3/checkout/shoppingCarts/%7BshoppingCartId%7D/accreditedAgents \
  --header 'AD-ShoppingCart-Partner: SOME_STRING_VALUE'

Send locked cart notifications

Finds all locked carts in ACTIVE status and sends approval request notifications for each one. Locked carts must be approved before they can be finalized.

header Parameters
AD-ShoppingCart-Partner
string

The partner code of a marketplace

Responses

Request samples

curl --request POST \
  --url https://marketplace.appdirect.com/api/v3/checkout/shoppingCarts/notifyLockedCarts \
  --header 'AD-ShoppingCart-Partner: SOME_STRING_VALUE'

Response samples

Content type
application/json
"string"

Subscription Assignments

Read application assignment for user and subscription

Retrieve a marketplace user's application assignment for a given subscription.

Required Scopes and Authorization Rules
  • ROLE_USER -

    Allows access as a user and owner of the user entitlement.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER_READ -

    Allows access as a member of the company that owns the subscription.

path Parameters
subscriptionUuid
required
string

Unique identifier of the company subscription in the API request

userUuid
required
string

Unique identifier of the user in the API request

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/account/v2/subscriptions/%7BsubscriptionUuid%7D/assignments/%7BuserUuid%7D

Response samples

Content type
No sample

Create application assignment

Create an application assignment for a marketplace user.

Required Scopes and Authorization Rules
  • ROLE_USER -

    Allows access as the user that owns the subscription.

  • ROLE_BILLING_ADMIN -

    Allows access as a Billing Admin of the company that owns the subscription.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER -

    Allows access as a member of the company that owns the subscription.

path Parameters
subscriptionUuid
required
string

Unique identifier of the company subscription in the API request

userUuid
required
string

Unique identifier of the user to assign the application to

query Parameters
creatorUuid
string

Optional parameter and will be ignored if the APIs are accessed using any role except ROLE_PARTNER

Request Body schema: application/json

Optional custom user attributes to associate with the created application assignment

name
string

The key name of an existing subscription custom attribute

values
Array of strings

Values of the custom attributes. If the attribute definition is MULTISELECT, all values must be a subset of the value options defined in the marketplace. If the attribute definition is TEXT, only one value is allowed.

Responses

Request samples

Content type
application/json
{
  • "name": "test1",
  • "values": [
    ]
}

Response samples

Content type
No sample

Delete application assignment

Delete a marketplace user's application assignment.

Required Scopes and Authorization Rules
  • ROLE_USER -

    Allows access as the user that owns the subscription.

  • ROLE_BILLING_ADMIN -

    Allows access as a Billing Admin of the company that owns the subscription.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER -

    Allows access to manage all marketplace data.

path Parameters
subscriptionUuid
required
string

Unique identifier of the company subscription in the API request

userUuid
required
string

Unique identifier of the user to remove the application assignment for

query Parameters
disconnectVoiceConnection
boolean

Disconnect voice connection of Boost application

source
string

Source of event. Possible values are: APP_SYNC, MICROSOFT_PROVISIONING_MIGRATION

Responses

Request samples

curl --request DELETE \
  --url 'https://marketplace.appdirect.com/api/account/v2/subscriptions/%7BsubscriptionUuid%7D/assignments/%7BuserUuid%7D?disconnectVoiceConnection=SOME_BOOLEAN_VALUE&source=SOME_STRING_VALUE'

List application assignments for subscription

Retrieve the list of marketplace application assignments for the given subscription.

Required Scopes and Authorization Rules
  • ROLE_USER -

    Allows access as a member of the company that owns the subscription.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER_READ -

    Allows access to read all marketplace data.

path Parameters
subscriptionUuid
required
string

Unique identifier of the company subscription in the API request

query Parameters
page
integer
Default: 0

Zero-based page index

searchText
string

Search term used to search on different assignment fields

size
integer
Default: 50

The number of search results to return per page

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/account/v2/subscriptions/%7BsubscriptionUuid%7D/assignments?page=SOME_INTEGER_VALUE&searchText=SOME_STRING_VALUE&size=SOME_INTEGER_VALUE'

Response samples

Content type
No sample

Read application assignment count

Retrieve the number of users assigned to a subscription.

Required Scopes and Authorization Rules
  • ROLE_USER -

    Allows access as a member of the company that owns the subscription.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER_READ -

    Allows access to read all marketplace data.

path Parameters
subscriptionUuid
required
string

Unique identifier of the company subscription in the API request

Responses

Request samples

curl --request HEAD \
  --url https://marketplace.appdirect.com/api/account/v2/subscriptions/%7BsubscriptionUuid%7D/assignments

Response samples

Content type
headers
{
  "X-Total-Count": 1
}

Subscription Assignments (Reseller)

Assign product

Assign a seat of a purchased product to a user who is a member of a linked marketplace company

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

Request Body schema: application/json

Information about user and subscription to be assigned

userId
required
string

ID of the user to whom the product will be assigned

subscriptionId
required
string

ID of the product subscription to assign to the user

Responses

Request samples

Content type
application/json
{
  • "userId": "2c061df6-4313-45e0-8709-a0ca19b0aaa3",
  • "subscriptionId": "386626c0-53e2-4515-8450-4a720bb5d029"
}

Response samples

Content type
application/json
{
  • "id": "63bf81c2-8e01-48b7-a8b1-46a0efa0e823",
  • "status": "ACTIVE",
  • "createdOn": 1529083173000,
  • "subscriptionId": "386626c0-53e2-4515-8450-4a720bb5d029",
  • "user": {
    }
}

List subscription assignments

Retrieves a list of assignments for a given subscription. You can filter the list using optional query parameters.

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

query Parameters
number
integer

Page number starting at 1. The default value is 1.

size
integer

Number of results per page. The default value is 50.

sort
string

Sort field and order. For ascending sort order, use the '+[FieldName]' format. For descending order, use '-[FieldName]' format. The default value is '-createdOn'.

createdOn
string

Date filter, defined by upper or lower inclusive limits, in Unix timestamp format. Acceptable values are: gte([timestamp]) - 'greater than or equal to'; lte([timestamp]) - 'less than or equal to'.

status
string

Subscription status (valid values are PENDING_REQUIRED_DATA, PENDING_SEAT_AVAILABILITY, PENDING_USER_ACTIVATION, PENDING_REMOTE_CREATION, SUBSCRIPTION_SUSPENDED_FREE_TRIAL_EXPIRED, SUBSCRIPTION_SUSPENDED_RENEW_CONTRACT, SUBSCRIPTION_SUSPENDED_PAY_INVOICE, SUBSCRIPTION_SUSPENDED_MANUAL_SUSPENSION, FAILED, ACTIVE, PENDING_REMOTE_CANCELLATION, CANCELLED). The filter format is: in([status], ...).

subscriptionId
required
string

Subscription ID purchased by the Reseller company

userId
string

User ID. Use the in([id], ...) format to filter by multiple IDs, or the userId=[id] format to filter by a single ID.

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/appReseller/v1/subscriptionAssignments?number=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&sort=SOME_STRING_VALUE&createdOn=SOME_STRING_VALUE&status=SOME_STRING_VALUE&subscriptionId=SOME_STRING_VALUE&userId=SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "content": [
    ],
  • "page": {
    }
}

Unassign product

Unassign a product from a user.

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller for the company.

path Parameters
subscriptionAssignmentId
required
string

Subscription Assignment ID.

Responses

Request samples

curl --request DELETE \
  --url https://marketplace.appdirect.com/api/appReseller/v1/subscriptionAssignments/%7BsubscriptionAssignmentId%7D

Subscriptions

Subscription reactivation request

Send a subscription reactivation request.

This endpoint sends a notification to the subscription owner. If company-wide billing is enabled, this endpoint also sends a notification to all company administrators (Company Admin and Billing Admin).

Required Scopes and Authorization Rules
  • ROLE_USER -

    Allows access as a member of the company that owns the subscription.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

path Parameters
subscriptionUuid
required
string

Unique identifier of company subscription in the API request

Responses

Request samples

curl --request POST \
  --url https://marketplace.appdirect.com/api/account/v2/subscriptions/%7BsubscriptionUuid%7D/reactivationRequest

Read subscription SAML Certificate

Retrieve a subscriptions's public SAML verification certificate.

Required Scopes and Authorization Rules
  • ROLE_USER -

    Allows access as the user that owns the subscription.

  • ROLE_BILLING_ADMIN -

    Allows access as a Billing Admin of the company that owns the subscription.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER_READ -

    Allows read access to all marketplace data.

  • ROLE_CHANNEL_PRODUCT_SUPPORT -

    Allows access as a Product Support agent for the marketplace.

  • ROLE_APPLICATION -

    Allows access as the Developer that owns the Product.

path Parameters
subscriptionUuid
required
string

Unique identifier of company subscription in the API request

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/account/v2/subscriptions/%7BsubscriptionUuid%7D/saml/certificate

Response samples

Content type
application/json
"-----BEGIN CERTIFICATE-----\nMIICyDCCAbCgAwIBAgIGAWF7mAIjMA0GCSqGSIb3DQEBBQUAMCUxIzAhBgNVBAoM\nGkNPTVBBTllfRU5USVRMRU1FTlQtNzQ1NzI5MB4XDTE4MDIwODE3MjMzNVoXDTIz\nMDIwOTE3MjMzNVowJTEjMCEGA1UECgwaQ09NUEFOWV9FTlRJVExFTUVOVC03NDU3\nMjkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCQvnSC76Jwsrjw0FDO\nMzutqNLyrlww86LiEcDiaGn/Ms6cASbpQFJiA7f5BVbTHCAS4fPQnLcBoZs25OwP\n69ibm5hrJlfmZwPVU0Odqd9M/kGmV4U4EDgieH6BcF0cXwpJ8OeXLhf8N+9tr9sN\n7MvkvMgGqpjwXAwYDFZWxBf0+k6O+rO/XuCuIKtc4eD0jPIS6NfxD5DvXNGc83ro\nffgjM0HNq41jieDAhmAAnj12LoRE4V3qQwqbE3p5JBHsmjOJ2/kGoZdkorf3oSuT\njlsLooDi/NTKlWxnlIvnlNSBnlfzpZl6yQIW4j8FDe/4p02G6VMYIozTB37OM98j\n4USHAgMBAAEwDQYJKoZIhvcNAQEFBQADggEBAHrlJjQs05EykfyuvUFZUOjAiqwN\nM/1WHW8xtCA/qa7H1PJQ6B7xyJcmw/ad23ui74sycfkmCLMACP1tb0M8CJ6/rsZH\nltUy8sXSGg3fyTA9Ff8sJiMs0nCw0Wzkk+P5JGig7kPBi1W7gSFTP4tfrktp65sU\nxefLNh/axCHE2C5lxrYtwsE8ocSqNZwPDIWihcaapvdxDyr8l62F2dL3NXulLVRW\nOV4G+KGVwCCEswjTN3idyGjknBCgaiFmKMPFeZm5feUE6f2D40Z/CLrcaB1HV5/q\nMBljuA6qKsDLaABwtxvviQ18p2GYmfpXv5mLJlSNSRnzH9zQzjGsqV09x7U=\n-----END CERTIFICATE-----\n"

Read SAML metadata for subscription

Retrieve a subscription's SAML metadata.

Required Scopes and Authorization Rules
  • ROLE_USER -

    Allows access as the user that owns the subscription.

  • ROLE_BILLING_ADMIN -

    Allows access as a Billing Admin of the company that owns the subscription.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER_READ -

    Allows read access to all marketplace data.

  • ROLE_CHANNEL_PRODUCT_SUPPORT -

    Allows access as a Product Support agent for the marketplace.

  • ROLE_APPLICATION -

    Allows access as the Developer that owns the Product.

path Parameters
subscriptionUuid
required
string

Unique identifier of company subscription in the API request

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/account/v2/subscriptions/%7BsubscriptionUuid%7D/saml

Response samples

Content type
No sample

List all subscriptions for a company

List all of the subscriptions for the given company

path Parameters
companyId
required
string

Company ID

query Parameters
fromDate
string

Filters results to only include subscriptions that were created on or after the specified date in yyyy/MM/DD HH:mm:ss format

toDate
string

Filters results to only include subscriptions that were created on or before the specified date in yyyy/MM/DD HH:mm:ss format

discountId
number

Filters subscriptions by internal discount ID

status
string

Filters subscriptions by status

editionId
number

Filters subscriptions by internal edition ID

paymentPlanId
number

Filters subscriptions by internal payment plan ID

lastModified
number

Filters subscriptions by last modified date

applicationIds
number

Filters subscriptions by internal application ID

bundleApplicationId
number

Filters subscriptions by internal bundle ID

expand
string

Expands filtered subscription results to include details about the specified query parameters, one or more of "order", "product", or "edition".

orderReferenceCode
string

Filters subscriptions by order reference code

count
integer
Default: 250

Number of results to fetch. Used for paging.

sortField
string
Default: "DATE"
Enum: "APPLICATION" "COMPANY" "DATE" "OWNER" "STATUS" "SUBSCRIPTION_ID"

Sort field

sortOrder
string
Default: "ASC"
Enum: "ASC" "DESC"

Sort order

start
integer
Default: 0

First result index. Used for paging.

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/billing/v1/companies/%7BcompanyId%7D/subscriptions?fromDate=SOME_STRING_VALUE&toDate=SOME_STRING_VALUE&discountId=SOME_NUMBER_VALUE&status=SOME_STRING_VALUE&editionId=SOME_NUMBER_VALUE&paymentPlanId=SOME_NUMBER_VALUE&lastModified=SOME_NUMBER_VALUE&applicationIds=SOME_NUMBER_VALUE&bundleApplicationId=SOME_NUMBER_VALUE&expand=SOME_STRING_VALUE&orderReferenceCode=SOME_STRING_VALUE&count=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_INTEGER_VALUE'

Response samples

Content type
No sample

Change subscription details

Change the specified subscription for the specified user and company with the provided data.
You cannot perform assisted sales, in which the buyer purchases a product for or on behalf of someone else, through the API.
When you use the Change Subscription Details request to update a subscription that was created though the user interface as an assisted sale, a new order is created for the specified user ID and company. Because the new order is not created as an assisted sale, the salesSupportUser parameter is returned with a value of null.

path Parameters
companyId
required
string

User's company ID

subscriptionId
required
string

Subscription ID

userId
required
string

User ID

query Parameters
sendNotification
boolean
Default: true

Send notification of the subscription's creation. Default value is true.

Request Body schema:

Subscription data object

assignedUsers
number or null

Number of users assigned to subscription

bundleApplicationId
number or null

Bundle ID. Specify during subscription creation if you want the subscription to be part of a bundle. Retrieve a list of bundle IDs with the List all bundles request, and then specify the desired ID here. Only supported for the Create a subscription endpoint and not supported for any other endpoints.

object or null (LinkWS)
creationDate
number or null

Subscription creation date

object or null (LinkWS)
endDate
number or null

Subscription end date

externalAccountId
string or null

External account identifier (from vendor)

id
string or null

ID

internalId
string or null

The UUID for a subscription

externalId
string or null

External ID for a subscription. Not used to change or create a subscription. If a subscription has an external ID, the ID is included in the responses to the list subscription or read subscription APIs. To set an external ID of a subscription, use the Update subscriptions API.

label
string or null

Label for a subscription

maxUsers
number or null

Maximum number of users allowed to be assigned to subscription

object or null (OrderWS)

Resource links

object or null (LinkWS)
redirectUrl
string or null

Interactive endpoint URL

status
string or null

Subscription status (Valid values are INITIALIZED, FAILED, FREE_TRIAL, FREE_TRIAL_EXPIRED, ACTIVE, SUSPENDED, or CANCELLED.)

object or null (OrderWS)

Resource links

object or null (LinkWS)

Responses

Request samples

Content type
No sample

Response samples

Content type
No sample

List all subscriptions for a user

List all of the subscriptions for the given user

path Parameters
companyId
required
string

User's company ID

userId
required
string

User ID

query Parameters
fromDate
string

Filters results to only include subscriptions that were created on or after the specified date in yyyy/MM/DD HH:mm:ss format

toDate
string

Filters results to only include subscriptions that were created on or before the specified date in yyyy/MM/DD HH:mm:ss format

discountId
number

Filters subscriptions by internal discount ID

status
string

Filters subscriptions by order status

editionId
number

Filters subscriptions by internal edition ID

paymentPlanId
number

Filters subscriptions by internal payment plan ID

lastModified
number

Filters subscriptions by last modified date

applicationIds
number

Filters subscriptions by internal application ID

bundleApplicationId
number

Filters subscriptions by internal bundle ID

expand
string

Expands filtered subscription results to include details about the specified query parameters, one or more of "order", "product", or "edition".

orderReferenceCode
string

Filters subscriptions by order reference code

count
integer
Default: 250

Number of results to fetch. Used for paging.

sortField
string
Default: "DATE"
Enum: "APPLICATION" "COMPANY" "DATE" "OWNER" "STATUS" "SUBSCRIPTION_ID"

Sort field

sortOrder
string
Default: "ASC"
Enum: "ASC" "DESC"

Sort order

start
integer
Default: 0

First result index. Used for paging.

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/billing/v1/companies/%7BcompanyId%7D/users/%7BuserId%7D/subscriptions?fromDate=SOME_STRING_VALUE&toDate=SOME_STRING_VALUE&discountId=SOME_NUMBER_VALUE&status=SOME_STRING_VALUE&editionId=SOME_NUMBER_VALUE&paymentPlanId=SOME_NUMBER_VALUE&lastModified=SOME_NUMBER_VALUE&applicationIds=SOME_NUMBER_VALUE&bundleApplicationId=SOME_NUMBER_VALUE&expand=SOME_STRING_VALUE&orderReferenceCode=SOME_STRING_VALUE&count=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_INTEGER_VALUE'

Response samples

Content type
No sample

Create a subscription

Create a subscription for the given user and company using the provided data

path Parameters
companyId
required
string

User's company ID

userId
required
string

User ID

query Parameters
sendNotification
boolean
Default: true

Send notification of the subscription's creation. Default value is true.

Request Body schema:

Subscription data object

assignedUsers
number or null

Number of users assigned to subscription

bundleApplicationId
number or null

Bundle ID. Specify during subscription creation if you want the subscription to be part of a bundle. Retrieve a list of bundle IDs with the List all bundles request, and then specify the desired ID here. Only supported for the Create a subscription endpoint and not supported for any other endpoints.

object or null (LinkWS)
creationDate
number or null

Subscription creation date

object or null (LinkWS)
endDate
number or null

Subscription end date

externalAccountId
string or null

External account identifier (from vendor)

id
string or null

ID

internalId
string or null

The UUID for a subscription

externalId
string or null

External ID for a subscription. Not used to change or create a subscription. If a subscription has an external ID, the ID is included in the responses to the list subscription or read subscription APIs. To set an external ID of a subscription, use the Update subscriptions API.

label
string or null

Label for a subscription

maxUsers
number or null

Maximum number of users allowed to be assigned to subscription

object or null (OrderWS)

Resource links

object or null (LinkWS)
redirectUrl
string or null

Interactive endpoint URL

status
string or null

Subscription status (Valid values are INITIALIZED, FAILED, FREE_TRIAL, FREE_TRIAL_EXPIRED, ACTIVE, SUSPENDED, or CANCELLED.)

object or null (OrderWS)

Resource links

object or null (LinkWS)

Responses

Request samples

Content type
No sample

Response samples

Content type
No sample

Preview changed subscription details

Preview the changes for the given subscription using the provided data

path Parameters
companyId
required
string

User's company ID

subscriptionId
required
string

Subscription ID

userId
required
string

User ID

Request Body schema:

Subscription data object

assignedUsers
number or null

Number of users assigned to subscription

bundleApplicationId
number or null

Bundle ID. Specify during subscription creation if you want the subscription to be part of a bundle. Retrieve a list of bundle IDs with the List all bundles request, and then specify the desired ID here. Only supported for the Create a subscription endpoint and not supported for any other endpoints.

object or null (LinkWS)
creationDate
number or null

Subscription creation date

object or null (LinkWS)
endDate
number or null

Subscription end date

externalAccountId
string or null

External account identifier (from vendor)

id
string or null

ID

internalId
string or null

The UUID for a subscription

externalId
string or null

External ID for a subscription. Not used to change or create a subscription. If a subscription has an external ID, the ID is included in the responses to the list subscription or read subscription APIs. To set an external ID of a subscription, use the Update subscriptions API.

label
string or null

Label for a subscription

maxUsers
number or null

Maximum number of users allowed to be assigned to subscription

object or null (OrderWS)

Resource links

object or null (LinkWS)
redirectUrl
string or null

Interactive endpoint URL

status
string or null

Subscription status (Valid values are INITIALIZED, FAILED, FREE_TRIAL, FREE_TRIAL_EXPIRED, ACTIVE, SUSPENDED, or CANCELLED.)

object or null (OrderWS)

Resource links

object or null (LinkWS)

Responses

Request samples

Content type
No sample

Response samples

Content type
No sample

Preview create a subscription

Preview creating a subscription for the given user and company using the provided data

path Parameters
companyId
required
string

User's company ID

userId
required
string

User ID

Request Body schema:

Subscription data object

assignedUsers
number or null

Number of users assigned to subscription

bundleApplicationId
number or null

Bundle ID. Specify during subscription creation if you want the subscription to be part of a bundle. Retrieve a list of bundle IDs with the List all bundles request, and then specify the desired ID here. Only supported for the Create a subscription endpoint and not supported for any other endpoints.

object or null (LinkWS)
creationDate
number or null

Subscription creation date

object or null (LinkWS)
endDate
number or null

Subscription end date

externalAccountId
string or null

External account identifier (from vendor)

id
string or null

ID

internalId
string or null

The UUID for a subscription

externalId
string or null

External ID for a subscription. Not used to change or create a subscription. If a subscription has an external ID, the ID is included in the responses to the list subscription or read subscription APIs. To set an external ID of a subscription, use the Update subscriptions API.

label
string or null

Label for a subscription

maxUsers
number or null

Maximum number of users allowed to be assigned to subscription

object or null (OrderWS)

Resource links

object or null (LinkWS)
redirectUrl
string or null

Interactive endpoint URL

status
string or null

Subscription status (Valid values are INITIALIZED, FAILED, FREE_TRIAL, FREE_TRIAL_EXPIRED, ACTIVE, SUSPENDED, or CANCELLED.)

object or null (OrderWS)

Resource links

object or null (LinkWS)

Responses

Request samples

Content type
No sample

Response samples

Content type
No sample

List all purchase orders for a subscription

List all the purchase orders for the given subscription

path Parameters
subscriptionId
required
string

Subscription ID.

query Parameters
startDateFrom
string

Filters results to only include subscriptions where billing starts on or after the specified date (format: Mon March 01 00:00:00 EDT 2015)

startDateTo
string

Filters results to only include subscriptions where billing starts on or before the specified date (format: Mon March 01 00:00:00 EDT 2015)

status
string
Enum: "INITIALIZED" "PENDING_USER_APPROVAL" "PENDING_REMOTE_CREATION" "PENDING_MANUAL_RECOVERY" "PENDING_ASYNCHRONOUS_CREATION" "FREE_TRIAL" "ACTIVE" "FINISHED" "ONE_TIME" "CANCELLED" "SUSPENDED" "FREE_TRIAL_EXPIRED" "FREE_TRIAL_CANCELLED" "DELETED" "FAILED" "UPCOMING" "PENDING_MIGRATION_ACTIVATION" "PENDING_DELAYED_PROVISIONING"

Filters subscriptions by order status

currency
string
Enum: "USD" "CAD" "EUR" "JPY" "GBP" "KRW" "CHF" "SEK" "SGD" "MYR" "AUD" "MXN" "INR" "BRL" "DKK" "NZD" "NOK" "ZAR" "PHP" "CNY" "SAR" "GTQ" "IDR" "ARS" "COP" "PEN"

Filters subscriptions by currency

type
string
Enum: "NEW" "MIGRATION" "ADOPTION" "FREE_TRIAL_ACTIVATION" "TERMINATION_FEE" "END_OF_CONTRACT_MIGRATION" "REFUND" "CREDIT" "ONE_TIME_FEE" "ADDITIONAL_FEE" "END_OF_DISCOUNT_MIGRATION" "METERED_USAGE"

Filters subscriptions by order type.
NEW: The first order of a subscription. The order contains flat fees (one time or recurring) for this subscription. It is active until the subscription is updated or canceled.
MIGRATION: The order created after a subscription change. The order includes flat fees for both one-time and recurring editions.
ADOPTION: The order created by an administrator who has taken ownership of an application from another user within the same company.
FREE_TRIAL_ACTIVATION: Created when a free trial is manually upgraded to a paid subscription. Any subscription that is updated from free trial to paid automatically keeps its NEW status purchase order.
TERMINATION_FEE: A subscription is canceled that had a termination fee. This purchase order represents the fees incurred as a result of the cancellation.
END_OF_CONTRACT_MIGRATION: Created when a subscription update takes place as a result of a contract extension. If the contract autorenewal is set to either continue without a contract or renew the contract with the same pricing plan, then no migration occurs and the original purchase order is updated to include the new end date for the contract.
REFUND: Created when a refund is performed. The refund purchase order is created for only on-platform refunds. Off-platform refunds do not generate this type of purchase order.
CREDIT: Created during subscription update events. Any subscription update calculates a paid period and a credit period. The credit is then provided to the user to prorate the subscription.
ONE_TIME_FEE: Created if an edition includes one-time setup fees.
ADDITIONAL_FEE: Used for off-order charges. A developer change creates an off-order charge and charges their customer a custom amount outside of the normal subscription cycle.
END_OF_DISCOUNT_MIGRATION: Created after a discount of limited duration expires. This purchase order is created to represent the updated costs without the discount.
METERED_USAGE: A purchase order created to accumulate usage fees during a billing period. The order is only valid for the billing period but it is updated with usage lines over the course of the billing period. A metered purchase order is invoiced in arrears at the end of the billing cycle.

frequency
string
Enum: "ONE_TIME" "MONTHLY" "QUARTERLY" "SIX_MONTHS" "YEARLY" "TWO_YEARS" "THREE_YEARS" "DAILY"

Filters subscriptions by pricing frequency

orderReferenceCode
string

Filters subscriptions by order reference code

applicationIds
number

Filters subscriptions by internal application ID

fromCreationDate
number

Filters results to only include subscriptions that were created on or after the specified date

toCreationDate
number

Filters results to only include subscriptions that were created on or before the specified date

count
integer
Default: 250

Number of results to fetch. Used for paging.

sortField
string
Default: "DATE"
Enum: "DATE" "ORDER_ID" "TOTAL"

Sort field.

sortOrder
string
Default: "ASC"
Enum: "ASC" "DESC"

Sort order.

start
integer
Default: 0

First result index. Used for paging.

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/billing/v1/subscriptions/%7BsubscriptionId%7D/orders?startDateFrom=SOME_STRING_VALUE&startDateTo=SOME_STRING_VALUE&status=SOME_STRING_VALUE&currency=SOME_STRING_VALUE&type=SOME_STRING_VALUE&frequency=SOME_STRING_VALUE&orderReferenceCode=SOME_STRING_VALUE&applicationIds=SOME_NUMBER_VALUE&fromCreationDate=SOME_NUMBER_VALUE&toCreationDate=SOME_NUMBER_VALUE&count=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_INTEGER_VALUE'

Response samples

Content type
No sample

Update an add-on instance

Update the given add-on instance on the given subscription using the provided data

path Parameters
addonInstanceUuid
required
string
subscriptionId
required
string

Subscription ID

Request Body schema:

Add-on instance object

creationDate
number or null

Creation date of the addon instance

offeringUuid
string or null

Unique identifier for add-on offering

object or null (OrderWS)

Resource links

status
string or null

Addon instance status. May be ACTIVE, CANCELLED or FAILED.

units
number or null

Units for add-on instance

uuid
string or null

Unique identifier for add-on instance

Responses

Request samples

Content type
No sample

Response samples

Content type
No sample

Delete an add-on instance

Delete the given add-on instance on the given subscription

path Parameters
addonInstanceUuid
required
string
subscriptionId
required
string

Subscription ID

Responses

Request samples

curl --request DELETE \
  --url https://marketplace.appdirect.com/api/billing/v1/subscriptions/%7BsubscriptionId%7D/addons/%7BaddonInstanceUuid%7D

List all subscriptions

The list may be filtered using the optional filter parameters

query Parameters
fromDate
string

Filters results to only include subscriptions that were created on or after the specified date in yyyy/MM/DD HH:mm:ss format

toDate
string

Filters results to only include subscriptions that were created on or before the specified date in yyyy/MM/DD HH:mm:ss format

discountId
number

Filters subscriptions by internal discount ID

status
string

Filters subscriptions by order status

editionId
number

Filters subscriptions by internal edition ID

paymentPlanId
number

Filters subscriptions by internal payment plan ID

lastModified
number

Filters results to only include subscriptions that were modified on or after the specified date in UNIX Epoch milliseconds

applicationIds
number

Filters subscriptions by internal Application ID

bundleApplicationId
number

Filters subscriptions by internal bundle ID

expand
string

Expands filtered subscription results to include details about the specified query parameters, one or more of "order", "product", or "edition".

orderReferenceCode
string

Filters subscriptions by order reference code

count
integer
Default: 250

Number of results to fetch. Used for paging.

sortField
string
Default: "DATE"
Enum: "APPLICATION" "COMPANY" "DATE" "OWNER" "STATUS" "SUBSCRIPTION_ID"

Sort field

sortOrder
string
Default: "ASC"
Enum: "ASC" "DESC"

Sort order

start
integer
Default: 0

First result index. Used for paging.

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/billing/v1/subscriptions?fromDate=SOME_STRING_VALUE&toDate=SOME_STRING_VALUE&discountId=SOME_NUMBER_VALUE&status=SOME_STRING_VALUE&editionId=SOME_NUMBER_VALUE&paymentPlanId=SOME_NUMBER_VALUE&lastModified=SOME_NUMBER_VALUE&applicationIds=SOME_NUMBER_VALUE&bundleApplicationId=SOME_NUMBER_VALUE&expand=SOME_STRING_VALUE&orderReferenceCode=SOME_STRING_VALUE&count=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_INTEGER_VALUE'

Response samples

Content type
No sample

List all payments for a subscription

List all the payments for the given subscription

path Parameters
subscriptionId
required
string

Subscription ID

query Parameters
count
integer
Default: 250

Number of results to fetch. Used for paging.

fromDate
number

From date

method
string
Enum: "ADP_INVOICE" "ARIBAPAY" "BT_BILL" "CLICKANDBUY" "CLOUDFOUNDRY" "CREDIT_CARD" "CUMULA_BILL" "DTAG" "EXTERNAL_INVOICE" "KREDITKARTE" "LASTSCHRIFT_MRNEXNET" "MANO_TEO_BILL" "MANUAL" "MARKETPLACE_CREDITS" "NETS_ARVATO_INVOICE" "NEXTEL" "PAYPAL" "ROGERS_CC_DTMF" "ROGERS_CC_POS" "SNAP" "TBILL" "THISTLE" "TOICLEARING"

Payment method

result
string
Enum: "FAILED" "GATEWAY_NOT_AVAILABLE" "MANUAL" "SUCCESSFUL"

Payment result

sortField
string
Default: "PAYMENT_ID"
Enum: "AMOUNT" "DATE" "PAYMENT_ID"

Sort field

sortOrder
string
Default: "ASC"
Enum: "ASC" "DESC"

Sort order

start
integer
Default: 0

First result index. Used for paging.

toDate
number

To date

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/billing/v1/subscriptions/%7BsubscriptionId%7D/payments?count=SOME_INTEGER_VALUE&fromDate=SOME_NUMBER_VALUE&method=SOME_STRING_VALUE&result=SOME_STRING_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_INTEGER_VALUE&toDate=SOME_NUMBER_VALUE'

Response samples

Content type
No sample

Retrieve a subscription

Retrieve the subscription for the given subscription ID

path Parameters
subscriptionId
required
string

The unique identifier for the subscription

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/billing/v1/subscriptions/%7BsubscriptionId%7D

Response samples

Content type
No sample

Request cancellation

Requests cancellation of the given subscription

path Parameters
subscriptionId
required
string

Subscription ID

query Parameters
sendNotification
boolean
Default: true

Sends email notification if true

Responses

Request samples

curl --request DELETE \
  --url 'https://marketplace.appdirect.com/api/billing/v1/subscriptions/%7BsubscriptionId%7D?sendNotification=SOME_BOOLEAN_VALUE'

Update subscriptions

Use this request to manage subscription lifecycles (suspend and activate subscriptions), update external IDs, and add or change subscription custom attribute values.

path Parameters
subscriptionId
required
string

Subscription ID

Request Body schema:

Subscription data object

status
required
string
Enum: "ACTIVE" "SUSPENDED"

The desired subscription lifecycle status. Set to SUSPENDED to suspend an active subscription, or ACTIVE to reactivate a suspended subscription.

suspensionReasonMessage
string

Reason for subscription suspension. Only used, and required, when setting the status to SUSPENDED.

externalId
string

The external ID to add or update in the subscription. Only set an external ID if required.

Array of objects (SubscriptionCustomAttribute)

An array of subscription custom attributes. If specified in a PATCH request, the values will be updated or added to the subscription. The custom attributes must already be defined in the marketplace (at Manage > Marketplace > Settings > Custom Attributes > Subscription Custom Attributes).

Responses

Request samples

Content type
No sample

Response samples

Content type
No sample

Read addon instances for a subscription

Read addon instances for a subscription

path Parameters
subscriptionId
required
string

Subscription ID

query Parameters
filter
string

Search filter

sortField
string
Default: "DATE"
Enum: "DATE" "STATUS" "UUID"

Sort field (UUID, DATE or STATUS)

sortOrder
string
Default: "ASC"
Enum: "ASC" "DESC"

Sort order (ASC or DESC)

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/billing/v1/subscriptions/%7BsubscriptionId%7D/addons?filter=SOME_STRING_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE'

Response samples

Content type
No sample

Create an add-on instance

Create an add-on instance on the given subscription using the given data

path Parameters
subscriptionId
required
string

Subscription ID

Request Body schema:

Add-on instance object

creationDate
number or null

Creation date of the addon instance

offeringUuid
string or null

Unique identifier for add-on offering

object or null (OrderWS)

Resource links

status
string or null

Addon instance status. May be ACTIVE, CANCELLED or FAILED.

units
number or null

Units for add-on instance

uuid
string or null

Unique identifier for add-on instance

Responses

Request samples

Content type
No sample

Response samples

Content type
No sample

List all invoices for a subscription

List all of the invoices for the given subscription

path Parameters
subscriptionId
required
string

Subscription ID

query Parameters
count
integer
Default: 250

Number of results to fetch. Used for paging.

excludeFree
boolean

Exclude invoices with no charges (free)

fromDate
number

From date

sortField
string
Default: "INVOICE_ID"
Enum: "DATE" "INVOICE_ID" "TOTAL"

Sort field

sortOrder
string
Default: "ASC"
Enum: "ASC" "DESC"

Sort order

start
integer
Default: 0

First result index. Used for paging.

status
string
Enum: "CARRIED" "PAID" "UNPAID" "VOIDED"

Invoice status

toDate
number

To date

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/billing/v1/subscriptions/%7BsubscriptionId%7D/invoices?count=SOME_INTEGER_VALUE&excludeFree=SOME_BOOLEAN_VALUE&fromDate=SOME_NUMBER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_INTEGER_VALUE&status=SOME_STRING_VALUE&toDate=SOME_NUMBER_VALUE'

Response samples

Content type
No sample

Preview creation of an addon instance for a subscription

Preview creation of an addon instance for a subscription

path Parameters
subscriptionId
required
string

Subscription ID

Request Body schema:

Payload of addon instance to create

creationDate
number or null

Creation date of the addon instance

offeringUuid
string or null

Unique identifier for add-on offering

object or null (OrderWS)

Resource links

status
string or null

Addon instance status. May be ACTIVE, CANCELLED or FAILED.

units
number or null

Units for add-on instance

uuid
string or null

Unique identifier for add-on instance

Responses

Request samples

Content type
No sample

Response samples

Content type
No sample

Preview change of an addon instance for a subscription

Preview change of an addon instance for a subscription

path Parameters
addonInstanceUuid
required
string
subscriptionId
required
string

Subscription ID

Request Body schema:

Payload of addon instance to create

creationDate
number or null

Creation date of the addon instance

offeringUuid
string or null

Unique identifier for add-on offering

object or null (OrderWS)

Resource links

status
string or null

Addon instance status. May be ACTIVE, CANCELLED or FAILED.

units
number or null

Units for add-on instance

uuid
string or null

Unique identifier for add-on instance

Responses

Request samples

Content type
No sample

Response samples

Content type
No sample

Preview subscription cancellation

Preview a subscription cancellation for the given subscription ID

path Parameters
subscriptionId
required
string

The subscription ID

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/billing/v1/subscriptions/%7BsubscriptionId%7D/previewCancel

Response samples

Content type
No sample

Subscriptions (Reseller)

Create subscription

Note: This endpoint is being deprecated. // Create a new subscription on behalf of a user who is a member of a marketplace company linked to the current reseller company

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller for the company

Request Body schema: application/json
required

Information about the new subscription that will be created

targetCompanyId
required
string

(Required) ID of the company in which the Reseller will create the new subscription

targetUserId
required
string

(Required) ID of the user for whom the Reseller will create the new subscription

paymentPlanId
required
string

(Required) Edition Payment Plan ID

parentSubscriptionId
string or null

ID of an add-on product's parent subscription

orderLines
required
string

Unit type and quantity

Responses

Request samples

Content type
application/json
{
  • "targetCompanyId": "698555fc-bc65-4163-9fee-16308edec41b",
  • "targetUserId": "2c061df6-4313-45e0-8709-a0ca19b0aaa3",
  • "parentSubscriptionId": "386626c0-53e2-4515-8450-4a720bb5d029",
  • "paymentPlanId": "30ccf1e7-1937-40cb-8e73-851a226fd4ea",
  • "orderLines": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "386626c0-53e2-4515-8450-4a720bb5d029",
  • "activeOrder": {
    },
  • "company": {
    },
  • "user": {
    },
  • "applicationName": "AUTO_DISCOUNTS_APP",
  • "pendingEvent": "SUBSCRIPTION_CHANGE",
  • "status": "ACTIVE",
  • "createdOn": 1529083173000,
  • "referenceCode": "bundle09"
}

List subscriptions

Note: This endpoint is being deprecated. // Retrieves a list of all user subscriptions of a linked company. You can filter the list using optional query parameters.

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller for the company

  • ROLE_RESELLER_MANAGER -

    Allows access as a Reseller Manager for the company

query Parameters
context
required
string
Value: "RESELLER, RESELLER_MANAGER"

Supported billing contexts

number
integer

Page number

size
integer

Number of results per page

sort
string

Sort field and order. For ascending sort order, use the '+[FieldName]' format. For descending order, use the '-[FieldName]' format.

userId
string

For RESELLER, the customer's user ID; for RESELLER_MANAGER, the Reseller's user ID

resellerCompanyId
required
string

Reseller's company ID

customerCompanyId
required
string

User's company ID. Required only for RESELLER context

createdOn
string

Date filter, defined by upper or lower inclusive or exclusive limits, in Unix timestamp format. Acceptable values are: gte([timestamp]) - 'greater than or equal to'; gt([timestamp]) - 'greater than'; lte([timestamp]) - 'less than or equal to'; or lt([timestamp]) - 'less than.'

status
string
Enum: "INITIALIZED" "FAILED" "FREE_TRIAL" "FREE_TRIAL_EXPIRED" "ACTIVE" "SUSPENDED" "CANCELLED"

Subscription status. Acceptable values are: [status] - 'equal to'; or in([status1],[status2]) - 'status in the list'. For example, status=FAILED or status=in(FAILED,ACTIVE)

paidStatus
string
Value: "PAID, FREE"

Status of the subscription related to the payment

pending
boolean

Indicates whether subscription has pending events

searchText
string

Search text

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/appReseller/v1/subscriptions?context=SOME_STRING_VALUE&number=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&sort=SOME_STRING_VALUE&userId=SOME_STRING_VALUE&resellerCompanyId=SOME_STRING_VALUE&customerCompanyId=SOME_STRING_VALUE&createdOn=SOME_STRING_VALUE&status=SOME_STRING_VALUE&paidStatus=SOME_STRING_VALUE&pending=SOME_BOOLEAN_VALUE&searchText=SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "content": [
    ],
  • "page": {
    }
}

Subscription details

Note: This endpoint is being deprecated. // Read a subscription by ID

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller

path Parameters
subscriptionId
required
string

Subscription ID

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/appReseller/v1/subscriptions/%7BsubscriptionId%7D

Response samples

Content type
application/json
{
  • "id": "386626c0-53e2-4515-8450-4a720bb5d029",
  • "activeOrder": {
    },
  • "company": {
    },
  • "user": {
    },
  • "applicationName": "AUTO_DISCOUNTS_APP",
  • "pendingEvent": "SUBSCRIPTION_CHANGE",
  • "status": "ACTIVE",
  • "createdOn": 1529083173000,
  • "referenceCode": "bundle09"
}

Update subscription

Note: This endpoint is being deprecated. // Upgrade or downgrade a subscription on behalf of a user who is a member of a marketplace company linked to the current reseller company.
When you upgrade or downgrade subscriptions, you must provide both the paymentPlanId and the orderLines objects in the request even if the units are not changing.

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller for the company

path Parameters
subscriptionId
required
string

Subscription ID

Request Body schema: application/json
required

Information about the new values to set to the subscription

paymentPlanId
string

Edition Payment Plan ID

Array of objects (OrderLineDetailsWS)

Unit type and quantity

Responses

Request samples

Content type
application/json
{
  • "paymentPlanId": "30ccf1e7-1937-40cb-8e73-851a226fd4ea",
  • "orderLines": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "386626c0-53e2-4515-8450-4a720bb5d029",
  • "activeOrder": {
    },
  • "company": {
    },
  • "user": {
    },
  • "applicationName": "AUTO_DISCOUNTS_APP",
  • "pendingEvent": "SUBSCRIPTION_CHANGE",
  • "status": "ACTIVE",
  • "createdOn": 1529083173000,
  • "referenceCode": "bundle09"
}

Cancel subscription

Note: This endpoint is being deprecated. // Cancel a subscription on behalf of a user who is a member of a company linked to the current reseller

Required Scopes and Authorization Rules
  • ROLE_RESELLER -

    Allows access as a Reseller for the company

path Parameters
subscriptionId
required
string

Subscription ID

Responses

Request samples

curl --request DELETE \
  --url https://marketplace.appdirect.com/api/appReseller/v1/subscriptions/%7BsubscriptionId%7D

Sync

Create developer account

This call creates a developer account. Maximum of global requests of 20 per 2 seconds.

Required Scopes and Authorization Rules
  • ROLE_APPLICATION -

    User must provide consumer key and secret from the applications profile.

Request Body schema: application/json

Used when type='DEVELOPER_ACCOUNT' and operation='CREATE'

type
required
string

Required. It must have the value 'DEVELOPER_ACCOUNT'

operation
required
string

Required. The operation. Options: 'CREATE' and 'EXPIRE'

Array of objects (DeveloperAccount)

Responses

Request samples

Content type
application/json
{
  • "type": "DEVELOPER_ACCOUNT",
  • "operation": "CREATE",
  • "developerAccounts": [
    ]
}

Expire developer account

This call expires a developer account. Maximum of global requests of 20 per 2 seconds.

Required Scopes and Authorization Rules
  • ROLE_APPLICATION -

    User must provide consumer key and secret from the applications profile.

Request Body schema: application/json

Used when type='DEVELOPER_ACCOUNT' and operation='EXPIRE'

type
required
string

Required. It must have the value 'DEVELOPER_ACCOUNT'

operation
required
string

Required. The operation. Options: 'CREATE' and 'EXPIRE'

Array of objects (DeveloperAccount)

Responses

Request samples

Content type
application/json
{
  • "type": "DEVELOPER_ACCOUNT",
  • "operation": "CREATE",
  • "developerAccounts": [
    ]
}

Assign user

This call assigns a user. Maximum of global requests of 20 per 2 seconds.

Required Scopes and Authorization Rules
  • ROLE_APPLICATION -

    User must provide consumer key and secret from the applications profile.

Request Body schema: application/json

Used when type='ASSIGNMENT' and operation='ASSIGN'

type
required
string

Required. It must have the value 'ASSIGNMENT'

operation
required
string

Required. The operation. Options: 'ASSIGN' and 'UNASSIGN'

accountIdentifier
required
string

Required. The Account Identifier provided when the subscription was created

developerIdentifier
required
string <uuid>

Required. The company UUID of the Developer's company

userIdentifier
required
string

Required. The user identifier in the Developer's system

userName
string
firstName
string
lastName
string
email
string

Responses

Request samples

Content type
application/json
{
  • "type": "ASSIGNMENT",
  • "operation": "ASSIGN",
  • "accountIdentifier": "200ae1d9-c5b9-4c0b-843c-45d8e74d741a",
  • "developerIdentifier": "f0b5c422-0400-459f-879c-ac369d924bb9",
  • "userIdentifier": "45bbf36e-5902-4eb3-9072-87d267d302d4",
  • "userName": "Test_UserName",
  • "firstName": "Test_FirstName",
  • "lastName": "Test_LastName",
  • "email": "test_email@yopmail.com"
}

Unassign user

This call unassigns a user. Maximum of global requests of 20 per 2 seconds.

Request Body schema: application/json

Used when type='ASSIGNMENT' and operation='UNASSIGN'

type
required
string

Required. It must have the value 'ASSIGNMENT'

operation
required
string

Required. The operation. Options: 'ASSIGN' and 'UNASSIGN'

accountIdentifier
required
string

Required. The Account Identifier provided when the subscription was created

developerIdentifier
required
string <uuid>

Required. The company UUID of the Developer's company

userIdentifier
required
string

Required. The user identifier in the Developer's system

userName
string
firstName
string
lastName
string
email
string

Responses

Request samples

Content type
application/json
{
  • "type": "ASSIGNMENT",
  • "operation": "ASSIGN",
  • "accountIdentifier": "200ae1d9-c5b9-4c0b-843c-45d8e74d741a",
  • "developerIdentifier": "f0b5c422-0400-459f-879c-ac369d924bb9",
  • "userIdentifier": "45bbf36e-5902-4eb3-9072-87d267d302d4",
  • "userName": "Test_UserName",
  • "firstName": "Test_FirstName",
  • "lastName": "Test_LastName",
  • "email": "test_email@yopmail.com"
}

Get user assignment

This call retrieves a user assignment. Maximum of global requests of 20 per 2 seconds.

Required Scopes and Authorization Rules
  • ROLE_APPLICATION -

    User must provide consumer key and secret from the applications profile.

query Parameters
developerIdentifier
required
string
accountIdentifier
required
string
userIdentifier
required
string

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/sync/v1/assignments?developerIdentifier=SOME_STRING_VALUE&accountIdentifier=SOME_STRING_VALUE&userIdentifier=SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "userIdentifier": "45bbf36e-5902-4eb3-9072-87d267d302d4",
  • "accountIdentifier": "200ae1d9-c5b9-4c0b-843c-45d8e74d741a",
  • "userName": "Test_UserName",
  • "firstName": "Test_FirstName",
  • "lastName": "Test_LastName",
  • "email": "test_email@yopmail.com",
  • "assigned": true
}

User Accounts

Create user connections

Creates a new user connection for Search. A connection (accountName) associates the app (application UUID) and user information (userId, companyId, and handle). The connection is used to, for example, identify events related to the user's app account. accountName Format: {user_handle}@{user_uuid}@{company_uuid} Note: Application UUID = Product UUID

Request Body schema: application/json
required
required
object (ApplicationToConnect)

Identify an application that can be connected to users for Search

required
object (UserToConnect)

Identify a user so they can be connected, with an app user account, to Search

Responses

Request samples

Content type
application/json
{
  • "app": {
    },
  • "user": {
    }
}

Response samples

Content type
application/json
{
  • "connection": {
    }
}

Disconnect user accounts

Disconnects an existing user account from Search. To access this API, you must configure product-scoped OAuth2 authentication for the application.

query Parameters
appId
required
string

Note: Application UUID = Product UUID

accountName
required
string

The user application account connection (accountName) to disconnect

callbackUrl
string

Callback URL to which to publish status updates about the disconnection

Responses

Request samples

curl --request DELETE \
  --url 'https://marketplace.appdirect.com/api/appwise/v2/accounts?appId=SOME_STRING_VALUE&accountName=SOME_STRING_VALUE&callbackUrl=SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "app": {
    },
  • "connection": {
    },
  • "user": {
    }
}

Users

List all users

Retrieves all marketplace users

Required Scopes and Authorization Rules
  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support agent for the marketplace.

  • ROLE_CHANNEL_SUPPORT -

    Allows access as a Customer Support agent for the marketplace.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_PARTNER_READ -

    Allows access to read all marketplace data.

query Parameters
name
string

First or last name of user

email
string

Email address of user

externalId
string

External ID of user

username
string

User name of user

companyMembershipRole
string

If specified, returns only users with the specified role, one of the following values: ROLE_CHANNEL_ADMIN (Marketplace Manager), ROLE_CHANNEL_PRODUCT_SUPPORT (Product Support), ROLE_SALES_SUPPORT (Sales Support), ROLE_RESELLER_MANAGER (Reseller Manager), ROLE_RESELLER (Reseller), ROLE_CHANNEL_SUPPORT (Customer Support), ROLE_SYS_ADMIN (Company Admin), ROLE_BILLING_ADMIN (Billing Admin), ROLE_DEVELOPER (Developer)

custom.customAttributeName
string

Accepts a notIn filter in the form of ?custom.customAttributeName=notIn(customAttributeValue1, customAttributeValue2, customAttributeValueN...) that excludes users with matching values. Before you can use the filter, you must first create "Text" type user custom attributes in the user interface. You can then specify the custom attribute name and values as customAttributeName and customAttributeValueN. See https://help.appdirect.com/appmarket/Default.htm#MarketplaceManager/MM-Setgscustui-create-attribs.html.

lastModified
number

The date on which the user was last modified, in UNIX Epoch milliseconds

page
integer
Default: 0

Zero-based page index

size
integer
Default: 50

Number of results per page to return

sortField
string
Default: "DATE"
Enum: "DATE" "FIRST_NAME" "LAST_NAME"

The property to sort by

sortOrder
string
Default: "ASC"
Enum: "ASC" "DESC"

Ordering type

includeCustomAttributes
boolean

Optional. Default is true. When set to true, user custom attributes are included in the API response. When set to false, user custom attributes are not included.

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/account/v2/users?name=SOME_STRING_VALUE&email=SOME_STRING_VALUE&externalId=SOME_STRING_VALUE&username=SOME_STRING_VALUE&companyMembershipRole=SOME_STRING_VALUE&custom.customAttributeName=SOME_STRING_VALUE&lastModified=SOME_NUMBER_VALUE&page=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&includeCustomAttributes=SOME_BOOLEAN_VALUE'

Response samples

Content type
No sample

Activate a user

Activate a marketplace user using its associated activation token.

Required Scopes and Authorization Rules
  • ROLE_USER -

    Allows access to an user who possesses an activation token.

path Parameters
activationToken
required
string

User's activation token, typically received via invitation emails

Request Body schema: application/json

User activation information

activated
boolean

Is user activated

email
string

User email

password
string

User password

termsOfService
boolean

Indicates whether the user has accepted the terms of service

privacyPolicy
boolean

Indicates whether the user has agreed to the privacy policy

Responses

Request samples

Content type
application/json
{
  • "email": "alex.gonsalez@company2438285395.com",
  • "password": "some-password",
  • "activated": true,
  • "termsOfService": true,
  • "privacyPolicy": true
}

Response samples

Content type
No sample

Read a user

Retrieves a marketplace user by ID or external ID. If you use the ID, you can omit a prefix or use 'id:' as the prefix. If you use the external ID, you must always specify the 'externalId:' prefix.

Required Scopes and Authorization Rules
  • ROLE_PARTNER_READ -

    Allows access to read all marketplace data.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CHANNEL_SUPPORT -

    Allows access as a Customer Support agent for the marketplace.

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support agent for the marketplace.

  • ROLE_USER -

    Allows access to read any company user.

  • ROLE_SYS_ADMIN -

    Allows access as a Company Admin for the company.

path Parameters
userUuid
required
string

Unique identifier (ID or external ID) of the user

query Parameters
includeCustomAttributes
boolean

Optional. Default is true. When set to true, user custom attributes are included in the API response. When set to false, user custom attributes are not included.

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/account/v2/users/%7BuserUuid%7D?includeCustomAttributes=SOME_BOOLEAN_VALUE'

Response samples

Content type
No sample

Update a user

Updates a marketplace user

Required Scopes and Authorization Rules
  • ROLE_PARTNER -

    Allows access to read and write all marketplace data.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support agent for the marketplace.

  • ROLE_CHANNEL_SUPPORT -

    Allows access as a Customer Support agent for the marketplace.

  • ROLE_SYS_ADMIN -

    Allows access as a Company Admin for the company.

path Parameters
userUuid
required
string

Unique identifier of the user assigned by the AppDirect platform

Request Body schema: application/json
required

Specified updates to user information

object or null (BoostUser)
externalId
string

External identifier of user

firstName
string or null

First name of user

lastName
string or null

Last name of user

ldapId
string or null

LDAP identifier of user

idpUuid
string or null

The external identity provider's ID for the user

locale
string

User locale in the standard ISO 639-1 language code + ISO 3166-1 country code format. For example: 'en_US'

currency
string

Currency

roles
Array of strings

All users have ROLE_USER (end-user access). To assign the Network Manager, role use ROLE_CORPORATE_ADMIN. For company membership roles, see UserCompanyMembershipAccountV2.

Responses

Request samples

Content type
application/json
{
  • "firstName": "Jane",
  • "lastName": "Lee",
  • "currency": "USD",
  • "externalId": "b34974b2-f5d6-4326-9859-5247dc42ee60",
  • "locale": "en_US",
  • "ldapId": "1",
  • "boostUser": {
    },
  • "roles": [
    ]
}

Response samples

Content type
No sample

Patch a user

Update ('patch') one or more fields in the user details. This only adds or updates the values for the properties that you include in the call; all other properties, and data already saved for them, are ignored

Required Scopes and Authorization Rules
  • ROLE_PARTNER -

    Allows access to read and write all marketplace data.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_USER -

    Allows access as a User for the marketplace.This permission allows a user to modify the following fields for their own user account: firstName, lastName, locale, and currency

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support agent for the marketplace.

  • ROLE_CHANNEL_SUPPORT -

    Allows access as a Customer Support agent for the marketplace.

  • ROLE_SYS_ADMIN -

    Allows access as a Company Admin for the company.

path Parameters
userUuid
required
string

Unique identifier of the user assigned by the AppDirect platform

Request Body schema: application/json
required

Specified updates to user information

object or null (BoostUser)
externalId
string

External identifier of user

firstName
string or null

First name of user

lastName
string or null

Last name of user

username
string or null

User name. If not provided, use the user's email address

ldapId
string or null

LDAP identifier of user

idpUuid
string or null

The external identity provider's ID for the user

locale
string

User locale in the standard ISO 639-1 language code + ISO 3166-1 country code format. For example: 'en_US'

currency
string

Currency

roles
Array of strings

All users have ROLE_USER (end-user access). To assign the Network Manager, role use ROLE_CORPORATE_ADMIN. For company membership roles, see UserCompanyMembershipAccountV2.

Responses

Request samples

Content type
application/json
{
  • "firstName": "Jane",
  • "lastName": "Lee",
  • "currency": "USD",
  • "externalId": "b34974b2-f5d6-4326-9859-5247dc42ee60",
  • "locale": "en_US",
  • "ldapId": "1",
  • "boostUser": {
    },
  • "roles": [
    ],
  • "idpUuid": "c412543-1233-6547-9809-0647dc42ee51"
}

Response samples

Content type
No sample

Read reseller user company associations

Reads a reseller user's company associations

Required Scopes and Authorization Rules
  • ROLE_PARTNER_READ -

    Allows access to read all marketplace data.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CHANNEL_SUPPORT -

    Allows access as a Customer Support agent for the marketplace.

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support agent for the marketplace.

  • ROLE_USER -

    Allows access to read any company user.

path Parameters
userUuid
required
string

Unique identifier of the user

query Parameters
page
integer
Default: 0

Zero-based page index

size
integer
Default: 50

Number of results per page to return

sortField
string
Default: "DATE"
Value: "DATE"

The property to sort by

sortOrder
string
Default: "ASC"
Enum: "ASC" "DESC"

Ordering type

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/account/v2/users/%7BuserUuid%7D/rssrCompanyAssociations?page=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE'

Response samples

Content type
No sample

Read user memberships

Retrieve a user's company memberships.

Required Scopes and Authorization Rules
  • ROLE_PARTNER_READ -

    Allows access to read all marketplace data.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CHANNEL_SUPPORT -

    Allows access as a Customer Support agent for the marketplace.

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support agent for the marketplace.

  • ROLE_USER -

    Allows access to retrieve own membership.

path Parameters
userUuid
required
string

Unique identifier of user in the API request

query Parameters
status
string

Status of membership to be requested

includeUserCustomAttributes
boolean

Optional. Default is true. When set to true, user custom attributes will be included in the API response. When set to false, user custom attributes will not be included.

includeCompanyCustomAttributes
boolean

Optional. Default is true. When set to true, company custom attributes will be included in the API response. When set to false, company custom attributes will not be included.

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/account/v2/users/%7BuserUuid%7D/memberships?status=SOME_STRING_VALUE&includeUserCustomAttributes=SOME_BOOLEAN_VALUE&includeCompanyCustomAttributes=SOME_BOOLEAN_VALUE'

Response samples

Content type
No sample

Update last used company membership

Update a marketplace user's last used company.

Required Scopes and Authorization Rules
  • ROLE_PARTNER -

    Allows access to read and write all marketplace data.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CHANNEL_SUPPORT -

    Allows access as a Customer Support agent for the marketplace.

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support agent for the marketplace.

  • ROLE_USER -

    Allows updating company as company member.

path Parameters
companyUuid
required
string

Unique identifier of company to set as last used

userUuid
required
string

Unique identifier of user in the API request

Responses

Request samples

curl --request PUT \
  --url https://marketplace.appdirect.com/api/account/v2/users/%7BuserUuid%7D/memberships/%7BcompanyUuid%7D/current

Response samples

Content type
No sample

Update user picture

Update a marketplace user’s profile picture. This method expects a Content-Type request header with a value of “multipart/form-data”. The updated user resource is returned.

Required Scopes and Authorization Rules
  • ROLE_PARTNER -

    Allows access to read and write all marketplace data.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_SYS_ADMIN -

    Allows access as a Company Admin for the company.

  • ROLE_USER -

    Allows access to retrieve self or other company users.

path Parameters
userUuid
required
string

Unique identifier of user in the API request

Request Body schema: application/json

Image file that will be used as the profile picture.

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
No sample

Read user profile

Retrieve profile information for a marketplace user.

Required Scopes and Authorization Rules
  • ROLE_PARTNER_READ -

    Allows access to read all marketplace data.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_CHANNEL_SUPPORT -

    Allows access as a Customer Support agent for the marketplace.

  • ROLE_SALES_SUPPORT -

    Allows access as a Sales Support agent for the marketplace.

  • ROLE_USER -

    Allows access to retrieve self or other company user profiles.

  • ROLE_SYS_ADMIN -

    Allows access as a Company Admin for the company.

path Parameters
userUuid
required
string

Unique identifier of user in the API request

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/account/v2/users/%7BuserUuid%7D/profile

Response samples

Content type
No sample

Update user profile

Update a marketplace user's profile. Also marks user's checklist with profile as completed.

Required Scopes and Authorization Rules
  • ROLE_PARTNER -

    Allows access to read and write all marketplace data.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_SYS_ADMIN -

    Allows access as a Company Admin for the company.

  • ROLE_USER -

    Allows updating own or other company user profiles.

path Parameters
userUuid
required
string

Unique identifier of user in the API request

query Parameters
removeUnspecifiedCustomAttributes
boolean
Default: false

When true, custom attributes not included in the body will be removed from the user's profile. When false, custom attributes not included in the body will remain in the user's profile, unmodified.

Request Body schema: application/json

User profile resource containing requested updates

Array of objects or null (Link)

Resource links

birthday
string

Birthday date

currentCity
string

Current city

Array of objects (CustomAttributeAccountV2)

Custom attributes

Array of objects (EducationAccountV2)

List of user's educational credentials

Array of objects (EmailAddressAccountV2)

Email addresses

homePhone
string

Home phone number

hometown
string

Hometown

Array of objects (IM)

List of instant messaging accounts

mobilePhone
string

Mobile phone number

twitter
string

Twitter account

twoFactorAuthenticationMethod
string

Two factor authentication method

Array of objects (WorkExperienceAccountV2)

List of work experiences

workPhone
string

Work phone number

Responses

Request samples

Content type
application/json
{
  • "links": [],
  • "birthday": "1999/9/9",
  • "currentCity": "Current City",
  • "customAttributes": [ ],
  • "educations": [
    ],
  • "emailAddresses": [
    ],
  • "homePhone": "+1 123 123 1234",
  • "hometown": "Home Town",
  • "ims": [
    ],
  • "mobilePhone": "+1 123 ",
  • "twitter": "twitter_account",
  • "twoFactorAuthenticationMethod": "twoFactorAuthenticationIsGreat",
  • "workExperiences": [
    ],
  • "workPhone": "+1 123 123 1234"
}

Response samples

Content type
No sample

Patch user profile

Update a marketplace user's profile. Also marks user's checklist with profile as completed.

Required Scopes and Authorization Rules
  • ROLE_PARTNER -

    Allows access to read and write all marketplace data.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_SYS_ADMIN -

    Allows access as a Company Admin for the company.

  • ROLE_USER -

    Allows updating own or other company user profiles.

path Parameters
userUuid
required
string

Unique identifier of user in the API request

query Parameters
removeUnspecifiedCustomAttributes
boolean
Default: false

When true, custom attributes not included in the body will be removed from the user's profile. When false, custom attributes not included in the body will remain in the user's profile, unmodified.

Request Body schema: application/json

User profile resource containing requested updates

Array of objects or null (Link)

Resource links

birthday
string

Birthday date

currentCity
string

Current city

Array of objects (CustomAttributeAccountV2)

Custom attributes

Array of objects (EducationAccountV2)

List of user's educational credentials

Array of objects (EmailAddressAccountV2)

Email addresses

homePhone
string

Home phone number

hometown
string

Hometown

Array of objects (IM)

List of instant messaging accounts

mobilePhone
string

Mobile phone number

twitter
string

Twitter account

twoFactorAuthenticationMethod
string

Two factor authentication method

Array of objects (WorkExperienceAccountV2)

List of work experiences

workPhone
string

Work phone number

Responses

Request samples

Content type
application/json
{
  • "links": [],
  • "birthday": "1999/9/9",
  • "currentCity": "Current City",
  • "customAttributes": [ ],
  • "educations": [
    ],
  • "emailAddresses": [
    ],
  • "homePhone": "+1 123 123 1234",
  • "hometown": "Home Town",
  • "ims": [
    ],
  • "mobilePhone": "+1 123 ",
  • "twitter": "twitter_account",
  • "twoFactorAuthenticationMethod": "twoFactorAuthenticationIsGreat",
  • "workExperiences": [
    ],
  • "workPhone": "+1 123 123 1234"
}

Response samples

Content type
No sample

Set a temporary password

Set a temporary password for the given marketplace user. User must be active and specified password must meet user's company password policy. Effective company is the last company used by the user.

Required Scopes and Authorization Rules
  • ROLE_PARTNER -

    Allows access to read and write all marketplace data.

  • ROLE_CORPORATE_ADMIN -

    Allows access as a Network Manager for the marketplace.

  • ROLE_CHANNEL_ADMIN -

    Allows access as a Marketplace Manager for the marketplace.

  • ROLE_SYS_ADMIN -

    Allows access as a Company Admin for the company.

path Parameters
userUuid
required
string

Unique identifier of user in the API request

Request Body schema: application/json

Temporary password, user require to reset password at next login

password
string

Password

Responses

Request samples

Content type
application/json
{
  • "password": "temppassword123"
}

Response samples

Content type
No sample

Webhooks

List all webhooks

This call lists all webhooks on your marketplace.

query Parameters
page
string
Default: "0"

Number of pages requested

size
string
Default: "10"

Number of record per page

sortField
string
Default: "DATE"
Value: "DATE"

Field used to sort the response

sortOrder
string
Default: "DESC"
Enum: "ASC" "DESC"

The order to sort the response(ASC, DESC)

Responses

Request samples

curl --request GET \
  --url 'https://marketplace.appdirect.com/api/channel/v1/webhooks?page=SOME_STRING_VALUE&size=SOME_STRING_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE'

Response samples

Content type
application/json
{}

Create a webhook

This call creates a new webhook on your marketplace.

Request Body schema: application/json

webhook information

authenticationToken
string

Authentication token to be passed in the HTTP header

createdOn
number

Creation date

lastModified
number

Last modified date

object (WebhookOAuth2Config)
partner
string

Channel of the webhook

resourceActions
Array of strings (WebhookResourceAction)
Items Enum: "ADDED" "REMOVED" "CHANGED"

Actions done on the resource that triggers the Webhook

resourceType
required
string (WebhookResourceType)
Enum: "RESELLER_REGISTRANT" "SALES_LEAD" "SALES_OPPORTUNITY" "QUOTE" "COMPANY" "SUBSCRIPTION" "PAYMENT_INSTRUMENT" "USER" "MEMBERSHIP" "DISCOUNT" "ORDER" "CATALOG_PRODUCT" "PLATFORM" "APP_ASSIGNMENT" "INVOICE" "STAGING_PRODUCT" "LEAD"
scope
string (WebhookScope)
Enum: "PARTNER" "COMPANY"
scopeId
string
url
required
string

Endpoint to call when an action is done on a resource

uuid
string

Unique identifier

Responses

Request samples

Content type
application/json
{
  • "authenticationToken": "...",
  • "createdOn": 12345,
  • "lastModified": 12345,
  • "oauth2Config": {
    },
  • "partner": "...",
  • "resourceActions": [
    ],
  • "resourceType": "STAGING_PRODUCT",
  • "scope": "COMPANY",
  • "scopeId": "...",
  • "url": "...",
  • "uuid": "..."
}

Response samples

Content type
application/json
{}

Retrieve a webhook

This call returns all details for a specific webhook.

path Parameters
webhookUuid
required
string

Responses

Request samples

curl --request GET \
  --url https://marketplace.appdirect.com/api/channel/v1/webhooks/%7BwebhookUuid%7D

Response samples

Content type
application/json
{}

Update a webhook

This call updates a webhook on your marketplace.

path Parameters
webhookUuid
required
string
Request Body schema: application/json
authenticationToken
string

Authentication token to be passed in the HTTP header

createdOn
number

Creation date

lastModified
number

Last modified date

object (WebhookOAuth2Config)
partner
string

Channel of the webhook

resourceActions
Array of strings (WebhookResourceAction)
Items Enum: "ADDED" "REMOVED" "CHANGED"

Actions done on the resource that triggers the Webhook

resourceType
required
string (WebhookResourceType)
Enum: "RESELLER_REGISTRANT" "SALES_LEAD" "SALES_OPPORTUNITY" "QUOTE" "COMPANY" "SUBSCRIPTION" "PAYMENT_INSTRUMENT" "USER" "MEMBERSHIP" "DISCOUNT" "ORDER" "CATALOG_PRODUCT" "PLATFORM" "APP_ASSIGNMENT" "INVOICE" "STAGING_PRODUCT" "LEAD"
scope
string (WebhookScope)
Enum: "PARTNER" "COMPANY"
scopeId
string
url
required
string

Endpoint to call when an action is done on a resource

uuid
string

Unique identifier

Responses

Request samples

Content type
application/json
{
  • "authenticationToken": "...",
  • "createdOn": 12345,
  • "lastModified": 12345,
  • "oauth2Config": {
    },
  • "partner": "...",
  • "resourceActions": [
    ],
  • "resourceType": "STAGING_PRODUCT",
  • "scope": "COMPANY",
  • "scopeId": "...",
  • "url": "...",
  • "uuid": "..."
}

Response samples

Content type
application/json
{}

Delete a webhook

This call deletes a webhook from your marketplace.

path Parameters
webhookUuid
required
string

Responses

Request samples

curl --request DELETE \
  --url https://marketplace.appdirect.com/api/channel/v1/webhooks/%7BwebhookUuid%7D