En línea ahora  

/v1/media/

The signed-in account's private lifetime media library and reusable picker.
GET

/v1/media/get_ftp_credentials

#
Read the acting account's generated FTP login. Passwords are recoverable only by the app. Send POST with X-AT-Media-Request: 1. Never put credentials in URLs or client storage.
Ejemplo de solicitud (cURL)
curl --get \
  'https://es.appointmenttrader.com/v1/media/get_ftp_credentials' \
  --data-urlencode 'key={{API_KEY}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$media_get_ftp_credentials_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.credentials si
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].credentialIDinteger si
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].label si
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].label.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].label.anyOf[0].idinteger si
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].label.anyOf[0].namestring si
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].label.anyOf[0].emojistring si
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].label.anyOf[0].archivedboolean si
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].label.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].usernamestring siOwner FTP username; examples are deliberately fictitious.
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].password siOwner FTP password, or null when reset is required. Never use response data as documentation examples.
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].password.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].password.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].enabledboolean si
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].notifyOnImportboolean si
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].requiresResetboolean si
$.oneOf[0].allOf[1].Payload.credentials.anyOf[1]null si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/media/get_ftp_credentials",
    "RequestUserAlias": "example-user",
    "Payload": {
        "credentials": {
            "credentialID": 1,
            "label": null,
            "username": "SYNTHETIC_USERNAME",
            "password": "SYNTHETIC_PASSWORD",
            "enabled": false,
            "notifyOnImport": false,
            "requiresReset": false
        }
    }
}
Documentación del endpoint legible por máquinas
GET

/v1/media/get_ftp_logs

#
Read upload logs through the acting account's FTPS connection. Latest 30 UTC dates, up to 64 KiB of the selected log's tail. Send POST with X-AT-Media-Request: 1. No credentials or owner IDs are accepted.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
logDate string No "" UTC log date, or empty for the latest available log.
Ejemplo de solicitud (cURL)
curl --get \
  'https://es.appointmenttrader.com/v1/media/get_ftp_logs' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'logDate={{logDate}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$media_get_ftp_logs_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.datesarray si
$.oneOf[0].allOf[1].Payload.dates[]string No
$.oneOf[0].allOf[1].Payload.date si
$.oneOf[0].allOf[1].Payload.date.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.date.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.textstring si
$.oneOf[0].allOf[1].Payload.truncatedboolean si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/media/get_ftp_logs",
    "RequestUserAlias": "example-user",
    "Payload": {
        "dates": [
            "2030-01-01"
        ],
        "date": "2030-01-01",
        "text": "Synthetic upload log.",
        "truncated": false
    }
}
Documentación del endpoint legible por máquinas
GET

/v1/media/get_labels

#
Private label catalog, including archived labels. Never accepts another account ID.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
afterID int No 0 Previous nextID, or zero for the first page.
search string No "" Optional name search; restart afterID when changing search.
labelID int No 0 Resolve one owned label for an existing selection; zero browses the catalog.
Ejemplo de solicitud (cURL)
curl --get \
  'https://es.appointmenttrader.com/v1/media/get_labels' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'afterID={{afterID}}' \
  --data-urlencode 'search={{search}}' \
  --data-urlencode 'labelID={{labelID}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$media_get_labels_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.labelsarray si
$.oneOf[0].allOf[1].Payload.labels[]object No
$.oneOf[0].allOf[1].Payload.labels[].idinteger si
$.oneOf[0].allOf[1].Payload.labels[].namestring si
$.oneOf[0].allOf[1].Payload.labels[].emojistring si
$.oneOf[0].allOf[1].Payload.labels[].archivedboolean si
$.oneOf[0].allOf[1].Payload.nextID si
$.oneOf[0].allOf[1].Payload.nextID.anyOf[0]integer si
$.oneOf[0].allOf[1].Payload.nextID.anyOf[1]null si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/media/get_labels",
    "RequestUserAlias": "example-user",
    "Payload": {
        "labels": [],
        "nextID": 0
    }
}
Documentación del endpoint legible por máquinas
GET

