Documentation ¶
Overview ¶
AccountsGETHandlerV1 swagger:operation GET /api/v1/admin/accounts adminAccountsGetV1
View + page through known accounts according to given filters.
Returned accounts will be ordered alphabetically (a-z) by domain + username.
The next and previous queries can be parsed from the returned Link header. Example:
``` <https://example.org/api/v1/admin/accounts?limit=80&max_id=example.org%2F%40someone>; rel="next", <https://example.org/api/v1/admin/accounts?limit=80&min_id=example.org%2F%40someone_else>; rel="prev" ````
--- tags: - admin produces: - application/json parameters: - name: local in: query type: boolean description: Filter for local accounts. default: false - name: remote in: query type: boolean description: Filter for remote accounts. default: false - name: active in: query type: boolean description: Filter for currently active accounts. default: false - name: pending in: query type: boolean description: Filter for currently pending accounts. default: false - name: disabled in: query type: boolean description: Filter for currently disabled accounts. default: false - name: silenced in: query type: boolean description: Filter for currently silenced accounts. default: false - name: suspended in: query type: boolean description: Filter for currently suspended accounts. default: false - name: sensitized in: query type: boolean description: Filter for accounts force-marked as sensitive. default: false - name: username in: query type: string description: Search for the given username. - name: display_name in: query type: string description: Search for the given display name. - name: by_domain in: query type: string description: Filter by the given domain. - name: email in: query type: string description: Lookup a user with this email. - name: ip in: query type: string description: Lookup users with this IP address. - name: staff in: query type: boolean description: Filter for staff accounts. default: false - name: max_id in: query type: string description: >- max_id in the form `[domain]/@[username]`. All results returned will be later in the alphabet than `[domain]/@[username]`. For example, if max_id = `example.org/@someone` then returned entries might contain `example.org/@someone_else`, `later.example.org/@someone`, etc. Local account IDs in this form use an empty string for the `[domain]` part, for example local account with username `someone` would be `/@someone`. - name: min_id in: query type: string description: >- min_id in the form `[domain]/@[username]`. All results returned will be earlier in the alphabet than `[domain]/@[username]`. For example, if min_id = `example.org/@someone` then returned entries might contain `example.org/@earlier_account`, `earlier.example.org/@someone`, etc. Local account IDs in this form use an empty string for the `[domain]` part, for example local account with username `someone` would be `/@someone`. - name: limit in: query type: integer description: Maximum number of results to return. default: 50 maximum: 200 minimum: 1 security: - OAuth2 Bearer: - admin responses: '200': headers: Link: type: string description: Links to the next and previous queries. schema: type: array items: "$ref": "#/definitions/adminAccountInfo" '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '406': description: not acceptable '500': description: internal server error
AccountsGETHandlerV2 swagger:operation GET /api/v2/admin/accounts adminAccountsGetV2
View + page through known accounts according to given filters.
Returned accounts will be ordered alphabetically (a-z) by domain + username.
The next and previous queries can be parsed from the returned Link header. Example:
``` <https://example.org/api/v2/admin/accounts?limit=80&max_id=example.org%2F%40someone>; rel="next", <https://example.org/api/v2/admin/accounts?limit=80&min_id=example.org%2F%40someone_else>; rel="prev" ````
--- tags: - admin produces: - application/json parameters: - name: origin in: query type: string description: Filter for `local` or `remote` accounts. - name: status in: query type: string description: Filter for `active`, `pending`, `disabled`, `silenced`, or `suspended` accounts. - name: permissions in: query type: string description: Filter for accounts with staff permissions (users that can manage reports). - name: role_ids[] in: query type: array items: type: string description: Filter for users with these roles. - name: invited_by in: query type: string description: Lookup users invited by the account with this ID. - name: username in: query type: string description: Search for the given username. - name: display_name in: query type: string description: Search for the given display name. - name: by_domain in: query type: string description: Filter by the given domain. - name: email in: query type: string description: Lookup a user with this email. - name: ip in: query type: string description: Lookup users with this IP address. - name: max_id in: query type: string description: >- max_id in the form `[domain]/@[username]`. All results returned will be later in the alphabet than `[domain]/@[username]`. For example, if max_id = `example.org/@someone` then returned entries might contain `example.org/@someone_else`, `later.example.org/@someone`, etc. Local account IDs in this form use an empty string for the `[domain]` part, for example local account with username `someone` would be `/@someone`. - name: min_id in: query type: string description: >- min_id in the form `[domain]/@[username]`. All results returned will be earlier in the alphabet than `[domain]/@[username]`. For example, if min_id = `example.org/@someone` then returned entries might contain `example.org/@earlier_account`, `earlier.example.org/@someone`, etc. Local account IDs in this form use an empty string for the `[domain]` part, for example local account with username `someone` would be `/@someone`. - name: limit in: query type: integer description: Maximum number of results to return. default: 50 maximum: 200 minimum: 1 security: - OAuth2 Bearer: - admin responses: '200': headers: Link: type: string description: Links to the next and previous queries. schema: type: array items: "$ref": "#/definitions/adminAccountInfo" '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '406': description: not acceptable '500': description: internal server error
Index ¶
- Constants
- type Module
- func (m *Module) AccountActionPOSTHandler(c *gin.Context)
- func (m *Module) AccountApprovePOSTHandler(c *gin.Context)
- func (m *Module) AccountGETHandler(c *gin.Context)
- func (m *Module) AccountRejectPOSTHandler(c *gin.Context)
- func (m *Module) AccountsGETV1Handler(c *gin.Context)
- func (m *Module) AccountsGETV2Handler(c *gin.Context)
- func (m *Module) DebugAPUrlHandler(c *gin.Context)
- func (m *Module) DebugClearCachesHandler(c *gin.Context)
- func (m *Module) DomainAllowDELETEHandler(c *gin.Context)
- func (m *Module) DomainAllowGETHandler(c *gin.Context)
- func (m *Module) DomainAllowsGETHandler(c *gin.Context)
- func (m *Module) DomainAllowsPOSTHandler(c *gin.Context)
- func (m *Module) DomainBlockDELETEHandler(c *gin.Context)
- func (m *Module) DomainBlockGETHandler(c *gin.Context)
- func (m *Module) DomainBlocksGETHandler(c *gin.Context)
- func (m *Module) DomainBlocksPOSTHandler(c *gin.Context)
- func (m *Module) DomainKeysExpirePOSTHandler(c *gin.Context)
- func (m *Module) EmailTestPOSTHandler(c *gin.Context)
- func (m *Module) EmojiCategoriesGETHandler(c *gin.Context)
- func (m *Module) EmojiCreatePOSTHandler(c *gin.Context)
- func (m *Module) EmojiDELETEHandler(c *gin.Context)
- func (m *Module) EmojiGETHandler(c *gin.Context)
- func (m *Module) EmojiPATCHHandler(c *gin.Context)
- func (m *Module) EmojisGETHandler(c *gin.Context)
- func (m *Module) HeaderFilterAllowDELETE(c *gin.Context)
- func (m *Module) HeaderFilterAllowGET(c *gin.Context)
- func (m *Module) HeaderFilterAllowPOST(c *gin.Context)
- func (m *Module) HeaderFilterAllowsGET(c *gin.Context)
- func (m *Module) HeaderFilterBlockDELETE(c *gin.Context)
- func (m *Module) HeaderFilterBlockGET(c *gin.Context)
- func (m *Module) HeaderFilterBlockPOST(c *gin.Context)
- func (m *Module) HeaderFilterBlocksGET(c *gin.Context)
- func (m *Module) MediaCleanupPOSTHandler(c *gin.Context)
- func (m *Module) MediaRefetchPOSTHandler(c *gin.Context)
- func (m *Module) ReportGETHandler(c *gin.Context)
- func (m *Module) ReportResolvePOSTHandler(c *gin.Context)
- func (m *Module) ReportsGETHandler(c *gin.Context)
- func (m *Module) Route(...)
- func (m *Module) RuleDELETEHandler(c *gin.Context)
- func (m *Module) RuleGETHandler(c *gin.Context)
- func (m *Module) RulePATCHHandler(c *gin.Context)
- func (m *Module) RulePOSTHandler(c *gin.Context)
- func (m *Module) RulesGETHandler(c *gin.Context)
Constants ¶
const ( BasePath = "/v1/admin" EmojiPath = BasePath + "/custom_emojis" EmojiPathWithID = EmojiPath + "/:" + IDKey EmojiCategoriesPath = EmojiPath + "/categories" DomainBlocksPath = BasePath + "/domain_blocks" DomainBlocksPathWithID = DomainBlocksPath + "/:" + IDKey DomainAllowsPath = BasePath + "/domain_allows" DomainAllowsPathWithID = DomainAllowsPath + "/:" + IDKey DomainKeysExpirePath = BasePath + "/domain_keys_expire" HeaderAllowsPath = BasePath + "/header_allows" HeaderAllowsPathWithID = HeaderAllowsPath + "/:" + IDKey HeaderBlocksPath = BasePath + "/header_blocks" HeaderBlocksPathWithID = HeaderBlocksPath + "/:" + IDKey AccountsV1Path = BasePath + "/accounts" AccountsV2Path = "/v2/admin/accounts" AccountsPathWithID = AccountsV1Path + "/:" + IDKey AccountsActionPath = AccountsPathWithID + "/action" AccountsApprovePath = AccountsPathWithID + "/approve" AccountsRejectPath = AccountsPathWithID + "/reject" MediaCleanupPath = BasePath + "/media_cleanup" MediaRefetchPath = BasePath + "/media_refetch" ReportsPath = BasePath + "/reports" ReportsPathWithID = ReportsPath + "/:" + IDKey ReportsResolvePath = ReportsPathWithID + "/resolve" EmailPath = BasePath + "/email" EmailTestPath = EmailPath + "/test" InstanceRulesPath = BasePath + "/instance/rules" InstanceRulesPathWithID = InstanceRulesPath + "/:" + IDKey DebugPath = BasePath + "/debug" DebugAPUrlPath = DebugPath + "/apurl" DebugClearCachesPath = DebugPath + "/caches/clear" IDKey = "id" FilterQueryKey = "filter" MaxShortcodeDomainKey = "max_shortcode_domain" MinShortcodeDomainKey = "min_shortcode_domain" LimitKey = "limit" DomainQueryKey = "domain" ResolvedKey = "resolved" AccountIDKey = "account_id" TargetAccountIDKey = "target_account_id" MaxIDKey = "max_id" SinceIDKey = "since_id" MinIDKey = "min_id" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Module ¶
type Module struct {
// contains filtered or unexported fields
}
func (*Module) AccountActionPOSTHandler ¶ added in v0.2.2
AccountActionPOSTHandler swagger:operation POST /api/v1/admin/accounts/{id}/action adminAccountAction
Perform an admin action on an account.
--- tags: - admin consumes: - multipart/form-data produces: - application/json parameters: - name: id required: true in: path description: ID of the account. type: string - name: type in: formData description: Type of action to be taken, currently only supports `suspend`. type: string required: true - name: text in: formData description: Optional text describing why this action was taken. type: string security: - OAuth2 Bearer: - admin responses: '200': description: OK '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '406': description: not acceptable '409': description: >- Conflict: There is already an admin action running that conflicts with this action. Check the error message in the response body for more information. This is a temporary error; it should be possible to process this action if you try again in a bit. '500': description: internal server error
func (*Module) AccountApprovePOSTHandler ¶ added in v0.16.0
AccountApprovePOSTHandler swagger:operation POST /api/v1/admin/accounts/{id}/approve adminAccountApprove
Approve pending account.
--- tags: - admin produces: - application/json parameters: - name: id required: true in: path description: ID of the account. type: string security: - OAuth2 Bearer: - admin responses: '200': description: The now-approved account. schema: "$ref": "#/definitions/adminAccountInfo" '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '406': description: not acceptable '500': description: internal server error
func (*Module) AccountGETHandler ¶ added in v0.16.0
AccountGETHandler swagger:operation GET /api/v1/admin/accounts/{id} adminAccountGet
View one account.
--- tags: - admin produces: - application/json parameters: - name: id required: true in: path description: ID of the account. type: string security: - OAuth2 Bearer: - admin responses: '200': description: OK schema: "$ref": "#/definitions/adminAccountInfo" '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '406': description: not acceptable '500': description: internal server error
func (*Module) AccountRejectPOSTHandler ¶ added in v0.16.0
AccountRejectPOSTHandler swagger:operation POST /api/v1/admin/accounts/{id}/reject adminAccountReject
Reject pending account.
--- tags: - admin produces: - application/json parameters: - name: id required: true in: path description: ID of the account. type: string - name: private_comment in: formData description: >- Comment to leave on why the account was denied. The comment will be visible to admins only. type: string - name: message in: formData description: >- Message to include in email to applicant. Will be included only if send_email is true. type: string - name: send_email in: formData description: >- Send an email to the applicant informing them that their sign-up has been rejected. type: boolean security: - OAuth2 Bearer: - admin responses: '200': description: The now-rejected account. schema: "$ref": "#/definitions/adminAccountInfo" '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '406': description: not acceptable '500': description: internal server error
func (*Module) AccountsGETV1Handler ¶ added in v0.16.0
func (*Module) AccountsGETV2Handler ¶ added in v0.16.0
func (*Module) DebugAPUrlHandler ¶ added in v0.13.0
DebugAPUrlHandler swagger:operation GET /api/v1/admin/debug/apurl debugAPUrl
Perform a GET to the specified ActivityPub URL and return detailed debugging information.
Only enabled / exposed if GoToSocial was built and is running with flag DEBUG=1.
--- tags: - debug produces: - application/json parameters: - name: url type: string description: >- The URL / ActivityPub ID to dereference. This should be a full URL, including protocol. Eg., `https://example.org/users/someone` in: query required: true security: - OAuth2 Bearer: - admin responses: '200': name: Debug response. schema: "$ref": "#/definitions/debugAPUrlResponse" '400': description: bad request '401': description: unauthorized '404': description: not found '406': description: not acceptable '500': description: internal server error
func (*Module) DebugClearCachesHandler ¶ added in v0.16.0
DebugClearCachesHandler swagger:operation POST /api/v1/admin/debug/caches/clear debugClearCaches
Sweep/clear all in-memory caches.
Only enabled / exposed if GoToSocial was built and is running with flag DEBUG=1.
--- tags: - debug produces: - application/json security: - OAuth2 Bearer: - admin responses: '200': description: All good baby! '400': description: bad request '401': description: unauthorized '404': description: not found '406': description: not acceptable '500': description: internal server error
func (*Module) DomainAllowDELETEHandler ¶ added in v0.12.0
DomainAllowDELETEHandler swagger:operation DELETE /api/v1/admin/domain_allows/{id} domainAllowDelete
Delete domain allow with the given ID.
--- tags: - admin produces: - application/json parameters: - name: id type: string description: The id of the domain allow. in: path required: true security: - OAuth2 Bearer: - admin responses: '200': description: The domain allow that was just deleted. schema: "$ref": "#/definitions/domainPermission" '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '406': description: not acceptable '409': description: >- Conflict: There is already an admin action running that conflicts with this action. Check the error message in the response body for more information. This is a temporary error; it should be possible to process this action if you try again in a bit. '500': description: internal server error
func (*Module) DomainAllowGETHandler ¶ added in v0.12.0
DomainAllowGETHandler swagger:operation GET /api/v1/admin/domain_allows/{id} domainAllowGet
View domain allow with the given ID.
--- tags: - admin produces: - application/json parameters: - name: id type: string description: The id of the domain allow. in: path required: true security: - OAuth2 Bearer: - admin responses: '200': description: The requested domain allow. schema: "$ref": "#/definitions/domainPermission" '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '406': description: not acceptable '500': description: internal server error
func (*Module) DomainAllowsGETHandler ¶ added in v0.12.0
DomainAllowsGETHandler swagger:operation GET /api/v1/admin/domain_allows domainAllowsGet
View all domain allows currently in place.
--- tags: - admin produces: - application/json parameters: - name: export type: boolean description: >- If set to `true`, then each entry in the returned list of domain allows will only consist of the fields `domain` and `public_comment`. This is perfect for when you want to save and share a list of all the domains you have allowed on your instance, so that someone else can easily import them, but you don't want them to see the database IDs of your allows, or private comments etc. in: query required: false security: - OAuth2 Bearer: - admin responses: '200': description: All domain allows currently in place. schema: type: array items: "$ref": "#/definitions/domainPermission" '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '406': description: not acceptable '500': description: internal server error
func (*Module) DomainAllowsPOSTHandler ¶ added in v0.12.0
DomainAllowsPOSTHandler swagger:operation POST /api/v1/admin/domain_allows domainAllowCreate
Create one or more domain allows, from a string or a file.
You have two options when using this endpoint: either you can set `import` to `true` and upload a file containing multiple domain allows, JSON-formatted, or you can leave import as `false`, and just add one domain allow.
The format of the json file should be something like: `[{"domain":"example.org"},{"domain":"whatever.com","public_comment":"they smell"}]`
--- tags: - admin consumes: - multipart/form-data produces: - application/json parameters: - name: import in: query description: >- Signal that a list of domain allows is being imported as a file. If set to `true`, then 'domains' must be present as a JSON-formatted file. If set to `false`, then `domains` will be ignored, and `domain` must be present. type: boolean default: false - name: domains in: formData description: >- JSON-formatted list of domain allows to import. This is only used if `import` is set to `true`. type: file - name: domain in: formData description: >- Single domain to allow. Used only if `import` is not `true`. type: string - name: obfuscate in: formData description: >- Obfuscate the name of the domain when serving it publicly. Eg., `example.org` becomes something like `ex***e.org`. Used only if `import` is not `true`. type: boolean - name: public_comment in: formData description: >- Public comment about this domain allow. This will be displayed alongside the domain allow if you choose to share allows. Used only if `import` is not `true`. type: string - name: private_comment in: formData description: >- Private comment about this domain allow. Will only be shown to other admins, so this is a useful way of internally keeping track of why a certain domain ended up allowed. Used only if `import` is not `true`. type: string security: - OAuth2 Bearer: - admin responses: '200': description: >- The newly created domain allow, if `import` != `true`. If a list has been imported, then an `array` of newly created domain allows will be returned instead. schema: "$ref": "#/definitions/domainPermission" '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '406': description: not acceptable '409': description: >- Conflict: There is already an admin action running that conflicts with this action. Check the error message in the response body for more information. This is a temporary error; it should be possible to process this action if you try again in a bit. '500': description: internal server error
func (*Module) DomainBlockDELETEHandler ¶
DomainBlockDELETEHandler swagger:operation DELETE /api/v1/admin/domain_blocks/{id} domainBlockDelete
Delete domain block with the given ID.
--- tags: - admin produces: - application/json parameters: - name: id type: string description: The id of the domain block. in: path required: true security: - OAuth2 Bearer: - admin responses: '200': description: The domain block that was just deleted. schema: "$ref": "#/definitions/domainPermission" '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '406': description: not acceptable '409': description: >- Conflict: There is already an admin action running that conflicts with this action. Check the error message in the response body for more information. This is a temporary error; it should be possible to process this action if you try again in a bit. '500': description: internal server error
func (*Module) DomainBlockGETHandler ¶
DomainBlockGETHandler swagger:operation GET /api/v1/admin/domain_blocks/{id} domainBlockGet
View domain block with the given ID.
--- tags: - admin produces: - application/json parameters: - name: id type: string description: The id of the domain block. in: path required: true security: - OAuth2 Bearer: - admin responses: '200': description: The requested domain block. schema: "$ref": "#/definitions/domainPermission" '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '406': description: not acceptable '500': description: internal server error
func (*Module) DomainBlocksGETHandler ¶
DomainBlocksGETHandler swagger:operation GET /api/v1/admin/domain_blocks domainBlocksGet
View all domain blocks currently in place.
--- tags: - admin produces: - application/json parameters: - name: export type: boolean description: >- If set to `true`, then each entry in the returned list of domain blocks will only consist of the fields `domain` and `public_comment`. This is perfect for when you want to save and share a list of all the domains you have blocked on your instance, so that someone else can easily import them, but you don't want them to see the database IDs of your blocks, or private comments etc. in: query required: false security: - OAuth2 Bearer: - admin responses: '200': description: All domain blocks currently in place. schema: type: array items: "$ref": "#/definitions/domainPermission" '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '406': description: not acceptable '500': description: internal server error
func (*Module) DomainBlocksPOSTHandler ¶
DomainBlocksPOSTHandler swagger:operation POST /api/v1/admin/domain_blocks domainBlockCreate
Create one or more domain blocks, from a string or a file.
You have two options when using this endpoint: either you can set `import` to `true` and upload a file containing multiple domain blocks, JSON-formatted, or you can leave import as `false`, and just add one domain block.
The format of the json file should be something like: `[{"domain":"example.org"},{"domain":"whatever.com","public_comment":"they smell"}]`
--- tags: - admin consumes: - multipart/form-data produces: - application/json parameters: - name: import in: query description: >- Signal that a list of domain blocks is being imported as a file. If set to `true`, then 'domains' must be present as a JSON-formatted file. If set to `false`, then `domains` will be ignored, and `domain` must be present. type: boolean default: false - name: domains in: formData description: >- JSON-formatted list of domain blocks to import. This is only used if `import` is set to `true`. type: file - name: domain in: formData description: >- Single domain to block. Used only if `import` is not `true`. type: string - name: obfuscate in: formData description: >- Obfuscate the name of the domain when serving it publicly. Eg., `example.org` becomes something like `ex***e.org`. Used only if `import` is not `true`. type: boolean - name: public_comment in: formData description: >- Public comment about this domain block. This will be displayed alongside the domain block if you choose to share blocks. Used only if `import` is not `true`. type: string - name: private_comment in: formData description: >- Private comment about this domain block. Will only be shown to other admins, so this is a useful way of internally keeping track of why a certain domain ended up blocked. Used only if `import` is not `true`. type: string security: - OAuth2 Bearer: - admin responses: '200': description: >- The newly created domain block, if `import` != `true`. If a list has been imported, then an `array` of newly created domain blocks will be returned instead. schema: "$ref": "#/definitions/domainPermission" '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '406': description: not acceptable '409': description: >- Conflict: There is already an admin action running that conflicts with this action. Check the error message in the response body for more information. This is a temporary error; it should be possible to process this action if you try again in a bit. '500': description: internal server error
func (*Module) DomainKeysExpirePOSTHandler ¶ added in v0.12.0
DomainKeysExpirePOSTHandler swagger:operation POST /api/v1/admin/domain_keys_expire domainKeysExpire
Force expiry of cached public keys for all accounts on the given domain stored in your database.
This is useful in cases where the remote domain has had to rotate their keys for whatever reason (security issue, data leak, routine safety procedure, etc), and your instance can no longer communicate with theirs properly using cached keys. A key marked as expired in this way will be lazily refetched next time a request is made to your instance signed by the owner of that key, so no further action should be required in order to reestablish communication with that domain.
This endpoint is explicitly not for rotating your *own* keys, it only works for remote instances.
Using this endpoint to expire keys for a domain that hasn't rotated all of their keys is not harmful and won't break federation, but it is pointless and will cause unnecessary requests to be performed.
--- tags: - admin consumes: - multipart/form-data produces: - application/json parameters: - name: domain in: formData description: |- Domain to expire keys for. Sample: example.org type: string security: - OAuth2 Bearer: - admin responses: '202': description: >- Request accepted and will be processed. Check the logs for progress / errors. schema: "$ref": "#/definitions/adminActionResponse" '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '406': description: not acceptable '409': description: >- Conflict: There is already an admin action running that conflicts with this action. Check the error message in the response body for more information. This is a temporary error; it should be possible to process this action if you try again in a bit. '500': description: internal server error
func (*Module) EmailTestPOSTHandler ¶ added in v0.8.0
EmailTestPostHandler swagger:operation POST /api/v1/admin/email/test testEmailSend
Send a generic test email to a specified email address.
This can be used to validate an instance's SMTP configuration, and to debug any potential issues.
If an error is returned by the SMTP connection, this handler will return code 422 to indicate that the request could not be processed, and the SMTP error will be returned to the caller.
--- tags: - admin consumes: - multipart/form-data produces: - application/json parameters: - name: email in: formData description: The email address that the test email should be sent to. type: string required: true - name: message in: formData description: Optional message to include in the email. type: string security: - OAuth2 Bearer: - admin responses: '202': description: Test email was sent. '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '406': description: not acceptable '422': description: >- An smtp occurred while the email attempt was in progress. Check the returned json for more information. The smtp error will be included, to help you debug communication with the smtp server. '500': description: internal server error
func (*Module) EmojiCategoriesGETHandler ¶ added in v0.6.0
EmojiCategoriesGETHandler swagger:operation GET /api/v1/admin/custom_emojis/categories emojiCategoriesGet
Get a list of existing emoji categories.
--- tags: - admin produces: - application/json responses: '200': description: Array of existing emoji categories. schema: type: array items: "$ref": "#/definitions/emojiCategory" '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '406': description: not acceptable '500': description: internal server error
func (*Module) EmojiCreatePOSTHandler ¶ added in v0.2.0
EmojiCreatePOSTHandler swagger:operation POST /api/v1/admin/custom_emojis emojiCreate
Upload and create a new instance emoji.
--- tags: - admin consumes: - multipart/form-data produces: - application/json parameters: - name: shortcode in: formData description: >- The code to use for the emoji, which will be used by instance denizens to select it. This must be unique on the instance. type: string pattern: \w{2,30} required: true - name: image in: formData description: >- A png or gif image of the emoji. Animated pngs work too! To ensure compatibility with other fedi implementations, emoji size limit is 50kb by default. type: file required: true - name: category in: formData description: >- Category in which to place the new emoji. If left blank, emoji will be uncategorized. If a category with the given name doesn't exist yet, it will be created. type: string maximumLength: 64 required: false security: - OAuth2 Bearer: - admin responses: '200': description: The newly-created emoji. schema: "$ref": "#/definitions/emoji" '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '406': description: not acceptable '409': description: conflict -- shortcode for this emoji is already in use '500': description: internal server error
func (*Module) EmojiDELETEHandler ¶ added in v0.6.0
EmojiDELETEHandler swagger:operation DELETE /api/v1/admin/custom_emojis/{id} emojiDelete
Delete a **local** emoji with the given ID from the instance.
Emoji with the given ID will no longer be available to use on the instance.
If you just want to update the emoji image instead, use the `/api/v1/admin/custom_emojis/{id}` PATCH route.
To disable emojis from **remote** instances, use the `/api/v1/admin/custom_emojis/{id}` PATCH route.
--- tags: - admin produces: - application/json parameters: - name: id type: string description: The id of the emoji. in: path required: true security: - OAuth2 Bearer: - admin responses: '200': description: The deleted emoji will be returned to the caller in case further processing is necessary. schema: "$ref": "#/definitions/adminEmoji" '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '406': description: not acceptable '500': description: internal server error
func (*Module) EmojiGETHandler ¶ added in v0.6.0
EmojiGETHandler swagger:operation GET /api/v1/admin/custom_emojis/{id} emojiGet
Get the admin view of a single emoji.
--- tags: - admin produces: - application/json parameters: - name: id type: string description: The id of the emoji. in: path required: true responses: '200': description: A single emoji. schema: "$ref": "#/definitions/adminEmoji" '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '406': description: not acceptable '500': description: internal server error
func (*Module) EmojiPATCHHandler ¶ added in v0.6.0
EmojiPATCHHandler swagger:operation PATCH /api/v1/admin/custom_emojis/{id} emojiUpdate
Perform admin action on a local or remote emoji known to this instance.
Action performed depends upon the action `type` provided.
`disable`: disable a REMOTE emoji from being used/displayed on this instance. Does not work for local emojis.
`copy`: copy a REMOTE emoji to this instance. When doing this action, a shortcode MUST be provided, and it must be unique among emojis already present on this instance. A category MAY be provided, and the copied emoji will then be put into the provided category.
`modify`: modify a LOCAL emoji. You can provide a new image for the emoji and/or update the category.
Local emojis cannot be deleted using this endpoint. To delete a local emoji, check DELETE /api/v1/admin/custom_emojis/{id} instead.
--- tags: - admin consumes: - multipart/form-data produces: - application/json parameters: - name: id type: string description: The id of the emoji. in: path required: true - name: type in: formData description: |- Type of action to be taken. One of: (`disable`, `copy`, `modify`). For REMOTE emojis, `copy` or `disable` are supported. For LOCAL emojis, only `modify` is supported. type: string enum: - copy - disable - modify required: true - name: shortcode in: formData description: >- The code to use for the emoji, which will be used by instance denizens to select it. This must be unique on the instance. Works for the `copy` action type only. type: string pattern: \w{2,30} - name: image in: formData description: >- A new png or gif image to use for the emoji. Animated pngs work too! To ensure compatibility with other fedi implementations, emoji size limit is 50kb by default. Works for LOCAL emojis only. type: file - name: category in: formData description: >- Category in which to place the emoji. If a category with the given name doesn't exist yet, it will be created. type: string maximumLength: 64 security: - OAuth2 Bearer: - admin responses: '200': description: The updated emoji. schema: "$ref": "#/definitions/adminEmoji" '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '406': description: not acceptable '500': description: internal server error
func (*Module) EmojisGETHandler ¶ added in v0.6.0
EmojisGETHandler swagger:operation GET /api/v1/admin/custom_emojis emojisGet
View local and remote emojis available to / known by this instance.
The next and previous queries can be parsed from the returned Link header. Example:
`<http://localhost:8080/api/v1/admin/custom_emojis?limit=30&max_shortcode_domain=yell@fossbros-anonymous.io&filter=domain:all>; rel="next", <http://localhost:8080/api/v1/admin/custom_emojis?limit=30&min_shortcode_domain=rainbow@&filter=domain:all>; rel="prev"`
--- tags: - admin produces: - application/json parameters: - name: filter type: string description: |- Comma-separated list of filters to apply to results. Recognized filters are: `domain:[domain]` -- show emojis from the given domain, eg `?filter=domain:example.org` will show emojis from `example.org` only. Instead of giving a specific domain, you can also give either one of the key words `local` or `all` to show either local emojis only (`domain:local`) or show all emojis from all domains (`domain:all`). Note: `domain:*` is equivalent to `domain:all` (including local). If no domain filter is provided, `domain:all` will be assumed. `disabled` -- include emojis that have been disabled. `enabled` -- include emojis that are enabled. `shortcode:[shortcode]` -- show only emojis with the given shortcode, eg `?filter=shortcode:blob_cat_uwu` will show only emojis with the shortcode `blob_cat_uwu` (case sensitive). If neither `disabled` or `enabled` are provided, both disabled and enabled emojis will be shown. If no filter query string is provided, the default `domain:all` will be used, which will show all emojis from all domains. in: query required: false default: "domain:all" - name: limit type: integer description: Number of emojis to return. Less than 1, or not set, means unlimited (all emojis). default: 50 in: query - name: max_shortcode_domain type: string description: >- Return only emojis with `[shortcode]@[domain]` *LOWER* (alphabetically) than given `[shortcode]@[domain]`. For example, if `max_shortcode_domain=beep@example.org`, then returned values might include emojis with `[shortcode]@[domain]`s like `car@example.org`, `debian@aaa.com`, `test@` (local emoji), etc. Emoji with the given `[shortcode]@[domain]` will not be included in the result set. in: query - name: min_shortcode_domain type: string description: >- Return only emojis with `[shortcode]@[domain]` *HIGHER* (alphabetically) than given `[shortcode]@[domain]`. For example, if `max_shortcode_domain=beep@example.org`, then returned values might include emojis with `[shortcode]@[domain]`s like `arse@test.com`, `0101_binary@hackers.net`, `bee@` (local emoji), etc. Emoji with the given `[shortcode]@[domain]` will not be included in the result set. in: query responses: '200': headers: Link: type: string description: Links to the next and previous queries. description: An array of emojis, arranged alphabetically by shortcode and domain. schema: type: array items: "$ref": "#/definitions/adminEmoji" '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '406': description: not acceptable '500': description: internal server error
func (*Module) HeaderFilterAllowDELETE ¶ added in v0.14.0
HeaderFilterAllowDELETE swagger:operation DELETE /api/v1/admin/header_allows/{id} headerFilterAllowDelete
Delete the "allow" header filter with the given ID.
--- tags: - admin parameters: - name: id type: string description: Target header filter ID. in: path required: true security: - OAuth2 Bearer: - admin responses: '202': description: Accepted '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '500': description: internal server error
func (*Module) HeaderFilterAllowGET ¶ added in v0.14.0
HeaderFilterAllowGET swagger:operation GET /api/v1/admin/header_allows/{id} headerFilterAllowGet
Get "allow" header filter with the given ID.
--- tags: - admin parameters: - name: id type: string description: Target header filter ID. in: path required: true security: - OAuth2 Bearer: - admin responses: '200': description: The requested "allow" header filter. schema: "$ref": "#/definitions/headerFilter" '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '500': description: internal server error
func (*Module) HeaderFilterAllowPOST ¶ added in v0.14.0
HeaderFilterAllowPOST swagger:operation POST /api/v1/admin/header_allows headerFilterAllowCreate
Create new "allow" HTTP request header filter.
The parameters can also be given in the body of the request, as JSON, if the content-type is set to 'application/json'. The parameters can also be given in the body of the request, as XML, if the content-type is set to 'application/xml'.
--- tags: - admin consumes: - application/json - application/xml - application/x-www-form-urlencoded produces: - application/json security: - OAuth2 Bearer: - admin responses: '200': description: The newly created "allow" header filter. schema: "$ref": "#/definitions/headerFilter" '400': description: bad request '401': description: unauthorized '403': description: forbidden '500': description: internal server error
func (*Module) HeaderFilterAllowsGET ¶ added in v0.14.0
HeaderFilterAllowsGET swagger:operation GET /api/v1/admin/header_allows headerFilterAllowsGet
Get all "allow" header filters currently in place.
--- tags: - admin security: - OAuth2 Bearer: - admin responses: '200': description: All "allow" header filters currently in place. schema: type: array items: "$ref": "#/definitions/headerFilter" '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '500': description: internal server error
func (*Module) HeaderFilterBlockDELETE ¶ added in v0.14.0
HeaderFilterBlockDELETE swagger:operation DELETE /api/v1/admin/header_blocks/{id} headerFilterBlockDelete
Delete the "block" header filter with the given ID.
--- tags: - admin parameters: - name: id type: string description: Target header filter ID. in: path required: true security: - OAuth2 Bearer: - admin responses: '202': description: Accepted '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '500': description: internal server error
func (*Module) HeaderFilterBlockGET ¶ added in v0.14.0
HeaderFilterBlockGET swagger:operation GET /api/v1/admin/header_blocks/{id} headerFilterBlockGet
Get "block" header filter with the given ID.
--- tags: - admin parameters: - name: id type: string description: Target header filter ID. in: path required: true security: - OAuth2 Bearer: - admin responses: '200': description: The requested "block" header filter. schema: "$ref": "#/definitions/headerFilter" '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '500': description: internal server error
func (*Module) HeaderFilterBlockPOST ¶ added in v0.14.0
HeaderFilterBlockPOST swagger:operation POST /api/v1/admin/header_blocks headerFilterBlockCreate
Create new "block" HTTP request header filter.
The parameters can also be given in the body of the request, as JSON, if the content-type is set to 'application/json'. The parameters can also be given in the body of the request, as XML, if the content-type is set to 'application/xml'.
--- tags: - admin consumes: - application/json - application/xml - application/x-www-form-urlencoded produces: - application/json security: - OAuth2 Bearer: - admin responses: '200': description: The newly created "block" header filter. schema: "$ref": "#/definitions/headerFilter" '400': description: bad request '401': description: unauthorized '403': description: forbidden '500': description: internal server error
func (*Module) HeaderFilterBlocksGET ¶ added in v0.14.0
HeaderFilterBlocksGET swagger:operation GET /api/v1/admin/header_blocks headerFilterBlocksGet
Get all "allow" header filters currently in place.
--- tags: - admin security: - OAuth2 Bearer: - admin responses: '200': description: All "block" header filters currently in place. schema: type: array items: "$ref": "#/definitions/headerFilter" '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '500': description: internal server error
func (*Module) MediaCleanupPOSTHandler ¶ added in v0.3.4
MediaCleanupPOSTHandler swagger:operation POST /api/v1/admin/media_cleanup mediaCleanup
Clean up remote media older than the specified number of days.
Also cleans up unused headers + avatars from the media cache and prunes orphaned items from storage.
--- tags: - admin consumes: - application/json - application/xml - application/x-www-form-urlencoded produces: - application/json security: - OAuth2 Bearer: - admin responses: '200': description: >- Echos the number of days requested. The cleanup is performed asynchronously after the request completes. '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '406': description: not acceptable '500': description: internal server error
func (*Module) MediaRefetchPOSTHandler ¶ added in v0.7.0
MediaRefetchPOSTHandler swagger:operation POST /api/v1/admin/media_refetch mediaRefetch
Refetch media specified in the database but missing from storage. Currently, this only includes remote emojis. This endpoint is useful when data loss has occurred, and you want to try to recover to a working state.
--- tags: - admin produces: - application/json security: - OAuth2 Bearer: - admin parameters: - name: domain in: query description: >- Domain to refetch media from. If empty, all domains will be refetched. type: string responses: '202': description: >- Request accepted and will be processed. Check the logs for progress / errors. '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '406': description: not acceptable '500': description: internal server error
func (*Module) ReportGETHandler ¶ added in v0.7.0
ReportGETHandler swagger:operation GET /api/v1/admin/reports/{id} adminReportGet
View user moderation report with the given id.
--- tags: - admin produces: - application/json parameters: - name: id type: string description: The id of the report. in: path required: true security: - OAuth2 Bearer: - admin responses: '200': name: report description: The requested report. schema: "$ref": "#/definitions/adminReport" '400': description: bad request '401': description: unauthorized '404': description: not found '406': description: not acceptable '500': description: internal server error
func (*Module) ReportResolvePOSTHandler ¶ added in v0.7.0
ReportResolvePOSTHandler swagger:operation POST /api/v1/admin/reports/{id}/resolve adminReportResolve
Mark a report as resolved.
--- tags: - admin consumes: - application/json - application/xml - multipart/form-data produces: - application/json parameters: - name: id type: string description: The id of the report. in: path required: true - name: action_taken_comment in: formData description: >- Optional admin comment on the action taken in response to this report. Useful for providing an explanation about what action was taken (if any) before the report was marked as resolved. This will be visible to the user that created the report! Sample: The reported account was suspended. type: string security: - OAuth2 Bearer: - admin responses: '200': name: report description: The resolved report. schema: "$ref": "#/definitions/adminReport" '400': description: bad request '401': description: unauthorized '404': description: not found '406': description: not acceptable '500': description: internal server error
func (*Module) ReportsGETHandler ¶ added in v0.7.0
ReportsGETHandler swagger:operation GET /api/v1/admin/reports adminReports
View user moderation reports.
The reports will be returned in descending chronological order (newest first), with sequential IDs (bigger = newer).
The next and previous queries can be parsed from the returned Link header.
Example:
``` <https://example.org/api/v1/admin/reports?limit=20&max_id=01FC0SKA48HNSVR6YKZCQGS2V8>; rel="next", <https://example.org/api/v1/admin/reports?limit=20&min_id=01FC0SKW5JK2Q4EVAV2B462YY0>; rel="prev" ````
--- tags: - admin produces: - application/json parameters: - name: resolved type: boolean description: >- If set to true, only resolved reports will be returned. If false, only unresolved reports will be returned. If unset, reports will not be filtered on their resolved status. in: query - name: account_id type: string description: Return only reports created by the given account id. in: query - name: target_account_id type: string description: Return only reports that target the given account id. in: query - name: max_id type: string description: >- Return only reports *OLDER* than the given max ID. The report with the specified ID will not be included in the response. in: query - name: since_id type: string description: >- Return only reports *NEWER* than the given since ID. The report with the specified ID will not be included in the response. This parameter is functionally equivalent to min_id. in: query - name: min_id type: string description: >- Return only reports *NEWER* than the given min ID. The report with the specified ID will not be included in the response. This parameter is functionally equivalent to since_id. in: query - name: limit type: integer description: >- Number of reports to return. If more than 100 or less than 1, will be clamped to 100. default: 20 in: query security: - OAuth2 Bearer: - admin responses: '200': name: reports description: Array of reports. schema: type: array items: "$ref": "#/definitions/adminReport" headers: Link: type: string description: Links to the next and previous queries. '400': description: bad request '401': description: unauthorized '404': description: not found '406': description: not acceptable '500': description: internal server error
func (*Module) RuleDELETEHandler ¶ added in v0.12.0
RuleDELETEHandler swagger:operation DELETE /api/v1/admin/instance/rules/{id} ruleDelete
Delete an existing instance rule.
--- tags: - admin consumes: - multipart/form-data produces: - application/json parameters: - name: id in: path description: >- The id of the rule to delete. type: string required: true security: - OAuth2 Bearer: - admin responses: '200': description: The deleted instance rule. schema: "$ref": "#/definitions/instanceRule" '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '406': description: not acceptable '500': description: internal server error
func (*Module) RuleGETHandler ¶ added in v0.12.0
RuleGETHandler swagger:operation GET /api/v1/admin/rules/{id} adminRuleGet
View instance rule with the given id.
--- tags: - admin produces: - application/json parameters: - name: id type: string description: The id of the rule. in: path required: true security: - OAuth2 Bearer: - admin responses: '200': name: rule description: The requested rule. schema: "$ref": "#/definitions/instanceRule" '400': description: bad request '401': description: unauthorized '404': description: not found '406': description: not acceptable '500': description: internal server error
func (*Module) RulePATCHHandler ¶ added in v0.12.0
RulePATCHHandler swagger:operation PATCH /api/v1/admin/instance/rules/{id} ruleUpdate
Update an existing instance rule.
--- tags: - admin consumes: - multipart/form-data produces: - application/json security: - OAuth2 Bearer: - admin responses: '200': description: The updated instance rule. schema: "$ref": "#/definitions/instanceRule" '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '406': description: not acceptable '500': description: internal server error
func (*Module) RulePOSTHandler ¶ added in v0.12.0
RulePOSTHandler swagger:operation POST /api/v1/admin/instance/rules ruleCreate
Create a new instance rule.
--- tags: - admin consumes: - multipart/form-data produces: - application/json security: - OAuth2 Bearer: - admin responses: '200': description: The newly-created instance rule. schema: "$ref": "#/definitions/instanceRule" '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '406': description: not acceptable '500': description: internal server error
func (*Module) RulesGETHandler ¶ added in v0.12.0
RulesGETHandler swagger:operation GET /api/v1/admin/rules adminsRuleGet
View instance rules, with IDs.
The rules will be returned in order (sorted by Order ascending).
--- tags: - admin produces: - application/json parameters: security: - OAuth2 Bearer: - admin responses: '200': description: An array with all the rules for the local instance. schema: type: array items: "$ref": "#/definitions/instanceRule" '400': description: bad request '401': description: unauthorized '404': description: not found '406': description: not acceptable '500': description: internal server error
Source Files ¶
- accountaction.go
- accountapprove.go
- accountget.go
- accountreject.go
- accountsgetv1.go
- accountsgetv2.go
- admin.go
- debug_off.go
- domainallowcreate.go
- domainallowdelete.go
- domainallowget.go
- domainallowsget.go
- domainblockcreate.go
- domainblockdelete.go
- domainblockget.go
- domainblocksget.go
- domainkeysexpire.go
- domainpermission.go
- emailtest.go
- emojicategoriesget.go
- emojicreate.go
- emojidelete.go
- emojiget.go
- emojisget.go
- emojiupdate.go
- headerfilter.go
- headerfilter_create.go
- headerfilter_delete.go
- headerfilter_get.go
- mediacleanup.go
- mediarefetch.go
- reportget.go
- reportresolve.go
- reportsget.go
- rulecreate.go
- ruledelete.go
- ruleget.go
- rulesget.go
- ruleupdate.go