En ligne  

/v1/appsv2/

V2 appstore - list, create, configure, and purchase iframe-hosted apps. Distinct from /v1/apps/ (the legacy `\AT\ATApps` dev-platform model for externally-hosted developer apps with private keys). The `appsv2` namespace covers the v2 iframe app shell (\AT\ATAppsV2, /modules/v2/_app_host/), backed by the `ATAppsV2` table for user-created entries plus the static manifests in /config/atv2-apps.php for first-party shells.
GET

/v1/appsv2/get_about_post_candidates

#
Finds public community posts that can be selected as an app's About my app post. Eligibility mirrors the profile/About Me selector.

Paramètres

NomTypeObligatoireValeur par défautDescription
searchFilter string Non "" Search text for public top-level posts with image media by title, body, or author alias.
postID int Non 0 Exact ATDiscussionPosts.ID to preview.
pageSize int Non 8 Maximum candidates to return for text search.
ownPostsOnly bool Non false When true, only return public image-media posts authored by the current API user.
Exemple de requête (cURL)
curl --get \
  'https://fr.appointmenttrader.com/v1/appsv2/get_about_post_candidates' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'searchFilter={{searchFilter}}' \
  --data-urlencode 'postID={{postID}}' \
  --data-urlencode 'pageSize={{pageSize}}' \
  --data-urlencode 'ownPostsOnly={{ownPostsOnly}}'

Retour

JSON
See the shared response schema and synthetic example.
Champs de réponse
ChampTypeObligatoireDescription
$appsv2_get_about_post_candidates_Response Oui
$.oneOf[0] Oui
$.oneOf[0].allOf[0]object Oui
$.oneOf[0].allOf[0].RequestUserAliasstring Oui
$.oneOf[0].allOf[0].RequestPathstring | null Oui
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Oui
$.oneOf[0].allOf[0].ResponseCodeinteger Oui
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage Non
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage Non
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring Non
$.oneOf[0].allOf[1]object Oui
$.oneOf[0].allOf[1].Payloadobject Oui
$.oneOf[0].allOf[1].Payload.Candidatesarray Oui
$.oneOf[0].allOf[1].Payload.Candidates[]object Non
$.oneOf[0].allOf[1].Payload.Candidates[].idinteger Oui
$.oneOf[0].allOf[1].Payload.Candidates[].titlestring Oui
$.oneOf[0].allOf[1].Payload.Candidates[].bodyPreviewstring Oui
$.oneOf[0].allOf[1].Payload.Candidates[].urlstring Oui
$.oneOf[0].allOf[1].Payload.Candidates[].createdDatestring Oui
$.oneOf[0].allOf[1].Payload.Candidates[].authorAboutPostAuthor Oui
$.oneOf[0].allOf[1].Payload.Candidates[].author.anyOf[0]object Oui
$.oneOf[0].allOf[1].Payload.Candidates[].author.anyOf[0].idinteger Oui
$.oneOf[0].allOf[1].Payload.Candidates[].author.anyOf[0].aliasstring Oui
$.oneOf[0].allOf[1].Payload.Candidates[].author.anyOf[0].avatarEmojistring Oui
$.oneOf[0].allOf[1].Payload.Candidates[].author.anyOf[0].profileUrlstring Oui
$.oneOf[0].allOf[1].Payload.Candidates[].author.anyOf[1]object Oui
$.oneOf[0].allOf[1].Payload.Candidates[].author.anyOf[1].idnull Oui
$.oneOf[0].allOf[1].Payload.Candidates[].author.anyOf[1].aliasnull Oui
$.oneOf[0].allOf[1].Payload.Candidates[].author.anyOf[1].avatarEmojinull Oui
$.oneOf[0].allOf[1].Payload.Candidates[].author.anyOf[1].profileUrlnull Oui
$.oneOf[0].allOf[1].Payload.Candidates[].author.anyOf[1].identityHidden = true Oui
$.oneOf[0].allOf[1].Payload.Candidates[].author.anyOf[1].identityHiddenUntilinteger Oui
$.oneOf[0].allOf[1].Payload.Candidates[].boardobject Oui
$.oneOf[0].allOf[1].Payload.Candidates[].board.idinteger Oui
$.oneOf[0].allOf[1].Payload.Candidates[].board.namestring Oui
$.oneOf[0].allOf[1].Payload.Candidates[].board.slugstring Oui
$.oneOf[0].allOf[1].Payload.Candidates[].board.typestring Oui
$.oneOf[0].allOf[1].Payload.Candidates[].imageMediaCountinteger Oui
$.oneOf[0].allOf[1].Payload.Candidates[].mediaarray Oui
$.oneOf[0].allOf[1].Payload.Candidates[].media[]object Non
$.oneOf[0].allOf[1].Payload.Candidates[].media[].idinteger Oui
$.oneOf[0].allOf[1].Payload.Candidates[].media[].thumbUrlstring Oui
$.oneOf[0].allOf[1].Payload.Candidates[].media[].mediaUrlstring Oui
$.oneOf[0].allOf[1].Payload.Candidates[].media[].mediaTypestring Oui
$.oneOf[0].allOf[1].Payload.Candidates[].media[].widthinteger Oui
$.oneOf[0].allOf[1].Payload.Candidates[].media[].heightinteger Oui
$.oneOf[0].allOf[1].Payload.Candidates[].media[].titlestring Oui
$.oneOf[0].allOf[1].Payload.Candidates[].media[].isImageboolean Oui
$.oneOf[0].allOf[1].Payload.Candidates[].media[].isEmbeddedboolean Oui
$.oneOf[0].allOf[1].Payload.Pageobject Oui
$.oneOf[0].allOf[1].Payload.Page.pageSizeinteger Oui
$.oneOf[0].allOf[1].Payload.Page.ownPostsOnlyinteger [0,1] Oui
$.oneOf[0].allOf[1].Payload.Page.requiresImageMedia = 1 Oui
$.oneOf[0].allOf[1].Payload.Page.minimumImageMediaCount = 2 Oui
$.oneOf[1]object Oui
$.oneOf[1].RequestUserAliasstring Oui
$.oneOf[1].RequestPathstring | null Oui
$.oneOf[1].RequestStatus = "Failed" Oui
$.oneOf[1].ResponseCodeinteger Oui
$.oneOf[1].ResponseMessageAPIResponseMessage Oui
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Oui
$.oneOf[1].ResponseMessage.oneOf[1]array Oui
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage Non
$.oneOf[1].ResponseMessage.oneOf[2]object Oui
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage Non
$.oneOf[1].RequestImpersonatedByUserAliasstring Non
Exemple de réponse
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/appsv2/get_about_post_candidates",
    "RequestUserAlias": "example-user",
    "Payload": {
        "Candidates": [],
        "Page": {
            "pageSize": 0,
            "ownPostsOnly": 0,
            "requiresImageMedia": 1,
            "minimumImageMediaCount": 2
        }
    }
}
Documentation du point de terminaison lisible par machine
GET