/v1/media/get_my_media

#
Browse retained media owned by the acting account. Never accepts another account ID.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
search string No "" Filename, title or description search.
kind string No "" Empty, image, video, audio or document.
usage string No "" Empty, unattached, post, profile, message, request or preview.
month string No "" Creation month YYYY-MM, or empty for all dates.
order string No "newest" newest or oldest.
cursor string No "" Opaque continuation returned by the previous page.
pageSize int No 60 Items per page, capped at 100.
labelID int No 0 Owned label ID, including archives; zero means all.
unlabeled bool No false Only media without labels; mutually exclusive with labelID.
Ejemplo de solicitud (cURL)
curl --get \
  'https://es.appointmenttrader.com/v1/media/get_my_media' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'search={{search}}' \
  --data-urlencode 'kind={{kind}}' \
  --data-urlencode 'usage={{usage}}' \
  --data-urlencode 'month={{month}}' \
  --data-urlencode 'order={{order}}' \
  --data-urlencode 'cursor={{cursor}}' \
  --data-urlencode 'pageSize={{pageSize}}' \
  --data-urlencode 'labelID={{labelID}}' \
  --data-urlencode 'unlabeled={{unlabeled}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$media_get_my_media_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.itemsarray si
$.oneOf[0].allOf[1].Payload.items[]object No
$.oneOf[0].allOf[1].Payload.items[].idinteger si
$.oneOf[0].allOf[1].Payload.items[].thumbUrlstring si
$.oneOf[0].allOf[1].Payload.items[].mediaUrlstring si
$.oneOf[0].allOf[1].Payload.items[].mediaTypestring si
$.oneOf[0].allOf[1].Payload.items[].widthinteger si
$.oneOf[0].allOf[1].Payload.items[].heightinteger si
$.oneOf[0].allOf[1].Payload.items[].titlestring si
$.oneOf[0].allOf[1].Payload.items[].isImageboolean si
$.oneOf[0].allOf[1].Payload.items[].isEmbeddedboolean si
$.oneOf[0].allOf[1].Payload.items[].kindstring ["image","video","audio","document"] si
$.oneOf[0].allOf[1].Payload.items[].createdDatestring si
$.oneOf[0].allOf[1].Payload.items[].filenamestring si
$.oneOf[0].allOf[1].Payload.items[].sizeinteger si
$.oneOf[0].allOf[1].Payload.items[].duration si
$.oneOf[0].allOf[1].Payload.items[].duration.anyOf[0]number si
$.oneOf[0].allOf[1].Payload.items[].duration.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.items[].downloadUrlstring si
$.oneOf[0].allOf[1].Payload.items[].labelsarray si
$.oneOf[0].allOf[1].Payload.items[].labels[]object No
$.oneOf[0].allOf[1].Payload.items[].labels[].idinteger si
$.oneOf[0].allOf[1].Payload.items[].labels[].namestring si
$.oneOf[0].allOf[1].Payload.items[].labels[].emojistring si
$.oneOf[0].allOf[1].Payload.items[].labels[].archivedboolean si
$.oneOf[0].allOf[1].Payload.items[].hasUsageboolean si
$.oneOf[0].allOf[1].Payload.nextCursor si
$.oneOf[0].allOf[1].Payload.nextCursor.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.nextCursor.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.lastMediaIDinteger si
$.oneOf[0].allOf[1].Payload.pageSignature si
$.oneOf[0].allOf[1].Payload.pageSignature.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.pageSignature.anyOf[1]null si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/media/get_my_media",
    "RequestUserAlias": "example-user",
    "Payload": {
        "items": [],
        "nextCursor": "synthetic-example",
        "lastMediaID": 0,
        "pageSignature": "synthetic-example"
    }
}
Documentación del endpoint legible por máquinas
GET

