UNPKG

openapi-directory

Version:

Building & bundling https://github.com/APIs-guru/openapi-directory for easy use from JS

1 lines 107 kB
{"openapi":"3.0.0","servers":[{"url":"https://market.openchannel.io/v2"}],"info":{"title":"OpenChannel Market API","version":"2.0.24","x-origin":[{"format":"swagger","url":"https://api.swaggerhub.com/apis/OpenChannel/Market-API/2.0.24","version":"2.0"}],"x-providerName":"openchannel.io","x-serviceName":"market"},"security":[{"basicAuth":[]}],"paths":{"/apps":{"get":{"description":"- Results are paginated and the default is value is 1000 if no limit is provided\n- If no query is specified, returns all APPROVED or SUSPENDED apps within the marketplace\n","parameters":[{"description":"A query document. Example: {'name':'MyApp'} matches all the apps that have the name 'MyApp'","in":"query","name":"query","required":false,"schema":{"type":"string"}},{"description":"A sort document. Example: {'name':1} sorts the results by name in ascending order","in":"query","name":"sort","required":false,"schema":{"type":"string"}},{"description":"The result set page number to be returned","in":"query","name":"pageNumber","required":false,"schema":{"type":"integer"}},{"description":"The maximum number of results to return per page","in":"query","name":"limit","required":false,"schema":{"type":"integer"}},{"description":"The unique id of the user requesting this resource","in":"query","name":"userId","required":false,"schema":{"type":"string"}},{"description":"Whether this result should only contain apps that are owned by this user","in":"query","name":"isOwner","required":false,"schema":{"type":"boolean"}}],"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"default":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/AppPages"}}},"description":"OK"}},"summary":"Returns a paginated list of APPROVED or SUSPENDED apps","tags":["apps : Find and modify apps"]},"post":{"description":"- This method is called on behalf of a developer.\n- Price is required if the model is 'single' or 'recurring'\n- Returns the newly created app\n","parameters":[{"description":"The unique id of the developer that is adding this app","in":"query","name":"developerId","required":true,"schema":{"type":"string"}},{"description":"The name of the app","in":"query","name":"name","required":true,"schema":{"type":"string"}},{"description":"The type for this app","in":"query","name":"type","required":false,"schema":{"type":"string"}},{"description":"A JSON object representing the pricing model type for this app","in":"query","name":"model","required":false,"schema":{"type":"string"}},{"description":"A custom JSON object that you can create and attach to this record","in":"query","name":"customData","required":false,"schema":{"type":"string"}},{"description":"A custom set of app attributes defined by the administrator and attached to this app","in":"query","name":"attributes","required":false,"schema":{"type":"string"}},{"description":"JSON object to restrict users from owning or viewing this app. Example: {'view':{'country':['Canada','Mexico']},'own':{'country':['Canada','Mexico']}} restricts users from canada and mexico from viewing or owning this app","in":"query","name":"restrict","required":false,"schema":{"type":"string"}},{"description":"JSON object to restrict users from owning or viewing this app. Example: {'view':{'country':['Canada','Mexico']},'own':{'country':['Canada','Mexico']}} restricts users from canada and mexico from viewing or owning this app","in":"query","name":"allow","required":false,"schema":{"type":"string"}},{"description":"JSON array of data access requirements","in":"query","name":"access","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"409":{"description":"Already Exists - An app with this name already exists"},"default":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/AppVersion"}}},"description":"OK"}},"summary":"Adds a new app for this developer","tags":["apps : Find and modify apps"]}},"/apps/bySafeName/{safeName}":{"get":{"description":"- A 'view' event is recorded when trackViews is set to true\n","parameters":[{"description":"The safeName of the App to be located","in":"path","name":"safeName","required":true,"schema":{"type":"string"}},{"description":"The unique id of the user that is requesting this resource","in":"query","name":"userId","required":false,"schema":{"type":"string"}},{"description":"Whether this call should be tracked as a 'view' for this app. Default is false.","in":"query","name":"trackViews","required":false,"schema":{"type":"boolean"}}],"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"404":{"description":"Not Found - The App is either restricted or was not found"},"default":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/App"}}},"description":"OK"}},"summary":"Returns a single APPROVED or SUSPENDED app","tags":["apps : Find and modify apps"]}},"/apps/textSearch":{"get":{"description":"- Results are returned for the market provided within the basic authentication credentials\n","parameters":[{"description":"A query document. Example: {'name':'MyApp'} matches all the documents that have the name 'MyApp'","in":"query","name":"query","required":false,"schema":{"type":"string"}},{"description":"The text to search for.","in":"query","name":"text","required":true,"schema":{"type":"string"}},{"description":"A JSON array containing all the fields to be searched through. Example: ['name', 'customData.description']","in":"query","name":"fields","required":true,"schema":{"type":"string"}},{"description":"The result set page number to be returned","in":"query","name":"pageNumber","required":false,"schema":{"type":"integer"}},{"description":"The maximum number of results to return per page","in":"query","name":"limit","required":false,"schema":{"type":"integer"}},{"description":"The unique id of the user requesting this resource","in":"query","name":"userId","required":false,"schema":{"type":"string"}},{"description":"Whether this result should only contain apps that are owned by this user","in":"query","name":"isOwned","required":false,"schema":{"type":"boolean"}}],"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"default":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/SearchPages"}}},"description":"OK"}},"summary":"Searches through the text of fields to find APPROVED or SUSPENDED apps","tags":["apps : Find and modify apps"]}},"/apps/versions":{"get":{"description":"- Results are paginated when limit is set, otherwise all results are returned\n- If no query is specified, returns all AppVersions within the marketplace\n- Only returns AppVersions owned by this developer\n","parameters":[{"description":"A query document. Example: {'name':'MyApp'} matches all the apps that have the name 'MyApp'","in":"query","name":"query","required":false,"schema":{"type":"string"}},{"description":"A sort document. Example: {'name':1} sorts the results by name in ascending order","in":"query","name":"sort","required":false,"schema":{"type":"string"}},{"description":"The result set page number to be returned","in":"query","name":"pageNumber","required":false,"schema":{"type":"integer"}},{"description":"The maximum number of results to return per page","in":"query","name":"limit","required":false,"schema":{"type":"integer"}},{"description":"The unique id of the developer requesting this resource","in":"query","name":"developerId","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"default":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/VersionPages"}}},"description":"OK"}},"summary":"Returns a paginated list of AppVersions","tags":["apps : Find and modify apps"]}},"/apps/{appId}":{"delete":{"description":"- This method is called on behalf of a developer.\n","parameters":[{"description":"The id of the App to be removed","in":"path","name":"appId","required":true,"schema":{"type":"string"}},{"description":"The unique id of the developer that is removing this app","in":"query","name":"developerId","required":true,"schema":{"type":"string"}}],"responses":{"404":{"description":"Not Found - App is not found"}},"summary":"Removes app and all versions","tags":["apps : Find and modify apps"]},"get":{"description":"- A 'view' event is recorded when trackViews is set to true\n","parameters":[{"description":"The id of the App to be located","in":"path","name":"appId","required":true,"schema":{"type":"string"}},{"description":"The unique id of the user that is requesting this resource","in":"query","name":"userId","required":false,"schema":{"type":"string"}},{"description":"Whether this call should be tracked as a 'view' for this app. Default is false.","in":"query","name":"trackViews","required":false,"schema":{"type":"boolean"}}],"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"404":{"description":"Not Found - The App is either restricted or was not found"},"default":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/App"}}},"description":"OK"}},"summary":"Returns a single APPROVED or SUSPENDED app","tags":["apps : Find and modify apps"]}},"/apps/{appId}/live":{"post":{"description":"- This method is called on behalf of a developer.\n","parameters":[{"description":"The id of the App to be changed","in":"path","name":"appId","required":true,"schema":{"type":"string"}},{"description":"The unique id of the developer that is changing this AppVersion","in":"query","name":"developerId","required":true,"schema":{"type":"string"}},{"description":"The new version of the live App","in":"query","name":"version","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"404":{"description":"Not Found - App is not found"}},"summary":"Change the live app to another, previously approved version","tags":["apps : Find and modify apps"]}},"/apps/{appId}/publish":{"post":{"description":"- This method is called on behalf of a developer. \n- Only effects the current working version of the app.\n","parameters":[{"description":"The id of the app to be published","in":"path","name":"appId","required":true,"schema":{"type":"string"}},{"description":"The unique id of the developer that is modifying this app","in":"query","name":"developerId","required":true,"schema":{"type":"string"}},{"description":"The version of the app to be published","in":"query","name":"version","required":true,"schema":{"type":"integer"}},{"description":"If true, this AppVersion is automatically approved and becomes immediately available to end users","in":"query","name":"autoApprove","required":false,"schema":{"type":"boolean"}}],"responses":{"202":{"description":"Accepted - Publishing succeeded but there are restrictions"},"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"404":{"description":"Not Found - App was not found"},"409":{"description":"Conflict - An app with that name already exists"}},"summary":"Publishes the current working version of the app to the marketplace","tags":["apps : Find and modify apps"]}},"/apps/{appId}/versions/{version}":{"delete":{"description":"- This method is called on behalf of a developer.\n","parameters":[{"description":"The id of the App to be removed","in":"path","name":"appId","required":true,"schema":{"type":"string"}},{"description":"The version of the App to be removed","in":"path","name":"version","required":true,"schema":{"type":"string"}},{"description":"The unique id of the developer that is removing this app","in":"query","name":"developerId","required":true,"schema":{"type":"string"}}],"responses":{"404":{"description":"Not Found - App is not found"}},"summary":"Removes AppVersion","tags":["apps : Find and modify apps"]},"get":{"description":"- Only returns AppVersions owned by this developer\n","parameters":[{"description":"The id of the App to be located","in":"path","name":"appId","required":true,"schema":{"type":"string"}},{"description":"The version number of the app","in":"path","name":"version","required":true,"schema":{"type":"integer"}},{"description":"The unique id of the developer that is requesting this resource","in":"query","name":"developerId","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"404":{"description":"Not Found - The App or version number was not found"},"default":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/AppVersion"}}},"description":"OK"}},"summary":"Returns a single AppVersion","tags":["apps : Find and modify apps"]},"patch":{"description":"- This method is called on behalf of a developer.\n- Price and is required if the model is 'single' or 'recurring'\n- Returns the newly updated app\n- This endpoint updates only the fields provided in the request (relative update). In contrast, the POST version of this method replaces the entire object to match the request (absolute update). \n","parameters":[{"description":"The id of the App to be updated","in":"path","name":"appId","required":true,"schema":{"type":"string"}},{"description":"The version of the App to be updated","in":"path","name":"version","required":true,"schema":{"type":"string"}},{"description":"The unique id of the developer that is updating this app","in":"query","name":"developerId","required":true,"schema":{"type":"string"}},{"description":"The name of the app","in":"query","name":"name","required":false,"schema":{"type":"string"}},{"description":"The type for this app","in":"query","name":"type","required":false,"schema":{"type":"string"}},{"description":"A JSON object representing the pricing model type for this app","in":"query","name":"model","required":false,"schema":{"type":"string"}},{"description":"A custom JSON object that you can create and attach to this record","in":"query","name":"customData","required":false,"schema":{"type":"string"}},{"description":"A custom set of app attributes defined by the administrator and attached to this app","in":"query","name":"attributes","required":false,"schema":{"type":"string"}},{"description":"JSON object to restrict users from purchasing or viewing this app. Example: {'view':{'country':['Canada','Mexico']},'purchase':{'country':['Canada','Mexico']}} restricts users from canada and mexico from viewing or purchasing this app","in":"query","name":"restrict","required":false,"schema":{"type":"string"}},{"description":"JSON object to allow users to purchase or view this app. Example: {'purchase':{'country':['Canada','Mexico']}} allows only users from canada and mexico to purchase this app","in":"query","name":"allow","required":false,"schema":{"type":"string"}},{"description":"JSON array of data access requirements","in":"query","name":"access","required":false,"schema":{"type":"string"}},{"description":"False if updates should skip the approval process and be available immediately. Default is True","in":"query","name":"approvalRequired","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"404":{"description":"Not Found - App is not found"},"409":{"description":"Already Exists - An app with this name already exists"},"default":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/AppVersion"}}},"description":"OK"}},"summary":"Updates the app fields or creates a new version","tags":["apps : Find and modify apps"]},"post":{"description":"- This method is called on behalf of a developer.\n- Price and is required if the model is 'single' or 'recurring'\n- Returns the newly updated app\n- This endpoint replaces the entire object to match the request (absolute update). In contrast, the PATCH version of this endpoint updates only the fields provided in the request (relative update).\n","parameters":[{"description":"The id of the App to be updated","in":"path","name":"appId","required":true,"schema":{"type":"string"}},{"description":"The version of the App to be updated","in":"path","name":"version","required":true,"schema":{"type":"string"}},{"description":"The unique id of the developer that is updating this app","in":"query","name":"developerId","required":true,"schema":{"type":"string"}},{"description":"The name of the app","in":"query","name":"name","required":false,"schema":{"type":"string"}},{"description":"The type for this app","in":"query","name":"type","required":false,"schema":{"type":"string"}},{"description":"A JSON object representing the pricing model type for this app","in":"query","name":"model","required":false,"schema":{"type":"string"}},{"description":"A custom JSON object that you can create and attach to this record","in":"query","name":"customData","required":false,"schema":{"type":"string"}},{"description":"A custom set of app attributes defined by the administrator and attached to this app","in":"query","name":"attributes","required":false,"schema":{"type":"string"}},{"description":"JSON object to restrict users from purchasing or viewing this app. Example: {'view':{'country':['Canada','Mexico']},'purchase':{'country':['Canada','Mexico']}} restricts users from canada and mexico from viewing or purchasing this app","in":"query","name":"restrict","required":false,"schema":{"type":"string"}},{"description":"JSON object to allow users to purchase or view this app. Example: {'purchase':{'country':['Canada','Mexico']}} allows only users from canada and mexico to purchase this app","in":"query","name":"allow","required":false,"schema":{"type":"string"}},{"description":"JSON array of data access requirements","in":"query","name":"access","required":false,"schema":{"type":"string"}},{"description":"False if updates should skip the approval process and be available immediately. Default is True","in":"query","name":"approvalRequired","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"404":{"description":"Not Found - App is not found"},"409":{"description":"Already Exists - An app with this name already exists"},"default":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/AppVersion"}}},"description":"OK"}},"summary":"Updates the app or creates a new version","tags":["apps : Find and modify apps"]}},"/apps/{appId}/versions/{version}/status":{"post":{"description":"Only certain status changes are allowed. For instance, a developer is only able to suspend and unsuspend their app (which must already be approved). See here for a state change diagram of allowed status changes for administrators: https://support.openchannel.io/documentation/api/#415-apps-status-change\n","parameters":[{"description":"The id of the App to be updated","in":"path","name":"appId","required":true,"schema":{"type":"string"}},{"description":"The version of the App to be updated","in":"path","name":"version","required":true,"schema":{"type":"integer"}},{"description":"The unique id of the developer that is modifying this app","in":"query","name":"developerId","required":false,"schema":{"type":"string"}},{"description":"The new status for this app. Can be either 'inReview', 'approved', 'suspended' or 'rejected'","in":"query","name":"status","required":false,"schema":{"enum":["inReview","approved","suspended","rejected"],"type":"string"}},{"description":"The role initiating this status change. Can be either 'developer' or 'administrator' (default)","in":"query","name":"modifiedBy","required":false,"schema":{"default":"administrator","enum":["developer","administrator"],"type":"string"}},{"description":"The reason for this status change","in":"query","name":"reason","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"404":{"description":"Not Found - App is not found"},"412":{"description":"Precondition Failed - The app's new status is not valid because of the app's current status"}},"summary":"Allows a developer or administrator to change the status of apps","tags":["apps : Find and modify apps"]}},"/custom-gateway/payment/{ownershipId}":{"post":{"description":"- Results are returned for the market provided within the basic authentication credentials \n- Payments must be enabled and 'Custom' must be selected as the gateway in order to use this API endpoint\n","parameters":[{"description":"The id of the ownership record involved in this transaction","in":"path","name":"ownershipId","required":true,"schema":{"type":"string"}},{"description":"The total amount paid in cents","in":"query","name":"amount","required":true,"schema":{"type":"integer"}},{"description":"The date (in milliseconds) of when this payment was made","in":"query","name":"date","required":false,"schema":{"format":"int64","type":"integer"}},{"description":"The fee (in cents) paid to a payment processors or third parties to process this payment. Default is 0.","in":"query","name":"feeAmount","required":false,"schema":{"type":"integer"}},{"description":"The amount (in cents) paid to the marketplace owner as a commission for the purchase of this app. Defaults based on the commission amount configured for this marketplace.","in":"query","name":"marketplaceAmount","required":false,"schema":{"type":"integer"}},{"description":"The amount (in cents) paid to the owner of the app. Defaults based on the commission amount configured for this marketplace.","in":"query","name":"developerAmount","required":false,"schema":{"type":"integer"}},{"description":"A custom JSON object to attach to this transaction","in":"query","name":"customData","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"412":{"description":"Precondition Failed - Payments must be enabled and 'Custom' must be selected as the gateway in order to use this API endpoint"},"default":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/Transaction"}}},"description":"OK"}},"summary":"Adds a payment for an app on behalf of a user","tags":["custom-gateway : Process payments and refunds"]}},"/custom-gateway/refund/{ownershipId}":{"post":{"description":"- Results are returned for the market provided within the basic authentication credentials\n- Payments must be enabled and 'Custom' must be selected as the gateway in order to use this API endpoint\n","parameters":[{"description":"The id of the ownership record involved in this transaction","in":"path","name":"ownershipId","required":true,"schema":{"type":"string"}},{"description":"The total amount refunded in cents","in":"query","name":"amount","required":true,"schema":{"type":"integer"}},{"description":"The date (in milliseconds) of when this refund was made","in":"query","name":"date","required":false,"schema":{"format":"int64","type":"integer"}},{"description":"The fee (in cents) recovered from a payment processor or third party to process this payment. The default value is 0","in":"query","name":"feeAmount","required":false,"schema":{"type":"integer"}},{"description":"The amount (in cents) recovered from the marketplace owner as a commission refund for the purchase of this app","in":"query","name":"marketplaceAmount","required":false,"schema":{"type":"integer"}},{"description":"The amount (in cents) recovered from the owner of the app","in":"query","name":"developerAmount","required":false,"schema":{"type":"integer"}},{"description":"A custom JSON object to attach to this transaction","in":"query","name":"customData","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"412":{"description":"Precondition Failed - Payments must be enabled and 'Custom' must be selected as the gateway in order to use this API endpoint"},"default":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/Transaction"}}},"description":"OK"}},"summary":"Fully or partially refund payment for an app on behalf of a user","tags":["custom-gateway : Process payments and refunds"]}},"/developerAccounts":{"get":{"description":"- Results are paginated and the default is value is 1000 if no limit is provided\n","parameters":[{"description":"A query document. Example: {'name':'NASA'} matches all the developerAccounts that have the name 'NASA'","in":"query","name":"query","required":false,"schema":{"type":"string"}},{"description":"A sort document. Example: {'name':1} sorts the results by name in ascending order","in":"query","name":"sort","required":false,"schema":{"type":"string"}},{"description":"The result set page number to be returned","in":"query","name":"pageNumber","required":false,"schema":{"type":"integer"}},{"description":"The maximum number of results to return per page","in":"query","name":"limit","required":false,"schema":{"type":"integer"}}],"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"default":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeveloperAccountPages"}}},"description":"OK"}},"summary":"Returns a paginated list of developerAccounts","tags":["developerAccounts : Find and modify developer accounts"]}},"/developerAccounts/{developerAccountId}":{"delete":{"parameters":[{"description":"The id of the developer account to be updated","in":"path","name":"developerAccountId","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"default":{"description":"OK"}},"summary":"Removes the developer account","tags":["developerAccounts : Find and modify developer accounts"]},"get":{"parameters":[{"description":"The id of the developer account to be located","in":"path","name":"developerAccountId","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"404":{"description":"Not Found - Developer account is not found"},"default":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeveloperAccount"}}},"description":"OK"}},"summary":"Returns a single developer account","tags":["developerAccounts : Find and modify developer accounts"]},"patch":{"parameters":[{"description":"The id of the developer account to be updated","in":"path","name":"developerAccountId","required":true,"schema":{"type":"string"}},{"description":"The id of the developer that this account belongs to","in":"query","name":"developerId","required":true,"schema":{"type":"string"}},{"description":"The contact email address","in":"query","name":"email","required":false,"schema":{"type":"string"}},{"description":"The name for the account","in":"query","name":"name","required":false,"schema":{"type":"string"}},{"description":"A custom JSON object that you can create and attach to this record","in":"query","name":"customData","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"404":{"description":"Not Found - The developer is not found"},"default":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeveloperAccount"}}},"description":"OK"}},"summary":"Updates the developer account fields","tags":["developerAccounts : Find and modify developer accounts"]},"post":{"parameters":[{"description":"The id of the developer account to be updated","in":"path","name":"developerAccountId","required":true,"schema":{"type":"string"}},{"description":"The id of the developer that this account belongs to","in":"query","name":"developerId","required":true,"schema":{"type":"string"}},{"description":"The contact email address","in":"query","name":"email","required":false,"schema":{"type":"string"}},{"description":"The name for the account","in":"query","name":"name","required":false,"schema":{"type":"string"}},{"description":"A custom JSON object that you can create and attach to this record","in":"query","name":"customData","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"default":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeveloperAccount"}}},"description":"OK"}},"summary":"Updates the developer account or adds the developer account if it doesn't exist","tags":["developerAccounts : Find and modify developer accounts"]}},"/developers":{"get":{"description":"- Results are paginated and the default is value is 100 if no limit is provided\n","parameters":[{"description":"A query document. Example: {'name':'John'} matches all the developers that have the name 'John'","in":"query","name":"query","required":false,"schema":{"type":"string"}},{"description":"A sort document. Example: {'name':1} sorts the results by name in ascending order","in":"query","name":"sort","required":false,"schema":{"type":"string"}},{"description":"The result set page number to be returned","in":"query","name":"pageNumber","required":false,"schema":{"type":"integer"}},{"description":"The maximum number of results to return per page","in":"query","name":"limit","required":false,"schema":{"type":"integer"}}],"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"default":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeveloperPages"}}},"description":"OK"}},"summary":"Returns a paginated list of developers","tags":["developers : Find and modify developers"]}},"/developers/{developerId}":{"delete":{"parameters":[{"description":"The id of the developer to be removed","in":"path","name":"developerId","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"404":{"description":"Not Found - Developer is not found"},"default":{"description":"OK"}},"summary":"Removes a single developer","tags":["developers : Find and modify developers"]},"get":{"parameters":[{"description":"The id of the developer to be located","in":"path","name":"developerId","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"404":{"description":"Not Found - Developer is not found"},"default":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/Developer"}}},"description":"OK"}},"summary":"Returns a single developer","tags":["developers : Find and modify developers"]},"patch":{"parameters":[{"description":"The id of the developer to be located","in":"path","name":"developerId","required":true,"schema":{"type":"string"}},{"description":"The type for this developer","in":"query","name":"type","required":false,"schema":{"type":"string"}},{"description":"The developer's email","in":"query","name":"email","required":false,"schema":{"type":"string"}},{"description":"The developer's username","in":"query","name":"username","required":false,"schema":{"type":"string"}},{"description":"The developer's name","in":"query","name":"name","required":false,"schema":{"type":"string"}},{"description":"A custom JSON object that you can create and attach to this record","in":"query","name":"customData","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"404":{"description":"Not Found - The developer is not found"},"default":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/Developer"}}},"description":"OK"}},"summary":"Updates the developer fields","tags":["developers : Find and modify developers"]},"post":{"parameters":[{"description":"The id of the developer to be located","in":"path","name":"developerId","required":true,"schema":{"type":"string"}},{"description":"The type for this developer","in":"query","name":"type","required":false,"schema":{"type":"string"}},{"description":"The developer's email","in":"query","name":"email","required":false,"schema":{"type":"string"}},{"description":"The developer's username","in":"query","name":"username","required":false,"schema":{"type":"string"}},{"description":"The developer's name","in":"query","name":"name","required":false,"schema":{"type":"string"}},{"description":"A custom JSON object that you can create and attach to this record","in":"query","name":"customData","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"default":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/Developer"}}},"description":"OK"}},"summary":"Updates the developer record or adds the developer if it doesn't exist","tags":["developers : Find and modify developers"]}},"/events/{eventId}":{"get":{"description":"- Results are returned for the market provided within the basic authentication credentials\n","parameters":[{"description":"The id of the event","in":"path","name":"eventId","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"404":{"description":"Not Found - The event was not found"},"default":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/Event"}}},"description":"OK"}},"summary":"Returns an event","tags":["events : Find events"]}},"/files":{"get":{"parameters":[{"description":"A query document. Example: {'name':'file.txt'} matches all the files that have the name 'file.txt'","in":"query","name":"query","required":false,"schema":{"type":"string"}},{"description":"A sort document. Example: {'name':1} sorts the results by name in ascending order","in":"query","name":"sort","required":false,"schema":{"type":"string"}},{"description":"The result set page number to be returned","in":"query","name":"pageNumber","required":false,"schema":{"type":"integer"}},{"description":"The maximum number of results to return per page","in":"query","name":"limit","required":false,"schema":{"type":"integer"}}],"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"default":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/File"}}},"description":"OK"}},"summary":"Returns a paginated list of files","tags":["files : Upload files "]},"post":{"description":"- WARNING: File URLs or fileIds must be stored somewhere within the customData field for an app, review, developer or user. Unused files will be removed after a few days. \n- This method is called on behalf of a developer.\n","parameters":[{"description":"If true, this file will be protected as a private file and require the generation of a signed URL in order to download using the Download File API. The default is false.","in":"query","name":"isPrivate","required":false,"schema":{"type":"boolean"}},{"description":"A comma separated list of hashes to return in order to verify file integrity.","in":"query","name":"hash","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"file":{"description":"The file to be uploaded","format":"binary","type":"string"}},"required":["file"],"type":"object"}}},"required":true},"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"default":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/File"}}},"description":"OK"}},"summary":"Uploads a file.","tags":["files : Upload files "]}},"/files/byIdOrUrl":{"get":{"parameters":[{"description":"The fileId or fileUrl of the file to be returned","in":"query","name":"fileIdOrUrl","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"default":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/File"}}},"description":"OK"}},"summary":"Get the details for a file.","tags":["files : Upload files "]}},"/files/download":{"get":{"parameters":[{"description":"The URL of the file to be uploaded","in":"query","name":"fileId","required":true,"schema":{"type":"string"}},{"description":"The number of seconds that this signed URL should be valid for. The default is 60.","in":"query","name":"validSeconds","required":false,"schema":{"type":"integer"}}],"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"404":{"description":"Not Found - The file was not found"},"default":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/FileDownload"}}},"description":"OK"}},"summary":"A signed URL for downloading a private file can be returned by providing the fileId.","tags":["files : Upload files "]}},"/files/url":{"post":{"description":"- WARNING: File URLs or fileIds must be stored somewhere within the customData field for an app, review, developer or user. Unused files will be removed after a few days.\n- This method is called on behalf of a developer.\n","parameters":[{"description":"The URL of the file to be uploaded","in":"query","name":"url","required":true,"schema":{"type":"string"}},{"description":"If true, this file will be protected as a private file and require the generation of a signed URL in order to download using the Download File API. The default is false.","in":"query","name":"isPrivate","required":false,"schema":{"type":"boolean"}}],"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"default":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/File"}}},"description":"OK"}},"summary":"Uploads a file from a URL","tags":["files : Upload files "]}},"/markets/this":{"get":{"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"default":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/Market"}}},"description":"OK"}},"summary":"Returns the current marketplace","tags":["markets : This marketplace"]}},"/ownership":{"get":{"description":" - Results are returned for the market provided within the basic authentication credentials ","parameters":[{"description":"A query document. Example: {'userId':'12'} matches all the ownership records that have the userId '12'.","in":"query","name":"query","required":false,"schema":{"type":"string"}},{"description":"A sort document. Example: {'date':1} sorts the results by date in ascending order","in":"query","name":"sort","required":false,"schema":{"type":"string"}},{"description":"The result set page number to be returned","in":"query","name":"pageNumber","required":false,"schema":{"type":"integer"}},{"description":"The maximum number of results to return per page","in":"query","name":"limit","required":false,"schema":{"type":"integer"}}],"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"default":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/OwnershipPages"}}},"description":"OK"}},"summary":"Returns a paginated list of app licenses","tags":["ownership : Find ownership"]}},"/ownership/install":{"post":{"description":" - This method is called on behalf of a user - This method requires either a modelId from the app or a custom model - User data and statistics are recorded when this method is called ","parameters":[{"description":"The id of the App being owned","in":"query","name":"appId","required":true,"schema":{"type":"string"}},{"description":"The id of the User requesting to own the App","in":"query","name":"userId","required":true,"schema":{"type":"string"}},{"description":"The id of the model associated with this ownership request","in":"query","name":"modelId","required":false,"schema":{"type":"string"}},{"description":"A custom model that will override the app's default model for this install","in":"query","name":"model","required":false,"schema":{"type":"string"}},{"description":"A custom JSON object to attach to this ownership record","in":"query","name":"customData","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"402":{"description":"Payment Required - The App requires a user with pre-set payment details"},"404":{"description":"Not Found - The App is either restricted or was not found"},"409":{"description":"Already Exists - The User already owns this app (or is already participating in a trial)"},"412":{"description":"Payment Failed - The User's payment details are invalid"},"default":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/Ownership"}}},"description":"OK"}},"summary":"Aquires an app license for a user (installs app)","tags":["ownership : Find ownership"]}},"/ownership/uninstall/{ownershipId}":{"post":{"description":" - This method is called on behalf of a user - User data and statistics are recorded when this method is called ","parameters":[{"description":"The id of the ownership to be unintalled","in":"path","name":"ownershipId","required":true,"schema":{"type":"string"}},{"description":"The id of the User requesting to uninstall the App","in":"query","name":"userId","required":true,"schema":{"type":"string"}},{"description":"True if this app will require payment to be re-installed. Default is false","in":"query","name":"cancelOwnership","required":false,"schema":{"type":"boolean"}},{"description":"A custom JSON object to attach to this ownership record","in":"query","name":"customData","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"404":{"description":"Not Found - App is not found"},"409":{"description":"App is not owned by this user"},"default":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/Ownership"}}},"description":"OK"}},"summary":"Uninstalls a license for a particular user and app (uninstalls app)","tags":["ownership : Find ownership"]}},"/ownership/{ownershipId}":{"get":{"description":" - Results are returned for the market provided within the basic authentication credentials ","parameters":[{"description":"The id belonging to the ownership record","in":"path","name":"ownershipId","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"default":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/Ownership"}}},"description":"OK"}},"summary":"Returns an ownership record","tags":["ownership : Find ownership"]},"patch":{"description":" - Results are returned for the market provided within the basic authentication credentials ","parameters":[{"description":"The id of the ownership to be updated","in":"path","name":"ownershipId","required":true,"schema":{"type":"string"}},{"description":"Custom JSON object that will be attached to this ownership record","in":"query","name":"customData","required":false,"schema":{"type":"string"}},{"description":"The date (in millis) of when this app ownership expires","in":"query","name":"expires","required":false,"schema":{"format":"int64","type":"integer"}}],"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"404":{"description":"Not Found - The ownership was not found"},"default":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/Ownership"}}},"description":"OK"}},"summary":"Updates ownership fields","tags":["ownership : Find ownership"]},"post":{"description":" - Results are returned for the market provided within the basic authentication credentials ","parameters":[{"description":"The id of the ownership to be updated","in":"path","name":"ownershipId","required":true,"schema":{"type":"string"}},{"description":"Custom JSON object that will be attached to this ownership record","in":"query","name":"customData","required":false,"schema":{"type":"string"}},{"description":"The date (in millis) of when this app ownership expires","in":"query","name":"expires","required":false,"schema":{"format":"int64","type":"integer"}}],"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"default":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/Ownership"}}},"description":"OK"}},"summary":"Updates an ownership record","tags":["ownership : Find ownership"]}},"/permission/apps/{appId}":{"delete":{"parameters":[{"description":"The id of the app","in":"path","name":"appId","required":true,"schema":{"type":"string"}},{"description":"The id of the user","in":"query","name":"userId","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"404":{"description":"Not Found - The access is not found"}},"summary":"Removes permission that allows the app to access this user's data","tags":["permission : Add and remove permissions "]},"get":{"parameters":[{"description":"The id of the app","in":"path","name":"appId","required":true,"schema":{"type":"string"}},{"description":"The id of the user","in":"query","name":"userId","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"404":{"description":"Not Found - The access is not found"},"default":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/Access"}}},"description":"OK"}},"summary":"Returns permission that allows the app to access this user's data","tags":["permission : Add and remove permissions "]},"post":{"parameters":[{"description":"The id of the app","in":"path","name":"appId","required":true,"schema":{"type":"string"}},{"description":"The id of the user","in":"query","name":"userId","required":true,"schema":{"type":"string"}},{"description":"The time (in milliseconds) of when the user agreed to the access request","in":"query","name":"date","required":false,"schema":{"format":"int64","type":"integer"}},{"description":"The ip address of the user agreeing to the access request","in":"query","name":"ip","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"404":{"description":"Not Found - App not found"},"default":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/Access"}}},"description":"OK"}},"summary":"Adds permission to allow the app to access this user's data","tags":["permission : Add and remove permissions "]}},"/reviews":{"get":{"description":"- Results are paginated and the default is value is 100 if no limit is provided\n","parameters":[{"description":"A query document. Example: {'rating': 500} matches all the reviews that have a rating of 500. ","in":"query","name":"query","required":false,"schema":{"type":"string"}},{"description":"A sort document. Example: {'rating':1} sorts the results by rating in ascending order","in":"query","name":"sort","required":false,"schema":{"type":"string"}},{"description":"The result set page number to be returned","in":"query","name":"pageNumber","required":false,"schema":{"type":"integer"}},{"description":"The maximum number of results to return per page","in":"query","name":"limit","required":false,"schema":{"type":"integer"}}],"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"default":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ReviewPages"}}},"description":"OK"}},"summary":"Find reviews for a particular App and marketplace. Results are automatically paginated when limit is set","tags":["reviews : Find and modify reviews "]},"post":{"description":"- Only authenticated users are able to post reviews\n- Returns the newly created review\n","parameters":[{"description":"The id of the App that will own this review","in":"query","name":"appId","required":true,"schema":{"type":"string"}},{"description":"The id of the User that is posting this review","in":"query","name":"userId","required":true,"schema":{"type":"string"}},{"description":"The id of the User account that is posting this review","in":"query","name":"userAccountId","required":false,"schema":{"type":"string"}},{"description":"The review's headline. Limited to 50 characters.","in":"query","name":"headline","required":true,"schema":{"type":"string"}},{"description":"The rating given within this review. The rating is represented as an integer between 0 and 500 (0 - 5 stars)","in":"query","name":"rating","required":true,"schema":{"maximum":500,"minimum":0,"type":"integer"}},{"description":"The review's description. Limited to 2000 characters.","in":"query","name":"description","required":true,"schema":{"type":"string"}},{"description":"The type for this review","in":"query","name":"type","required":false,"schema":{"type":"string"}},{"description":"True if a review can be created only by a user that has owned the app. The default is True.","in":"query","name":"mustOwnApp","required":false,"schema":{"type":"boolean"}},{"description":"True if the review should be automatically approved. The default is False.","in":"query","name":"autoApprove","required":false,"schema":{"type":"boolean"}},{"description":"A custom JSON object that you can create and attach to this record","in":"query","name":"customData","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request - Required parameters are missing, malformed or invalid"},"403":{"description":"Forbidden - Users must have owned the app before they can post a review; Anonymous users cannot post reviews"},"409":{"description":"Already Exists - The User has already reviewed this app"},"default":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/Review"}}},"description":"