/v1/appsv2/get_checkout_url

#
Returns an inline custom-article checkout URL for paid app access.

Paramètres

NomTypeObligatoireValeur par défautDescription
appID int Oui — ATAppsV2.ID of the paid app.
returnURL string Non "" Optional same-host URL to return to after checkout.
Exemple de requête (cURL)
curl --get \
  'https://fr.appointmenttrader.com/v1/appsv2/get_checkout_url' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'appID={{appID}}' \
  --data-urlencode 'returnURL={{returnURL}}'

Retour

JSON
See the shared response schema and synthetic example.
Champs de réponse
ChampTypeObligatoireDescription
$appsv2_get_checkout_url_Response Oui
$.oneOf[0] Oui
$.oneOf[0].allOf[0]object Oui
$.oneOf[0].allOf[0].RequestUserAliasstring Oui
$.oneOf[0].allOf[0].RequestPathstring | null Oui
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Oui
$.oneOf[0].allOf[0].ResponseCodeinteger Oui
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage Non
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage Non
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring Non
$.oneOf[0].allOf[1]object Oui
$.oneOf[0].allOf[1].Payloadobject Oui
$.oneOf[0].allOf[1].Payload.checkoutUrlstring Oui
$.oneOf[0].allOf[1].Payload.app Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0]object Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].idstring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].slugstring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].namestring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].descriptionstring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].iconstring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].entryUrlstring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].defaultPathstring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].contentWidthstring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].dbIDinteger Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].ownerUserIDinteger Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].aboutPostIDinteger Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].priceAmountinteger Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].menuarray Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].isUserCreated = true Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].requiredLogin = true Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].pricingTypestring ["Free","MonthlyUSD","YearlyUSD","MonthlyTraderpoints","YearlyTraderpoints"] Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].pricingobject Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].pricing.typestring ["Free","MonthlyUSD","YearlyUSD","MonthlyTraderpoints","YearlyTraderpoints"] Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].pricing.isPaidinteger [0,1] Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].pricing.periodstring ["free","monthly","yearly"] Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].pricing.paymentModestring ["free","usd","traderpoints"] Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].pricing.amountCentsinteger Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].pricing.traderpointsAmountinteger Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].pricing.labelstring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].accessobject Non
$.oneOf[0].allOf[1].Payload.app.anyOf[0].access.canAccessinteger [0,1] Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].access.isOwnerinteger [0,1] Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].access.isFreeinteger [0,1] Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].access.hasActiveAccessinteger [0,1] Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].access.accessEndDatestring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].selectedForPostinteger [0,1] Non
$.oneOf[0].allOf[1].Payload.app.anyOf[1]array Oui
$.oneOf[1]object Oui
$.oneOf[1].RequestUserAliasstring Oui
$.oneOf[1].RequestPathstring | null Oui
$.oneOf[1].RequestStatus = "Failed" Oui
$.oneOf[1].ResponseCodeinteger Oui
$.oneOf[1].ResponseMessageAPIResponseMessage Oui
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Oui
$.oneOf[1].ResponseMessage.oneOf[1]array Oui
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage Non
$.oneOf[1].ResponseMessage.oneOf[2]object Oui
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage Non
$.oneOf[1].RequestImpersonatedByUserAliasstring Non
Exemple de réponse
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/appsv2/get_checkout_url",
    "RequestUserAlias": "example-user",
    "Payload": {
        "checkoutUrl": "synthetic-example",
        "app": {
            "id": "synthetic-example",
            "slug": "synthetic-example",
            "name": "synthetic-example",
            "description": "synthetic-example",
            "icon": "synthetic-example",
            "entryUrl": "synthetic-example",
            "defaultPath": "synthetic-example",
            "contentWidth": "synthetic-example",
            "dbID": 0,
            "ownerUserID": 0,
            "aboutPostID": 0,
            "priceAmount": 0,
            "menu": [],
            "isUserCreated": true,
            "requiredLogin": true,
            "pricingType": "Free",
            "pricing": {
                "type": "Free",
                "isPaid": 0,
                "period": "free",
                "paymentMode": "free",
                "amountCents": 0,
                "traderpointsAmount": 0,
                "label": "synthetic-example"
            }
        }
    }
}
Documentation du point de terminaison lisible par machine
GET

