admin

package
v0.18.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 22, 2025 License: AGPL-3.0 Imports: 22 Imported by: 0

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

View Source
const (
	BasePath                                 = "/v1/admin"
	EmojiPath                                = BasePath + "/custom_emojis"
	EmojiPathWithID                          = EmojiPath + "/:" + apiutil.IDKey
	EmojiCategoriesPath                      = EmojiPath + "/categories"
	DomainBlocksPath                         = BasePath + "/domain_blocks"
	DomainBlocksPathWithID                   = DomainBlocksPath + "/:" + apiutil.IDKey
	DomainAllowsPath                         = BasePath + "/domain_allows"
	DomainAllowsPathWithID                   = DomainAllowsPath + "/:" + apiutil.IDKey
	DomainPermissionDraftsPath               = BasePath + "/domain_permission_drafts"
	DomainPermissionDraftsPathWithID         = DomainPermissionDraftsPath + "/:" + apiutil.IDKey
	DomainPermissionDraftAcceptPath          = DomainPermissionDraftsPathWithID + "/accept"
	DomainPermissionDraftRemovePath          = DomainPermissionDraftsPathWithID + "/remove"
	DomainPermissionExcludesPath             = BasePath + "/domain_permission_excludes"
	DomainPermissionExcludesPathWithID       = DomainPermissionExcludesPath + "/:" + apiutil.IDKey
	DomainPermissionSubscriptionsPath        = BasePath + "/domain_permission_subscriptions"
	DomainPermissionSubscriptionsPathWithID  = DomainPermissionSubscriptionsPath + "/:" + apiutil.IDKey
	DomainPermissionSubscriptionsPreviewPath = DomainPermissionSubscriptionsPath + "/preview"
	DomainPermissionSubscriptionRemovePath   = DomainPermissionSubscriptionsPathWithID + "/remove"
	DomainPermissionSubscriptionTestPath     = DomainPermissionSubscriptionsPathWithID + "/test"
	DomainKeysExpirePath                     = BasePath + "/domain_keys_expire"
	HeaderAllowsPath                         = BasePath + "/header_allows"
	HeaderAllowsPathWithID                   = HeaderAllowsPath + "/:" + apiutil.IDKey
	HeaderBlocksPath                         = BasePath + "/header_blocks"
	HeaderBlocksPathWithID                   = HeaderBlocksPath + "/:" + apiutil.IDKey
	AccountsV1Path                           = BasePath + "/accounts"
	AccountsV2Path                           = "/v2/admin/accounts"
	AccountsPathWithID                       = AccountsV1Path + "/:" + apiutil.IDKey
	AccountsActionPath                       = AccountsPathWithID + "/action"
	AccountsApprovePath                      = AccountsPathWithID + "/approve"
	AccountsRejectPath                       = AccountsPathWithID + "/reject"
	MediaCleanupPath                         = BasePath + "/media_cleanup"
	MediaRefetchPath                         = BasePath + "/media_refetch"
	ReportsPath                              = BasePath + "/reports"
	ReportsPathWithID                        = ReportsPath + "/:" + apiutil.IDKey
	ReportsResolvePath                       = ReportsPathWithID + "/resolve"
	EmailPath                                = BasePath + "/email"
	EmailTestPath                            = EmailPath + "/test"
	InstanceRulesPath                        = BasePath + "/instance/rules"
	InstanceRulesPathWithID                  = InstanceRulesPath + "/:" + apiutil.IDKey
	DebugPath                                = BasePath + "/debug"
	DebugAPUrlPath                           = DebugPath + "/apurl"
	DebugClearCachesPath                     = DebugPath + "/caches/clear"

	FilterQueryKey        = "filter"
	MaxShortcodeDomainKey = "max_shortcode_domain"
	MinShortcodeDomainKey = "min_shortcode_domain"
	DomainQueryKey        = "domain"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Module

type Module struct {
	// contains filtered or unexported fields
}

func New

func New(state *state.State, processor *processing.Processor) *Module

func (*Module) AccountActionPOSTHandler added in v0.2.2

func (m *Module) AccountActionPOSTHandler(c *gin.Context)

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

func (m *Module) AccountApprovePOSTHandler(c *gin.Context)

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

func (m *Module) AccountGETHandler(c *gin.Context)

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

func (m *Module) AccountRejectPOSTHandler(c *gin.Context)

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 (m *Module) AccountsGETV1Handler(c *gin.Context)

func (*Module) AccountsGETV2Handler added in v0.16.0

func (m *Module) AccountsGETV2Handler(c *gin.Context)

func (*Module) DebugAPUrlHandler added in v0.13.0

func (m *Module) DebugAPUrlHandler(c *gin.Context)

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

func (m *Module) DebugClearCachesHandler(c *gin.Context)

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

func (m *Module) DomainAllowDELETEHandler(c *gin.Context)

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

func (m *Module) DomainAllowGETHandler(c *gin.Context)

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

func (m *Module) DomainAllowsGETHandler(c *gin.Context)

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

func (m *Module) DomainAllowsPOSTHandler(c *gin.Context)

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

func (m *Module) DomainBlockDELETEHandler(c *gin.Context)

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

func (m *Module) DomainBlockGETHandler(c *gin.Context)

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

func (m *Module) DomainBlocksGETHandler(c *gin.Context)

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

func (m *Module) DomainBlocksPOSTHandler(c *gin.Context)

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

func (m *Module) DomainKeysExpirePOSTHandler(c *gin.Context)

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) DomainPermissionDraftAcceptPOSTHandler added in v0.18.0

