Online Now  

/v1/medal/

Manages All Medal and User Permission Related Functions
GET

/v1/medal/get_available_medal_categories

#
Searches all available medal categories on the platform

Parameters

NameTypeRequiredDefaultDescription
searchFilter string No "" filter criteria
restrictToSponsorableByUserAlias string No "" if set, only medals that can be sponsored by this userAlias will be returned
filterBy string No "Slug" comma seperated list of fields that should be included
pageSize int No 50 Defines how many results will be return per request
pageNumber int No 0 Defines which page should be returned
Request example (cURL)
curl --get \
  'https://appointmenttrader.com/v1/medal/get_available_medal_categories' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'searchFilter={{searchFilter}}' \
  --data-urlencode 'restrictToSponsorableByUserAlias={{restrictToSponsorableByUserAlias}}' \
  --data-urlencode 'filterBy={{filterBy}}' \
  --data-urlencode 'pageSize={{pageSize}}' \
  --data-urlencode 'pageNumber={{pageNumber}}'

Returns

JSON
See the shared response schema and synthetic example.
Response fields
FieldTypeRequiredDescription
$medal_get_available_medal_categories_Response Yes
$.oneOf[0] Yes
$.oneOf[0].allOf[0]object Yes
$.oneOf[0].allOf[0].RequestUserAliasstring Yes
$.oneOf[0].allOf[0].RequestPathstring | null Yes
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Yes
$.oneOf[0].allOf[0].ResponseCodeinteger Yes
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object Yes
$.oneOf[0].allOf[1].Payloadobject Yes
$.oneOf[0].allOf[1].Payload.ATResponseObjectType = "NestedKeyValueList" Yes
$.oneOf[0].allOf[1].Payload.ResponseBodyobject Yes
$.oneOf[0].allOf[1].Payload.ResponseBody.Namestring Yes
$.oneOf[0].allOf[1].Payload.ResponseBody.MetaInformationarray Yes
$.oneOf[0].allOf[1].Payload.ResponseBody.MetaInformation[]string No
$.oneOf[0].allOf[1].Payload.ResponseBody.KeyValueListarray Yes
$.oneOf[0].allOf[1].Payload.ResponseBody.KeyValueList[]object No
$.oneOf[0].allOf[1].Payload.ResponseBody.KeyValueList[].medalCategorySlugstring Yes
$.oneOf[0].allOf[1].Payload.ResponseBody.KeyValueList[].medalCategoryNamestring Yes
$.oneOf[0].allOf[1].Payload.ResponseBody.KeyValueList[].medalCategoryDescription Yes
$.oneOf[0].allOf[1].Payload.ResponseBody.KeyValueList[].medalCategoryDescription.anyOf[0]string Yes
$.oneOf[0].allOf[1].Payload.ResponseBody.KeyValueList[].medalCategoryDescription.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.ResponseBody.KeyValueList[].medalCategoryIconURL Yes
$.oneOf[0].allOf[1].Payload.ResponseBody.KeyValueList[].medalCategoryIconURL.anyOf[0]string Yes
$.oneOf[0].allOf[1].Payload.ResponseBody.KeyValueList[].medalCategoryIconURL.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.ResponseBody.KeyValueList[].medalCategoryColor Yes
$.oneOf[0].allOf[1].Payload.ResponseBody.KeyValueList[].medalCategoryColor.anyOf[0]string Yes
$.oneOf[0].allOf[1].Payload.ResponseBody.KeyValueList[].medalCategoryColor.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.ResponseBody.KeyValueList[].medalCategoryTextColor Yes
$.oneOf[0].allOf[1].Payload.ResponseBody.KeyValueList[].medalCategoryTextColor.anyOf[0]string Yes
$.oneOf[0].allOf[1].Payload.ResponseBody.KeyValueList[].medalCategoryTextColor.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.ResponseBody.KeyValueList[].IsNegativeMedalDatabaseInteger YesInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.ResponseBody.KeyValueList[].IsNegativeMedal.oneOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.ResponseBody.KeyValueList[].IsNegativeMedal.oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.ResponseBody.KeyValueList[].DisplayOnDirectListingsDatabaseInteger YesInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.ResponseBody.KeyValueList[].DisplayOnDirectListings.oneOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.ResponseBody.KeyValueList[].DisplayOnDirectListings.oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.ResponseBody.KeyValueFieldListarray Yes
$.oneOf[0].allOf[1].Payload.ResponseBody.KeyValueFieldList[]string No
$.oneOf[1]object Yes
$.oneOf[1].RequestUserAliasstring Yes
$.oneOf[1].RequestPathstring | null Yes
$.oneOf[1].RequestStatus = "Failed" Yes
$.oneOf[1].ResponseCodeinteger Yes
$.oneOf[1].ResponseMessageAPIResponseMessage Yes
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[1].ResponseMessage.oneOf[1]array Yes
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object Yes
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Response example
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/medal/get_available_medal_categories",
    "RequestUserAlias": "example-user",
    "Payload": {
        "ATResponseObjectType": "NestedKeyValueList",
        "ResponseBody": {
            "Name": "synthetic-example",
            "MetaInformation": [],
            "KeyValueList": [],
            "KeyValueFieldList": []
        }
    }
}
Machine-readable endpoint documentation
GET

