diff options
Diffstat (limited to 'docs/api')
-rw-r--r-- | docs/api/swagger.yaml | 468 |
1 files changed, 467 insertions, 1 deletions
diff --git a/docs/api/swagger.yaml b/docs/api/swagger.yaml index fb76bd6a2..6c6b97a34 100644 --- a/docs/api/swagger.yaml +++ b/docs/api/swagger.yaml @@ -1635,6 +1635,28 @@ definitions: type: object x-go-name: InstanceV2Users x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model + list: + properties: + id: + description: The ID of the list. + type: string + x-go-name: ID + replies_policy: + description: |- + RepliesPolicy for this list. + followed = Show replies to any followed user + list = Show replies to members of the list + none = Show replies to no one + type: string + x-go-name: RepliesPolicy + title: + description: The user-defined title of the list. + type: string + x-go-name: Title + title: List represents a user-created list of accounts that the user follows. + type: object + x-go-name: List + x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model mediaDimensions: properties: aspect: @@ -2881,6 +2903,40 @@ paths: summary: See accounts followed by given account id. tags: - accounts + /api/v1/accounts/{id}/lists: + get: + operationId: accountLists + parameters: + - description: Account ID. + in: path + name: id + required: true + type: string + produces: + - application/json + responses: + "200": + description: Array of all lists containing this account. + schema: + items: + $ref: '#/definitions/list' + type: array + "400": + description: bad request + "401": + description: unauthorized + "404": + description: not found + "406": + description: not acceptable + "500": + description: internal server error + security: + - OAuth2 Bearer: + - read:lists + summary: See all lists of yours that contain requested account. + tags: + - accounts /api/v1/accounts/{id}/statuses: get: description: The statuses will be returned in descending chronological order (newest first), with sequential IDs (bigger = newer). @@ -3211,7 +3267,7 @@ paths: name: id required: true type: string - - description: Type of action to be taken (`disable`, `silence`, or `suspend`). + - description: Type of action to be taken, currently only supports `suspend`. in: formData name: type required: true @@ -4453,6 +4509,343 @@ paths: description: internal server error tags: - instance + /api/v1/list: + post: + consumes: + - application/json + - application/xml + - application/x-www-form-urlencoded + operationId: listCreate + parameters: + - description: Title of this list. + example: Cool People + in: formData + name: title + required: true + type: string + x-go-name: Title + - default: list + description: |- + RepliesPolicy for this list. + followed = Show replies to any followed user + list = Show replies to members of the list + none = Show replies to no one + example: list + in: formData + name: replies_policy + type: string + x-go-name: RepliesPolicy + produces: + - application/json + responses: + "200": + description: The newly created list. + schema: + $ref: '#/definitions/list' + "400": + description: bad request + "401": + description: unauthorized + "403": + description: forbidden + "404": + description: not found + "406": + description: not acceptable + "500": + description: internal server error + security: + - OAuth2 Bearer: + - write:lists + summary: Create a new list. + tags: + - lists + put: + consumes: + - application/json + - application/xml + - application/x-www-form-urlencoded + operationId: listUpdate + parameters: + - description: ID of the list + example: Cool People + in: path + name: id + required: true + type: string + x-go-name: Title + - description: Title of this list. + example: Cool People + in: formData + name: title + type: string + x-go-name: RepliesPolicy + - description: |- + RepliesPolicy for this list. + followed = Show replies to any followed user + list = Show replies to members of the list + none = Show replies to no one + example: list + in: formData + name: replies_policy + type: string + produces: + - application/json + responses: + "200": + description: The newly updated list. + schema: + $ref: '#/definitions/list' + "400": + description: bad request + "401": + description: unauthorized + "403": + description: forbidden + "404": + description: not found + "406": + description: not acceptable + "500": + description: internal server error + security: + - OAuth2 Bearer: + - write:lists + summary: Update an existing list. + tags: + - lists + /api/v1/list/{id}: + delete: + operationId: listDelete + parameters: + - description: ID of the list + in: path + name: id + required: true + type: string + produces: + - application/json + responses: + "200": + description: list deleted + "400": + description: bad request + "401": + description: unauthorized + "404": + description: not found + "406": + description: not acceptable + "500": + description: internal server error + security: + - OAuth2 Bearer: + - write:lists + summary: Delete a single list with the given ID. + tags: + - lists + get: + operationId: list + parameters: + - description: ID of the list + in: path + name: id + required: true + type: string + produces: + - application/json + responses: + "200": + description: Requested list. + schema: + $ref: '#/definitions/list' + "400": + description: bad request + "401": + description: unauthorized + "404": + description: not found + "406": + description: not acceptable + "500": + description: internal server error + security: + - OAuth2 Bearer: + - read:lists + summary: Get a single list with the given ID. + tags: + - lists + /api/v1/list/{id}/accounts: + delete: + consumes: + - application/json + - application/xml + - application/x-www-form-urlencoded + operationId: removeListAccounts + parameters: + - description: ID of the list + in: path + name: id + required: true + type: string + - description: Array of accountIDs to modify. Each accountID must correspond to an account that the requesting account follows. + in: formData + items: + type: string + name: account_ids + required: true + type: array + produces: + - application/json + responses: + "200": + description: list accounts updated + "400": + description: bad request + "401": + description: unauthorized + "404": + description: not found + "406": + description: not acceptable + "500": + description: internal server error + security: + - OAuth2 Bearer: + - read:lists + summary: Remove one or more accounts from the given list. + tags: + - lists + get: + description: |- + The returned Link header can be used to generate the previous and next queries when scrolling up or down a timeline. + + Example: + + ``` + <https://example.org/api/v1/list/01H0W619198FX7J54NF7EH1NG2/accounts?limit=20&max_id=01FC3GSQ8A3MMJ43BPZSGEG29M>; rel="next", <https://example.org/api/v1/list/01H0W619198FX7J54NF7EH1NG2/accounts?limit=20&min_id=01FC3KJW2GYXSDDRA6RWNDM46M>; rel="prev" + ```` + operationId: listAccounts + parameters: + - description: ID of the list + in: path + name: id + required: true + type: string + - description: Return only list entries *OLDER* than the given max ID. The account from the list entry with the specified ID will not be included in the response. + in: query + name: max_id + type: string + - description: Return only list entries *NEWER* than the given since ID. The account from the list entry with the specified ID will not be included in the response. + in: query + name: since_id + type: string + - description: Return only list entries *IMMEDIATELY NEWER* than the given min ID. The account from the list entry with the specified ID will not be included in the response. + in: query + name: min_id + type: string + - default: 20 + description: Number of accounts to return. + in: query + name: limit + type: integer + produces: + - application/json + responses: + "200": + description: Array of accounts. + headers: + Link: + description: Links to the next and previous queries. + type: string + schema: + items: + $ref: '#/definitions/account' + type: array + "400": + description: bad request + "401": + description: unauthorized + "404": + description: not found + "406": + description: not acceptable + "500": + description: internal server error + security: + - OAuth2 Bearer: + - read:lists + summary: Page through accounts in this list. + tags: + - lists + post: + consumes: + - application/json + - application/xml + - application/x-www-form-urlencoded + operationId: addListAccounts + parameters: + - description: ID of the list + in: path + name: id + required: true + type: string + - description: Array of accountIDs to modify. Each accountID must correspond to an account that the requesting account follows. + in: formData + items: + type: string + name: account_ids + required: true + type: array + produces: + - application/json + responses: + "200": + description: list accounts updated + "400": + description: bad request + "401": + description: unauthorized + "404": + description: not found + "406": + description: not acceptable + "500": + description: internal server error + security: + - OAuth2 Bearer: + - read:lists + summary: Add one or more accounts to the given list. + tags: + - lists + /api/v1/lists: + get: + operationId: lists + produces: + - application/json + responses: + "200": + description: Array of all lists owned by the requesting user. + schema: + items: + $ref: '#/definitions/list' + type: array + "400": + description: bad request + "401": + description: unauthorized + "404": + description: not found + "406": + description: not acceptable + "500": + description: internal server error + security: + - OAuth2 Bearer: + - read:lists + summary: Get all lists for owned by authorized user. + tags: + - lists /api/v1/media/{id}: get: operationId: mediaGet @@ -5579,6 +5972,18 @@ paths: name: stream required: true type: string + - description: |- + ID of the list to subscribe to. + Only used if stream type is 'list'. + in: query + name: list + type: string + - description: |- + Name of the tag to subscribe to. + Only used if stream type is 'hashtag' or 'hashtag:local'. + in: query + name: tag + type: string produces: - application/json responses: @@ -5696,6 +6101,65 @@ paths: summary: See statuses/posts by accounts you follow. tags: - timelines + /api/v1/timelines/list/{id}: + get: + description: |- + The statuses will be returned in descending chronological order (newest first), with sequential IDs (bigger = newer). + + The returned Link header can be used to generate the previous and next queries when scrolling up or down a timeline. + + Example: + + ``` + <https://example.org/api/v1/timelines/list/01H0W619198FX7J54NF7EH1NG2?limit=20&max_id=01FC3GSQ8A3MMJ43BPZSGEG29M>; rel="next", <https://example.org/api/v1/timelines/list/01H0W619198FX7J54NF7EH1NG2?limit=20&min_id=01FC3KJW2GYXSDDRA6RWNDM46M>; rel="prev" + ```` + operationId: listTimeline + parameters: + - description: ID of the list + in: path + name: id + required: true + type: string + - description: Return only statuses *OLDER* than the given max status ID. The status with the specified ID will not be included in the response. + in: query + name: max_id + type: string + - description: Return only statuses *NEWER* than the given since status ID. The status with the specified ID will not be included in the response. + in: query + name: since_id + type: string + - description: Return only statuses *NEWER* than the given since status ID. The status with the specified ID will not be included in the response. + in: query + name: min_id + type: string + - default: 20 + description: Number of statuses to return. + in: query + name: limit + type: integer + produces: + - application/json + responses: + "200": + description: Array of statuses. + headers: + Link: + description: Links to the next and previous queries. + type: string + schema: + items: + $ref: '#/definitions/status' + type: array + "400": + description: bad request + "401": + description: unauthorized + security: + - OAuth2 Bearer: + - read:lists + summary: See statuses/posts from the given list timeline. + tags: + - timelines /api/v1/timelines/public: get: description: |- @@ -5980,6 +6444,7 @@ securityDefinitions: read:custom_emojis: grant read access to custom_emojis read:favourites: grant read access to favourites read:follows: grant read access to follows + read:lists: grant read access to lists read:media: grant read access to media read:notifications: grants read access to notifications read:search: grant read access to searches @@ -5990,6 +6455,7 @@ securityDefinitions: write:accounts: grants write access to accounts write:blocks: grants write access to blocks write:follows: grants write access to follows + write:lists: grants write access to lists write:media: grants write access to media write:statuses: grants write access to statuses write:user: grants write access to user-level info |