/v1/media/get_my_media_item

#
Preview one owned file with current permission-checked usage references. Chat usages include chatID only after current chat and message access checks; their URL opens the conversation. File ownership alone never grants access.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
mediaID int si — Owned ATMedia ID.
afterUsageID int No 0 Continuation returned as nextUsageID.
afterLabelPostID int No 0 Dynamic usage continuation, -1 when exhausted.
Ejemplo de solicitud (cURL)
curl --get \
  'https://es.appointmenttrader.com/v1/media/get_my_media_item' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'mediaID={{mediaID}}' \
  --data-urlencode 'afterUsageID={{afterUsageID}}' \
  --data-urlencode 'afterLabelPostID={{afterLabelPostID}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$media_get_my_media_item_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.itemobject si
$.oneOf[0].allOf[1].Payload.item.idinteger si
$.oneOf[0].allOf[1].Payload.item.thumbUrlstring si
$.oneOf[0].allOf[1].Payload.item.mediaUrlstring si
$.oneOf[0].allOf[1].Payload.item.mediaTypestring si
$.oneOf[0].allOf[1].Payload.item.widthinteger si
$.oneOf[0].allOf[1].Payload.item.heightinteger si
$.oneOf[0].allOf[1].Payload.item.titlestring si
$.oneOf[0].allOf[1].Payload.item.isImageboolean si
$.oneOf[0].allOf[1].Payload.item.isEmbeddedboolean si
$.oneOf[0].allOf[1].Payload.item.kindstring ["image","video","audio","document"] si
$.oneOf[0].allOf[1].Payload.item.createdDatestring si
$.oneOf[0].allOf[1].Payload.item.filenamestring si
$.oneOf[0].allOf[1].Payload.item.sizeinteger si
$.oneOf[0].allOf[1].Payload.item.duration si
$.oneOf[0].allOf[1].Payload.item.duration.anyOf[0]number si
$.oneOf[0].allOf[1].Payload.item.duration.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.item.downloadUrlstring si
$.oneOf[0].allOf[1].Payload.item.labelsarray si
$.oneOf[0].allOf[1].Payload.item.labels[]object No
$.oneOf[0].allOf[1].Payload.item.labels[].idinteger si
$.oneOf[0].allOf[1].Payload.item.labels[].namestring si
$.oneOf[0].allOf[1].Payload.item.labels[].emojistring si
$.oneOf[0].allOf[1].Payload.item.labels[].archivedboolean si
$.oneOf[0].allOf[1].Payload.usagesarray si
$.oneOf[0].allOf[1].Payload.usages[]object No
$.oneOf[0].allOf[1].Payload.usages[].typestring si
$.oneOf[0].allOf[1].Payload.usages[].rolestring si
$.oneOf[0].allOf[1].Payload.usages[].titlestring si
$.oneOf[0].allOf[1].Payload.usages[].urlstring si
$.oneOf[0].allOf[1].Payload.usages[].chatIDinteger No
$.oneOf[0].allOf[1].Payload.usages[].notificationBodyIDinteger No
$.oneOf[0].allOf[1].Payload.usages[].versionIdinteger No
$.oneOf[0].allOf[1].Payload.usages[].postIdinteger No
$.oneOf[0].allOf[1].Payload.hasUnavailableUsageboolean si
$.oneOf[0].allOf[1].Payload.nextUsageID si
$.oneOf[0].allOf[1].Payload.nextUsageID.anyOf[0]integer si
$.oneOf[0].allOf[1].Payload.nextUsageID.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.nextLabelPostID si
$.oneOf[0].allOf[1].Payload.nextLabelPostID.anyOf[0]integer si
$.oneOf[0].allOf[1].Payload.nextLabelPostID.anyOf[1]null si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/media/get_my_media_item",
    "RequestUserAlias": "example-user",
    "Payload": {
        "item": {
            "id": 0,
            "thumbUrl": "synthetic-example",
            "mediaUrl": "synthetic-example",
            "mediaType": "synthetic-example",
            "width": 0,
            "height": 0,
            "title": "synthetic-example",
            "isImage": false,
            "isEmbedded": false,
            "kind": "image",
            "createdDate": "synthetic-example",
            "filename": "synthetic-example",
            "size": 0,
            "duration": 0,
            "downloadUrl": "synthetic-example",
            "labels": []
        },
        "usages": [],
        "hasUnavailableUsage": false,
        "nextUsageID": 0,
        "nextLabelPostID": 0
    }
}
Documentación del endpoint legible por máquinas
GET