/v1/medal/get_profile_sponsorships

#
Returns the viewed user's current medal sponsor and directly sponsored users, with public identities only. Public-by-design: approved sponsorships are visible only when the caller can view both related profiles.

Parameters

NameTypeRequiredDefaultDescription
userAlias string Yes — Profile owner to inspect.
medalCategorySlug string Yes — Medal category, not a tier slug.
afterUserID int No 0 Cursor from nextAfterUserID; zero starts the list.
pageSize int No 20 Number of visible sponsored users, from 1 to 50.
Request example (cURL)
curl --get \
  'https://appointmenttrader.com/v1/medal/get_profile_sponsorships' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'userAlias={{userAlias}}' \
  --data-urlencode 'medalCategorySlug={{medalCategorySlug}}' \
  --data-urlencode 'afterUserID={{afterUserID}}' \
  --data-urlencode 'pageSize={{pageSize}}'

Returns

JSON
See the shared response schema and synthetic example.
Response fields
FieldTypeRequiredDescription
$medal_get_profile_sponsorships_Response Yes
$.oneOf[0] Yes
$.oneOf[0].allOf[0]object Yes
$.oneOf[0].allOf[0].RequestUserAliasstring Yes
$.oneOf[0].allOf[0].RequestPathstring | null Yes
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Yes
$.oneOf[0].allOf[0].ResponseCodeinteger Yes
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object Yes
$.oneOf[0].allOf[1].Payloadobject Yes
$.oneOf[0].allOf[1].Payload.profileAliasstring Yes
$.oneOf[0].allOf[1].Payload.medalCategorySlugstring Yes
$.oneOf[0].allOf[1].Payload.sponsor Yes
$.oneOf[0].allOf[1].Payload.sponsor.anyOf[0]object Yes
$.oneOf[0].allOf[1].Payload.sponsor.anyOf[0].userIDinteger Yes
$.oneOf[0].allOf[1].Payload.sponsor.anyOf[0].aliasstring Yes
$.oneOf[0].allOf[1].Payload.sponsor.anyOf[0].avatarstring Yes
$.oneOf[0].allOf[1].Payload.sponsor.anyOf[0].imageURLstring Yes
$.oneOf[0].allOf[1].Payload.sponsor.anyOf[0].profileURLstring Yes
$.oneOf[0].allOf[1].Payload.sponsor.anyOf[0].displayHTMLstring Yes
$.oneOf[0].allOf[1].Payload.sponsor.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.sponsoredUsersarray Yes
$.oneOf[0].allOf[1].Payload.sponsoredUsers[]object No
$.oneOf[0].allOf[1].Payload.sponsoredUsers[].userIDinteger Yes
$.oneOf[0].allOf[1].Payload.sponsoredUsers[].aliasstring Yes
$.oneOf[0].allOf[1].Payload.sponsoredUsers[].avatarstring Yes
$.oneOf[0].allOf[1].Payload.sponsoredUsers[].imageURLstring Yes
$.oneOf[0].allOf[1].Payload.sponsoredUsers[].profileURLstring Yes
$.oneOf[0].allOf[1].Payload.sponsoredUsers[].displayHTMLstring Yes
$.oneOf[0].allOf[1].Payload.hasMoreboolean Yes
$.oneOf[0].allOf[1].Payload.nextAfterUserID Yes
$.oneOf[0].allOf[1].Payload.nextAfterUserID.anyOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.nextAfterUserID.anyOf[1]null Yes
$.oneOf[1]object Yes
$.oneOf[1].RequestUserAliasstring Yes
$.oneOf[1].RequestPathstring | null Yes
$.oneOf[1].RequestStatus = "Failed" Yes
$.oneOf[1].ResponseCodeinteger Yes
$.oneOf[1].ResponseMessageAPIResponseMessage Yes
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[1].ResponseMessage.oneOf[1]array Yes
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object Yes
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Response example
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/medal/get_profile_sponsorships",
    "RequestUserAlias": "example-user",
    "Payload": {
        "profileAlias": "synthetic-example",
        "medalCategorySlug": "synthetic-example",
        "sponsor": {
            "userID": 0,
            "alias": "synthetic-example",
            "avatar": "synthetic-example",
            "imageURL": "synthetic-example",
            "profileURL": "synthetic-example",
            "displayHTML": "synthetic-example"
        },
        "sponsoredUsers": [],
        "hasMore": false,
        "nextAfterUserID": 0
    }
}
Machine-readable endpoint documentation
POST