func (m *Module) DomainPermissionDraftAcceptPOSTHandler(c *gin.Context)

DomainPermissionDraftAcceptPOSTHandler swagger:operation POST /api/v1/admin/domain_permission_drafts/{id}/accept domainPermissionDraftAccept

Accept a domain permission draft, turning it into an enforced domain permission.

---
tags:
- admin

consumes:
- multipart/form-data
- application/json

produces:
- application/json

parameters:
-
	name: id
	required: true
	in: path
	description: ID of the domain permission draft.
	type: string
-
	name: overwrite
	in: formData
	description: >-
		If a domain permission already exists with the same
		domain and permission type as the draft, overwrite
		the existing permission with fields from the draft.
	type: boolean
	default: false

security:
- OAuth2 Bearer:
	- admin

responses:
	'200':
		description: The newly created domain permission.
		schema:
			"$ref": "#/definitions/domainPermission"
	'400':
		description: bad request
	'401':
		description: unauthorized
	'403':
		description: forbidden
	'406':
		description: not acceptable
	'409':
		description: conflict
	'500':
		description: internal server error

func (*Module) DomainPermissionDraftGETHandler added in v0.18.0

func (m *Module) DomainPermissionDraftGETHandler(c *gin.Context)

DomainPermissionDraftGETHandler swagger:operation GET /api/v1/admin/domain_permission_drafts/{id} domainPermissionDraftGet

Get domain permission draft with the given ID.

---
tags:
- admin

produces:
- application/json

parameters:
-
	name: id
	required: true
	in: path
	description: ID of the domain permission draft.
	type: string

security:
- OAuth2 Bearer:
	- admin

responses:
	'200':
		description: Domain permission draft.
		schema:
			"$ref": "#/definitions/domainPermission"
	'401':
		description: unauthorized
	'403':
		description: forbidden
	'404':
		description: not found
	'406':
		description: not acceptable
	'500':
		description: internal server error

func (*Module) DomainPermissionDraftRemovePOSTHandler added in v0.18.0

func (m *Module) DomainPermissionDraftRemovePOSTHandler(c *gin.Context)

DomainPermissionDraftRemovePOSTHandler swagger:operation POST /api/v1/admin/domain_permission_drafts/{id}/remove domainPermissionDraftRemove