/v1/appsv2/get_list

#
Returns the list of published user-created apps for the appstore. Public-by-design: the appstore is a public browse surface; paid apps only expose storefront metadata here, while app access is enforced by /modules/v2/_app_host/ and \AT\ATAppsV2::ViewerCanAccess().
Exemple de requête (cURL)
curl --get \
  'https://fr.appointmenttrader.com/v1/appsv2/get_list' \
  --data-urlencode 'key={{API_KEY}}'

Retour

JSON
See the shared response schema and synthetic example.
Champs de réponse
ChampTypeObligatoireDescription
$appsv2_get_list_Response Oui
$.oneOf[0] Oui
$.oneOf[0].allOf[0]object Oui
$.oneOf[0].allOf[0].RequestUserAliasstring Oui
$.oneOf[0].allOf[0].RequestPathstring | null Oui
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Oui
$.oneOf[0].allOf[0].ResponseCodeinteger Oui
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage Non
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage Non
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring Non
$.oneOf[0].allOf[1]object Oui
$.oneOf[0].allOf[1].Payloadobject Oui
$.oneOf[0].allOf[1].Payload.appsarray Oui
$.oneOf[0].allOf[1].Payload.apps[]object Non
$.oneOf[0].allOf[1].Payload.apps[].idstring Oui
$.oneOf[0].allOf[1].Payload.apps[].slugstring Oui
$.oneOf[0].allOf[1].Payload.apps[].namestring Oui
$.oneOf[0].allOf[1].Payload.apps[].descriptionstring Oui
$.oneOf[0].allOf[1].Payload.apps[].iconstring Oui
$.oneOf[0].allOf[1].Payload.apps[].entryUrlstring Oui
$.oneOf[0].allOf[1].Payload.apps[].defaultPathstring Oui
$.oneOf[0].allOf[1].Payload.apps[].contentWidthstring Oui
$.oneOf[0].allOf[1].Payload.apps[].dbIDinteger Oui
$.oneOf[0].allOf[1].Payload.apps[].ownerUserIDinteger Oui
$.oneOf[0].allOf[1].Payload.apps[].aboutPostIDinteger Oui
$.oneOf[0].allOf[1].Payload.apps[].priceAmountinteger Oui
$.oneOf[0].allOf[1].Payload.apps[].menuarray Oui
$.oneOf[0].allOf[1].Payload.apps[].isUserCreated = true Oui
$.oneOf[0].allOf[1].Payload.apps[].requiredLogin = true Oui
$.oneOf[0].allOf[1].Payload.apps[].pricingTypestring ["Free","MonthlyUSD","YearlyUSD","MonthlyTraderpoints","YearlyTraderpoints"] Oui
$.oneOf[0].allOf[1].Payload.apps[].pricingobject Oui
$.oneOf[0].allOf[1].Payload.apps[].pricing.typestring ["Free","MonthlyUSD","YearlyUSD","MonthlyTraderpoints","YearlyTraderpoints"] Oui
$.oneOf[0].allOf[1].Payload.apps[].pricing.isPaidinteger [0,1] Oui
$.oneOf[0].allOf[1].Payload.apps[].pricing.periodstring ["free","monthly","yearly"] Oui
$.oneOf[0].allOf[1].Payload.apps[].pricing.paymentModestring ["free","usd","traderpoints"] Oui
$.oneOf[0].allOf[1].Payload.apps[].pricing.amountCentsinteger Oui
$.oneOf[0].allOf[1].Payload.apps[].pricing.traderpointsAmountinteger Oui
$.oneOf[0].allOf[1].Payload.apps[].pricing.labelstring Oui
$.oneOf[0].allOf[1].Payload.apps[].accessobject Non
$.oneOf[0].allOf[1].Payload.apps[].access.canAccessinteger [0,1] Oui
$.oneOf[0].allOf[1].Payload.apps[].access.isOwnerinteger [0,1] Oui
$.oneOf[0].allOf[1].Payload.apps[].access.isFreeinteger [0,1] Oui
$.oneOf[0].allOf[1].Payload.apps[].access.hasActiveAccessinteger [0,1] Oui
$.oneOf[0].allOf[1].Payload.apps[].access.accessEndDatestring Oui
$.oneOf[0].allOf[1].Payload.apps[].selectedForPostinteger [0,1] Non
$.oneOf[1]object Oui
$.oneOf[1].RequestUserAliasstring Oui
$.oneOf[1].RequestPathstring | null Oui
$.oneOf[1].RequestStatus = "Failed" Oui
$.oneOf[1].ResponseCodeinteger Oui
$.oneOf[1].ResponseMessageAPIResponseMessage Oui
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Oui
$.oneOf[1].ResponseMessage.oneOf[1]array Oui
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage Non
$.oneOf[1].ResponseMessage.oneOf[2]object Oui
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage Non
$.oneOf[1].RequestImpersonatedByUserAliasstring Non
Exemple de réponse
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/appsv2/get_list",
    "RequestUserAlias": "example-user",
    "Payload": {
        "apps": []
    }
}
Documentation du point de terminaison lisible par machine
GET

