api-docs-mirror/amino/docs.md

40 KiB

GET /g/s/announcement/ GET the announcement blog list

query string

name description required
language Content language to be returned False
start paginated data index offset. Difference to False
size max number of items to get for paginated requests False

headers

name description required
NDCDEVICEID The device id generated by the app. See True
NDC-MSG-SIG Message signature (?) generated by the app False
SMDEVICEID I don't know, seems to be a non-string hex number False
AUID The auid (UUIDv4) generated on amino servers for this client, retrieved with GET /g/s/auid False

responses

  • 200 - Announcements Retrieved Announcements Retrieved

Current announcement blogs were retrieved

{
    "blogList": [
        "{...}      <Blog object. Always by System (UUIDv4 all 0's)>"
    ]
}
  • 200:0 - api:ok api:ok

The request was successful. This is not a separate response, but included in every 200 response's json

{
    "api:message": "OK",
    "api:timestamp": "2020-01-22T23:49:13Z  <API timestamp>",
    "api:statuscode": "0                    <Statuscode 0 is ok>",
    "api:duration": "0.010s                 <Processing time>"
}
  • 400:104 - Missing NDCDEVICEID Missing NDCDEVICEID

The NDCDEVICEID header was not included, or did not compute on amino servers

{
    "api:message": "Invalid Request. Please update to the latest version. If the problem continues, please contact us.",
    "api:timestamp": "2020-01-22T22:11:28Z  <API timestamp>",
    "api:statuscode": "104                  <Statuscode 104 represents a bad NDCDEVICEID header>",
    "api:duration": "0.000s                 <Processing time>"
}
GET /g/s/auid/ GET an auid for this device

query strings

name description required
deviceId Same as NDCDEVICEID True

headers

name description required
NDCDEVICEID The device id generated by the app. See True
NDC-MSG-SIG Message signature (?) generated by the app False
SMDEVICEID I don't know, seems to be a non-string hex number False
AUID The auid (UUIDv4) generated on amino servers for this client, retrieved with GET /g/s/auid False

responses

  • 200 - auid Generated auid Generated

An auid was generated and returned by the server. It may now be used in request headers

{
    "auid": "...    <UUIDv4>"
}
  • 200:0 - api:ok api:ok

The request was successful. This is not a separate response, but included in every 200 response's json

{
    "api:message": "OK",
    "api:timestamp": "2020-01-22T23:49:13Z  <API timestamp>",
    "api:statuscode": "0                    <Statuscode 0 is ok>",
    "api:duration": "0.010s                 <Processing time>"
}
  • 400:104 - Missing NDCDEVICEID Missing NDCDEVICEID

The NDCDEVICEID header was not included, or did not compute on amino servers

{
    "api:message": "Invalid Request. Please update to the latest version. If the problem continues, please contact us.",
    "api:timestamp": "2020-01-22T22:11:28Z  <API timestamp>",
    "api:statuscode": "104                  <Statuscode 104 represents a bad NDCDEVICEID header>",
    "api:duration": "0.000s                 <Processing time>"
}
GET /g/s/auth/config-v2/ GET auth config data (unknown use)

headers

name description required
NDCDEVICEID The device id generated by the app. See True
NDC-MSG-SIG Message signature (?) generated by the app False
SMDEVICEID I don't know, seems to be a non-string hex number False
AUID The auid (UUIDv4) generated on amino servers for this client, retrieved with GET /g/s/auid False

responses

  • 200 - Config Recieved Config Recieved

Data with an unknown purpose is recieved

{
    "mobileSignUpProviderList": [
        8
    ]
}
  • 200:0 - api:ok api:ok

The request was successful. This is not a separate response, but included in every 200 response's json

{
    "api:message": "OK",
    "api:timestamp": "2020-01-22T23:49:13Z  <API timestamp>",
    "api:statuscode": "0                    <Statuscode 0 is ok>",
    "api:duration": "0.010s                 <Processing time>"
}
  • 400:104 - Missing NDCDEVICEID Missing NDCDEVICEID

The NDCDEVICEID header was not included, or did not compute on amino servers

{
    "api:message": "Invalid Request. Please update to the latest version. If the problem continues, please contact us.",
    "api:timestamp": "2020-01-22T22:11:28Z  <API timestamp>",
    "api:statuscode": "104                  <Statuscode 104 represents a bad NDCDEVICEID header>",
    "api:duration": "0.000s                 <Processing time>"
}
POST /g/s/auth/login/ Log in with credentials