Remove a domain permission draft, optionally ignoring all future drafts targeting the given domain.

---
tags:
- admin

consumes:
- multipart/form-data
- application/json

produces:
- application/json

parameters:
-
	name: id
	required: true
	in: path
	description: ID of the domain permission draft.
	type: string
-
	name: exclude_target
	in: formData
	description: >-
		When removing the domain permission draft, also create a
		domain exclude entry for the target domain, so that drafts
		will not be created for this domain in the future.
	type: boolean
	default: false

security:
- OAuth2 Bearer:
	- admin

responses:
	'200':
		description: The removed domain permission draft.
		schema:
			"$ref": "#/definitions/domainPermission"
	'400':
		description: bad request
	'401':
		description: unauthorized
	'403':
		description: forbidden
	'406':
		description: not acceptable
	'409':
		description: conflict
	'500':
		description: internal server error

func (*Module) DomainPermissionDraftsGETHandler added in v0.18.0

func (m *Module) DomainPermissionDraftsGETHandler(c *gin.Context)

DomainPermissionDraftsGETHandler swagger:operation GET /api/v1/admin/domain_permission_drafts domainPermissionDraftsGet

View domain permission drafts.

The drafts 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/domain_permission_drafts?limit=20&max_id=01FC0SKA48HNSVR6YKZCQGS2V8>; rel="next", <https://example.org/api/v1/admin/domain_permission_drafts?limit=20&min_id=01FC0SKW5JK2Q4EVAV2B462YY0>; rel="prev" ````

---
tags:
- admin

produces:
- application/json

parameters:
-
	name: subscription_id
	type: string
	description: Show only drafts created by the given subscription ID.
	in: query
-
	name: domain
	type: string
	description: Return only drafts that target the given domain.
	in: query
-
	name: permission_type
	type: string
	description: Filter on "block" or "allow" type drafts.
	in: query
-
	name: max_id
	type: string
	description: >-
		Return only items *OLDER* than the given max ID (for paging downwards).
		The item with the specified ID will not be included in the response.
	in: query
-
	name: since_id
	type: string
	description: >-
		Return only items *NEWER* than the given since ID.
		The item with the specified ID will not be included in the response.
	in: query
-
	name: min_id
	type: string
	description: >-
		Return only items immediately *NEWER* than the given min ID (for paging upwards).
		The item with the specified ID will not be included in the response.
	in: query
-
	name: limit
	type: integer
	description: Number of items to return.
	default: 20
	minimum: 1
	maximum: 100
	in: query

security:
- OAuth2 Bearer:
	- admin

responses:
	'200':
		description: Domain permission drafts.
		schema:
			type: array
			items:
				"$ref": "#/definitions/domainPermission"
		headers:
			Link:
				type: string
				description: Links to the next and previous queries.
	'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) DomainPermissionDraftsPOSTHandler added in v0.18.0

func (m *Module) DomainPermissionDraftsPOSTHandler(c *gin.Context)

DomainPermissionDraftsPOSTHandler swagger:operation POST /api/v1/admin/domain_permission_drafts domainPermissionDraftCreate

Create a domain permission draft with the given parameters.

---
tags:
- admin

consumes:
- multipart/form-data
- application/json

produces:
- application/json

parameters:
-
	name: domain
	in: formData
	description: Domain to create the permission draft for.
	type: string