/v1/medal/set_request_medal_sponsorship

#
Request Medal Sponsorship will be asked to sponsor the medal defined below for you.

Parameters

NameTypeRequiredDefaultDescription
sponsorUserAlias string Yes — Alias Identifying the User to be sponsored
medalCategorySlug string Yes — Slug Identifying the Medal Category You Want to be Sponsored for
isWritingRequest bool No false all set_[...] functions have this parameter - if false (which is default) the method will execute without writing any data. Set this parameter to true once you are sure that you tested your logic and want to execute a writing request
Request example (cURL)
curl --request POST \
  'https://appointmenttrader.com/v1/medal/set_request_medal_sponsorship' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'sponsorUserAlias={{sponsorUserAlias}}' \
  --data-urlencode 'medalCategorySlug={{medalCategorySlug}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Returns

JSON
See the shared response schema and synthetic example.
Response fields
FieldTypeRequiredDescription
$medal_set_request_medal_sponsorship_Response Yes
$.oneOf[0] Yes
$.oneOf[0].allOf[0]object Yes
$.oneOf[0].allOf[0].RequestUserAliasstring Yes
$.oneOf[0].allOf[0].RequestPathstring | null Yes
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Yes
$.oneOf[0].allOf[0].ResponseCodeinteger Yes
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object Yes
$.oneOf[0].allOf[1].Payload = true Yes
$.oneOf[0].allOf[1].ResponseMessageobject No
$.oneOf[0].allOf[1].ResponseMessage.HumanReadablestring Yes
$.oneOf[0].allOf[1].ResponseMessage.ReturnVariablesobject Yes
$.oneOf[0].allOf[1].ResponseMessage.ReturnVariables.RequestChatIDDatabaseInteger YesInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].ResponseMessage.ReturnVariables.RequestChatID.oneOf[0]integer Yes
$.oneOf[0].allOf[1].ResponseMessage.ReturnVariables.RequestChatID.oneOf[1]string Yes
$.oneOf[0].allOf[1].ResponseMessage.ReturnVariables.RequestChatURLstring Yes
$.oneOf[1]object Yes
$.oneOf[1].RequestUserAliasstring Yes
$.oneOf[1].RequestPathstring | null Yes
$.oneOf[1].RequestStatus = "Failed" Yes
$.oneOf[1].ResponseCodeinteger Yes
$.oneOf[1].ResponseMessageAPIResponseMessage Yes
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[1].ResponseMessage.oneOf[1]array Yes
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object Yes
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Response example
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": {
        "HumanReadable": "Synthetic sponsorship request.",
        "ReturnVariables": {
            "RequestChatID": 1001,
            "RequestChatURL": "/modules/community/index.php?Tags[]=synthetic-chat"
        }
    },
    "RequestPath": "/v1/medal/set_request_medal_sponsorship",
    "RequestUserAlias": "example-user",
    "Payload": true
}
Machine-readable endpoint documentation
POST

/v1/medal/set_sponsor_user

#
Sponsor A Medal for will be recommended for the medal you define below.

Parameters

NameTypeRequiredDefaultDescription
userAlias string Yes — Alias Identifying the User to be sponsored
medalCategorySlug string Yes — Slug Identifying the Medal Category You Want to Sponsor
isWritingRequest bool No false all set_[...] functions have this parameter - if false (which is default) the method will execute without writing any data. Set this parameter to true once you are sure that you tested your logic and want to execute a writing request
Request example (cURL)
curl --request POST \
  'https://appointmenttrader.com/v1/medal/set_sponsor_user' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'userAlias={{userAlias}}' \
  --data-urlencode 'medalCategorySlug={{medalCategorySlug}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Returns

JSON
See the shared response schema and synthetic example.
Response fields
FieldTypeRequiredDescription
$medal_set_sponsor_user_Response Yes
$.oneOf[0] Yes
$.oneOf[0].allOf[0]object Yes
$.oneOf[0].allOf[0].RequestUserAliasstring Yes
$.oneOf[0].allOf[0].RequestPathstring | null Yes
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Yes
$.oneOf[0].allOf[0].ResponseCodeinteger Yes
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object Yes
$.oneOf[0].allOf[1].Payload = true Yes
$.oneOf[0].allOf[1].ResponseMessageobject No
$.oneOf[0].allOf[1].ResponseMessage.HumanReadablestring Yes
$.oneOf[0].allOf[1].ResponseMessage.ReturnVariablesobject Yes
$.oneOf[0].allOf[1].ResponseMessage.ReturnVariables.RequestChatIDDatabaseInteger YesInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].ResponseMessage.ReturnVariables.RequestChatID.oneOf[0]integer Yes
$.oneOf[0].allOf[1].ResponseMessage.ReturnVariables.RequestChatID.oneOf[1]string Yes
$.oneOf[0].allOf[1].ResponseMessage.ReturnVariables.RequestChatURLstring Yes
$.oneOf[1]object Yes
$.oneOf[1].RequestUserAliasstring Yes
$.oneOf[1].RequestPathstring | null Yes
$.oneOf[1].RequestStatus = "Failed" Yes
$.oneOf[1].ResponseCodeinteger Yes
$.oneOf[1].ResponseMessageAPIResponseMessage Yes
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[1].ResponseMessage.oneOf[1]array Yes
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object Yes
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Response example
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": {
        "HumanReadable": "Synthetic sponsorship request.",
        "ReturnVariables": {
            "RequestChatID": 1001,
            "RequestChatURL": "/modules/community/index.php?Tags[]=synthetic-chat"
        }
    },
    "RequestPath": "/v1/medal/set_sponsor_user",
    "RequestUserAlias": "example-user",
    "Payload": true
}
Machine-readable endpoint documentation