/v1/media/get_my_media_timeline

#
Return creation months for the account's current media filters.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
search string No "" Filename, title or description search.
kind string No "" Empty, image, video, audio or document.
usage string No "" Empty, unattached, post, profile, message, request or preview.
labelID int No 0 Owned label ID, including archives; zero means all.
unlabeled bool No false Only media without labels; mutually exclusive with labelID.
Ejemplo de solicitud (cURL)
curl --get \
  'https://es.appointmenttrader.com/v1/media/get_my_media_timeline' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'search={{search}}' \
  --data-urlencode 'kind={{kind}}' \
  --data-urlencode 'usage={{usage}}' \
  --data-urlencode 'labelID={{labelID}}' \
  --data-urlencode 'unlabeled={{unlabeled}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$media_get_my_media_timeline_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.monthsarray si
$.oneOf[0].allOf[1].Payload.months[]object No
$.oneOf[0].allOf[1].Payload.months[].month si
$.oneOf[0].allOf[1].Payload.months[].month.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.months[].month.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.months[].countDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.months[].count.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.months[].count.oneOf[1]string si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/media/get_my_media_timeline",
    "RequestUserAlias": "example-user",
    "Payload": {
        "months": []
    }
}
Documentación del endpoint legible por máquinas
POST

/v1/media/set_copy_post_photo

#
Copy an accessible post photo into the acting user's media library with a new ID and the same file URLs. Also resolves the acting user's wall for the About Me composer; creates that wall if needed. Does not publish a post or change the profile. POST with X-AT-Media-Request: 1 required.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
postID int si — Accessible source post containing the image.
mediaID int si — Retained image attached to that post.
isWritingRequest bool No false Explicit write acknowledgement.
Ejemplo de solicitud (cURL)
curl --request POST \
  'https://es.appointmenttrader.com/v1/media/set_copy_post_photo' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'postID={{postID}}' \
  --data-urlencode 'mediaID={{mediaID}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$media_set_copy_post_photo_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.itemobject si
$.oneOf[0].allOf[1].Payload.item.idinteger si
$.oneOf[0].allOf[1].Payload.item.thumbUrlstring si
$.oneOf[0].allOf[1].Payload.item.mediaUrlstring si
$.oneOf[0].allOf[1].Payload.item.mediaTypestring si
$.oneOf[0].allOf[1].Payload.item.widthinteger si
$.oneOf[0].allOf[1].Payload.item.heightinteger si
$.oneOf[0].allOf[1].Payload.item.titlestring si
$.oneOf[0].allOf[1].Payload.item.isImageboolean si
$.oneOf[0].allOf[1].Payload.item.isEmbeddedboolean si
$.oneOf[0].allOf[1].Payload.item.kindstring ["image","video","audio","document"] si
$.oneOf[0].allOf[1].Payload.item.createdDatestring si
$.oneOf[0].allOf[1].Payload.item.filenamestring si
$.oneOf[0].allOf[1].Payload.item.sizeinteger si
$.oneOf[0].allOf[1].Payload.item.duration si
$.oneOf[0].allOf[1].Payload.item.duration.anyOf[0]number si
$.oneOf[0].allOf[1].Payload.item.duration.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.item.downloadUrlstring si
$.oneOf[0].allOf[1].Payload.wallBoardobject si
$.oneOf[0].allOf[1].Payload.wallBoard.idinteger si
$.oneOf[0].allOf[1].Payload.wallBoard.boardIDinteger si
$.oneOf[0].allOf[1].Payload.wallBoard.slugstring si
$.oneOf[0].allOf[1].Payload.wallBoard.namestring si
$.oneOf[0].allOf[1].Payload.wallBoard.citystring si
$.oneOf[0].allOf[1].Payload.wallBoard.cityGroupCodestring si
$.oneOf[0].allOf[1].Payload.wallBoard.intentstring si
$.oneOf[0].allOf[1].Payload.wallBoard.callbackstring si
$.oneOf[0].allOf[1].Payload.wallBoard.countinteger si
$.oneOf[0].allOf[1].Payload.wallBoard.unitLabelstring si
$.oneOf[0].allOf[1].Payload.wallBoard.createsRegularBoardPostboolean si
$.oneOf[0].allOf[1].Payload.wallBoard.isDefaultRequestBoardboolean si
$.oneOf[0].allOf[1].Payload.wallBoard.isDefaultListingBoardboolean si
$.oneOf[0].allOf[1].Payload.wallBoard.routingEnabledboolean si
$.oneOf[0].allOf[1].Payload.wallBoard.routingDescriptionstring si
$.oneOf[0].allOf[1].Payload.wallBoard.selectedboolean si
$.oneOf[0].allOf[1].Payload.wallBoard.viewerCanReadboolean si
$.oneOf[0].allOf[1].Payload.wallBoard.viewerCanWriteboolean si
$.oneOf[0].allOf[1].Payload.wallBoard.hasAccessMetadata = true si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/media/set_copy_post_photo",
    "RequestUserAlias": "example-user",
    "Payload": {
        "item": {
            "id": 0,
            "thumbUrl": "synthetic-example",
            "mediaUrl": "synthetic-example",
            "mediaType": "synthetic-example",
            "width": 0,
            "height": 0,
            "title": "synthetic-example",
            "isImage": false,
            "isEmbedded": false,
            "kind": "image",
            "createdDate": "synthetic-example",
            "filename": "synthetic-example",
            "size": 0,
            "duration": 0,
            "downloadUrl": "synthetic-example"
        },
        "wallBoard": {
            "id": 0,
            "boardID": 0,
            "slug": "synthetic-example",
            "name": "synthetic-example",
            "city": "synthetic-example",
            "cityGroupCode": "synthetic-example",
            "intent": "synthetic-example",
            "callback": "synthetic-example",
            "count": 0,
            "unitLabel": "synthetic-example",
            "createsRegularBoardPost": false,
            "isDefaultRequestBoard": false,
            "isDefaultListingBoard": false,
            "routingEnabled": false,
            "routingDescription": "synthetic-example",
            "selected": false,
            "viewerCanRead": false,
            "viewerCanWrite": false,
            "hasAccessMetadata": true
        }
    }
}
Documentación del endpoint legible por máquinas
POST

/v1/media/set_delete_file

#
Soft-delete a file owned by the acting account by setting ATMedia.DeletedDate. The stored file and reference rows are retained. Deleted media is excluded from My Media, attachment selection and owner downloads. Repeating deletion is safe. POST with X-AT-Media-Request: 1 required; no other account ID is accepted.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
mediaID int si — Owned ATMedia ID.
isWritingRequest bool No false Explicit write acknowledgement.
Ejemplo de solicitud (cURL)
curl --request POST \
  'https://es.appointmenttrader.com/v1/media/set_delete_file' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'mediaID={{mediaID}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$media_set_delete_file_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.mediaIDinteger si
$.oneOf[0].allOf[1].Payload.deleted = true si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/media/set_delete_file",
    "RequestUserAlias": "example-user",
    "Payload": {
        "mediaID": 0,
        "deleted": true
    }
}
Documentación del endpoint legible por máquinas
POST

/v1/media/set_ftp_credentials

#
Create a random FTP login with six uppercase A-Z letters in each field, or reset it. Reset preserves an existing six-letter uppercase username; legacy names are shortened. The home-directory slug, virtual identity, default label, notification preference and enabled state survive reset. New accounts stay disabled until the FTP server provisions their home directory. Send POST with X-AT-Media-Request: 1. No user ID, username or password is accepted.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
reset bool No false Replace the password and shorten a legacy username if needed.
isWritingRequest bool No false Explicit write acknowledgement.
Ejemplo de solicitud (cURL)
curl --request POST \
  'https://es.appointmenttrader.com/v1/media/set_ftp_credentials' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'reset={{reset}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$media_set_ftp_credentials_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.credentials si
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].credentialIDinteger si
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].label si
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].label.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].label.anyOf[0].idinteger si
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].label.anyOf[0].namestring si
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].label.anyOf[0].emojistring si
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].label.anyOf[0].archivedboolean si
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].label.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].usernamestring siOwner FTP username; examples are deliberately fictitious.
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].password siOwner FTP password, or null when reset is required. Never use response data as documentation examples.
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].password.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].password.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].enabledboolean si
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].notifyOnImportboolean si
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].requiresResetboolean si
$.oneOf[0].allOf[1].Payload.credentials.anyOf[1]null si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/media/set_ftp_credentials",
    "RequestUserAlias": "example-user",
    "Payload": {
        "credentials": {
            "credentialID": 1,
            "label": null,
            "username": "SYNTHETIC_USERNAME",
            "password": "SYNTHETIC_PASSWORD",
            "enabled": false,
            "notifyOnImport": false,
            "requiresReset": false
        }
    }
}
Documentación del endpoint legible por máquinas
POST

/v1/media/set_ftp_label

#
Set a credential's default label independently of its password. Records upload-time history atomically. POST with X-AT-Media-Request: 1 required. Resetting credentials preserves this setting and upload directory.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
credentialID int si — Owned FTP credential ID.
labelID int No 0 Owned active label ID; zero clears.
isWritingRequest bool No false Explicit write acknowledgement.
Ejemplo de solicitud (cURL)
curl --request POST \
  'https://es.appointmenttrader.com/v1/media/set_ftp_label' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'credentialID={{credentialID}}' \
  --data-urlencode 'labelID={{labelID}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$media_set_ftp_label_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.credentialIDinteger si
$.oneOf[0].allOf[1].Payload.label si
$.oneOf[0].allOf[1].Payload.label.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.label.anyOf[0].idinteger si
$.oneOf[0].allOf[1].Payload.label.anyOf[0].namestring si
$.oneOf[0].allOf[1].Payload.label.anyOf[0].emojistring si
$.oneOf[0].allOf[1].Payload.label.anyOf[0].archivedboolean si
$.oneOf[0].allOf[1].Payload.label.anyOf[1]null si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/media/set_ftp_label",
    "RequestUserAlias": "example-user",
    "Payload": {
        "credentialID": 0,
        "label": {
            "id": 0,
            "name": "synthetic-example",
            "emoji": "synthetic-example",
            "archived": false
        }
    }
}
Documentación del endpoint legible por máquinas
POST

/v1/media/set_ftp_notifications

#
Enable/disable priority alerts for successful FTP imports. Defaults to on for new and existing credentials. Changes apply to future imports, including uploads awaiting delivery. Existing alerts and replayed imports are unchanged. POST with X-AT-Media-Request: 1 required. Does not reset the login or change the default label/directory.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
credentialID int si — Owned FTP credential ID.
notifyOnImport bool si — Whether successful imports create a priority notification.
isWritingRequest bool No false Explicit write acknowledgement.
Ejemplo de solicitud (cURL)
curl --request POST \
  'https://es.appointmenttrader.com/v1/media/set_ftp_notifications' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'credentialID={{credentialID}}' \
  --data-urlencode 'notifyOnImport={{notifyOnImport}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$media_set_ftp_notifications_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.credentialIDinteger si
$.oneOf[0].allOf[1].Payload.notifyOnImportboolean si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/media/set_ftp_notifications",
    "RequestUserAlias": "example-user",
    "Payload": {
        "credentialID": 0,
        "notifyOnImport": false
    }
}
Documentación del endpoint legible por máquinas
POST

/v1/media/set_import_from_url

#
Download one public HTTP(S) media URL into the acting account's My Media library. Accepts JPEG, PNG, GIF, WebP, AVIF, MP4, MOV, WebM and PDF, up to 25 MiB. Send POST with X-AT-Media-Request: 1. Authenticated session or owner API key required. Retry with the same importID and identical parameters to receive the original media. Future FTP delivery adapters can call this endpoint with an owner-authorized API identity and a public HTTPS delivery URL. FTP slugs/passwords alone never authorize imports.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
sourceURL string si — Absolute public media URL. Private-network addresses and credentials are rejected.
importID string si — Caller-generated stable delivery ID, 8-128 letters, numbers, underscores or hyphens.
title string No "" Optional media title, up to 250 characters.
isWritingRequest bool No false Explicit write acknowledgement.
Ejemplo de solicitud (cURL)
curl --request POST \
  'https://es.appointmenttrader.com/v1/media/set_import_from_url' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'sourceURL={{sourceURL}}' \
  --data-urlencode 'importID={{importID}}' \
  --data-urlencode 'title={{title}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$media_set_import_from_url_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.itemobject si
$.oneOf[0].allOf[1].Payload.item.idinteger si
$.oneOf[0].allOf[1].Payload.item.thumbUrlstring si
$.oneOf[0].allOf[1].Payload.item.mediaUrlstring si
$.oneOf[0].allOf[1].Payload.item.mediaTypestring si
$.oneOf[0].allOf[1].Payload.item.widthinteger si
$.oneOf[0].allOf[1].Payload.item.heightinteger si
$.oneOf[0].allOf[1].Payload.item.titlestring si
$.oneOf[0].allOf[1].Payload.item.isImageboolean si
$.oneOf[0].allOf[1].Payload.item.isEmbeddedboolean si
$.oneOf[0].allOf[1].Payload.item.kindstring ["image","video","audio","document"] si
$.oneOf[0].allOf[1].Payload.item.createdDatestring si
$.oneOf[0].allOf[1].Payload.item.filenamestring si
$.oneOf[0].allOf[1].Payload.item.sizeinteger si
$.oneOf[0].allOf[1].Payload.item.duration si
$.oneOf[0].allOf[1].Payload.item.duration.anyOf[0]number si
$.oneOf[0].allOf[1].Payload.item.duration.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.item.downloadUrlstring si
$.oneOf[0].allOf[1].Payload.reusedboolean si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/media/set_import_from_url",
    "RequestUserAlias": "example-user",
    "Payload": {
        "item": {
            "id": 0,
            "thumbUrl": "synthetic-example",
            "mediaUrl": "synthetic-example",
            "mediaType": "synthetic-example",
            "width": 0,
            "height": 0,
            "title": "synthetic-example",
            "isImage": false,
            "isEmbedded": false,
            "kind": "image",
            "createdDate": "synthetic-example",
            "filename": "synthetic-example",
            "size": 0,
            "duration": 0,
            "downloadUrl": "synthetic-example"
        },
        "reused": false
    }
}
Documentación del endpoint legible por máquinas
POST

/v1/media/set_label

#
Create or rename an owned label; archived names remain reserved. POST with X-AT-Media-Request: 1.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
name string si — Trimmed label name, 1–100 characters, case-insensitively unique per account.
labelID int No 0 Zero creates a label; otherwise renames without changing its ID.
isWritingRequest bool No false Explicit write acknowledgement.
emoji string No null One emoji; omitted preserves the existing value.
Ejemplo de solicitud (cURL)
curl --request POST \
  'https://es.appointmenttrader.com/v1/media/set_label' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'name={{name}}' \
  --data-urlencode 'labelID={{labelID}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}' \
  --data-urlencode 'emoji={{emoji}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$media_set_label_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.label si
$.oneOf[0].allOf[1].Payload.label.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.label.anyOf[0].idinteger si
$.oneOf[0].allOf[1].Payload.label.anyOf[0].namestring si
$.oneOf[0].allOf[1].Payload.label.anyOf[0].emojistring si
$.oneOf[0].allOf[1].Payload.label.anyOf[0].archivedboolean si
$.oneOf[0].allOf[1].Payload.label.anyOf[1]null si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/media/set_label",
    "RequestUserAlias": "example-user",
    "Payload": {
        "label": {
            "id": 0,
            "name": "synthetic-example",
            "emoji": "synthetic-example",
            "archived": false
        }
    }
}
Documentación del endpoint legible por máquinas
POST

/v1/media/set_label_archived

#
Archive or restore a label. Archiving atomically clears FTP defaults and records history; existing links remain. POST with X-AT-Media-Request: 1 required.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
labelID int si — Owned label ID.
archived bool si — True archives; false restores.
isWritingRequest bool No false Explicit write acknowledgement.
confirmDetach bool No false Acknowledge permanent removal from linked posts.
Ejemplo de solicitud (cURL)
curl --request POST \
  'https://es.appointmenttrader.com/v1/media/set_label_archived' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'labelID={{labelID}}' \
  --data-urlencode 'archived={{archived}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}' \
  --data-urlencode 'confirmDetach={{confirmDetach}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$media_set_label_archived_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.label si
$.oneOf[0].allOf[1].Payload.label.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.label.anyOf[0].idinteger si
$.oneOf[0].allOf[1].Payload.label.anyOf[0].namestring si
$.oneOf[0].allOf[1].Payload.label.anyOf[0].emojistring si
$.oneOf[0].allOf[1].Payload.label.anyOf[0].archivedboolean si
$.oneOf[0].allOf[1].Payload.label.anyOf[1]null si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/media/set_label_archived",
    "RequestUserAlias": "example-user",
    "Payload": {
        "label": {
            "id": 0,
            "name": "synthetic-example",
            "emoji": "synthetic-example",
            "archived": false
        }
    }
}
Documentación del endpoint legible por máquinas
POST

/v1/media/set_media_labels

#
Atomically add/remove labels on up to 100 owned, retained media. Unrelated links are preserved. Archived labels may be removed but never manually added. POST with X-AT-Media-Request: 1 required.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
mediaIDs string si — JSON array of 1–100 media IDs.
labelIDs string si — JSON array of 1–100 owned label IDs.
remove bool No false True removes; false adds. Repeating an operation is harmless.
isWritingRequest bool No false Explicit write acknowledgement.
Ejemplo de solicitud (cURL)
curl --request POST \
  'https://es.appointmenttrader.com/v1/media/set_media_labels' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'mediaIDs={{mediaIDs}}' \
  --data-urlencode 'labelIDs={{labelIDs}}' \
  --data-urlencode 'remove={{remove}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Parámetros: mediaIDs
CampoTipoObligatorioDescripción
mediaIDsstring (application/json) si
mediaIDsarray (JSON decodificado) si
mediaIDs[]integer No
Parámetros: labelIDs
CampoTipoObligatorioDescripción
labelIDsstring (application/json) si
labelIDsarray (JSON decodificado) si
labelIDs[]integer No
Campos de respuesta
CampoTipoObligatorioDescripción
$media_set_media_labels_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.updatedinteger si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/media/set_media_labels",
    "RequestUserAlias": "example-user",
    "Payload": {
        "updated": 0
    }
}
Documentación del endpoint legible por máquinas