headers

name description required
NDCDEVICEID The device id generated by the app. See True
NDC-MSG-SIG Message signature (?) generated by the app False
SMDEVICEID I don't know, seems to be a non-string hex number False
AUID The auid (UUIDv4) generated on amino servers for this client, retrieved with GET /g/s/auid False
{
    "email": "...               <account email address>",
    "v": "2                     <Unknown use, probably verson number. All integer values seem to work>",
    "secret": "...              <Login secret. Can be server supplied secret, or in the format \"0 <password>\"",
    "deviceID": "...            <NDCDEVICEID of this client>",
    "clientType": "100          <Unknown meaning, always seems to be 100>",
    "action": "normal           <Unknown use>",
    "timestamp": "1579754764781 <Login timestamp"
}

responses

  • 200 - Login Successful Login Successful

The login was successful and account information was sent

{
    "account": {
        "<->": "                                <This differs from regular profile info in that it is privileged information>",
        "activation": "1                        <Unknown use>",
        "phoneNumber": "null                    <Account linked phone number>",
        "phoneNumberActivation": "0             <Likely related to phone verification, in the same way as with email",
        "email": "...                           <User email>",
        "emailActivation": "1                   <Email activation, 1 / 0 bool>",
        "username": "null                       <Unknown>",
        "uid": "...                             <UUIDv4 of this user>",
        "aminoIdEditable": "true                <May the aminoId be changed? (I believe that one lifetime change is allowed)>",
        "membership": "null                     <Probably related to paid membership>",
        "aminoId": "BooruBot                    <Unique aminoId that points to this user>",
        "mediaList": "null                      <Unknown use, probably a list of media objects>",
        "icon": "...                            <Link to this user's profile image>",
        "nickname": "BooruBot                   <Non-unique account global (non-community) nickname>",
        "role": "0                              <Unknown. Probably related to admin / curator roles in communities, N / A globally (unless amino admin?)>",
        "securityLevel": "3                     <Unknown use. Probably related to admin / moderator only visibility stuff>",
        "status": "0                            <Unknown, probably also related to admin / moderator. Could also be ban / mute status>",
        "dateOfBirth": "null                    <User birthdate>",
        "address": "null                        <Likely related to physical city / street address>",
        "latitude": "null                       <Physical latitude>",
        "longitude": "null                      <Physical longitude>",
        "facebookID": "null                     <Linked facebook profile>",
        "googleID": "null                       <Linked google profile>",
        "twitterID": "null                      <Linked twitter profile>",
        "gender": "null                         <User gender>",
        "createdTime": "2019-05-16T03:47:29Z    <Account creation time>",
        "modifiedTime": "2019-08-15T06:39:15Z   <Account last modified time>",
        "advancedSettings": "{...}              <Unknown settings>",
        "extensions": {
            "adsEnabled": "true                 <Are ads enabled? Probably related to amino paid membership. Useable for adblock?>",
            "adsFlags": "11                     <Unknown, probably has to do with ad selection>",
            "adsLevel": "1                      <Unknown, probably has to do with ad frequency>",
            "contentLanguage": "en              <Primary app language>",
            "deviceInfo": {
                "lastClientType": "100          <Client type used before this. Always 100? All mobile 100?>"
            }
        }
    },
    "auid": "...                                <UUIDv4 of this device>",
    "secret": "...                              <Secret that may be used for logging in. Appears to contain device auid, ipv4 address, and other stuff>",
    "sid": "...                                 <session ID>",
    "userProfile": "{...}                       <User object>"
}
  • 200:0 - api:ok api:ok

The request was successful. This is not a separate response, but included in every 200 response's json

{
    "api:message": "OK",
    "api:timestamp": "2020-01-22T23:49:13Z  <API timestamp>",
    "api:statuscode": "0                    <Statuscode 0 is ok>",
    "api:duration": "0.010s                 <Processing time>"
}
  • 400:104 - Missing NDCDEVICEID Missing NDCDEVICEID

The NDCDEVICEID header was not included, or did not compute on amino servers

{
    "api:message": "Invalid Request. Please update to the latest version. If the problem continues, please contact us.",
    "api:timestamp": "2020-01-22T22:11:28Z  <API timestamp>",
    "api:statuscode": "104                  <Statuscode 104 represents a bad NDCDEVICEID header>",
    "api:duration": "0.000s                 <Processing time>"
}
  • 400:200 - Login Unsuccessful Login Unsuccessful

The supplied credentials were not correct

{
    "api:message": "Account or password is incorrect! If you forget your password, please reset it.",
    "api:timestamp": "2020-01-23T04:44:36Z  <API timestamp>",
    "api:statuscode": "200                  <Statuscode 200 represents bad credentials>",
    "api:duration": "0.016s                 <Processing time>"
}
POST /g/s/client-config/ POST device information for configuration. Likely related to analytics / telemetry

headers

name description required
NDCDEVICEID The device id generated by the app. See True
NDC-MSG-SIG Message signature (?) generated by the app False
SMDEVICEID I don't know, seems to be a non-string hex number False
AUID The auid (UUIDv4) generated on amino servers for this client, retrieved with GET /g/s/auid False
{
    "packageName": "com.narvii.amino.master <android app package?>",
    "versionCode": "00000                   <likely app version, also sent in user-agent header next to package name>",
    "androidAPI": "21                       <Android api version. This example is 21, or android 5.0>",
    "model": "SCH-R530U                     <Phone device model. This example is a US Cellular Galaxy S3>",
    "device": "d2usc                        <Another way to identify the phone model>",
    "timestamp": "1579580222209             <request time in ms>"
}

responses

  • 200 - Client Configured Client Configured

The client config was accepted

{
    "clientConfig": {
        "<->": "<Unknown, was empty in api calls made by my client>"
    }
}
  • 200:0 - api:ok api:ok

The request was successful. This is not a separate response, but included in every 200 response's json

{
    "api:message": "OK",
    "api:timestamp": "2020-01-22T23:49:13Z  <API timestamp>",
    "api:statuscode": "0                    <Statuscode 0 is ok>",
    "api:duration": "0.010s                 <Processing time>"
}
  • 400:104 - Missing NDCDEVICEID Missing NDCDEVICEID

The NDCDEVICEID header was not included, or did not compute on amino servers

{
    "api:message": "Invalid Request. Please update to the latest version. If the problem continues, please contact us.",
    "api:timestamp": "2020-01-22T22:11:28Z  <API timestamp>",
    "api:statuscode": "104                  <Statuscode 104 represents a bad NDCDEVICEID header>",
    "api:duration": "0.000s                 <Processing time>"
}
GET /g/s/client-config/appearance-settings GET the app appearance settings

headers

name description required
NDCDEVICEID The device id generated by the app. See True
NDC-MSG-SIG Message signature (?) generated by the app False
SMDEVICEID I don't know, seems to be a non-string hex number False
AUID The auid (UUIDv4) generated on amino servers for this client, retrieved with GET /g/s/auid False

responses

  • 200 - Appearance Settings Appearance Settings

The appearance objects to use was retrieved

{
    "backgroundMediaList": [
        [
            "100    <Media, always 100?>",
            "...    <URL to an image>",
            "null   <unknown purpose>"
        ]
    ]
}
  • 200:0 - api:ok api:ok

The request was successful. This is not a separate response, but included in every 200 response's json

{
    "api:message": "OK",
    "api:timestamp": "2020-01-22T23:49:13Z  <API timestamp>",
    "api:statuscode": "0                    <Statuscode 0 is ok>",
    "api:duration": "0.010s                 <Processing time>"
}
  • 400:104 - Missing NDCDEVICEID Missing NDCDEVICEID

The NDCDEVICEID header was not included, or did not compute on amino servers

{
    "api:message": "Invalid Request. Please update to the latest version. If the problem continues, please contact us.",
    "api:timestamp": "2020-01-22T22:11:28Z  <API timestamp>",
    "api:statuscode": "104                  <Statuscode 104 represents a bad NDCDEVICEID header>",
    "api:duration": "0.000s                 <Processing time>"
}
GET /g/s/client-config/content-language-settings/ GET the app content language settings

headers

name description required
NDCDEVICEID The device id generated by the app. See True
NDC-MSG-SIG Message signature (?) generated by the app False
SMDEVICEID I don't know, seems to be a non-string hex number False
AUID The auid (UUIDv4) generated on amino servers for this client, retrieved with GET /g/s/auid False