-
	name: permission_type
	in: formData
	description: Create a draft "allow" or a draft "block".
	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`.
	type: boolean
-
	name: public_comment
	in: formData
	description: >-
		Public comment about this domain permission.
		This will be displayed alongside the domain permission if you choose to share permissions.
	type: string
-
	name: private_comment
	in: formData
	description: >-
		Private comment about this domain permission. Will only be shown to other admins, so this
		is a useful way of internally keeping track of why a certain domain ended up permissioned.
	type: string

security:
- OAuth2 Bearer:
	- admin

responses:
	'200':
		description: The newly created domain permission draft.
		schema:
			"$ref": "#/definitions/domainPermission"
	'400':
		description: bad request
	'401':
		description: unauthorized
	'403':
		description: forbidden
	'406':
		description: not acceptable
	'409':
		description: conflict
	'500':
		description: internal server error

func (*Module) DomainPermissionExcludeDELETEHandler added in v0.18.0

func (m *Module) DomainPermissionExcludeDELETEHandler(c *gin.Context)

DomainPermissionExcludeDELETEHandler swagger:operation DELETE /api/v1/admin/domain_permission_excludes/{id} domainPermissionExcludeDelete

Remove a domain permission exclude.

---
tags:
- admin

produces:
- application/json

parameters:
-
	name: id
	required: true
	in: path
	description: ID of the domain permission exclude.
	type: string

security:
- OAuth2 Bearer:
	- admin

responses:
	'200':
		description: The removed domain permission exclude.
		schema:
			"$ref": "#/definitions/domainPermission"
	'400':
		description: bad request
	'401':
		description: unauthorized
	'403':
		description: forbidden
	'406':
		description: not acceptable
	'409':
		description: conflict
	'500':
		description: internal server error

func (*Module) DomainPermissionExcludeGETHandler added in v0.18.0

func (m *Module) DomainPermissionExcludeGETHandler(c *gin.Context)

DomainPermissionExcludeGETHandler swagger:operation GET /api/v1/admin/domain_permission_excludes/{id} domainPermissionExcludeGet

Get domain permission exclude with the given ID.

---
tags:
- admin

produces:
- application/json

parameters:
-
	name: id
	required: true
	in: path
	description: ID of the domain permission exclude.
	type: string

security:
- OAuth2 Bearer:
	- admin

responses:
	'200':
		description: Domain permission exclude.
		schema:
			"$ref": "#/definitions/domainPermission"
	'401':
		description: unauthorized
	'403':
		description: forbidden
	'404':
		description: not found
	'406':
		description: not acceptable
	'500':
		description: internal server error

func (*Module) DomainPermissionExcludesGETHandler added in v0.18.0

func (m *Module) DomainPermissionExcludesGETHandler(c *gin.Context)

DomainPermissionExcludesGETHandler swagger:operation GET /api/v1/admin/domain_permission_excludes domainPermissionExcludesGet

View domain permission excludes.

The excludes 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/domain_permission_excludes?limit=20&max_id=01FC0SKA48HNSVR6YKZCQGS2V8>; rel="next", <https://example.org/api/v1/admin/domain_permission_excludes?limit=20&min_id=01FC0SKW5JK2Q4EVAV2B462YY0>; rel="prev" ````

---
tags:
- admin

produces:
- application/json

parameters:
-
	name: domain
	type: string
	description: Return only excludes that target the given domain.
	in: query
-
	name: max_id
	type: string
	description: >-
		Return only items *OLDER* than the given max ID (for paging downwards).
		The item with the specified ID will not be included in the response.
	in: query
-
	name: since_id
	type: string
	description: >-
		Return only items *NEWER* than the given since ID.
		The item with the specified ID will not be included in the response.
	in: query
-
	name: min_id
	type: string
	description: >-
		Return only items immediately *NEWER* than the given min ID (for paging upwards).
		The item with the specified ID will not be included in the response.
	in: query
-
	name: limit
	type: integer
	description: Number of items to return.
	default: 20
	minimum: 1
	maximum: 100
	in: query

security:
- OAuth2 Bearer:
	- admin

responses:
	'200':
		description: Domain permission excludes.
		schema:
			type: array
			items:
				"$ref": "#/definitions/domainPermission"
		headers:
			Link:
				type: string
				description: Links to the next and previous queries.
	'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) DomainPermissionExcludesPOSTHandler added in v0.18.0

func (m *Module) DomainPermissionExcludesPOSTHandler(c *gin.Context)

DomainPermissionExcludesPOSTHandler swagger:operation POST /api/v1/admin/domain_permission_excludes domainPermissionExcludeCreate

Create a domain permission exclude with the given parameters.

Excluded domains (and their subdomains) will not be automatically blocked or allowed when a list of domain permissions is imported or subscribed to.

You can still manually create domain blocks or domain allows for excluded domains, and any new or existing domain blocks or domain allows for an excluded domain will still be enforced.

---
tags:
- admin

consumes:
- multipart/form-data
- application/json

produces:
- application/json

parameters:
-
	name: domain
	in: formData
	description: Domain to create the permission exclude for.
	type: string
-
	name: private_comment
	in: formData
	description: >-
		Private comment about this domain exclude.
	type: string

security:
- OAuth2 Bearer:
	- admin

responses:
	'200':
		description: The newly created domain permission exclude.
		schema:
			"$ref": "#/definitions/domainPermission"
	'400':
		description: bad request
	'401':
		description: unauthorized
	'403':
		description: forbidden
	'406':
		description: not acceptable
	'409':
		description: conflict
	'500':
		description: internal server error

func (*Module) DomainPermissionSubscriptionGETHandler added in v0.18.0

func (m *Module) DomainPermissionSubscriptionGETHandler(c *gin.Context)

DomainPermissionSubscriptionGETHandler swagger:operation GET /api/v1/admin/domain_permission_subscriptions/{id} domainPermissionSubscriptionGet

Get domain permission subscription with the given ID.

---
tags:
- admin

produces:
- application/json

parameters:
-
	name: id
	required: true
	in: path
	description: ID of the domain permission subscription.
	type: string

security:
- OAuth2 Bearer:
	- admin

responses:
	'200':
		description: Domain permission subscription.
		schema:
			"$ref": "#/definitions/domainPermissionSubscription"
	'401':
		description: unauthorized
	'403':
		description: forbidden
	'404':
		description: not found
	'406':
		description: not acceptable
	'500':
		description: internal server error

func (*Module) DomainPermissionSubscriptionPATCHHandler added in v0.18.0

func (m *Module) DomainPermissionSubscriptionPATCHHandler(c *gin.Context)

DomainPermissionSubscriptionPATCHHandler swagger:operation PATCH /api/v1/admin/domain_permission_subscriptions/${id} domainPermissionSubscriptionUpdate

Update a domain permission subscription with the given parameters.

---
tags:
- admin

consumes:
- multipart/form-data
- application/json

produces:
- application/json

parameters:
-
	name: id
	required: true
	in: path
	description: ID of the domain permission subscription.
	type: string
-
	name: priority
	in: formData
	description: >-
		Priority of this subscription compared to others of the same permission type.
		0-255 (higher = higher priority). Higher priority subscriptions will overwrite
		permissions generated by lower priority subscriptions. When two subscriptions
		have the same `priority` value, priority is indeterminate, so it's recommended
		to always set this value manually.
	type: number
	minimum: 0
	maximum: 255
-
	name: title
	in: formData
	description: Optional title for this subscription.
	type: string
-
	name: uri
	in: formData
	description: URI to call in order to fetch the permissions list.
	type: string
-
	name: as_draft
	in: formData
	description: >-
		If true, domain permissions arising from this subscription will be
		created as drafts that must be approved by a moderator to take effect.
		If false, domain permissions from this subscription will come into force immediately.
		Defaults to "true".
	type: boolean
	default: true
-
	name: adopt_orphans
	in: formData
	description: >-
		If true, this domain permission subscription will "adopt" domain permissions
		which already exist on the instance, and which meet the following conditions:
		1) they have no subscription ID (ie., they're "orphaned") and 2) they are present
		in the subscribed list. Such orphaned domain permissions will be given this
		subscription's subscription ID value and be managed by this subscription.
	type: boolean
	default: false
-
	name: content_type
	in: formData
	description: >-
		MIME content type to use when parsing the permissions list.
		One of "text/plain", "text/csv", and "application/json".
	type: string
-
	name: fetch_username
	in: formData
	description: >-
		Optional basic auth username to provide when fetching given uri.
		If set, will be transmitted along with `fetch_password` when doing the fetch.
	type: string
-
	name: fetch_password
	in: formData
	description: >-
		Optional basic auth password to provide when fetching given uri.
		If set, will be transmitted along with `fetch_username` when doing the fetch.
	type: string

security:
- OAuth2 Bearer:
	- admin

responses:
	'200':
		description: The updated domain permission subscription.
		schema:
			"$ref": "#/definitions/domainPermissionSubscription"
	'400':
		description: bad request
	'401':
		description: unauthorized
	'403':
		description: forbidden
	'406':
		description: not acceptable
	'409':
		description: conflict
	'500':
		description: internal server error

func (*Module) DomainPermissionSubscriptionPOSTHandler added in v0.18.0

func (m *Module) DomainPermissionSubscriptionPOSTHandler(c *gin.Context)

DomainPermissionSubscriptionPOSTHandler swagger:operation POST /api/v1/admin/domain_permission_subscriptions domainPermissionSubscriptionCreate

Create a domain permission subscription with the given parameters.

---
tags:
- admin

consumes:
- multipart/form-data
- application/json

produces:
- application/json

parameters:
-
	name: priority
	in: formData
	description: >-
		Priority of this subscription compared to others of the same permission type.
		0-255 (higher = higher priority). Higher priority subscriptions will overwrite
		permissions generated by lower priority subscriptions. When two subscriptions
		have the same `priority` value, priority is indeterminate, so it's recommended
		to always set this value manually.
	type: number
	minimum: 0
	maximum: 255
	default: 0
-
	name: title
	in: formData
	description: Optional title for this subscription.
	type: string
-
	name: permission_type
	required: true
	in: formData
	description: >-
		Type of permissions to create by parsing the targeted file/list.
		One of "allow" or "block".
	type: string
-
	name: as_draft
	in: formData
	description: >-
		If true, domain permissions arising from this subscription will be
		created as drafts that must be approved by a moderator to take effect.
		If false, domain permissions from this subscription will come into force immediately.
		Defaults to "true".
	type: boolean
	default: true
-
	name: adopt_orphans
	in: formData
	description: >-
		If true, this domain permission subscription will "adopt" domain permissions
		which already exist on the instance, and which meet the following conditions:
		1) they have no subscription ID (ie., they're "orphaned") and 2) they are present
		in the subscribed list. Such orphaned domain permissions will be given this
		subscription's subscription ID value and be managed by this subscription.
	type: boolean
	default: false
-
	name: uri
	required: true
	in: formData
	description: URI to call in order to fetch the permissions list.
	type: string
-
	name: content_type
	required: true
	in: formData
	description: >-
		MIME content type to use when parsing the permissions list.
		One of "text/plain", "text/csv", and "application/json".
	type: string
-
	name: fetch_username
	in: formData
	description: >-
		Optional basic auth username to provide when fetching given uri.
		If set, will be transmitted along with `fetch_password` when doing the fetch.
	type: string
-
	name: fetch_password
	in: formData
	description: >-
		Optional basic auth password to provide when fetching given uri.
		If set, will be transmitted along with `fetch_username` when doing the fetch.
	type: string

security:
- OAuth2 Bearer:
	- admin

responses:
	'200':
		description: The newly created domain permission subscription.
		schema:
			"$ref": "#/definitions/domainPermissionSubscription"
	'400':
		description: bad request
	'401':
		description: unauthorized
	'403':
		description: forbidden
	'406':
		description: not acceptable
	'409':
		description: conflict
	'500':
		description: internal server error

func (*Module) DomainPermissionSubscriptionRemovePOSTHandler added in v0.18.0

func (m *Module) DomainPermissionSubscriptionRemovePOSTHandler(c *gin.Context)

DomainPermissionSubscriptionRemovePOSTHandler swagger:operation POST /api/v1/admin/domain_permission_subscriptions/{id}/remove domainPermissionSubscriptionRemove

Remove a domain permission subscription.

---
tags:
- admin

consumes:
- multipart/form-data
- application/json

produces:
- application/json

parameters:
-
	name: id
	required: true
	in: path
	description: ID of the domain permission subscription.
	type: string
-
	name: remove_children
	in: formData
	description: >-
		When removing the domain permission subscription, also
		remove children of this subscription, ie., domain permissions
		that are managed by this subscription. If false, then children
		will instead be orphaned but not removed.

		Note that removed permissions may end up being created again later
		by another domain permission subscription of lower priority than
		the removed subscription. Likewise, orphaned children may be later
		adopted by another subscription.
	type: boolean
	default: true

security:
- OAuth2 Bearer:
	- admin

responses:
	'200':
		description: The removed domain permission subscription.
		schema:
			"$ref": "#/definitions/domainPermissionSubscription"
	'400':
		description: bad request
	'401':
		description: unauthorized
	'403':
		description: forbidden
	'406':
		description: not acceptable
	'409':
		description: conflict
	'500':
		description: internal server error

func (*Module) DomainPermissionSubscriptionTestPOSTHandler added in v0.18.0

func (m *Module) DomainPermissionSubscriptionTestPOSTHandler(c *gin.Context)

DomainPermissionSubscriptionTestPOSTHandler swagger:operation POST /api/v1/admin/domain_permission_subscriptions/{id}/test domainPermissionSubscriptionTest

Test one domain permission subscription by making your instance fetch and parse it *without creating permissions*.

The response body will be a list of domain permissions that *would* be created by this subscription, OR an error message.

This is useful in cases where you want to check that your instance can actually fetch + parse a list.

---
tags:
- admin

produces:
- application/json

parameters:
-
	name: id
	required: true
	in: path
	description: ID of the domain permission draft.
	type: string

security:
- OAuth2 Bearer:
	- admin

responses:
	'200':
		description: >-
			Either an array of domain permissions, OR an error message of the form
			`{"error":"[ERROR MESSAGE HERE]"}` indicating why the list could not be fetched.
		schema:
			type: array
			items:
				"$ref": "#/definitions/domain"
	'400':
		description: bad request
	'401':
		description: unauthorized
	'403':
		description: forbidden
	'406':
		description: not acceptable
	'409':
		description: conflict
	'500':
		description: internal server error

func (*Module) DomainPermissionSubscriptionsGETHandler added in v0.18.0

func (m *Module) DomainPermissionSubscriptionsGETHandler(c *gin.Context)

DomainPermissionSubscriptionsGETHandler swagger:operation GET /api/v1/admin/domain_permission_subscriptions domainPermissionSubscriptionsGet

View domain permission subscriptions.

The subscriptions 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/domain_permission_subscriptions?limit=20&max_id=01FC0SKA48HNSVR6YKZCQGS2V8>; rel="next", <https://example.org/api/v1/admin/domain_permission_subscriptions?limit=20&min_id=01FC0SKW5JK2Q4EVAV2B462YY0>; rel="prev" ````

---
tags:
- admin

produces:
- application/json

parameters:
-
	name: permission_type
	type: string
	description: Filter on "block" or "allow" type subscriptions.
	in: query
-
	name: max_id
	type: string
	description: >-
		Return only items *OLDER* than the given max ID (for paging downwards).
		The item with the specified ID will not be included in the response.
	in: query
-
	name: since_id
	type: string
	description: >-
		Return only items *NEWER* than the given since ID.
		The item with the specified ID will not be included in the response.
	in: query
-
	name: min_id
	type: string
	description: >-
		Return only items immediately *NEWER* than the given min ID (for paging upwards).
		The item with the specified ID will not be included in the response.
	in: query
-
	name: limit
	type: integer
	description: Number of items to return.
	default: 20
	minimum: 1
	maximum: 100
	in: query

security:
- OAuth2 Bearer:
	- admin

responses:
	'200':
		description: Domain permission subscriptions.
		schema:
			type: array
			items:
				"$ref": "#/definitions/domainPermissionSubscription"
		headers:
			Link:
				type: string
				description: Links to the next and previous queries.
	'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) DomainPermissionSubscriptionsPreviewGETHandler added in v0.18.0

func (m *Module) DomainPermissionSubscriptionsPreviewGETHandler(c *gin.Context)

DomainPermissionSubscriptionsPreviewGETHandler swagger:operation GET /api/v1/admin/domain_permission_subscriptions/preview domainPermissionSubscriptionsPreviewGet

View all domain permission subscriptions of the given permission type, in priority order (highest to lowest).

This view allows you to see the order in which domain permissions will actually be fetched and created.

---
tags:
- admin

produces:
- application/json

parameters:
-
	name: permission_type
	type: string
	description: Filter on "block" or "allow" type subscriptions.
	in: query
	required: true

security:
- OAuth2 Bearer:
	- admin

responses:
	'200':
		description: Domain permission subscriptions.
		schema:
			type: array
			items:
				"$ref": "#/definitions/domainPermissionSubscription"
	'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) EmailTestPOSTHandler added in v0.8.0

func (m *Module) EmailTestPOSTHandler(c *gin.Context)

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

func (m *Module) EmojiCategoriesGETHandler(c *gin.Context)

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

func (m *Module) EmojiCreatePOSTHandler(c *gin.Context)

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{1,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

func (m *Module) EmojiDELETEHandler(c *gin.Context)

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

func (m *Module) EmojiGETHandler(c *gin.Context)

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

func (m *Module) EmojiPATCHHandler(c *gin.Context)

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{1,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

func (m *Module) EmojisGETHandler(c *gin.Context)

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
	minimum: 0
	maximum: 200
	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

func (m *Module) HeaderFilterAllowDELETE(c *gin.Context)

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

func (m *Module) HeaderFilterAllowGET(c *gin.Context)

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

func (m *Module) HeaderFilterAllowPOST(c *gin.Context)

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

func (m *Module) HeaderFilterAllowsGET(c *gin.Context)

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

func (m *Module) HeaderFilterBlockDELETE(c *gin.Context)

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

func (m *Module) HeaderFilterBlockGET(c *gin.Context)

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

func (m *Module) HeaderFilterBlockPOST(c *gin.Context)

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

func (m *Module) HeaderFilterBlocksGET(c *gin.Context)

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

func (m *Module) MediaCleanupPOSTHandler(c *gin.Context)

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

func (m *Module) MediaRefetchPOSTHandler(c *gin.Context)

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

func (m *Module) ReportGETHandler(c *gin.Context)

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

func (m *Module) ReportResolvePOSTHandler(c *gin.Context)

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

func (m *Module) ReportsGETHandler(c *gin.Context)

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 (for paging downwards).
		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.
	in: query
-
	name: min_id
	type: string
	description: >-
		Return only reports immediately *NEWER* than the given min ID (for paging upwards).
		The report with the specified ID will not be included in the response.
	in: query
-
	name: limit
	type: integer
	description: Number of reports to return.
	default: 20
	minimum: 1
	maximum: 100
	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) Route

func (m *Module) Route(attachHandler func(method string, path string, f ...gin.HandlerFunc) gin.IRoutes)

func (*Module) RuleDELETEHandler added in v0.12.0

func (m *Module) RuleDELETEHandler(c *gin.Context)

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

func (m *Module) RuleGETHandler(c *gin.Context)

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

func (m *Module) RulePATCHHandler(c *gin.Context)

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

func (m *Module) RulePOSTHandler(c *gin.Context)

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

func (m *Module) RulesGETHandler(c *gin.Context)

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL