Add some no-auth docs
Document some early visible requests made while not signed in
This commit is contained in:
parent
1e283771f3
commit
4895862748
5 changed files with 982 additions and 119 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -0,0 +1 @@
|
||||||
|
sample*.json
|
|
@ -1,57 +0,0 @@
|
||||||
<details>
|
|
||||||
<summary>GET /api/v1/g/s/auid/</summary>
|
|
||||||
GET an AUID for this device
|
|
||||||
|
|
||||||
__query strings__
|
|
||||||
|
|
||||||
|name|description|required|
|
|
||||||
| - | - | - |
|
|
||||||
|deviceId|Same as NDCDEVICEID|True|
|
|
||||||
|
|
||||||
__request_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|
|
|
||||||
|
|
||||||
|
|
||||||
</details>
|
|
||||||
|
|
||||||
|
|
||||||
<details>
|
|
||||||
<summary>POST /api/v1/g/s/device/</summary>
|
|
||||||
POST a device configuration
|
|
||||||
|
|
||||||
__request_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|
|
|
||||||
|
|
||||||
```JSON
|
|
||||||
{
|
|
||||||
"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
|
|
||||||
|
|
||||||
|
|
||||||
</details>
|
|
|
@ -1,62 +0,0 @@
|
||||||
globals:
|
|
||||||
request_headers:
|
|
||||||
"*":
|
|
||||||
- name: NDCDEVICEID
|
|
||||||
description: The device id generated by the app. See
|
|
||||||
required: true
|
|
||||||
- name: NDC-MSG-SIG
|
|
||||||
description: Message signature (?) generated by the app
|
|
||||||
required: false
|
|
||||||
- name: SMDEVICEID
|
|
||||||
description: I don't know, seems to be a non-string hex number
|
|
||||||
required: false
|
|
||||||
|
|
||||||
vars:
|
|
||||||
request:
|
|
||||||
POST:
|
|
||||||
body:
|
|
||||||
post_device:
|
|
||||||
lang: JSON
|
|
||||||
content:
|
|
||||||
{
|
|
||||||
"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>"
|
|
||||||
}
|
|
||||||
response_body:
|
|
||||||
POST:
|
|
||||||
post_device:
|
|
||||||
200:
|
|
||||||
lang: JSON
|
|
||||||
content:
|
|
||||||
{
|
|
||||||
"api:statuscode": "0 <0 is success>",
|
|
||||||
"api:duration": "0.034s <operation time>",
|
|
||||||
"api:message": "OK <more detailed status>",
|
|
||||||
"api:timestamp": "2020-01-21T04:22:13Z <server time>",
|
|
||||||
"devOptions": "null <?>"
|
|
||||||
}
|
|
||||||
|
|
||||||
routes:
|
|
||||||
/api/v1/g/s/device/:
|
|
||||||
POST:
|
|
||||||
description: POST a device configuration
|
|
||||||
body: $request.POST.body.post_device
|
|
||||||
responses:
|
|
||||||
200:
|
|
||||||
title: Device configured
|
|
||||||
description: The device config was accepted
|
|
||||||
body: $response_body.POST.post_device.200
|
|
||||||
/api/v1/g/s/auid/:
|
|
||||||
GET:
|
|
||||||
description: GET an AUID for this device
|
|
||||||
"query strings":
|
|
||||||
- name: deviceId
|
|
||||||
description: Same as NDCDEVICEID
|
|
||||||
required: true
|
|
554
amino/no-auth.md
Normal file
554
amino/no-auth.md
Normal file
|
@ -0,0 +1,554 @@
|
||||||
|
<details>
|
||||||
|
<summary>GET /g/s/auid/</summary>
|
||||||
|
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
|
||||||
|
|
||||||
|
```JSON
|
||||||
|
{
|
||||||
|
"auid": "... <UUIDv4>"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>GET /g/s/auth/config-v2/</summary>
|
||||||
|
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
|
||||||
|
|
||||||
|
```JSON
|
||||||
|
{
|
||||||
|
"mobileSignUpProviderList": [
|
||||||
|
8
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>POST /g/s/client-config/</summary>
|
||||||
|
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|
|
||||||
|
|
||||||
|
```JSON
|
||||||
|
{
|
||||||
|
"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
|
||||||
|
|
||||||
|
```JSON
|
||||||
|
{
|
||||||
|
"clientConfig": {
|
||||||
|
"<->": "<Unknown, was empty in api calls made by my client>"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>GET /g/s/client-config/appearance-settings</summary>
|
||||||
|
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
|
||||||
|
|
||||||
|
```JSON
|
||||||
|
{
|
||||||
|
"backgroundMediaList": [
|
||||||
|
[
|
||||||
|
"100 <Media, always 100?>",
|
||||||
|
"... <URL to an image>",
|
||||||
|
"null <unknown purpose>"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>GET /g/s/client-config/content-language-settings/</summary>
|
||||||
|
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
|
||||||
|
|
||||||
|
```JSON
|
||||||
|
{
|
||||||
|
"contentLanguageSettings": {
|
||||||
|
"language": "en <The language preference>"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>GET /g/s/community/configuration/</summary>
|
||||||
|
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
|
||||||
|
|
||||||
|
```JSON
|
||||||
|
{
|
||||||
|
"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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>POST /g/s/device/</summary>
|
||||||
|
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|
|
||||||
|
|
||||||
|
```JSON
|
||||||
|
{
|
||||||
|
"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
|
||||||
|
|
||||||
|
```JSON
|
||||||
|
{
|
||||||
|
"devOptions": "null <?>"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>GET /g/s/eventlog/profile/</summary>
|
||||||
|
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
|
||||||
|
|
||||||
|
```JSON
|
||||||
|
{
|
||||||
|
"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>"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>GET /g/s/home/discover/content-modules/</summary>
|
||||||
|
GET content modules for homepage discovery. This includes community info, stories, ads, ect
|
||||||
|
|
||||||
|
__query strings__
|
||||||
|
|
||||||
|
|name|description|required|
|
||||||
|
| - | - | - |
|
||||||
|
|v|Likely a version number, seems to always be 1. No visible change when using arbitrary values.|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
|
||||||
|
|
||||||
|
```JSON
|
||||||
|
{
|
||||||
|
"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>"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>GET /g/s/topic/:variant/feed/banner-ads/</summary>
|
||||||
|
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|
|
||||||
|
|size|Unknown. Seems to make no difference|False|
|
||||||
|
|pagingType|Unknown. Values that are not `t` seem to return no items in itemList (which otherwise has one item)|False|
|
||||||
|
|moduleID|Unknown. Seems to be a UUIDv4 by default, changing this (even to invalid UUIDv4 strings) 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 - Banner Ads Retrieved
|
||||||
|
Banner Ads Retrieved
|
||||||
|
|
||||||
|
The banner ads matching this id were retrieved
|
||||||
|
|
||||||
|
```JSON
|
||||||
|
{
|
||||||
|
"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": {
|
||||||
|
"nextPageToken": "... <Page token>"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>GET /g/s/topic/:variant/feed/story/</summary>
|
||||||
|
GET a list of blogs for a topic. Usually from 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 story set to get. Only `discover-list` seems to be used and work|True|
|
||||||
|
|categoryKey|Likely has to do with what type of posts are returned. Logged out default is `recommendation`|False|
|
||||||
|
|v|Likely a version number. Changing to arbitrary strings seems to have no effect|False|
|
||||||
|
|size|Likely intended to be number of items retrieved, seems not to have an effect|False|
|
||||||
|
|pageToken|Likely intended to be for pagination, seems not to have an effect| |
|
||||||
|
|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
|
||||||
|
|
||||||
|
```JSON
|
||||||
|
{
|
||||||
|
"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": {
|
||||||
|
"nextPageToken": "... <Page token>",
|
||||||
|
"refreshPageToken": "... <Unknown use>"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
</details>
|
427
amino/no-auth.yml
Normal file
427
amino/no-auth.yml
Normal file
|
@ -0,0 +1,427 @@
|
||||||
|
globals:
|
||||||
|
headers:
|
||||||
|
"*":
|
||||||
|
- name: NDCDEVICEID
|
||||||
|
description: The device id generated by the app. See
|
||||||
|
required: true
|
||||||
|
- name: NDC-MSG-SIG
|
||||||
|
description: Message signature (?) generated by the app
|
||||||
|
required: false
|
||||||
|
- name: SMDEVICEID
|
||||||
|
description: I don't know, seems to be a non-string hex number
|
||||||
|
required: false
|
||||||
|
- name: AUID
|
||||||
|
description: The auid (UUIDv4) generated on amino servers for this client, retrieved with GET /g/s/auid
|
||||||
|
required: false
|
||||||
|
|
||||||
|
vars:
|
||||||
|
url-args:
|
||||||
|
topic-variant:
|
||||||
|
name: variant
|
||||||
|
description: The variant of this topic item. Nonzero values seem to have no effect
|
||||||
|
required: false
|
||||||
|
request:
|
||||||
|
device:
|
||||||
|
POST:
|
||||||
|
lang: JSON
|
||||||
|
content:
|
||||||
|
{
|
||||||
|
"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>"
|
||||||
|
}
|
||||||
|
client-config:
|
||||||
|
POST:
|
||||||
|
lang: JSON
|
||||||
|
content:
|
||||||
|
{
|
||||||
|
"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>"
|
||||||
|
}
|
||||||
|
response:
|
||||||
|
device:
|
||||||
|
POST:
|
||||||
|
ok:
|
||||||
|
lang: JSON
|
||||||
|
content:
|
||||||
|
{
|
||||||
|
"devOptions": "null <?>"
|
||||||
|
}
|
||||||
|
client-config:
|
||||||
|
POST:
|
||||||
|
ok:
|
||||||
|
lang: JSON
|
||||||
|
content:
|
||||||
|
{
|
||||||
|
"clientConfig": {
|
||||||
|
"<->": "<Unknown, was empty in api calls made by my client>"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
auid:
|
||||||
|
GET:
|
||||||
|
ok:
|
||||||
|
lang: JSON
|
||||||
|
content:
|
||||||
|
{
|
||||||
|
"auid": "... <UUIDv4>"
|
||||||
|
}
|
||||||
|
auth-config:
|
||||||
|
GET:
|
||||||
|
ok:
|
||||||
|
lang: JSON
|
||||||
|
content: {
|
||||||
|
"mobileSignUpProviderList": [8]
|
||||||
|
}
|
||||||
|
eventlog-profile:
|
||||||
|
GET:
|
||||||
|
ok:
|
||||||
|
lang: JSON
|
||||||
|
content:
|
||||||
|
{
|
||||||
|
"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>"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
content-language-settings:
|
||||||
|
GET:
|
||||||
|
ok:
|
||||||
|
lang: JSON
|
||||||
|
content:
|
||||||
|
{
|
||||||
|
"contentLanguageSettings": {
|
||||||
|
"language": "en <The language preference>"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
appearance-settings:
|
||||||
|
GET:
|
||||||
|
ok:
|
||||||
|
lang: JSON
|
||||||
|
content:
|
||||||
|
{
|
||||||
|
"backgroundMediaList": [
|
||||||
|
[
|
||||||
|
"100 <Media, always 100?>",
|
||||||
|
"... <URL to an image>",
|
||||||
|
"null <unknown purpose>"
|
||||||
|
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
community-configuration:
|
||||||
|
GET:
|
||||||
|
ok:
|
||||||
|
lang: JSON
|
||||||
|
content:
|
||||||
|
{
|
||||||
|
"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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
content-modules:
|
||||||
|
GET:
|
||||||
|
ok:
|
||||||
|
lang: JSON
|
||||||
|
content:
|
||||||
|
{
|
||||||
|
"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>"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
topic-banner-ads:
|
||||||
|
GET:
|
||||||
|
ok:
|
||||||
|
lang: JSON
|
||||||
|
content:
|
||||||
|
{
|
||||||
|
"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": {
|
||||||
|
"nextPageToken": "... <Page token>"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
topic-story:
|
||||||
|
GET:
|
||||||
|
ok:
|
||||||
|
lang: JSON
|
||||||
|
content:
|
||||||
|
{
|
||||||
|
"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": {
|
||||||
|
"nextPageToken": "... <Page token>",
|
||||||
|
"refreshPageToken": "... <Unknown use>"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
routes:
|
||||||
|
/g/s/device/:
|
||||||
|
POST:
|
||||||
|
description: POST a device configuration
|
||||||
|
body: $request.device.POST
|
||||||
|
responses:
|
||||||
|
200:
|
||||||
|
title: Device Configured
|
||||||
|
description: The device config was accepted
|
||||||
|
body: $response.device.POST.ok
|
||||||
|
/g/s/auid/:
|
||||||
|
GET:
|
||||||
|
description: GET an auid for this device
|
||||||
|
query strings:
|
||||||
|
- name: deviceId
|
||||||
|
description: Same as NDCDEVICEID
|
||||||
|
required: true
|
||||||
|
responses:
|
||||||
|
200:
|
||||||
|
title: auid Generated
|
||||||
|
description: An auid was generated and returned by the server. It may now be used in request headers
|
||||||
|
body: $response.auid.GET.ok
|
||||||
|
/g/s/client-config/:
|
||||||
|
POST:
|
||||||
|
description: POST device information for configuration. Likely related to analytics / telemetry
|
||||||
|
body: $request.client-config.POST
|
||||||
|
responses:
|
||||||
|
200:
|
||||||
|
title: Client Configured
|
||||||
|
description: The client config was accepted
|
||||||
|
body: $response.client-config.POST.ok
|
||||||
|
/g/s/client-config/content-language-settings/:
|
||||||
|
GET:
|
||||||
|
description: GET the app content language settings
|
||||||
|
responses:
|
||||||
|
200:
|
||||||
|
title: Language Settings
|
||||||
|
description: The language settings were retrieved
|
||||||
|
body: $response.content-language-settings.GET.ok
|
||||||
|
/g/s/client-config/appearance-settings:
|
||||||
|
GET:
|
||||||
|
description: GET the app appearance settings
|
||||||
|
responses:
|
||||||
|
200:
|
||||||
|
title: Appearance Settings
|
||||||
|
description: The appearance objects to use was retrieved
|
||||||
|
body: $response.appearance-settings.GET.ok
|
||||||
|
/g/s/auth/config-v2/:
|
||||||
|
GET:
|
||||||
|
description: GET auth config data (unknown use)
|
||||||
|
responses:
|
||||||
|
200:
|
||||||
|
title: Config Recieved
|
||||||
|
description: Data with an unknown purpose is recieved
|
||||||
|
body: $response.auth-config.GET.ok
|
||||||
|
/g/s/eventlog/profile/:
|
||||||
|
GET:
|
||||||
|
description: GET the eventlog for the current profile (appears to be device profile by auid, not necessarily amino profile)
|
||||||
|
query strings:
|
||||||
|
- name: language
|
||||||
|
description: language code used, example being `en`. Affects experiments
|
||||||
|
required: false
|
||||||
|
responses:
|
||||||
|
200:
|
||||||
|
title: Eventlog Retrieved
|
||||||
|
description: The eventlog for this device profile. This data appears to be related to AB experiments
|
||||||
|
body: $response.eventlog-profile.GET.ok
|
||||||
|
/g/s/community/configuration/:
|
||||||
|
GET:
|
||||||
|
description: GET community config info
|
||||||
|
responses:
|
||||||
|
200:
|
||||||
|
title: Community Config
|
||||||
|
description: Community config was retrieved
|
||||||
|
body: $response.community-configuration.GET.ok
|
||||||
|
/g/s/home/discover/content-modules/:
|
||||||
|
GET:
|
||||||
|
description: GET content modules for homepage discovery. This includes community info, stories, ads, ect
|
||||||
|
query strings:
|
||||||
|
- name: v
|
||||||
|
description: Likely a version number, seems to always be 1. No visible change when using arbitrary values.
|
||||||
|
required: false
|
||||||
|
responses:
|
||||||
|
200:
|
||||||
|
title: Content Modules
|
||||||
|
description: discovery content modules were retrieved
|
||||||
|
body: $response.content-modules.GET.ok
|
||||||
|
/g/s/topic/:variant/feed/banner-ads/:
|
||||||
|
GET:
|
||||||
|
description: GET a piece of media for a topic. Usually seems to be used in homepage exploration
|
||||||
|
url arguments:
|
||||||
|
- $url-args.topic-variant
|
||||||
|
query strings:
|
||||||
|
- name: adUnitId
|
||||||
|
description: The id of this add, which is a number
|
||||||
|
required: true
|
||||||
|
- name: size
|
||||||
|
description: Unknown. Seems to make no difference
|
||||||
|
required: false
|
||||||
|
- name: pagingType
|
||||||
|
description: Unknown. Values that are not `t` seem to return no items in itemList (which otherwise has one item)
|
||||||
|
required: false
|
||||||
|
- name: moduleID
|
||||||
|
description: Unknown. Seems to be a UUIDv4 by default, changing this (even to invalid UUIDv4 strings) seems to have no effect
|
||||||
|
required: false
|
||||||
|
responses:
|
||||||
|
200:
|
||||||
|
title: Banner Ads Retrieved
|
||||||
|
description: The banner ads matching this id were retrieved
|
||||||
|
body: $response.topic-banner-ads.GET.ok
|
||||||
|
/g/s/topic/:variant/feed/story/:
|
||||||
|
GET:
|
||||||
|
description: GET a list of blogs for a topic. Usually from homepage display
|
||||||
|
url arguments:
|
||||||
|
- $url-args.topic-variant
|
||||||
|
query strings:
|
||||||
|
- name: type
|
||||||
|
description: The type of story set to get. Only `discover-list` seems to be used and work
|
||||||
|
required: true
|
||||||
|
- name: categoryKey
|
||||||
|
description: Likely has to do with what type of posts are returned. Logged out default is `recommendation`
|
||||||
|
required: false
|
||||||
|
- name: v
|
||||||
|
description: Likely a version number. Changing to arbitrary strings seems to have no effect
|
||||||
|
required: false
|
||||||
|
- name: size
|
||||||
|
description: Likely intended to be number of items retrieved, seems not to have an effect
|
||||||
|
required: false
|
||||||
|
- name: pageToken
|
||||||
|
description: Likely intended to be for pagination, seems not to have an effect
|
||||||
|
- name: pagingType
|
||||||
|
description: Seems to have no effect, default value is `t`
|
||||||
|
required: false
|
||||||
|
responses:
|
||||||
|
200:
|
||||||
|
title: Blogs Retrieved
|
||||||
|
description: The blogs for frontpage display were retrieved
|
||||||
|
body: $response.topic-story.GET.ok
|
Loading…
Reference in a new issue