/v1/appsv2/get_my_apps

#
Returns apps owned by the current viewer for the App Store setup UI.

Paramètres

NomTypeObligatoireValeur par défautDescription
aboutPostID int Non 0 Optional post ID used by the newsfeed action to mark which owned apps already use that post.
Exemple de requête (cURL)
curl --get \
  'https://fr.appointmenttrader.com/v1/appsv2/get_my_apps' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'aboutPostID={{aboutPostID}}'

Retour

JSON
See the shared response schema and synthetic example.
Champs de réponse
ChampTypeObligatoireDescription
$appsv2_get_my_apps_Response Oui
$.oneOf[0] Oui
$.oneOf[0].allOf[0]object Oui
$.oneOf[0].allOf[0].RequestUserAliasstring Oui
$.oneOf[0].allOf[0].RequestPathstring | null Oui
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Oui
$.oneOf[0].allOf[0].ResponseCodeinteger Oui
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage Non
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage Non
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring Non
$.oneOf[0].allOf[1]object Oui
$.oneOf[0].allOf[1].Payloadobject Oui
$.oneOf[0].allOf[1].Payload.appsarray Oui
$.oneOf[0].allOf[1].Payload.apps[] Non
$.oneOf[0].allOf[1].Payload.apps[].anyOf[0]object Non
$.oneOf[0].allOf[1].Payload.apps[].anyOf[0].idstring Oui
$.oneOf[0].allOf[1].Payload.apps[].anyOf[0].slugstring Oui
$.oneOf[0].allOf[1].Payload.apps[].anyOf[0].namestring Oui
$.oneOf[0].allOf[1].Payload.apps[].anyOf[0].descriptionstring Oui
$.oneOf[0].allOf[1].Payload.apps[].anyOf[0].iconstring Oui
$.oneOf[0].allOf[1].Payload.apps[].anyOf[0].entryUrlstring Oui
$.oneOf[0].allOf[1].Payload.apps[].anyOf[0].defaultPathstring Oui
$.oneOf[0].allOf[1].Payload.apps[].anyOf[0].contentWidthstring Oui
$.oneOf[0].allOf[1].Payload.apps[].anyOf[0].dbIDinteger Oui
$.oneOf[0].allOf[1].Payload.apps[].anyOf[0].ownerUserIDinteger Oui
$.oneOf[0].allOf[1].Payload.apps[].anyOf[0].aboutPostIDinteger Oui
$.oneOf[0].allOf[1].Payload.apps[].anyOf[0].priceAmountinteger Oui
$.oneOf[0].allOf[1].Payload.apps[].anyOf[0].menuarray Oui
$.oneOf[0].allOf[1].Payload.apps[].anyOf[0].isUserCreated = true Oui
$.oneOf[0].allOf[1].Payload.apps[].anyOf[0].requiredLogin = true Oui
$.oneOf[0].allOf[1].Payload.apps[].anyOf[0].pricingTypestring ["Free","MonthlyUSD","YearlyUSD","MonthlyTraderpoints","YearlyTraderpoints"] Oui
$.oneOf[0].allOf[1].Payload.apps[].anyOf[0].pricingobject Oui
$.oneOf[0].allOf[1].Payload.apps[].anyOf[0].pricing.typestring ["Free","MonthlyUSD","YearlyUSD","MonthlyTraderpoints","YearlyTraderpoints"] Oui
$.oneOf[0].allOf[1].Payload.apps[].anyOf[0].pricing.isPaidinteger [0,1] Oui
$.oneOf[0].allOf[1].Payload.apps[].anyOf[0].pricing.periodstring ["free","monthly","yearly"] Oui
$.oneOf[0].allOf[1].Payload.apps[].anyOf[0].pricing.paymentModestring ["free","usd","traderpoints"] Oui
$.oneOf[0].allOf[1].Payload.apps[].anyOf[0].pricing.amountCentsinteger Oui
$.oneOf[0].allOf[1].Payload.apps[].anyOf[0].pricing.traderpointsAmountinteger Oui
$.oneOf[0].allOf[1].Payload.apps[].anyOf[0].pricing.labelstring Oui
$.oneOf[0].allOf[1].Payload.apps[].anyOf[0].accessobject Non
$.oneOf[0].allOf[1].Payload.apps[].anyOf[0].access.canAccessinteger [0,1] Oui
$.oneOf[0].allOf[1].Payload.apps[].anyOf[0].access.isOwnerinteger [0,1] Oui
$.oneOf[0].allOf[1].Payload.apps[].anyOf[0].access.isFreeinteger [0,1] Oui
$.oneOf[0].allOf[1].Payload.apps[].anyOf[0].access.hasActiveAccessinteger [0,1] Oui
$.oneOf[0].allOf[1].Payload.apps[].anyOf[0].access.accessEndDatestring Oui
$.oneOf[0].allOf[1].Payload.apps[].anyOf[0].selectedForPostinteger [0,1] Non
$.oneOf[0].allOf[1].Payload.apps[].anyOf[1]array Non
$.oneOf[1]object Oui
$.oneOf[1].RequestUserAliasstring Oui
$.oneOf[1].RequestPathstring | null Oui
$.oneOf[1].RequestStatus = "Failed" Oui
$.oneOf[1].ResponseCodeinteger Oui
$.oneOf[1].ResponseMessageAPIResponseMessage Oui
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Oui
$.oneOf[1].ResponseMessage.oneOf[1]array Oui
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage Non
$.oneOf[1].ResponseMessage.oneOf[2]object Oui
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage Non
$.oneOf[1].RequestImpersonatedByUserAliasstring Non
Exemple de réponse
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/appsv2/get_my_apps",
    "RequestUserAlias": "example-user",
    "Payload": {
        "apps": []
    }
}
Documentation du point de terminaison lisible par machine
POST