responses

  • 200 - Language Settings Language Settings

The language settings were retrieved

{
    "contentLanguageSettings": {
        "language": "en     <The language preference>"
    }
}
  • 200:0 - api:ok api:ok

The request was successful. This is not a separate response, but included in every 200 response's json

{
    "api:message": "OK",
    "api:timestamp": "2020-01-22T23:49:13Z  <API timestamp>",
    "api:statuscode": "0                    <Statuscode 0 is ok>",
    "api:duration": "0.010s                 <Processing time>"
}
  • 400:104 - Missing NDCDEVICEID Missing NDCDEVICEID

The NDCDEVICEID header was not included, or did not compute on amino servers

{
    "api:message": "Invalid Request. Please update to the latest version. If the problem continues, please contact us.",
    "api:timestamp": "2020-01-22T22:11:28Z  <API timestamp>",
    "api:statuscode": "104                  <Statuscode 104 represents a bad NDCDEVICEID header>",
    "api:duration": "0.000s                 <Processing time>"
}
GET /g/s/community/configuration/ GET community config info

headers

name description required
NDCDEVICEID The device id generated by the app. See True
NDC-MSG-SIG Message signature (?) generated by the app False
SMDEVICEID I don't know, seems to be a non-string hex number False
AUID The auid (UUIDv4) generated on amino servers for this client, retrieved with GET /g/s/auid False

responses

  • 200 - Community Config Community Config

Community config was retrieved

{
    "configuration": {
        "appearance": {},
        "page": {},
        "module": {
            "post": {
                "enabled": true,
                "postType": {
                    "screeningRoom": {
                        "privilege": {
                            "type": "5          <Unknown use>",
                            "minLevel": "100    <Unknown use>"
                        },
                        "enabled": true
                    },
                    "story": "{...}             <Same privilege format",
                    "liveMode": "{...}          <Same privilege format",
                    "publicChatRooms": "{...}   <Same privilege format"
                }
            },
            "chat": {
                "enabled": true,
                "spamProtectionEnabled": true,
                "avChat": {
                    "screeningRoomEnabled": true,
                    "audioEnabled": "true       <Probably in-chat voice>",
                    "videoEnabled": "false      <Probably in-chat video>",
                    "audio2Enabled": "true      <Probably in-chat voice>"
                },
                "publicChat": "{...}            <Same privilege format>"
            }
        },
        "general": {
            "videoUploadPolicy": 1
        }
    }
}
  • 200:0 - api:ok api:ok

The request was successful. This is not a separate response, but included in every 200 response's json

{
    "api:message": "OK",
    "api:timestamp": "2020-01-22T23:49:13Z  <API timestamp>",
    "api:statuscode": "0                    <Statuscode 0 is ok>",
    "api:duration": "0.010s                 <Processing time>"
}
  • 400:104 - Missing NDCDEVICEID Missing NDCDEVICEID

The NDCDEVICEID header was not included, or did not compute on amino servers

{
    "api:message": "Invalid Request. Please update to the latest version. If the problem continues, please contact us.",
    "api:timestamp": "2020-01-22T22:11:28Z  <API timestamp>",
    "api:statuscode": "104                  <Statuscode 104 represents a bad NDCDEVICEID header>",
    "api:duration": "0.000s                 <Processing time>"
}
POST /g/s/device/ POST a device configuration

headers

name description required
NDCDEVICEID The device id generated by the app. See True
NDC-MSG-SIG Message signature (?) generated by the app False
SMDEVICEID I don't know, seems to be a non-string hex number False
AUID The auid (UUIDv4) generated on amino servers for this client, retrieved with GET /g/s/auid False
{
    "deviceID": "...                        <device id generated by the app>",
    "bundleID": "com.narvii.amino.master    <android app package?>",
    "clientType": "100                      <always 100>",
    "timezone": "-300                       <timezone number code>",
    "systemPushEnabled": "true              <true by default on new install>",
    "locale": "en_US                        <locale string>",
    "deviceToken": "...                     <device token generated by the app>",
    "deviceTokenType": "1                   <always 1?>",
    "timestamp": "1579580530965             <request time in ms>"
}

responses

  • 200 - Device Configured Device Configured

The device config was accepted

{
    "devOptions": "null     <?>"
}
  • 200:0 - api:ok api:ok

The request was successful. This is not a separate response, but included in every 200 response's json

{
    "api:message": "OK",
    "api:timestamp": "2020-01-22T23:49:13Z  <API timestamp>",
    "api:statuscode": "0                    <Statuscode 0 is ok>",
    "api:duration": "0.010s                 <Processing time>"
}
  • 400:104 - Missing NDCDEVICEID Missing NDCDEVICEID

The NDCDEVICEID header was not included, or did not compute on amino servers

{
    "api:message": "Invalid Request. Please update to the latest version. If the problem continues, please contact us.",
    "api:timestamp": "2020-01-22T22:11:28Z  <API timestamp>",
    "api:statuscode": "104                  <Statuscode 104 represents a bad NDCDEVICEID header>",
    "api:duration": "0.000s                 <Processing time>"
}
GET /g/s/eventlog/profile/ GET the eventlog for the current profile (appears to be device profile by auid, not necessarily amino profile)

query strings

name description required
language language code used, example being en. Affects experiments False

headers

name description required
NDCDEVICEID The device id generated by the app. See True
NDC-MSG-SIG Message signature (?) generated by the app False
SMDEVICEID I don't know, seems to be a non-string hex number False
AUID The auid (UUIDv4) generated on amino servers for this client, retrieved with GET /g/s/auid False

responses

  • 200 - Eventlog Retrieved Eventlog Retrieved

The eventlog for this device profile. This data appears to be related to AB experiments

{
    "globalStrategyInfo": "{...}        <json string literal with unknown meaning>",
    "uid": "None                        <Unknown. Probably another UUIDv4>",
    "contentLanguage": "en              <Primary app language>",
    "signUpStrategy": "2                <Signup method. Variants unknown>",
    "landingOption": "4                 <Landing option. Variants unknown>",
    "interestPickerStyle": "3           <Style for the interest picker. Variants unknown>",
    "auid": "...                        <This device's auid>",
    "needTriggerInterestPicker": "true  <unknown meaning>",
    "participatedExperiments": {
        "userVectorCommunitySimilarityChannel": 1,
        "retentionSrPush": 2,
        "landingOptionExp": 2,
        "communitySearchExp": 2,
        "communitySearchRerankExp": 1,
        "<->": "                        <various AB experiment values>"
    }
}
  • 200:0 - api:ok api:ok

The request was successful. This is not a separate response, but included in every 200 response's json

{
    "api:message": "OK",
    "api:timestamp": "2020-01-22T23:49:13Z  <API timestamp>",
    "api:statuscode": "0                    <Statuscode 0 is ok>",
    "api:duration": "0.010s                 <Processing time>"
}
  • 400:104 - Missing NDCDEVICEID Missing NDCDEVICEID

The NDCDEVICEID header was not included, or did not compute on amino servers

{
    "api:message": "Invalid Request. Please update to the latest version. If the problem continues, please contact us.",
    "api:timestamp": "2020-01-22T22:11:28Z  <API timestamp>",
    "api:statuscode": "104                  <Statuscode 104 represents a bad NDCDEVICEID header>",
    "api:duration": "0.000s                 <Processing time>"
}
GET /g/s/home/discover/content-modules/ GET content modules for homepage discovery. This includes community info, stories, ads, ect

query strings

name description required
v Likely a verson number. Changing to numbers or strings, or omission, seems to have no effect False

headers

name description required
NDCDEVICEID The device id generated by the app. See True
NDC-MSG-SIG Message signature (?) generated by the app False
SMDEVICEID I don't know, seems to be a non-string hex number False
AUID The auid (UUIDv4) generated on amino servers for this client, retrieved with GET /g/s/auid False

responses

  • 200 - Content Modules Content Modules

discovery content modules were retrieved

{
    "contentModuleList": [
        {
            "-": "community cards",
            "contentObjectType": "16                <Unknown, probably content type id>",
            "contentPoolId": "en                    <Unknown, probably content language>",
            "contentVariety": "1                    <Unknown, appears to be related to dataUrl path>",
            "createdTime": "2019-12-31T08:38:32Z    <Likely content created at>",
            "customizable": "false                  <Amino stuff seems to be false, ads seem true>",
            "dataUrl": "/topic/0/feed/community?... <URL to this content, see GET /g/s/topic/0/feed...>",
            "displayName": "Recommended Communities <Name to put on the header of this section",
            "ext": {
                "<->": "                            <Ads seem to have field `adUnitId`>"
            },
            "extensions": "null                     <Always seems to be null>",
            "isVirtual": "false                     <Only discover topics button seems to be true>",
            "moduleId": "...                        <UUIDv4 of this item>",
            "moduleName": "Recommended Communities  <Name of this module>",
            "moduleType": "RecommendedCommunities   <Type of this module. Related to contentObjectType?>",
            "status": "0                            <Appears to always be zero>",
            "style": "GeneralCommunityCard          <Style of this item>",
            "topicLocked": "false                   <Unknown use of `locked` in this context",
            "uid": "...                             <UUIDv4 of... something>",
            "userRemovable": "false                 <Unknown, probably related to frontpage stuff being not remuvable>",
            "visibility": "1                        <Likely a visibility bool>"
        },
        {
            "-": "an ad",
            "contentObjectType": "151                              <Unknown, probably content type id>",
            "contentPoolId": "                                     <Unknown, probably content language>",
            "contentVariety": "0                                   <Unknown, appears to be related to dataUrl path>",
            "createdTime": "2019-12-31T08:38:32Z                   <Likely content created at>",
            "customizable": "true                                  <Amino stuff seems to be false, ads seem true>",
            "dataUrl": "/topic/0/feed/banner-ads?...               <URL to this content, see GET /g/s/topic/0/feed...>",
            "displayName": "Recommended Communities                <Name to put on the header of this section",
            "ext": {
                "adUnitId": "703300                                <ID to look up this ad. Used in GET `dataUrl`"
            },
            "extensions": "null                                    <Always seems to be null>",
            "isVirtual": "false                                    <Only discover topics button seems to be true>",
            "moduleId": "...                                       <UUIDv4 of this item>",
            "moduleName": "Little Red series for all EN users      <Name of this module>",
            "moduleType": "CustomizedBannerAds                     <Type of this module. Related to contentObjectType>",
            "status": "0                                           <Appears to always be zero>",
            "style": "BannerSizeMedium                               <Style of this item>",
            "topicLocked": "false                                  <Unknown use of `locked` in this context",
            "uid": "...                                            <UUIDv4 of... something>",
            "userRemovable": "false                                <Unknown, probably related to frontpage stuff being not remuvable>",
            "visibility": "1                                       <Likely a visibility bool>"
        }
    ]
}
  • 200:0 - api:ok api:ok

The request was successful. This is not a separate response, but included in every 200 response's json

{
    "api:message": "OK",
    "api:timestamp": "2020-01-22T23:49:13Z  <API timestamp>",
    "api:statuscode": "0                    <Statuscode 0 is ok>",
    "api:duration": "0.010s                 <Processing time>"
}
  • 400:104 - Missing NDCDEVICEID Missing NDCDEVICEID

The NDCDEVICEID header was not included, or did not compute on amino servers

{
    "api:message": "Invalid Request. Please update to the latest version. If the problem continues, please contact us.",
    "api:timestamp": "2020-01-22T22:11:28Z  <API timestamp>",
    "api:statuscode": "104                  <Statuscode 104 represents a bad NDCDEVICEID header>",
    "api:duration": "0.000s                 <Processing time>"
}
GET /g/s/live-layer/public-chats/ GET the active public chats and information about who is in them.

query strings

name description required
pageToken page token for paginated requests False
size max number of items to get for paginated requests False

headers

name description required
NDCDEVICEID The device id generated by the app. See True
NDC-MSG-SIG Message signature (?) generated by the app False
SMDEVICEID I don't know, seems to be a non-string hex number False
AUID The auid (UUIDv4) generated on amino servers for this client, retrieved with GET /g/s/auid False

responses

  • 200 - Chats Retrieved Chats Retrieved

Chat info and users were retrieved

{
    "communityInfoMapping": {
        "<ndcId>": "{...}           <Community object>"
    },
    "paging": "{...}                <Paging info>",
    "playlistInThreadList": {
        "<->": "                    <Info about videos playing in chat threads>",
        "<UUIDv4 thread id>": {
            "currentItemIndex": "14 <Playlist length>",
            "currentItemStatus": "2 <Likely playlist current index>",
            "items": [
                "{...}              <Youtube video object>"
            ]
        }
    },
    "threadList": [
        "{...}                      <Chat thread object>"
    ],
    "userInfoInThread": {
        "<->": "                    <Info about users in chat threads>",
        "<UUIDv4 thread id>": {
            "userProfileCount": 2,
            "userProfileList": [
                "{...}              <User object>"
            ]
        }
    }
}
  • 200:0 - api:ok api:ok

The request was successful. This is not a separate response, but included in every 200 response's json

{
    "api:message": "OK",
    "api:timestamp": "2020-01-22T23:49:13Z  <API timestamp>",
    "api:statuscode": "0                    <Statuscode 0 is ok>",
    "api:duration": "0.010s                 <Processing time>"
}
  • 400:104 - Missing NDCDEVICEID Missing NDCDEVICEID

The NDCDEVICEID header was not included, or did not compute on amino servers

{
    "api:message": "Invalid Request. Please update to the latest version. If the problem continues, please contact us.",
    "api:timestamp": "2020-01-22T22:11:28Z  <API timestamp>",
    "api:statuscode": "104                  <Statuscode 104 represents a bad NDCDEVICEID header>",
    "api:duration": "0.000s                 <Processing time>"
}
GET /g/s/topic/:variant/feed/banner-ads/ GET a piece of media for a topic. Usually seems to be used in homepage exploration

url arguments

name description required
variant The variant of this topic item. Nonzero values seem to have no effect False

query strings

name description required
adUnitId The id of this add, which is a number True
pagingType Seems to have no effect, default value is t False
size max number of items to get for paginated requests False
categoryKey Likely has to do with what type of items are returned. Logged out values seen include [recommendation, fresh] False

headers

name description required
NDCDEVICEID The device id generated by the app. See True
NDC-MSG-SIG Message signature (?) generated by the app False
SMDEVICEID I don't know, seems to be a non-string hex number False
AUID The auid (UUIDv4) generated on amino servers for this client, retrieved with GET /g/s/auid False

responses

  • 200 - Banner Ads Retrieved Banner Ads Retrieved

The banner ads matching this id were retrieved

{
    "allItemCount": "1              <Total returnable item count>",
    "itemList": [
        {
            "adCampaignId": "803326             <Likely related to ad grouping by campaign, use unknown>",
            "deepLink": "ndc://topic/1390058    <Likely a hard link to this item, root URL unknown>",
            "imageUrl": "...                    <A URL to the image used, seems to be background images?>",
            "objectId": "803326                 <Seems to be the same as adCampaignId>",
            "objectType": "153                  <Type of this object. Matches those in GET /g/s/home/discover/content-modules/>",
            "strategyInfo": {
                "<->": "<This is a raw JSON string. It has been reformatted as JSON>",
                "adUnitId": "703323             <Matches the adUnitId query string>",
                "imageUrl": "...                <A URL to the used image, seesm to be the same as parent object>",
                "landingUrl": "...              <Seems to match parent object>",
                "objectId": "803326             <Seems to match parent object>",
                "objectType": "ad_campaign      <Unknown use>",
                "reqId": "...                   <A UUIDv4, use unknown>",
                "scenarioType": "banner-703323  <Seems to match banner-adUnitId, use unknown>",
                "uiPos": "0                     <Likely related to desired render position"
            }
        }
    ],
    "paging": "{...}                <Paging info>"
}
  • 200:0 - api:ok api:ok

The request was successful. This is not a separate response, but included in every 200 response's json

{
    "api:message": "OK",
    "api:timestamp": "2020-01-22T23:49:13Z  <API timestamp>",
    "api:statuscode": "0                    <Statuscode 0 is ok>",
    "api:duration": "0.010s                 <Processing time>"
}
  • 400:104 - Missing NDCDEVICEID Missing NDCDEVICEID

The NDCDEVICEID header was not included, or did not compute on amino servers

{
    "api:message": "Invalid Request. Please update to the latest version. If the problem continues, please contact us.",
    "api:timestamp": "2020-01-22T22:11:28Z  <API timestamp>",
    "api:statuscode": "104                  <Statuscode 104 represents a bad NDCDEVICEID header>",
    "api:duration": "0.000s                 <Processing time>"
}
GET /g/s/topic/:variant/feed/community/ GET a list of communities. Usually for homepage display

url arguments

name description required
variant The variant of this topic item. Nonzero values seem to have no effect False

query strings

name description required
type the type of communities to get, observed include [discover, discovery-list]. Omission or arbitrary values will not fail the request, but will return zero values. False
categoryKey Likely has to do with what type of items are returned. Logged out values seen include [recommendation, fresh] False
size max number of items to get for paginated requests False
pageToken page token for paginated requests False
pagingType Seems to have no effect, default value is t False

headers

name description required
NDCDEVICEID The device id generated by the app. See True
NDC-MSG-SIG Message signature (?) generated by the app False
SMDEVICEID I don't know, seems to be a non-string hex number False
AUID The auid (UUIDv4) generated on amino servers for this client, retrieved with GET /g/s/auid False

responses

  • 200 - Communities Retrieved Communities Retrieved

The communities for frontpage display were retrieved

{
    "allItemCount": "100    <Total returnable item count>",
    "communityList": [
        "{...}              <Community object>"
    ],
    "paging": "{...}        <Paging info>"
}
  • 200:0 - api:ok api:ok

The request was successful. This is not a separate response, but included in every 200 response's json

{
    "api:message": "OK",
    "api:timestamp": "2020-01-22T23:49:13Z  <API timestamp>",
    "api:statuscode": "0                    <Statuscode 0 is ok>",
    "api:duration": "0.010s                 <Processing time>"
}
  • 400:104 - Missing NDCDEVICEID Missing NDCDEVICEID

The NDCDEVICEID header was not included, or did not compute on amino servers

{
    "api:message": "Invalid Request. Please update to the latest version. If the problem continues, please contact us.",
    "api:timestamp": "2020-01-22T22:11:28Z  <API timestamp>",
    "api:statuscode": "104                  <Statuscode 104 represents a bad NDCDEVICEID header>",
    "api:duration": "0.000s                 <Processing time>"
}
GET /g/s/topic/:variant/feed/story/ GET a list of blogs for a topic. Usually for homepage display

url arguments

name description required
variant The variant of this topic item. Nonzero values seem to have no effect False

query strings

name description required
v Likely a verson number. Changing to numbers or strings, or omission, seems to have no effect False
type the type of communities to get, observed include [discover, discovery-list]. Omission or arbitrary values will not fail the request, but will return zero values. False
categoryKey Likely has to do with what type of items are returned. Logged out values seen include [recommendation, fresh] False
size max number of items to get for paginated requests False
pageToken page token for paginated requests False
pagingType Seems to have no effect, default value is t False

headers

name description required
NDCDEVICEID The device id generated by the app. See True
NDC-MSG-SIG Message signature (?) generated by the app False
SMDEVICEID I don't know, seems to be a non-string hex number False
AUID The auid (UUIDv4) generated on amino servers for this client, retrieved with GET /g/s/auid False

responses

  • 200 - Blogs Retrieved Blogs Retrieved

The blogs for frontpage display were retrieved

{
    "allItemCount": "400            <Total returnable item count>",
    "blogList": [
        "{...}                      <full `blog` object>"
    ],
    "communityInfoMapping": {
        "<->": "<community id (ndcId) -> short info",
        "192258706": {
            "<->": "                <Short amino community description>",
            "endpoint": "Tik        <Endpoint pointing to this community>",
            "icon": "...            <URL to the icon of this community",
            "name": "-TikTok Amino- <Name of this community>",
            "ndcId": "192258706     <Number ID of this community>",
            "status": "0            <Unknown>"
        }
    },
    "paging": "{...}                <Paging info>"
}
  • 200:0 - api:ok api:ok

The request was successful. This is not a separate response, but included in every 200 response's json

{
    "api:message": "OK",
    "api:timestamp": "2020-01-22T23:49:13Z  <API timestamp>",
    "api:statuscode": "0                    <Statuscode 0 is ok>",
    "api:duration": "0.010s                 <Processing time>"
}
  • 400:104 - Missing NDCDEVICEID Missing NDCDEVICEID

The NDCDEVICEID header was not included, or did not compute on amino servers

{
    "api:message": "Invalid Request. Please update to the latest version. If the problem continues, please contact us.",
    "api:timestamp": "2020-01-22T22:11:28Z  <API timestamp>",
    "api:statuscode": "104                  <Statuscode 104 represents a bad NDCDEVICEID header>",
    "api:duration": "0.000s                 <Processing time>"
}