/v1/appsv2/set_about_post

#
Sets or clears an app's About my app post.

Paramètres

NomTypeObligatoireValeur par défautDescription
appID int Oui — ATAppsV2.ID of an app owned by the current user.
postID int Non 0 Public ATDiscussionPosts.ID with at least two attached images. Pass 0 to clear.
isWritingRequest bool Non false Set true to actually persist the app.
Exemple de requête (cURL)
curl --request POST \
  'https://fr.appointmenttrader.com/v1/appsv2/set_about_post' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'appID={{appID}}' \
  --data-urlencode 'postID={{postID}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Retour

JSON
See the shared response schema and synthetic example.
Champs de réponse
ChampTypeObligatoireDescription
$appsv2_set_about_post_Response Oui
$.oneOf[0] Oui
$.oneOf[0].allOf[0]object Oui
$.oneOf[0].allOf[0].RequestUserAliasstring Oui
$.oneOf[0].allOf[0].RequestPathstring | null Oui
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Oui
$.oneOf[0].allOf[0].ResponseCodeinteger Oui
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage Non
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage Non
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring Non
$.oneOf[0].allOf[1]object Oui
$.oneOf[0].allOf[1].Payloadobject Oui
$.oneOf[0].allOf[1].Payload.app Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0]object Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].idstring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].slugstring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].namestring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].descriptionstring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].iconstring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].entryUrlstring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].defaultPathstring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].contentWidthstring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].dbIDinteger Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].ownerUserIDinteger Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].aboutPostIDinteger Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].priceAmountinteger Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].menuarray Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].isUserCreated = true Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].requiredLogin = true Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].pricingTypestring ["Free","MonthlyUSD","YearlyUSD","MonthlyTraderpoints","YearlyTraderpoints"] Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].pricingobject Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].pricing.typestring ["Free","MonthlyUSD","YearlyUSD","MonthlyTraderpoints","YearlyTraderpoints"] Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].pricing.isPaidinteger [0,1] Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].pricing.periodstring ["free","monthly","yearly"] Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].pricing.paymentModestring ["free","usd","traderpoints"] Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].pricing.amountCentsinteger Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].pricing.traderpointsAmountinteger Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].pricing.labelstring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].accessobject Non
$.oneOf[0].allOf[1].Payload.app.anyOf[0].access.canAccessinteger [0,1] Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].access.isOwnerinteger [0,1] Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].access.isFreeinteger [0,1] Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].access.hasActiveAccessinteger [0,1] Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].access.accessEndDatestring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].selectedForPostinteger [0,1] Non
$.oneOf[0].allOf[1].Payload.app.anyOf[1]array Oui
$.oneOf[0].allOf[1].Payload.postIDinteger Oui
$.oneOf[1]object Oui
$.oneOf[1].RequestUserAliasstring Oui
$.oneOf[1].RequestPathstring | null Oui
$.oneOf[1].RequestStatus = "Failed" Oui
$.oneOf[1].ResponseCodeinteger Oui
$.oneOf[1].ResponseMessageAPIResponseMessage Oui
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Oui
$.oneOf[1].ResponseMessage.oneOf[1]array Oui
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage Non
$.oneOf[1].ResponseMessage.oneOf[2]object Oui
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage Non
$.oneOf[1].RequestImpersonatedByUserAliasstring Non
Exemple de réponse
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/appsv2/set_about_post",
    "RequestUserAlias": "example-user",
    "Payload": {
        "app": {
            "id": "synthetic-example",
            "slug": "synthetic-example",
            "name": "synthetic-example",
            "description": "synthetic-example",
            "icon": "synthetic-example",
            "entryUrl": "synthetic-example",
            "defaultPath": "synthetic-example",
            "contentWidth": "synthetic-example",
            "dbID": 0,
            "ownerUserID": 0,
            "aboutPostID": 0,
            "priceAmount": 0,
            "menu": [],
            "isUserCreated": true,
            "requiredLogin": true,
            "pricingType": "Free",
            "pricing": {
                "type": "Free",
                "isPaid": 0,
                "period": "free",
                "paymentMode": "free",
                "amountCents": 0,
                "traderpointsAmount": 0,
                "label": "synthetic-example"
            }
        },
        "postID": 0
    }
}
Documentation du point de terminaison lisible par machine
POST

/v1/appsv2/set_create

#
Create a new user-published app row in the v2 appstore.

Paramètres

NomTypeObligatoireValeur par défautDescription
name string Oui — Display name shown in the appstore card and the host shell.
slug string Oui — Lowercase URL slug ([a-z0-9-]+, 2-64 chars).
entry_url string Oui — Absolute http(s) URL or root-relative path loaded into the sandboxed iframe.
description string Non "" Optional short description shown on the appstore card.
icon string Non "" Optional sprite reference (e.g. "i-trending-bars"). Empty string allowed.
pricingType string Non "Free" One of Free, MonthlyUSD, YearlyUSD, MonthlyTraderpoints, YearlyTraderpoints.
priceAmount int Non 0 Price in USD cents for paid monthly/yearly access.
aboutPostID int Non 0 Optional public post ID with at least two images to use as the About my app post.
isWritingRequest bool Non false Set true to actually persist the app.
Exemple de requête (cURL)
curl --request POST \
  'https://fr.appointmenttrader.com/v1/appsv2/set_create' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'name={{name}}' \
  --data-urlencode 'slug={{slug}}' \
  --data-urlencode 'entry_url={{entry_url}}' \
  --data-urlencode 'description={{description}}' \
  --data-urlencode 'icon={{icon}}' \
  --data-urlencode 'pricingType={{pricingType}}' \
  --data-urlencode 'priceAmount={{priceAmount}}' \
  --data-urlencode 'aboutPostID={{aboutPostID}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Retour

JSON
See the shared response schema and synthetic example.
Champs de réponse
ChampTypeObligatoireDescription
$appsv2_set_create_Response Oui
$.oneOf[0] Oui
$.oneOf[0].allOf[0]object Oui
$.oneOf[0].allOf[0].RequestUserAliasstring Oui
$.oneOf[0].allOf[0].RequestPathstring | null Oui
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Oui
$.oneOf[0].allOf[0].ResponseCodeinteger Oui
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage Non
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage Non
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring Non
$.oneOf[0].allOf[1]object Oui
$.oneOf[0].allOf[1].Payloadobject Oui
$.oneOf[0].allOf[1].Payload.idinteger Oui
$.oneOf[0].allOf[1].Payload.slugstring Oui
$.oneOf[0].allOf[1].Payload.app Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0]object Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].idstring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].slugstring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].namestring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].descriptionstring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].iconstring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].entryUrlstring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].defaultPathstring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].contentWidthstring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].dbIDinteger Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].ownerUserIDinteger Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].aboutPostIDinteger Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].priceAmountinteger Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].menuarray Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].isUserCreated = true Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].requiredLogin = true Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].pricingTypestring ["Free","MonthlyUSD","YearlyUSD","MonthlyTraderpoints","YearlyTraderpoints"] Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].pricingobject Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].pricing.typestring ["Free","MonthlyUSD","YearlyUSD","MonthlyTraderpoints","YearlyTraderpoints"] Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].pricing.isPaidinteger [0,1] Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].pricing.periodstring ["free","monthly","yearly"] Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].pricing.paymentModestring ["free","usd","traderpoints"] Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].pricing.amountCentsinteger Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].pricing.traderpointsAmountinteger Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].pricing.labelstring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].accessobject Non
$.oneOf[0].allOf[1].Payload.app.anyOf[0].access.canAccessinteger [0,1] Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].access.isOwnerinteger [0,1] Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].access.isFreeinteger [0,1] Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].access.hasActiveAccessinteger [0,1] Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].access.accessEndDatestring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].selectedForPostinteger [0,1] Non
$.oneOf[0].allOf[1].Payload.app.anyOf[1]array Oui
$.oneOf[1]object Oui
$.oneOf[1].RequestUserAliasstring Oui
$.oneOf[1].RequestPathstring | null Oui
$.oneOf[1].RequestStatus = "Failed" Oui
$.oneOf[1].ResponseCodeinteger Oui
$.oneOf[1].ResponseMessageAPIResponseMessage Oui
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Oui
$.oneOf[1].ResponseMessage.oneOf[1]array Oui
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage Non
$.oneOf[1].ResponseMessage.oneOf[2]object Oui
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage Non
$.oneOf[1].RequestImpersonatedByUserAliasstring Non
Exemple de réponse
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/appsv2/set_create",
    "RequestUserAlias": "example-user",
    "Payload": {
        "id": 0,
        "slug": "synthetic-example",
        "app": {
            "id": "synthetic-example",
            "slug": "synthetic-example",
            "name": "synthetic-example",
            "description": "synthetic-example",
            "icon": "synthetic-example",
            "entryUrl": "synthetic-example",
            "defaultPath": "synthetic-example",
            "contentWidth": "synthetic-example",
            "dbID": 0,
            "ownerUserID": 0,
            "aboutPostID": 0,
            "priceAmount": 0,
            "menu": [],
            "isUserCreated": true,
            "requiredLogin": true,
            "pricingType": "Free",
            "pricing": {
                "type": "Free",
                "isPaid": 0,
                "period": "free",
                "paymentMode": "free",
                "amountCents": 0,
                "traderpointsAmount": 0,
                "label": "synthetic-example"
            }
        }
    }
}
Documentation du point de terminaison lisible par machine
POST

/v1/appsv2/set_update

#
Update a user-owned v2 app's storefront setup.

Paramètres

NomTypeObligatoireValeur par défautDescription
appID int Oui — ATAppsV2.ID of an app owned by the current user.
name string Oui — Display name shown in the appstore card and the host shell.
entry_url string Oui — Absolute http(s) URL or root-relative path loaded into the sandboxed iframe.
description string Non "" Optional short description shown on the appstore card.
icon string Non "" Optional sprite reference (e.g. "i-trending-bars"). Empty string allowed.
pricingType string Non "Free" One of Free, MonthlyUSD, YearlyUSD, MonthlyTraderpoints, YearlyTraderpoints.
priceAmount int Non 0 Price in USD cents for paid monthly/yearly access.
aboutPostID int Non 0 Optional public post ID with at least two images to use as the About my app post.
isWritingRequest bool Non false Set true to actually persist the app.
Exemple de requête (cURL)
curl --request POST \
  'https://fr.appointmenttrader.com/v1/appsv2/set_update' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'appID={{appID}}' \
  --data-urlencode 'name={{name}}' \
  --data-urlencode 'entry_url={{entry_url}}' \
  --data-urlencode 'description={{description}}' \
  --data-urlencode 'icon={{icon}}' \
  --data-urlencode 'pricingType={{pricingType}}' \
  --data-urlencode 'priceAmount={{priceAmount}}' \
  --data-urlencode 'aboutPostID={{aboutPostID}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Retour

JSON
See the shared response schema and synthetic example.
Champs de réponse
ChampTypeObligatoireDescription
$appsv2_set_update_Response Oui
$.oneOf[0] Oui
$.oneOf[0].allOf[0]object Oui
$.oneOf[0].allOf[0].RequestUserAliasstring Oui
$.oneOf[0].allOf[0].RequestPathstring | null Oui
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Oui
$.oneOf[0].allOf[0].ResponseCodeinteger Oui
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage Non
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage Non
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring Non
$.oneOf[0].allOf[1]object Oui
$.oneOf[0].allOf[1].Payloadobject Oui
$.oneOf[0].allOf[1].Payload.app Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0]object Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].idstring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].slugstring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].namestring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].descriptionstring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].iconstring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].entryUrlstring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].defaultPathstring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].contentWidthstring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].dbIDinteger Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].ownerUserIDinteger Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].aboutPostIDinteger Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].priceAmountinteger Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].menuarray Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].isUserCreated = true Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].requiredLogin = true Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].pricingTypestring ["Free","MonthlyUSD","YearlyUSD","MonthlyTraderpoints","YearlyTraderpoints"] Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].pricingobject Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].pricing.typestring ["Free","MonthlyUSD","YearlyUSD","MonthlyTraderpoints","YearlyTraderpoints"] Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].pricing.isPaidinteger [0,1] Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].pricing.periodstring ["free","monthly","yearly"] Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].pricing.paymentModestring ["free","usd","traderpoints"] Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].pricing.amountCentsinteger Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].pricing.traderpointsAmountinteger Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].pricing.labelstring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].accessobject Non
$.oneOf[0].allOf[1].Payload.app.anyOf[0].access.canAccessinteger [0,1] Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].access.isOwnerinteger [0,1] Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].access.isFreeinteger [0,1] Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].access.hasActiveAccessinteger [0,1] Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].access.accessEndDatestring Oui
$.oneOf[0].allOf[1].Payload.app.anyOf[0].selectedForPostinteger [0,1] Non
$.oneOf[0].allOf[1].Payload.app.anyOf[1]array Oui
$.oneOf[1]object Oui
$.oneOf[1].RequestUserAliasstring Oui
$.oneOf[1].RequestPathstring | null Oui
$.oneOf[1].RequestStatus = "Failed" Oui
$.oneOf[1].ResponseCodeinteger Oui
$.oneOf[1].ResponseMessageAPIResponseMessage Oui
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Oui
$.oneOf[1].ResponseMessage.oneOf[1]array Oui
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage Non
$.oneOf[1].ResponseMessage.oneOf[2]object Oui
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage Non
$.oneOf[1].RequestImpersonatedByUserAliasstring Non
Exemple de réponse
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/appsv2/set_update",
    "RequestUserAlias": "example-user",
    "Payload": {
        "app": {
            "id": "synthetic-example",
            "slug": "synthetic-example",
            "name": "synthetic-example",
            "description": "synthetic-example",
            "icon": "synthetic-example",
            "entryUrl": "synthetic-example",
            "defaultPath": "synthetic-example",
            "contentWidth": "synthetic-example",
            "dbID": 0,
            "ownerUserID": 0,
            "aboutPostID": 0,
            "priceAmount": 0,
            "menu": [],
            "isUserCreated": true,
            "requiredLogin": true,
            "pricingType": "Free",
            "pricing": {
                "type": "Free",
                "isPaid": 0,
                "period": "free",
                "paymentMode": "free",
                "amountCents": 0,
                "traderpointsAmount": 0,
                "label": "synthetic-example"
            }
        }
    }
}
Documentation du point de terminaison lisible par machine