mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-31 09:52:26 -05:00 
			
		
		
		
	* add default avatars * allow webModule to error * return errWithCode from account get * add AccountGetLocalByUsername * check nil requesting account * add timestampShort function for just month/year * move loading logic to New + add default avatars * add profile page view * update swagger docs * add excludeReblogs to GetAccountStatuses * ignore casing when selecting local account by username * appropriate redirects * css fiddling * add 'about' heading * adjust thread page to work with routing * return AP representation if requested + authorized * simplify auth check * go fmt * golangci-lint ignore math/rand
		
			
				
	
	
		
			3901 lines
		
	
	
	
		
			122 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			3901 lines
		
	
	
	
		
			122 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| basePath: /
 | |
| definitions:
 | |
|   FileHeader:
 | |
|     properties:
 | |
|       Filename:
 | |
|         type: string
 | |
|       Header:
 | |
|         $ref: '#/definitions/MIMEHeader'
 | |
|       Size:
 | |
|         format: int64
 | |
|         type: integer
 | |
|     title: A FileHeader describes a file part of a multipart request.
 | |
|     type: object
 | |
|     x-go-package: mime/multipart
 | |
|   Link:
 | |
|     description: See https://webfinger.net/
 | |
|     properties:
 | |
|       href:
 | |
|         type: string
 | |
|         x-go-name: Href
 | |
|       rel:
 | |
|         type: string
 | |
|         x-go-name: Rel
 | |
|       template:
 | |
|         type: string
 | |
|         x-go-name: Template
 | |
|       type:
 | |
|         type: string
 | |
|         x-go-name: Type
 | |
|     title: Link represents one 'link' in a slice of links returned from a lookup request.
 | |
|     type: object
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   MIMEHeader:
 | |
|     additionalProperties:
 | |
|       items:
 | |
|         type: string
 | |
|       type: array
 | |
|     description: |-
 | |
|       A MIMEHeader represents a MIME-style header mapping
 | |
|       keys to sets of values.
 | |
|     type: object
 | |
|     x-go-package: net/textproto
 | |
|   Mention:
 | |
|     properties:
 | |
|       acct:
 | |
|         description: |-
 | |
|           The account URI as discovered via webfinger.
 | |
|           Equal to username for local users, or username@domain for remote users.
 | |
|         example: some_user@example.org
 | |
|         type: string
 | |
|         x-go-name: Acct
 | |
|       id:
 | |
|         description: The ID of the mentioned account.
 | |
|         example: 01FBYJHQWQZAVWFRK9PDYTKGMB
 | |
|         type: string
 | |
|         x-go-name: ID
 | |
|       url:
 | |
|         description: The web URL of the mentioned account's profile.
 | |
|         example: https://example.org/@some_user
 | |
|         type: string
 | |
|         x-go-name: URL
 | |
|       username:
 | |
|         description: The username of the mentioned account.
 | |
|         example: some_user
 | |
|         type: string
 | |
|         x-go-name: Username
 | |
|     title: Mention represents a mention of another account.
 | |
|     type: object
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   NodeInfoServices:
 | |
|     properties:
 | |
|       inbound:
 | |
|         items:
 | |
|           type: string
 | |
|         type: array
 | |
|         x-go-name: Inbound
 | |
|       outbound:
 | |
|         items:
 | |
|           type: string
 | |
|         type: array
 | |
|         x-go-name: Outbound
 | |
|     title: NodeInfoServices represents inbound and outbound services that this node
 | |
|       offers connections to.
 | |
|     type: object
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   NodeInfoSoftware:
 | |
|     properties:
 | |
|       name:
 | |
|         example: gotosocial
 | |
|         type: string
 | |
|         x-go-name: Name
 | |
|       version:
 | |
|         example: 0.1.2 1234567
 | |
|         type: string
 | |
|         x-go-name: Version
 | |
|     title: NodeInfoSoftware represents the name and version number of the software
 | |
|       of this node.
 | |
|     type: object
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   NodeInfoUsage:
 | |
|     properties:
 | |
|       users:
 | |
|         $ref: '#/definitions/NodeInfoUsers'
 | |
|     title: NodeInfoUsage represents usage information about this server, such as number
 | |
|       of users.
 | |
|     type: object
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   NodeInfoUsers:
 | |
|     title: NodeInfoUsers is a stub for usage information, currently empty.
 | |
|     type: object
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   Source:
 | |
|     description: Returned as an additional entity when verifying and updated credentials,
 | |
|       as an attribute of Account.
 | |
|     properties:
 | |
|       fields:
 | |
|         description: Metadata about the account.
 | |
|         items:
 | |
|           $ref: '#/definitions/field'
 | |
|         type: array
 | |
|         x-go-name: Fields
 | |
|       follow_requests_count:
 | |
|         description: The number of pending follow requests.
 | |
|         format: int64
 | |
|         type: integer
 | |
|         x-go-name: FollowRequestsCount
 | |
|       language:
 | |
|         description: The default posting language for new statuses.
 | |
|         type: string
 | |
|         x-go-name: Language
 | |
|       note:
 | |
|         description: Profile bio.
 | |
|         type: string
 | |
|         x-go-name: Note
 | |
|       privacy:
 | |
|         $ref: '#/definitions/statusVisibility'
 | |
|       sensitive:
 | |
|         description: Whether new statuses should be marked sensitive by default.
 | |
|         type: boolean
 | |
|         x-go-name: Sensitive
 | |
|     title: Source represents display or publishing preferences of user's own account.
 | |
|     type: object
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   StatusCreateRequest:
 | |
|     properties:
 | |
|       format:
 | |
|         $ref: '#/definitions/statusFormat'
 | |
|       in_reply_to_id:
 | |
|         description: |-
 | |
|           ID of the status being replied to, if status is a reply.
 | |
|           in: formData
 | |
|         type: string
 | |
|         x-go-name: InReplyToID
 | |
|       language:
 | |
|         description: |-
 | |
|           ISO 639 language code for this status.
 | |
|           in: formData
 | |
|         type: string
 | |
|         x-go-name: Language
 | |
|       media_ids:
 | |
|         description: |-
 | |
|           Array of Attachment ids to be attached as media.
 | |
|           If provided, status becomes optional, and poll cannot be used.
 | |
|           in: formData
 | |
|         items:
 | |
|           type: string
 | |
|         type: array
 | |
|         x-go-name: MediaIDs
 | |
|       scheduled_at:
 | |
|         description: |-
 | |
|           ISO 8601 Datetime at which to schedule a status.
 | |
|           Providing this paramter will cause ScheduledStatus to be returned instead of Status.
 | |
|           Must be at least 5 minutes in the future.
 | |
|           in: formData
 | |
|         type: string
 | |
|         x-go-name: ScheduledAt
 | |
|       sensitive:
 | |
|         description: |-
 | |
|           Status and attached media should be marked as sensitive.
 | |
|           in: formData
 | |
|         type: boolean
 | |
|         x-go-name: Sensitive
 | |
|       spoiler_text:
 | |
|         description: |-
 | |
|           Text to be shown as a warning or subject before the actual content.
 | |
|           Statuses are generally collapsed behind this field.
 | |
|           in: formData
 | |
|         type: string
 | |
|         x-go-name: SpoilerText
 | |
|       status:
 | |
|         description: |-
 | |
|           Text content of the status.
 | |
|           If media_ids is provided, this becomes optional.
 | |
|           Attaching a poll is optional while status is provided.
 | |
|           in: formData
 | |
|         type: string
 | |
|         x-go-name: Status
 | |
|       visibility:
 | |
|         $ref: '#/definitions/statusVisibility'
 | |
|     title: StatusCreateRequest models status creation parameters.
 | |
|     type: object
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   account:
 | |
|     description: The modelled account can be either a remote account, or one on this
 | |
|       instance.
 | |
|     properties:
 | |
|       acct:
 | |
|         description: |-
 | |
|           The account URI as discovered via webfinger.
 | |
|           Equal to username for local users, or username@domain for remote users.
 | |
|         example: some_user@example.org
 | |
|         type: string
 | |
|         x-go-name: Acct
 | |
|       avatar:
 | |
|         description: Web location of the account's avatar.
 | |
|         example: https://example.org/media/some_user/avatar/original/avatar.jpeg
 | |
|         type: string
 | |
|         x-go-name: Avatar
 | |
|       avatar_static:
 | |
|         description: |-
 | |
|           Web location of a static version of the account's avatar.
 | |
|           Only relevant when the account's main avatar is a video or a gif.
 | |
|         example: https://example.org/media/some_user/avatar/static/avatar.png
 | |
|         type: string
 | |
|         x-go-name: AvatarStatic
 | |
|       bot:
 | |
|         description: Account identifies as a bot.
 | |
|         type: boolean
 | |
|         x-go-name: Bot
 | |
|       created_at:
 | |
|         description: When the account was created (ISO 8601 Datetime).
 | |
|         example: "2021-07-30T09:20:25+00:00"
 | |
|         type: string
 | |
|         x-go-name: CreatedAt
 | |
|       discoverable:
 | |
|         description: Account has opted into discovery features.
 | |
|         type: boolean
 | |
|         x-go-name: Discoverable
 | |
|       display_name:
 | |
|         description: The account's display name.
 | |
|         example: big jeff (he/him)
 | |
|         type: string
 | |
|         x-go-name: DisplayName
 | |
|       emojis:
 | |
|         description: Array of custom emojis used in this account's note or display
 | |
|           name.
 | |
|         items:
 | |
|           $ref: '#/definitions/emoji'
 | |
|         type: array
 | |
|         x-go-name: Emojis
 | |
|       fields:
 | |
|         description: Additional metadata attached to this account's profile.
 | |
|         items:
 | |
|           $ref: '#/definitions/field'
 | |
|         type: array
 | |
|         x-go-name: Fields
 | |
|       followers_count:
 | |
|         description: Number of accounts following this account, according to our instance.
 | |
|         format: int64
 | |
|         type: integer
 | |
|         x-go-name: FollowersCount
 | |
|       following_count:
 | |
|         description: Number of account's followed by this account, according to our
 | |
|           instance.
 | |
|         format: int64
 | |
|         type: integer
 | |
|         x-go-name: FollowingCount
 | |
|       header:
 | |
|         description: Web location of the account's header image.
 | |
|         example: https://example.org/media/some_user/header/original/header.jpeg
 | |
|         type: string
 | |
|         x-go-name: Header
 | |
|       header_static:
 | |
|         description: |-
 | |
|           Web location of a static version of the account's header.
 | |
|           Only relevant when the account's main header is a video or a gif.
 | |
|         example: https://example.org/media/some_user/header/static/header.png
 | |
|         type: string
 | |
|         x-go-name: HeaderStatic
 | |
|       id:
 | |
|         description: The account id.
 | |
|         example: 01FBVD42CQ3ZEEVMW180SBX03B
 | |
|         type: string
 | |
|         x-go-name: ID
 | |
|       last_status_at:
 | |
|         description: When the account's most recent status was posted (ISO 8601 Datetime).
 | |
|         example: "2021-07-30T09:20:25+00:00"
 | |
|         type: string
 | |
|         x-go-name: LastStatusAt
 | |
|       locked:
 | |
|         description: Account manually approves follow requests.
 | |
|         type: boolean
 | |
|         x-go-name: Locked
 | |
|       mute_expires_at:
 | |
|         description: If this account has been muted, when will the mute expire (ISO
 | |
|           8601 Datetime).
 | |
|         example: "2021-07-30T09:20:25+00:00"
 | |
|         type: string
 | |
|         x-go-name: MuteExpiresAt
 | |
|       note:
 | |
|         description: Bio/description of this account.
 | |
|         type: string
 | |
|         x-go-name: Note
 | |
|       source:
 | |
|         $ref: '#/definitions/Source'
 | |
|       statuses_count:
 | |
|         description: Number of statuses posted by this account, according to our instance.
 | |
|         format: int64
 | |
|         type: integer
 | |
|         x-go-name: StatusesCount
 | |
|       suspended:
 | |
|         description: Account has been suspended by our instance.
 | |
|         type: boolean
 | |
|         x-go-name: Suspended
 | |
|       url:
 | |
|         description: Web location of the account's profile page.
 | |
|         example: https://example.org/@some_user
 | |
|         type: string
 | |
|         x-go-name: URL
 | |
|       username:
 | |
|         description: The username of the account, not including domain.
 | |
|         example: some_user
 | |
|         type: string
 | |
|         x-go-name: Username
 | |
|     title: Account models a fediverse account.
 | |
|     type: object
 | |
|     x-go-name: Account
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   accountRelationship:
 | |
|     properties:
 | |
|       blocked_by:
 | |
|         description: This account is blocking you.
 | |
|         type: boolean
 | |
|         x-go-name: BlockedBy
 | |
|       blocking:
 | |
|         description: You are blocking this account.
 | |
|         type: boolean
 | |
|         x-go-name: Blocking
 | |
|       domain_blocking:
 | |
|         description: You are blocking this account's domain.
 | |
|         type: boolean
 | |
|         x-go-name: DomainBlocking
 | |
|       endorsed:
 | |
|         description: You are featuring this account on your profile.
 | |
|         type: boolean
 | |
|         x-go-name: Endorsed
 | |
|       followed_by:
 | |
|         description: This account follows you.
 | |
|         type: boolean
 | |
|         x-go-name: FollowedBy
 | |
|       following:
 | |
|         description: You are following this account.
 | |
|         type: boolean
 | |
|         x-go-name: Following
 | |
|       id:
 | |
|         description: The account id.
 | |
|         example: 01FBW9XGEP7G6K88VY4S9MPE1R
 | |
|         type: string
 | |
|         x-go-name: ID
 | |
|       muting:
 | |
|         description: You are muting this account.
 | |
|         type: boolean
 | |
|         x-go-name: Muting
 | |
|       muting_notifications:
 | |
|         description: You are muting notifications from this account.
 | |
|         type: boolean
 | |
|         x-go-name: MutingNotifications
 | |
|       note:
 | |
|         description: Your note on this account.
 | |
|         type: string
 | |
|         x-go-name: Note
 | |
|       notifying:
 | |
|         description: You are seeing notifications when this account posts.
 | |
|         type: boolean
 | |
|         x-go-name: Notifying
 | |
|       requested:
 | |
|         description: You have requested to follow this account, and the request is
 | |
|           pending.
 | |
|         type: boolean
 | |
|         x-go-name: Requested
 | |
|       showing_reblogs:
 | |
|         description: You are seeing reblogs/boosts from this account in your home
 | |
|           timeline.
 | |
|         type: boolean
 | |
|         x-go-name: ShowingReblogs
 | |
|     title: Relationship represents a relationship between accounts.
 | |
|     type: object
 | |
|     x-go-name: Relationship
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   advancedStatusCreateForm:
 | |
|     description: |-
 | |
|       AdvancedStatusCreateForm wraps the mastodon-compatible status create form along with the GTS advanced
 | |
|       visibility settings.
 | |
|     properties:
 | |
|       boostable:
 | |
|         description: This status can be boosted/reblogged.
 | |
|         type: boolean
 | |
|         x-go-name: Boostable
 | |
|       federated:
 | |
|         description: This status will be federated beyond the local timeline(s).
 | |
|         type: boolean
 | |
|         x-go-name: Federated
 | |
|       format:
 | |
|         $ref: '#/definitions/statusFormat'
 | |
|       in_reply_to_id:
 | |
|         description: |-
 | |
|           ID of the status being replied to, if status is a reply.
 | |
|           in: formData
 | |
|         type: string
 | |
|         x-go-name: InReplyToID
 | |
|       language:
 | |
|         description: |-
 | |
|           ISO 639 language code for this status.
 | |
|           in: formData
 | |
|         type: string
 | |
|         x-go-name: Language
 | |
|       likeable:
 | |
|         description: This status can be liked/faved.
 | |
|         type: boolean
 | |
|         x-go-name: Likeable
 | |
|       media_ids:
 | |
|         description: |-
 | |
|           Array of Attachment ids to be attached as media.
 | |
|           If provided, status becomes optional, and poll cannot be used.
 | |
|           in: formData
 | |
|         items:
 | |
|           type: string
 | |
|         type: array
 | |
|         x-go-name: MediaIDs
 | |
|       replyable:
 | |
|         description: This status can be replied to.
 | |
|         type: boolean
 | |
|         x-go-name: Replyable
 | |
|       scheduled_at:
 | |
|         description: |-
 | |
|           ISO 8601 Datetime at which to schedule a status.
 | |
|           Providing this paramter will cause ScheduledStatus to be returned instead of Status.
 | |
|           Must be at least 5 minutes in the future.
 | |
|           in: formData
 | |
|         type: string
 | |
|         x-go-name: ScheduledAt
 | |
|       sensitive:
 | |
|         description: |-
 | |
|           Status and attached media should be marked as sensitive.
 | |
|           in: formData
 | |
|         type: boolean
 | |
|         x-go-name: Sensitive
 | |
|       spoiler_text:
 | |
|         description: |-
 | |
|           Text to be shown as a warning or subject before the actual content.
 | |
|           Statuses are generally collapsed behind this field.
 | |
|           in: formData
 | |
|         type: string
 | |
|         x-go-name: SpoilerText
 | |
|       status:
 | |
|         description: |-
 | |
|           Text content of the status.
 | |
|           If media_ids is provided, this becomes optional.
 | |
|           Attaching a poll is optional while status is provided.
 | |
|           in: formData
 | |
|         type: string
 | |
|         x-go-name: Status
 | |
|       visibility:
 | |
|         $ref: '#/definitions/statusVisibility'
 | |
|     type: object
 | |
|     x-go-name: AdvancedStatusCreateForm
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   advancedVisibilityFlagsForm:
 | |
|     description: |-
 | |
|       AdvancedVisibilityFlagsForm allows a few more advanced flags to be set on new statuses, in addition
 | |
|       to the standard mastodon-compatible ones.
 | |
|     properties:
 | |
|       boostable:
 | |
|         description: This status can be boosted/reblogged.
 | |
|         type: boolean
 | |
|         x-go-name: Boostable
 | |
|       federated:
 | |
|         description: This status will be federated beyond the local timeline(s).
 | |
|         type: boolean
 | |
|         x-go-name: Federated
 | |
|       likeable:
 | |
|         description: This status can be liked/faved.
 | |
|         type: boolean
 | |
|         x-go-name: Likeable
 | |
|       replyable:
 | |
|         description: This status can be replied to.
 | |
|         type: boolean
 | |
|         x-go-name: Replyable
 | |
|     type: object
 | |
|     x-go-name: AdvancedVisibilityFlagsForm
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   announcement:
 | |
|     properties:
 | |
|       all_day:
 | |
|         description: Announcement doesn't have begin time and end time, but begin
 | |
|           day and end day.
 | |
|         type: boolean
 | |
|         x-go-name: AllDay
 | |
|       content:
 | |
|         description: |-
 | |
|           The body of the announcement.
 | |
|           Should be HTML formatted.
 | |
|         example: <p>This is an announcement. No malarky.</p>
 | |
|         type: string
 | |
|         x-go-name: Content
 | |
|       emoji:
 | |
|         description: Emojis used in this announcement.
 | |
|         items:
 | |
|           $ref: '#/definitions/emoji'
 | |
|         type: array
 | |
|         x-go-name: Emojis
 | |
|       ends_at:
 | |
|         description: |-
 | |
|           When the announcement should stop being displayed (ISO 8601 Datetime).
 | |
|           If the announcement has no end time, this will be omitted or empty.
 | |
|         example: "2021-07-30T09:20:25+00:00"
 | |
|         type: string
 | |
|         x-go-name: EndsAt
 | |
|       id:
 | |
|         description: The ID of the announcement.
 | |
|         example: 01FC30T7X4TNCZK0TH90QYF3M4
 | |
|         type: string
 | |
|         x-go-name: ID
 | |
|       mentions:
 | |
|         description: Mentions this announcement contains.
 | |
|         items:
 | |
|           $ref: '#/definitions/Mention'
 | |
|         type: array
 | |
|         x-go-name: Mentions
 | |
|       published:
 | |
|         description: |-
 | |
|           Announcement is 'published', ie., visible to users.
 | |
|           Announcements that are not published should be shown only to admins.
 | |
|         type: boolean
 | |
|         x-go-name: Published
 | |
|       published_at:
 | |
|         description: When the announcement was first published (ISO 8601 Datetime).
 | |
|         example: "2021-07-30T09:20:25+00:00"
 | |
|         type: string
 | |
|         x-go-name: PublishedAt
 | |
|       reactions:
 | |
|         description: Reactions to this announcement.
 | |
|         items:
 | |
|           $ref: '#/definitions/announcementReaction'
 | |
|         type: array
 | |
|         x-go-name: Reactions
 | |
|       read:
 | |
|         description: Requesting account has seen this announcement.
 | |
|         type: boolean
 | |
|         x-go-name: Read
 | |
|       starts_at:
 | |
|         description: |-
 | |
|           When the announcement should begin to be displayed (ISO 8601 Datetime).
 | |
|           If the announcement has no start time, this will be omitted or empty.
 | |
|         example: "2021-07-30T09:20:25+00:00"
 | |
|         type: string
 | |
|         x-go-name: StartsAt
 | |
|       statuses:
 | |
|         description: Statuses contained in this announcement.
 | |
|         items:
 | |
|           $ref: '#/definitions/status'
 | |
|         type: array
 | |
|         x-go-name: Statuses
 | |
|       tags:
 | |
|         description: Tags used in this announcement.
 | |
|         items:
 | |
|           $ref: '#/definitions/tag'
 | |
|         type: array
 | |
|         x-go-name: Tags
 | |
|       updated_at:
 | |
|         description: When the announcement was last updated (ISO 8601 Datetime).
 | |
|         example: "2021-07-30T09:20:25+00:00"
 | |
|         type: string
 | |
|         x-go-name: UpdatedAt
 | |
|     title: Announcement models an admin announcement for the instance.
 | |
|     type: object
 | |
|     x-go-name: Announcement
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   announcementReaction:
 | |
|     properties:
 | |
|       count:
 | |
|         description: The total number of users who have added this reaction.
 | |
|         example: 5
 | |
|         format: int64
 | |
|         type: integer
 | |
|         x-go-name: Count
 | |
|       me:
 | |
|         description: This reaction belongs to the account viewing it.
 | |
|         type: boolean
 | |
|         x-go-name: Me
 | |
|       name:
 | |
|         description: The emoji used for the reaction. Either a unicode emoji, or a
 | |
|           custom emoji's shortcode.
 | |
|         example: blobcat_uwu
 | |
|         type: string
 | |
|         x-go-name: Name
 | |
|       static_url:
 | |
|         description: |-
 | |
|           Web link to a non-animated image of the custom emoji.
 | |
|           Empty for unicode emojis.
 | |
|         example: https://example.org/custom_emojis/statuc/blobcat_uwu.png
 | |
|         type: string
 | |
|         x-go-name: StaticURL
 | |
|       url:
 | |
|         description: |-
 | |
|           Web link to the image of the custom emoji.
 | |
|           Empty for unicode emojis.
 | |
|         example: https://example.org/custom_emojis/original/blobcat_uwu.png
 | |
|         type: string
 | |
|         x-go-name: URL
 | |
|     title: AnnouncementReaction models a user reaction to an announcement.
 | |
|     type: object
 | |
|     x-go-name: AnnouncementReaction
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   application:
 | |
|     properties:
 | |
|       client_id:
 | |
|         description: Client ID associated with this application.
 | |
|         type: string
 | |
|         x-go-name: ClientID
 | |
|       client_secret:
 | |
|         description: Client secret associated with this application.
 | |
|         type: string
 | |
|         x-go-name: ClientSecret
 | |
|       id:
 | |
|         description: The ID of the application.
 | |
|         example: 01FBVD42CQ3ZEEVMW180SBX03B
 | |
|         type: string
 | |
|         x-go-name: ID
 | |
|       name:
 | |
|         description: The name of the application.
 | |
|         example: Tusky
 | |
|         type: string
 | |
|         x-go-name: Name
 | |
|       redirect_uri:
 | |
|         description: Post-authorization redirect URI for the application (OAuth2).
 | |
|         example: https://example.org/callback?some=query
 | |
|         type: string
 | |
|         x-go-name: RedirectURI
 | |
|       vapid_key:
 | |
|         description: Push API key for this application.
 | |
|         type: string
 | |
|         x-go-name: VapidKey
 | |
|       website:
 | |
|         description: The website associated with the application (url)
 | |
|         example: https://tusky.app
 | |
|         type: string
 | |
|         x-go-name: Website
 | |
|     title: Application models an api application.
 | |
|     type: object
 | |
|     x-go-name: Application
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   attachment:
 | |
|     properties:
 | |
|       blurhash:
 | |
|         description: |-
 | |
|           A hash computed by the BlurHash algorithm, for generating colorful preview thumbnails when media has not been downloaded yet.
 | |
|           See https://github.com/woltapp/blurhash
 | |
|         type: string
 | |
|         x-go-name: Blurhash
 | |
|       description:
 | |
|         description: Alt text that describes what is in the media attachment.
 | |
|         example: This is a picture of a kitten.
 | |
|         type: string
 | |
|         x-go-name: Description
 | |
|       id:
 | |
|         description: The ID of the attachment.
 | |
|         example: 01FC31DZT1AYWDZ8XTCRWRBYRK
 | |
|         type: string
 | |
|         x-go-name: ID
 | |
|       meta:
 | |
|         $ref: '#/definitions/mediaMeta'
 | |
|       preview_remote_url:
 | |
|         description: |-
 | |
|           The location of a scaled-down preview of the attachment on the remote server.
 | |
|           Only defined for instances other than our own.
 | |
|         example: https://some-other-server.org/attachments/small/ahhhhh.jpeg
 | |
|         type: string
 | |
|         x-go-name: PreviewRemoteURL
 | |
|       preview_url:
 | |
|         description: The location of a scaled-down preview of the attachment.
 | |
|         example: https://example.org/fileserver/some_id/attachments/some_id/small/attachment.jpeg
 | |
|         type: string
 | |
|         x-go-name: PreviewURL
 | |
|       remote_url:
 | |
|         description: |-
 | |
|           The location of the full-size original attachment on the remote server.
 | |
|           Only defined for instances other than our own.
 | |
|         example: https://some-other-server.org/attachments/original/ahhhhh.jpeg
 | |
|         type: string
 | |
|         x-go-name: RemoteURL
 | |
|       text_url:
 | |
|         description: |-
 | |
|           A shorter URL for the attachment.
 | |
|           Not currently used.
 | |
|         type: string
 | |
|         x-go-name: TextURL
 | |
|       type:
 | |
|         description: The type of the attachment.
 | |
|         example: image
 | |
|         type: string
 | |
|         x-go-name: Type
 | |
|       url:
 | |
|         description: The location of the original full-size attachment.
 | |
|         example: https://example.org/fileserver/some_id/attachments/some_id/original/attachment.jpeg
 | |
|         type: string
 | |
|         x-go-name: URL
 | |
|     title: Attachment models a media attachment.
 | |
|     type: object
 | |
|     x-go-name: Attachment
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   card:
 | |
|     properties:
 | |
|       author_name:
 | |
|         description: The author of the original resource.
 | |
|         example: weewee@buzzfeed.com
 | |
|         type: string
 | |
|         x-go-name: AuthorName
 | |
|       author_url:
 | |
|         description: A link to the author of the original resource.
 | |
|         example: https://buzzfeed.com/authors/weewee
 | |
|         type: string
 | |
|         x-go-name: AuthorURL
 | |
|       blurhash:
 | |
|         description: A hash computed by the BlurHash algorithm, for generating colorful
 | |
|           preview thumbnails when media has not been downloaded yet.
 | |
|         type: string
 | |
|         x-go-name: Blurhash
 | |
|       description:
 | |
|         description: Description of preview.
 | |
|         example: Is water wet? We're not sure. In this article, we ask an expert...
 | |
|         type: string
 | |
|         x-go-name: Description
 | |
|       embed_url:
 | |
|         description: Used for photo embeds, instead of custom html.
 | |
|         type: string
 | |
|         x-go-name: EmbedURL
 | |
|       height:
 | |
|         description: Height of preview, in pixels.
 | |
|         format: int64
 | |
|         type: integer
 | |
|         x-go-name: Height
 | |
|       html:
 | |
|         description: HTML to be used for generating the preview card.
 | |
|         type: string
 | |
|         x-go-name: HTML
 | |
|       image:
 | |
|         description: Preview thumbnail.
 | |
|         example: https://example.org/fileserver/preview/thumb.jpg
 | |
|         type: string
 | |
|         x-go-name: Image
 | |
|       provider_name:
 | |
|         description: The provider of the original resource.
 | |
|         example: Buzzfeed
 | |
|         type: string
 | |
|         x-go-name: ProviderName
 | |
|       provider_url:
 | |
|         description: A link to the provider of the original resource.
 | |
|         example: https://buzzfeed.com
 | |
|         type: string
 | |
|         x-go-name: ProviderURL
 | |
|       title:
 | |
|         description: Title of linked resource.
 | |
|         example: Buzzfeed - Is Water Wet?
 | |
|         type: string
 | |
|         x-go-name: Title
 | |
|       type:
 | |
|         description: The type of the preview card.
 | |
|         example: link
 | |
|         type: string
 | |
|         x-go-name: Type
 | |
|       url:
 | |
|         description: Location of linked resource.
 | |
|         example: https://buzzfeed.com/some/fuckin/buzzfeed/article
 | |
|         type: string
 | |
|         x-go-name: URL
 | |
|       width:
 | |
|         description: Width of preview, in pixels.
 | |
|         format: int64
 | |
|         type: integer
 | |
|         x-go-name: Width
 | |
|     title: Card represents a rich preview card that is generated using OpenGraph tags
 | |
|       from a URL.
 | |
|     type: object
 | |
|     x-go-name: Card
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   domainBlock:
 | |
|     description: DomainBlock represents a block on one domain
 | |
|     properties:
 | |
|       created_at:
 | |
|         description: Time at which this block was created (ISO 8601 Datetime).
 | |
|         example: "2021-07-30T09:20:25+00:00"
 | |
|         type: string
 | |
|         x-go-name: CreatedAt
 | |
|       created_by:
 | |
|         description: ID of the account that created this domain block.
 | |
|         example: 01FBW2758ZB6PBR200YPDDJK4C
 | |
|         type: string
 | |
|         x-go-name: CreatedBy
 | |
|       domain:
 | |
|         description: The hostname of the blocked domain.
 | |
|         example: example.org
 | |
|         type: string
 | |
|         x-go-name: Domain
 | |
|       id:
 | |
|         description: The ID of the domain block.
 | |
|         example: 01FBW21XJA09XYX51KV5JVBW0F
 | |
|         readOnly: true
 | |
|         type: string
 | |
|         x-go-name: ID
 | |
|       obfuscate:
 | |
|         description: |-
 | |
|           Obfuscate the domain name when serving this domain block publicly.
 | |
|           A useful anti-harassment tool.
 | |
|         example: false
 | |
|         type: boolean
 | |
|         x-go-name: Obfuscate
 | |
|       private_comment:
 | |
|         description: Private comment for this block, visible to our instance admins
 | |
|           only.
 | |
|         example: they are poopoo
 | |
|         type: string
 | |
|         x-go-name: PrivateComment
 | |
|       public_comment:
 | |
|         description: Public comment for this block, visible if domain blocks are served
 | |
|           publicly.
 | |
|         example: they smell
 | |
|         type: string
 | |
|         x-go-name: PublicComment
 | |
|       subscription_id:
 | |
|         description: The ID of the subscription that created/caused this domain block.
 | |
|         example: 01FBW25TF5J67JW3HFHZCSD23K
 | |
|         type: string
 | |
|         x-go-name: SubscriptionID
 | |
|     type: object
 | |
|     x-go-name: DomainBlock
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   domainBlockCreateRequest:
 | |
|     properties:
 | |
|       domain:
 | |
|         description: hostname/domain to block
 | |
|         type: string
 | |
|         x-go-name: Domain
 | |
|       domains:
 | |
|         $ref: '#/definitions/FileHeader'
 | |
|       obfuscate:
 | |
|         description: whether the domain should be obfuscated when being displayed
 | |
|           publicly
 | |
|         type: boolean
 | |
|         x-go-name: Obfuscate
 | |
|       private_comment:
 | |
|         description: private comment for other admins on why the domain was blocked
 | |
|         type: string
 | |
|         x-go-name: PrivateComment
 | |
|       public_comment:
 | |
|         description: public comment on the reason for the domain block
 | |
|         type: string
 | |
|         x-go-name: PublicComment
 | |
|     title: DomainBlockCreateRequest is the form submitted as a POST to /api/v1/admin/domain_blocks
 | |
|       to create a new block.
 | |
|     type: object
 | |
|     x-go-name: DomainBlockCreateRequest
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   emoji:
 | |
|     properties:
 | |
|       category:
 | |
|         description: Used for sorting custom emoji in the picker.
 | |
|         example: blobcats
 | |
|         type: string
 | |
|         x-go-name: Category
 | |
|       shortcode:
 | |
|         description: The name of the custom emoji.
 | |
|         example: blobcat_uwu
 | |
|         type: string
 | |
|         x-go-name: Shortcode
 | |
|       static_url:
 | |
|         description: A link to a static copy of the custom emoji.
 | |
|         example: https://example.org/fileserver/emojis/blogcat_uwu.png
 | |
|         type: string
 | |
|         x-go-name: StaticURL
 | |
|       url:
 | |
|         description: Web URL of the custom emoji.
 | |
|         example: https://example.org/fileserver/emojis/blogcat_uwu.gif
 | |
|         type: string
 | |
|         x-go-name: URL
 | |
|       visible_in_picker:
 | |
|         description: Emoji is visible in the emoji picker of the instance.
 | |
|         example: true
 | |
|         type: boolean
 | |
|         x-go-name: VisibleInPicker
 | |
|     title: Emoji represents a custom emoji.
 | |
|     type: object
 | |
|     x-go-name: Emoji
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   emojiCreateRequest:
 | |
|     properties:
 | |
|       Image:
 | |
|         $ref: '#/definitions/FileHeader'
 | |
|       Shortcode:
 | |
|         description: Desired shortcode for the emoji, without surrounding colons.
 | |
|           This must be unique for the domain.
 | |
|         example: blobcat_uwu
 | |
|         type: string
 | |
|     title: EmojiCreateRequest represents a request to create a custom emoji made through
 | |
|       the admin API.
 | |
|     type: object
 | |
|     x-go-name: EmojiCreateRequest
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   field:
 | |
|     properties:
 | |
|       name:
 | |
|         description: The key/name of this field.
 | |
|         example: pronouns
 | |
|         type: string
 | |
|         x-go-name: Name
 | |
|       value:
 | |
|         description: The value of this field.
 | |
|         example: they/them
 | |
|         type: string
 | |
|         x-go-name: Value
 | |
|       verified_at:
 | |
|         description: If this field has been verified, when did this occur? (ISO 8601
 | |
|           Datetime).
 | |
|         example: "2021-07-30T09:20:25+00:00"
 | |
|         type: string
 | |
|         x-go-name: VerifiedAt
 | |
|     title: Field represents a name/value pair to display on an account's profile.
 | |
|     type: object
 | |
|     x-go-name: Field
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   instance:
 | |
|     properties:
 | |
|       approval_required:
 | |
|         description: New account registrations require admin approval.
 | |
|         type: boolean
 | |
|         x-go-name: ApprovalRequired
 | |
|       contact_account:
 | |
|         $ref: '#/definitions/account'
 | |
|       description:
 | |
|         description: |-
 | |
|           Description of the instance.
 | |
| 
 | |
|           Should be HTML formatted, but might be plaintext.
 | |
| 
 | |
|           This should be displayed on the 'about' page for an instance.
 | |
|         type: string
 | |
|         x-go-name: Description
 | |
|       email:
 | |
|         description: An email address that may be used for inquiries.
 | |
|         example: admin@example.org
 | |
|         type: string
 | |
|         x-go-name: Email
 | |
|       invites_enabled:
 | |
|         description: Invites are enabled on this instance.
 | |
|         type: boolean
 | |
|         x-go-name: InvitesEnabled
 | |
|       languages:
 | |
|         description: Primary language of the instance.
 | |
|         example: en
 | |
|         items:
 | |
|           type: string
 | |
|         type: array
 | |
|         x-go-name: Languages
 | |
|       max_toot_chars:
 | |
|         description: |-
 | |
|           Maximum allowed length of a post on this instance, in characters.
 | |
| 
 | |
|           This is provided for compatibility with Tusky and other apps.
 | |
|         example: 5000
 | |
|         format: uint64
 | |
|         type: integer
 | |
|         x-go-name: MaxTootChars
 | |
|       registrations:
 | |
|         description: New account registrations are enabled on this instance.
 | |
|         type: boolean
 | |
|         x-go-name: Registrations
 | |
|       short_description:
 | |
|         description: |-
 | |
|           A shorter description of the instance.
 | |
| 
 | |
|           Should be HTML formatted, but might be plaintext.
 | |
| 
 | |
|           This should be displayed on the instance splash/landing page.
 | |
|         type: string
 | |
|         x-go-name: ShortDescription
 | |
|       stats:
 | |
|         additionalProperties:
 | |
|           format: int64
 | |
|           type: integer
 | |
|         description: 'Statistics about the instance: number of posts, accounts, etc.'
 | |
|         type: object
 | |
|         x-go-name: Stats
 | |
|       thumbnail:
 | |
|         description: URL of the instance avatar/banner image.
 | |
|         example: https://example.org/files/instance/thumbnail.jpeg
 | |
|         type: string
 | |
|         x-go-name: Thumbnail
 | |
|       title:
 | |
|         description: The title of the instance.
 | |
|         example: GoToSocial Example Instance
 | |
|         type: string
 | |
|         x-go-name: Title
 | |
|       uri:
 | |
|         description: The URI of the instance.
 | |
|         example: https://example.org
 | |
|         type: string
 | |
|         x-go-name: URI
 | |
|       urls:
 | |
|         $ref: '#/definitions/instanceURLs'
 | |
|       version:
 | |
|         description: |-
 | |
|           The version of GoToSocial installed on the instance.
 | |
| 
 | |
|           This will contain at least a semantic version number.
 | |
| 
 | |
|           It may also contain, after a space, the short git commit ID of the running software.
 | |
|         example: 0.1.1 cb85f65
 | |
|         type: string
 | |
|         x-go-name: Version
 | |
|     title: Instance models information about this or another instance.
 | |
|     type: object
 | |
|     x-go-name: Instance
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   instanceURLs:
 | |
|     properties:
 | |
|       streaming_api:
 | |
|         description: Websockets address for status and notification streaming.
 | |
|         example: wss://example.org
 | |
|         type: string
 | |
|         x-go-name: StreamingAPI
 | |
|     title: InstanceURLs models instance-relevant URLs for client application consumption.
 | |
|     type: object
 | |
|     x-go-name: InstanceURLs
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   mediaDimensions:
 | |
|     properties:
 | |
|       aspect:
 | |
|         description: |-
 | |
|           Aspect ratio of the media.
 | |
|           Equal to width / height.
 | |
|         example: 1.777777778
 | |
|         format: float
 | |
|         type: number
 | |
|         x-go-name: Aspect
 | |
|       bitrate:
 | |
|         description: Bitrate of the media in bits per second.
 | |
|         example: 1000000
 | |
|         format: int64
 | |
|         type: integer
 | |
|         x-go-name: Bitrate
 | |
|       duration:
 | |
|         description: |-
 | |
|           Duration of the media in seconds.
 | |
|           Only set for video and audio.
 | |
|         example: 5.43
 | |
|         format: float
 | |
|         type: number
 | |
|         x-go-name: Duration
 | |
|       frame_rate:
 | |
|         description: |-
 | |
|           Framerate of the media.
 | |
|           Only set for video and gifs.
 | |
|         example: "30"
 | |
|         type: string
 | |
|         x-go-name: FrameRate
 | |
|       height:
 | |
|         description: |-
 | |
|           Height of the media in pixels.
 | |
|           Not set for audio.
 | |
|         example: 1080
 | |
|         format: int64
 | |
|         type: integer
 | |
|         x-go-name: Height
 | |
|       size:
 | |
|         description: |-
 | |
|           Size of the media, in the format `[width]x[height]`.
 | |
|           Not set for audio.
 | |
|         example: 1920x1080
 | |
|         type: string
 | |
|         x-go-name: Size
 | |
|       width:
 | |
|         description: |-
 | |
|           Width of the media in pixels.
 | |
|           Not set for audio.
 | |
|         example: 1920
 | |
|         format: int64
 | |
|         type: integer
 | |
|         x-go-name: Width
 | |
|     title: MediaDimensions models detailed properties of a piece of media.
 | |
|     type: object
 | |
|     x-go-name: MediaDimensions
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   mediaFocus:
 | |
|     properties:
 | |
|       x:
 | |
|         description: |-
 | |
|           x position of the focus
 | |
|           should be between -1 and 1
 | |
|         format: float
 | |
|         type: number
 | |
|         x-go-name: X
 | |
|       "y":
 | |
|         description: |-
 | |
|           y position of the focus
 | |
|           should be between -1 and 1
 | |
|         format: float
 | |
|         type: number
 | |
|         x-go-name: "Y"
 | |
|     title: MediaFocus models the focal point of a piece of media.
 | |
|     type: object
 | |
|     x-go-name: MediaFocus
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   mediaMeta:
 | |
|     description: This can be metadata about an image, an audio file, video, etc.
 | |
|     properties:
 | |
|       aspect:
 | |
|         description: |-
 | |
|           Aspect ratio of the media.
 | |
|           Equal to width / height.
 | |
|         example: 1.777777778
 | |
|         format: float
 | |
|         type: number
 | |
|         x-go-name: Aspect
 | |
|       audio_bitrate:
 | |
|         type: string
 | |
|         x-go-name: AudioBitrate
 | |
|       audio_channels:
 | |
|         type: string
 | |
|         x-go-name: AudioChannels
 | |
|       audio_encode:
 | |
|         type: string
 | |
|         x-go-name: AudioEncode
 | |
|       duration:
 | |
|         description: |-
 | |
|           Duration of the media in seconds.
 | |
|           Only set for video and audio.
 | |
|         example: 5.43
 | |
|         format: float
 | |
|         type: number
 | |
|         x-go-name: Duration
 | |
|       focus:
 | |
|         $ref: '#/definitions/mediaFocus'
 | |
|       fps:
 | |
|         description: |-
 | |
|           Framerate of the media.
 | |
|           Only set for video and gifs.
 | |
|         example: 30
 | |
|         format: uint16
 | |
|         type: integer
 | |
|         x-go-name: FPS
 | |
|       height:
 | |
|         description: |-
 | |
|           Height of the media in pixels.
 | |
|           Not set for audio.
 | |
|         example: 1080
 | |
|         format: int64
 | |
|         type: integer
 | |
|         x-go-name: Height
 | |
|       length:
 | |
|         type: string
 | |
|         x-go-name: Length
 | |
|       original:
 | |
|         $ref: '#/definitions/mediaDimensions'
 | |
|       size:
 | |
|         description: |-
 | |
|           Size of the media, in the format `[width]x[height]`.
 | |
|           Not set for audio.
 | |
|         example: 1920x1080
 | |
|         type: string
 | |
|         x-go-name: Size
 | |
|       small:
 | |
|         $ref: '#/definitions/mediaDimensions'
 | |
|       width:
 | |
|         description: |-
 | |
|           Width of the media in pixels.
 | |
|           Not set for audio.
 | |
|         example: 1920
 | |
|         format: int64
 | |
|         type: integer
 | |
|         x-go-name: Width
 | |
|     title: MediaMeta models media metadata.
 | |
|     type: object
 | |
|     x-go-name: MediaMeta
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   nodeinfo:
 | |
|     description: 'See: https://nodeinfo.diaspora.software/schema.html'
 | |
|     properties:
 | |
|       metadata:
 | |
|         additionalProperties:
 | |
|           type: object
 | |
|         description: Free form key value pairs for software specific values. Clients
 | |
|           should not rely on any specific key present.
 | |
|         type: object
 | |
|         x-go-name: Metadata
 | |
|       openRegistrations:
 | |
|         description: Whether this server allows open self-registration.
 | |
|         example: false
 | |
|         type: boolean
 | |
|         x-go-name: OpenRegistrations
 | |
|       protocols:
 | |
|         description: The protocols supported on this server.
 | |
|         items:
 | |
|           type: string
 | |
|         type: array
 | |
|         x-go-name: Protocols
 | |
|       services:
 | |
|         $ref: '#/definitions/NodeInfoServices'
 | |
|       software:
 | |
|         $ref: '#/definitions/NodeInfoSoftware'
 | |
|       usage:
 | |
|         $ref: '#/definitions/NodeInfoUsage'
 | |
|       version:
 | |
|         description: The schema version
 | |
|         example: "2.0"
 | |
|         type: string
 | |
|         x-go-name: Version
 | |
|     title: Nodeinfo represents a version 2.1 or version 2.0 nodeinfo schema.
 | |
|     type: object
 | |
|     x-go-name: Nodeinfo
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   oauthToken:
 | |
|     properties:
 | |
|       access_token:
 | |
|         description: Access token used for authorization.
 | |
|         type: string
 | |
|         x-go-name: AccessToken
 | |
|       created_at:
 | |
|         description: When the OAuth token was generated (UNIX timestamp seconds).
 | |
|         example: 1627644520
 | |
|         format: int64
 | |
|         type: integer
 | |
|         x-go-name: CreatedAt
 | |
|       scope:
 | |
|         description: OAuth scopes granted by this token, space-separated.
 | |
|         example: read write admin
 | |
|         type: string
 | |
|         x-go-name: Scope
 | |
|       token_type:
 | |
|         description: OAuth token type. Will always be 'Bearer'.
 | |
|         example: bearer
 | |
|         type: string
 | |
|         x-go-name: TokenType
 | |
|     title: Token represents an OAuth token used for authenticating with the GoToSocial
 | |
|       API and performing actions.
 | |
|     type: object
 | |
|     x-go-name: Token
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   poll:
 | |
|     properties:
 | |
|       emojis:
 | |
|         description: Custom emoji to be used for rendering poll options.
 | |
|         items:
 | |
|           $ref: '#/definitions/emoji'
 | |
|         type: array
 | |
|         x-go-name: Emojis
 | |
|       expired:
 | |
|         description: Is the poll currently expired?
 | |
|         type: boolean
 | |
|         x-go-name: Expired
 | |
|       expires_at:
 | |
|         description: When the poll ends. (ISO 8601 Datetime), or null if the poll
 | |
|           does not end
 | |
|         type: string
 | |
|         x-go-name: ExpiresAt
 | |
|       id:
 | |
|         description: The ID of the poll in the database.
 | |
|         example: 01FBYKMD1KBMJ0W6JF1YZ3VY5D
 | |
|         type: string
 | |
|         x-go-name: ID
 | |
|       multiple:
 | |
|         description: Does the poll allow multiple-choice answers?
 | |
|         type: boolean
 | |
|         x-go-name: Multiple
 | |
|       options:
 | |
|         description: Possible answers for the poll.
 | |
|         items:
 | |
|           $ref: '#/definitions/pollOptions'
 | |
|         type: array
 | |
|         x-go-name: Options
 | |
|       own_votes:
 | |
|         description: When called with a user token, which options has the authorized
 | |
|           user chosen? Contains an array of index values for options.
 | |
|         items:
 | |
|           format: int64
 | |
|           type: integer
 | |
|         type: array
 | |
|         x-go-name: OwnVotes
 | |
|       voted:
 | |
|         description: When called with a user token, has the authorized user voted?
 | |
|         type: boolean
 | |
|         x-go-name: Voted
 | |
|       voters_count:
 | |
|         description: How many unique accounts have voted on a multiple-choice poll.
 | |
|           Null if multiple is false.
 | |
|         format: int64
 | |
|         type: integer
 | |
|         x-go-name: VotersCount
 | |
|       votes_count:
 | |
|         description: How many votes have been received.
 | |
|         format: int64
 | |
|         type: integer
 | |
|         x-go-name: VotesCount
 | |
|     title: Poll represents a poll attached to a status.
 | |
|     type: object
 | |
|     x-go-name: Poll
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   pollOptions:
 | |
|     properties:
 | |
|       title:
 | |
|         description: The text value of the poll option. String.
 | |
|         type: string
 | |
|         x-go-name: Title
 | |
|       votes_count:
 | |
|         description: |-
 | |
|           The number of received votes for this option.
 | |
|           Number, or null if results are not published yet.
 | |
|         format: int64
 | |
|         type: integer
 | |
|         x-go-name: VotesCount
 | |
|     title: PollOptions represents the current vote counts for different poll options.
 | |
|     type: object
 | |
|     x-go-name: PollOptions
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   searchResult:
 | |
|     properties:
 | |
|       accounts:
 | |
|         items:
 | |
|           $ref: '#/definitions/account'
 | |
|         type: array
 | |
|         x-go-name: Accounts
 | |
|       hashtags:
 | |
|         items:
 | |
|           $ref: '#/definitions/tag'
 | |
|         type: array
 | |
|         x-go-name: Hashtags
 | |
|       statuses:
 | |
|         items:
 | |
|           $ref: '#/definitions/status'
 | |
|         type: array
 | |
|         x-go-name: Statuses
 | |
|     title: SearchResult models a search result.
 | |
|     type: object
 | |
|     x-go-name: SearchResult
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   status:
 | |
|     properties:
 | |
|       account:
 | |
|         $ref: '#/definitions/account'
 | |
|       application:
 | |
|         $ref: '#/definitions/application'
 | |
|       bookmarked:
 | |
|         description: This status has been bookmarked by the account viewing it.
 | |
|         type: boolean
 | |
|         x-go-name: Bookmarked
 | |
|       card:
 | |
|         $ref: '#/definitions/card'
 | |
|       content:
 | |
|         description: The content of this status. Should be HTML, but might also be
 | |
|           plaintext in some cases.
 | |
|         example: <p>Hey this is a status!</p>
 | |
|         type: string
 | |
|         x-go-name: Content
 | |
|       created_at:
 | |
|         description: The date when this status was created (ISO 8601 Datetime).
 | |
|         example: "2021-07-30T09:20:25+00:00"
 | |
|         type: string
 | |
|         x-go-name: CreatedAt
 | |
|       emojis:
 | |
|         description: Custom emoji to be used when rendering status content.
 | |
|         items:
 | |
|           $ref: '#/definitions/emoji'
 | |
|         type: array
 | |
|         x-go-name: Emojis
 | |
|       favourited:
 | |
|         description: This status has been favourited by the account viewing it.
 | |
|         type: boolean
 | |
|         x-go-name: Favourited
 | |
|       favourites_count:
 | |
|         description: Number of favourites/likes this status has received, according
 | |
|           to our instance.
 | |
|         format: int64
 | |
|         type: integer
 | |
|         x-go-name: FavouritesCount
 | |
|       id:
 | |
|         description: ID of the status.
 | |
|         example: 01FBVD42CQ3ZEEVMW180SBX03B
 | |
|         type: string
 | |
|         x-go-name: ID
 | |
|       in_reply_to_account_id:
 | |
|         description: ID of the account being replied to.
 | |
|         example: 01FBVD42CQ3ZEEVMW180SBX03B
 | |
|         type: string
 | |
|         x-go-name: InReplyToAccountID
 | |
|       in_reply_to_id:
 | |
|         description: ID of the status being replied to.
 | |
|         example: 01FBVD42CQ3ZEEVMW180SBX03B
 | |
|         type: string
 | |
|         x-go-name: InReplyToID
 | |
|       language:
 | |
|         description: Primary language of this status (ISO 639 Part 1 two-letter language
 | |
|           code).
 | |
|         example: en
 | |
|         type: string
 | |
|         x-go-name: Language
 | |
|       media_attachments:
 | |
|         description: Media that is attached to this status.
 | |
|         items:
 | |
|           $ref: '#/definitions/attachment'
 | |
|         type: array
 | |
|         x-go-name: MediaAttachments
 | |
|       mentions:
 | |
|         description: Mentions of users within the status content.
 | |
|         items:
 | |
|           $ref: '#/definitions/Mention'
 | |
|         type: array
 | |
|         x-go-name: Mentions
 | |
|       muted:
 | |
|         description: Replies to this status have been muted by the account viewing
 | |
|           it.
 | |
|         type: boolean
 | |
|         x-go-name: Muted
 | |
|       pinned:
 | |
|         description: This status has been pinned by the account viewing it (only relevant
 | |
|           for your own statuses).
 | |
|         type: boolean
 | |
|         x-go-name: Pinned
 | |
|       poll:
 | |
|         $ref: '#/definitions/poll'
 | |
|       reblog:
 | |
|         $ref: '#/definitions/statusReblogged'
 | |
|       reblogged:
 | |
|         description: This status has been boosted/reblogged by the account viewing
 | |
|           it.
 | |
|         type: boolean
 | |
|         x-go-name: Reblogged
 | |
|       reblogs_count:
 | |
|         description: Number of times this status has been boosted/reblogged, according
 | |
|           to our instance.
 | |
|         format: int64
 | |
|         type: integer
 | |
|         x-go-name: ReblogsCount
 | |
|       replies_count:
 | |
|         description: Number of replies to this status, according to our instance.
 | |
|         format: int64
 | |
|         type: integer
 | |
|         x-go-name: RepliesCount
 | |
|       sensitive:
 | |
|         description: Status contains sensitive content.
 | |
|         example: false
 | |
|         type: boolean
 | |
|         x-go-name: Sensitive
 | |
|       spoiler_text:
 | |
|         description: Subject, summary, or content warning for the status.
 | |
|         example: warning nsfw
 | |
|         type: string
 | |
|         x-go-name: SpoilerText
 | |
|       tags:
 | |
|         description: Hashtags used within the status content.
 | |
|         items:
 | |
|           $ref: '#/definitions/tag'
 | |
|         type: array
 | |
|         x-go-name: Tags
 | |
|       text:
 | |
|         description: |-
 | |
|           Plain-text source of a status. Returned instead of content when status is deleted,
 | |
|           so the user may redraft from the source text without the client having to reverse-engineer
 | |
|           the original text from the HTML content.
 | |
|         type: string
 | |
|         x-go-name: Text
 | |
|       uri:
 | |
|         description: ActivityPub URI of the status. Equivalent to the status's activitypub
 | |
|           ID.
 | |
|         example: https://example.org/users/some_user/statuses/01FBVD42CQ3ZEEVMW180SBX03B
 | |
|         type: string
 | |
|         x-go-name: URI
 | |
|       url:
 | |
|         description: The status's publicly available web URL. This link will only
 | |
|           work if the visibility of the status is 'public'.
 | |
|         example: https://example.org/@some_user/statuses/01FBVD42CQ3ZEEVMW180SBX03B
 | |
|         type: string
 | |
|         x-go-name: URL
 | |
|       visibility:
 | |
|         $ref: '#/definitions/statusVisibility'
 | |
|     title: Status models a status or post.
 | |
|     type: object
 | |
|     x-go-name: Status
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   statusContext:
 | |
|     properties:
 | |
|       ancestors:
 | |
|         description: Parents in the thread.
 | |
|         items:
 | |
|           $ref: '#/definitions/status'
 | |
|         type: array
 | |
|         x-go-name: Ancestors
 | |
|       descendants:
 | |
|         description: Children in the thread.
 | |
|         items:
 | |
|           $ref: '#/definitions/status'
 | |
|         type: array
 | |
|         x-go-name: Descendants
 | |
|     title: Context models the tree around a given status.
 | |
|     type: object
 | |
|     x-go-name: Context
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   statusFormat:
 | |
|     description: Can be either plain or markdown. Empty will default to plain.
 | |
|     title: StatusFormat is the format in which to parse the submitted status.
 | |
|     type: string
 | |
|     x-go-name: StatusFormat
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   statusReblogged:
 | |
|     properties:
 | |
|       account:
 | |
|         $ref: '#/definitions/account'
 | |
|       application:
 | |
|         $ref: '#/definitions/application'
 | |
|       bookmarked:
 | |
|         description: This status has been bookmarked by the account viewing it.
 | |
|         type: boolean
 | |
|         x-go-name: Bookmarked
 | |
|       card:
 | |
|         $ref: '#/definitions/card'
 | |
|       content:
 | |
|         description: The content of this status. Should be HTML, but might also be
 | |
|           plaintext in some cases.
 | |
|         example: <p>Hey this is a status!</p>
 | |
|         type: string
 | |
|         x-go-name: Content
 | |
|       created_at:
 | |
|         description: The date when this status was created (ISO 8601 Datetime).
 | |
|         example: "2021-07-30T09:20:25+00:00"
 | |
|         type: string
 | |
|         x-go-name: CreatedAt
 | |
|       emojis:
 | |
|         description: Custom emoji to be used when rendering status content.
 | |
|         items:
 | |
|           $ref: '#/definitions/emoji'
 | |
|         type: array
 | |
|         x-go-name: Emojis
 | |
|       favourited:
 | |
|         description: This status has been favourited by the account viewing it.
 | |
|         type: boolean
 | |
|         x-go-name: Favourited
 | |
|       favourites_count:
 | |
|         description: Number of favourites/likes this status has received, according
 | |
|           to our instance.
 | |
|         format: int64
 | |
|         type: integer
 | |
|         x-go-name: FavouritesCount
 | |
|       id:
 | |
|         description: ID of the status.
 | |
|         example: 01FBVD42CQ3ZEEVMW180SBX03B
 | |
|         type: string
 | |
|         x-go-name: ID
 | |
|       in_reply_to_account_id:
 | |
|         description: ID of the account being replied to.
 | |
|         example: 01FBVD42CQ3ZEEVMW180SBX03B
 | |
|         type: string
 | |
|         x-go-name: InReplyToAccountID
 | |
|       in_reply_to_id:
 | |
|         description: ID of the status being replied to.
 | |
|         example: 01FBVD42CQ3ZEEVMW180SBX03B
 | |
|         type: string
 | |
|         x-go-name: InReplyToID
 | |
|       language:
 | |
|         description: Primary language of this status (ISO 639 Part 1 two-letter language
 | |
|           code).
 | |
|         example: en
 | |
|         type: string
 | |
|         x-go-name: Language
 | |
|       media_attachments:
 | |
|         description: Media that is attached to this status.
 | |
|         items:
 | |
|           $ref: '#/definitions/attachment'
 | |
|         type: array
 | |
|         x-go-name: MediaAttachments
 | |
|       mentions:
 | |
|         description: Mentions of users within the status content.
 | |
|         items:
 | |
|           $ref: '#/definitions/Mention'
 | |
|         type: array
 | |
|         x-go-name: Mentions
 | |
|       muted:
 | |
|         description: Replies to this status have been muted by the account viewing
 | |
|           it.
 | |
|         type: boolean
 | |
|         x-go-name: Muted
 | |
|       pinned:
 | |
|         description: This status has been pinned by the account viewing it (only relevant
 | |
|           for your own statuses).
 | |
|         type: boolean
 | |
|         x-go-name: Pinned
 | |
|       poll:
 | |
|         $ref: '#/definitions/poll'
 | |
|       reblog:
 | |
|         $ref: '#/definitions/statusReblogged'
 | |
|       reblogged:
 | |
|         description: This status has been boosted/reblogged by the account viewing
 | |
|           it.
 | |
|         type: boolean
 | |
|         x-go-name: Reblogged
 | |
|       reblogs_count:
 | |
|         description: Number of times this status has been boosted/reblogged, according
 | |
|           to our instance.
 | |
|         format: int64
 | |
|         type: integer
 | |
|         x-go-name: ReblogsCount
 | |
|       replies_count:
 | |
|         description: Number of replies to this status, according to our instance.
 | |
|         format: int64
 | |
|         type: integer
 | |
|         x-go-name: RepliesCount
 | |
|       sensitive:
 | |
|         description: Status contains sensitive content.
 | |
|         example: false
 | |
|         type: boolean
 | |
|         x-go-name: Sensitive
 | |
|       spoiler_text:
 | |
|         description: Subject, summary, or content warning for the status.
 | |
|         example: warning nsfw
 | |
|         type: string
 | |
|         x-go-name: SpoilerText
 | |
|       tags:
 | |
|         description: Hashtags used within the status content.
 | |
|         items:
 | |
|           $ref: '#/definitions/tag'
 | |
|         type: array
 | |
|         x-go-name: Tags
 | |
|       text:
 | |
|         description: |-
 | |
|           Plain-text source of a status. Returned instead of content when status is deleted,
 | |
|           so the user may redraft from the source text without the client having to reverse-engineer
 | |
|           the original text from the HTML content.
 | |
|         type: string
 | |
|         x-go-name: Text
 | |
|       uri:
 | |
|         description: ActivityPub URI of the status. Equivalent to the status's activitypub
 | |
|           ID.
 | |
|         example: https://example.org/users/some_user/statuses/01FBVD42CQ3ZEEVMW180SBX03B
 | |
|         type: string
 | |
|         x-go-name: URI
 | |
|       url:
 | |
|         description: The status's publicly available web URL. This link will only
 | |
|           work if the visibility of the status is 'public'.
 | |
|         example: https://example.org/@some_user/statuses/01FBVD42CQ3ZEEVMW180SBX03B
 | |
|         type: string
 | |
|         x-go-name: URL
 | |
|       visibility:
 | |
|         $ref: '#/definitions/statusVisibility'
 | |
|     title: StatusReblogged represents a reblogged status.
 | |
|     type: object
 | |
|     x-go-name: StatusReblogged
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   statusVisibility:
 | |
|     title: Visibility models the visibility of a status.
 | |
|     type: string
 | |
|     x-go-name: Visibility
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   swaggerCollection:
 | |
|     properties:
 | |
|       '@context':
 | |
|         description: ActivityStreams context.
 | |
|         example: https://www.w3.org/ns/activitystreams
 | |
|         type: string
 | |
|         x-go-name: Context
 | |
|       first:
 | |
|         $ref: '#/definitions/swaggerCollectionPage'
 | |
|       id:
 | |
|         description: ActivityStreams ID.
 | |
|         example: https://example.org/users/some_user/statuses/106717595988259568/replies
 | |
|         type: string
 | |
|         x-go-name: ID
 | |
|       last:
 | |
|         $ref: '#/definitions/swaggerCollectionPage'
 | |
|       type:
 | |
|         description: ActivityStreams type.
 | |
|         example: Collection
 | |
|         type: string
 | |
|         x-go-name: Type
 | |
|     title: SwaggerCollection represents an activitypub collection.
 | |
|     type: object
 | |
|     x-go-name: SwaggerCollection
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/s2s/user
 | |
|   swaggerCollectionPage:
 | |
|     properties:
 | |
|       id:
 | |
|         description: ActivityStreams ID.
 | |
|         example: https://example.org/users/some_user/statuses/106717595988259568/replies?page=true
 | |
|         type: string
 | |
|         x-go-name: ID
 | |
|       items:
 | |
|         description: Items on this page.
 | |
|         example:
 | |
|         - https://example.org/users/some_other_user/statuses/086417595981111564
 | |
|         - https://another.example.com/users/another_user/statuses/01FCN8XDV3YG7B4R42QA6YQZ9R
 | |
|         items:
 | |
|           type: string
 | |
|         type: array
 | |
|         x-go-name: Items
 | |
|       next:
 | |
|         description: Link to the next page.
 | |
|         example: https://example.org/users/some_user/statuses/106717595988259568/replies?only_other_accounts=true&page=true
 | |
|         type: string
 | |
|         x-go-name: Next
 | |
|       partOf:
 | |
|         description: Collection this page belongs to.
 | |
|         example: https://example.org/users/some_user/statuses/106717595988259568/replies
 | |
|         type: string
 | |
|         x-go-name: PartOf
 | |
|       type:
 | |
|         description: ActivityStreams type.
 | |
|         example: CollectionPage
 | |
|         type: string
 | |
|         x-go-name: Type
 | |
|     title: SwaggerCollectionPage represents one page of a collection.
 | |
|     type: object
 | |
|     x-go-name: SwaggerCollectionPage
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/s2s/user
 | |
|   tag:
 | |
|     properties:
 | |
|       name:
 | |
|         description: 'The value of the hashtag after the # sign.'
 | |
|         example: helloworld
 | |
|         type: string
 | |
|         x-go-name: Name
 | |
|       url:
 | |
|         description: Web link to the hashtag.
 | |
|         example: https://example.org/tags/helloworld
 | |
|         type: string
 | |
|         x-go-name: URL
 | |
|     title: Tag represents a hashtag used within the content of a status.
 | |
|     type: object
 | |
|     x-go-name: Tag
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   updateField:
 | |
|     description: By default, max 4 fields and 255 characters per property/value.
 | |
|     properties:
 | |
|       name:
 | |
|         description: Name of the field
 | |
|         type: string
 | |
|         x-go-name: Name
 | |
|       value:
 | |
|         description: Value of the field
 | |
|         type: string
 | |
|         x-go-name: Value
 | |
|     title: UpdateField is to be used specifically in an UpdateCredentialsRequest.
 | |
|     type: object
 | |
|     x-go-name: UpdateField
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   updateSource:
 | |
|     properties:
 | |
|       language:
 | |
|         description: Default language to use for authored statuses. (ISO 6391)
 | |
|         type: string
 | |
|         x-go-name: Language
 | |
|       privacy:
 | |
|         description: Default post privacy for authored statuses.
 | |
|         type: string
 | |
|         x-go-name: Privacy
 | |
|       sensitive:
 | |
|         description: Mark authored statuses as sensitive by default.
 | |
|         type: boolean
 | |
|         x-go-name: Sensitive
 | |
|     title: UpdateSource is to be used specifically in an UpdateCredentialsRequest.
 | |
|     type: object
 | |
|     x-go-name: UpdateSource
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
|   wellKnownResponse:
 | |
|     description: See https://webfinger.net/
 | |
|     properties:
 | |
|       aliases:
 | |
|         items:
 | |
|           type: string
 | |
|         type: array
 | |
|         x-go-name: Aliases
 | |
|       links:
 | |
|         items:
 | |
|           $ref: '#/definitions/Link'
 | |
|         type: array
 | |
|         x-go-name: Links
 | |
|       subject:
 | |
|         type: string
 | |
|         x-go-name: Subject
 | |
|     title: |-
 | |
|       WellKnownResponse represents the response to either a webfinger request for an 'acct' resource, or a request to nodeinfo.
 | |
|       For example, it would be returned from https://example.org/.well-known/webfinger?resource=acct:some_username@example.org
 | |
|     type: object
 | |
|     x-go-name: WellKnownResponse
 | |
|     x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
 | |
| host: example.org
 | |
| info:
 | |
|   contact:
 | |
|     email: admin@gotosocial.org
 | |
|     name: GoToSocial Authors
 | |
|   description: GoToSocial Swagger documentation.
 | |
|   license:
 | |
|     name: AGPL3
 | |
|     url: https://www.gnu.org/licenses/agpl-3.0.en.html
 | |
|   title: GoToSocial
 | |
|   version: REPLACE_ME
 | |
| paths:
 | |
|   /.well-known/nodeinfo:
 | |
|     get:
 | |
|       description: |-
 | |
|         eg. `{"links":[{"rel":"http://nodeinfo.diaspora.software/ns/schema/2.0","href":"http://example.org/nodeinfo/2.0"}]}`
 | |
|         See: https://nodeinfo.diaspora.software/protocol.html
 | |
|       operationId: nodeInfoWellKnownGet
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: ""
 | |
|           schema:
 | |
|             $ref: '#/definitions/wellKnownResponse'
 | |
|       summary: Directs callers to /nodeinfo/2.0.
 | |
|       tags:
 | |
|       - nodeinfo
 | |
|   /.well-known/webfinger:
 | |
|     get:
 | |
|       description: |-
 | |
|         For example, a GET to `https://goblin.technology/.well-known/webfinger?resource=acct:tobi@goblin.technology` would return:
 | |
| 
 | |
|         ```
 | |
|         {"subject":"acct:tobi@goblin.technology","aliases":["https://goblin.technology/users/tobi","https://goblin.technology/@tobi"],"links":[{"rel":"http://webfinger.net/rel/profile-page","type":"text/html","href":"https://goblin.technology/@tobi"},{"rel":"self","type":"application/activity+json","href":"https://goblin.technology/users/tobi"}]}
 | |
|         ```
 | |
| 
 | |
|         See: https://webfinger.net/
 | |
|       operationId: webfingerGet
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: ""
 | |
|           schema:
 | |
|             $ref: '#/definitions/wellKnownResponse'
 | |
|       summary: Handles webfinger account lookup requests.
 | |
|       tags:
 | |
|       - webfinger
 | |
|   /api/v1/accounts:
 | |
|     post:
 | |
|       consumes:
 | |
|       - application/json
 | |
|       - application/xml
 | |
|       - application/x-www-form-urlencoded
 | |
|       description: |-
 | |
|         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'.
 | |
|       operationId: accountCreate
 | |
|       parameters:
 | |
|       - description: Text that will be reviewed by moderators if registrations require
 | |
|           manual approval.
 | |
|         in: query
 | |
|         name: reason
 | |
|         type: string
 | |
|         x-go-name: Reason
 | |
|       - description: The desired username for the account.
 | |
|         in: query
 | |
|         name: username
 | |
|         type: string
 | |
|         x-go-name: Username
 | |
|       - description: The email address to be used for login.
 | |
|         in: query
 | |
|         name: email
 | |
|         type: string
 | |
|         x-go-name: Email
 | |
|       - description: The password to be used for login. This will be hashed before
 | |
|           storage.
 | |
|         in: query
 | |
|         name: password
 | |
|         type: string
 | |
|         x-go-name: Password
 | |
|       - description: The user agrees to the terms, conditions, and policies of the
 | |
|           instance.
 | |
|         in: query
 | |
|         name: agreement
 | |
|         type: boolean
 | |
|         x-go-name: Agreement
 | |
|       - description: The language of the confirmation email that will be sent.
 | |
|         in: query
 | |
|         name: locale
 | |
|         type: string
 | |
|         x-go-name: Locale
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: An OAuth2 access token for the newly-created account.
 | |
|           schema:
 | |
|             $ref: '#/definitions/oauthToken'
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|         "404":
 | |
|           description: not found
 | |
|         "500":
 | |
|           description: internal error
 | |
|       security:
 | |
|       - OAuth2 Application:
 | |
|         - write:accounts
 | |
|       summary: Create a new account using an application token.
 | |
|       tags:
 | |
|       - accounts
 | |
|   /api/v1/accounts/{id}:
 | |
|     get:
 | |
|       operationId: accountGet
 | |
|       parameters:
 | |
|       - description: The id of the requested account.
 | |
|         in: path
 | |
|         name: id
 | |
|         required: true
 | |
|         type: string
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: ""
 | |
|           schema:
 | |
|             $ref: '#/definitions/account'
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|         "404":
 | |
|           description: not found
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - read:accounts
 | |
|       summary: Get information about an account with the given ID.
 | |
|       tags:
 | |
|       - accounts
 | |
|   /api/v1/accounts/{id}/block:
 | |
|     post:
 | |
|       operationId: accountBlock
 | |
|       parameters:
 | |
|       - description: The id of the account to block.
 | |
|         in: path
 | |
|         name: id
 | |
|         required: true
 | |
|         type: string
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: Your relationship to this account.
 | |
|           schema:
 | |
|             $ref: '#/definitions/accountRelationship'
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|         "404":
 | |
|           description: not found
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - write:blocks
 | |
|       summary: Block account with id.
 | |
|       tags:
 | |
|       - accounts
 | |
|   /api/v1/accounts/{id}/follow:
 | |
|     post:
 | |
|       consumes:
 | |
|       - application/json
 | |
|       - application/xml
 | |
|       - application/x-www-form-urlencoded
 | |
|       description: |-
 | |
|         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'.
 | |
|       operationId: accountFollow
 | |
|       parameters:
 | |
|       - description: ID of the account to follow.
 | |
|         in: path
 | |
|         name: id
 | |
|         required: true
 | |
|         type: string
 | |
|       - default: true
 | |
|         description: Show reblogs from this account.
 | |
|         in: formData
 | |
|         name: reblogs
 | |
|         type: boolean
 | |
|         x-go-name: Reblogs
 | |
|       - default: false
 | |
|         description: Notify when this account posts.
 | |
|         in: formData
 | |
|         name: notify
 | |
|         type: boolean
 | |
|         x-go-name: Notify
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: Your relationship to this account.
 | |
|           schema:
 | |
|             $ref: '#/definitions/accountRelationship'
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|         "404":
 | |
|           description: not found
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - write:follows
 | |
|       summary: Follow account with id.
 | |
|       tags:
 | |
|       - accounts
 | |
|   /api/v1/accounts/{id}/followers:
 | |
|     get:
 | |
|       operationId: accountFollowers
 | |
|       parameters:
 | |
|       - description: Account ID.
 | |
|         in: path
 | |
|         name: id
 | |
|         required: true
 | |
|         type: string
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: Array of accounts that follow this account.
 | |
|           schema:
 | |
|             items:
 | |
|               $ref: '#/definitions/account'
 | |
|             type: array
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|         "404":
 | |
|           description: not found
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - read:accounts
 | |
|       summary: See followers of account with given id.
 | |
|       tags:
 | |
|       - accounts
 | |
|   /api/v1/accounts/{id}/following:
 | |
|     get:
 | |
|       operationId: accountFollowing
 | |
|       parameters:
 | |
|       - description: Account ID.
 | |
|         in: path
 | |
|         name: id
 | |
|         required: true
 | |
|         type: string
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: Array of accounts that are followed by this account.
 | |
|           schema:
 | |
|             items:
 | |
|               $ref: '#/definitions/account'
 | |
|             type: array
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|         "404":
 | |
|           description: not found
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - read:accounts
 | |
|       summary: See accounts followed by given account id.
 | |
|       tags:
 | |
|       - accounts
 | |
|   /api/v1/accounts/{id}/statuses:
 | |
|     get:
 | |
|       description: The statuses will be returned in descending chronological order
 | |
|         (newest first), with sequential IDs (bigger = newer).
 | |
|       operationId: accountStatuses
 | |
|       parameters:
 | |
|       - description: Account ID.
 | |
|         in: path
 | |
|         name: id
 | |
|         required: true
 | |
|         type: string
 | |
|       - default: 30
 | |
|         description: Number of statuses to return.
 | |
|         in: query
 | |
|         name: limit
 | |
|         type: integer
 | |
|       - default: false
 | |
|         description: Exclude statuses that are a reply to another status.
 | |
|         in: query
 | |
|         name: exclude_replies
 | |
|         type: boolean
 | |
|       - default: false
 | |
|         description: Exclude statuses that are a reblog/boost of another status.
 | |
|         in: query
 | |
|         name: exclude_reblogs
 | |
|         type: boolean
 | |
|       - description: |-
 | |
|           Return only statuses *OLDER* than the given max status ID.
 | |
|           The status with the specified ID will not be included in the response.
 | |
|         in: query
 | |
|         name: max_id
 | |
|         type: string
 | |
|       - description: |-
 | |
|           Return only statuses *NEWER* than the given min status ID.
 | |
|           The status with the specified ID will not be included in the response.
 | |
|         in: query
 | |
|         name: min_id
 | |
|         type: string
 | |
|       - default: false
 | |
|         description: Show only pinned statuses. In other words, exclude statuses that
 | |
|           are not pinned to the given account ID.
 | |
|         in: query
 | |
|         name: pinned_only
 | |
|         type: boolean
 | |
|       - default: false
 | |
|         description: Show only statuses with media attachments.
 | |
|         in: query
 | |
|         name: only_media
 | |
|         type: boolean
 | |
|       - default: false
 | |
|         description: Show only statuses with a privacy setting of 'public'.
 | |
|         in: query
 | |
|         name: only_public
 | |
|         type: boolean
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: Array of statuses.
 | |
|           schema:
 | |
|             items:
 | |
|               $ref: '#/definitions/status'
 | |
|             type: array
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|         "404":
 | |
|           description: not found
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - read:accounts
 | |
|       summary: See statuses posted by the requested account.
 | |
|       tags:
 | |
|       - accounts
 | |
|   /api/v1/accounts/{id}/unblock:
 | |
|     post:
 | |
|       operationId: accountUnblock
 | |
|       parameters:
 | |
|       - description: The id of the account to unblock.
 | |
|         in: path
 | |
|         name: id
 | |
|         required: true
 | |
|         type: string
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: Your relationship to this account.
 | |
|           schema:
 | |
|             $ref: '#/definitions/accountRelationship'
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|         "404":
 | |
|           description: not found
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - write:blocks
 | |
|       summary: Unblock account with ID.
 | |
|       tags:
 | |
|       - accounts
 | |
|   /api/v1/accounts/{id}/unfollow:
 | |
|     post:
 | |
|       operationId: accountUnfollow
 | |
|       parameters:
 | |
|       - description: The id of the account to unfollow.
 | |
|         in: path
 | |
|         name: id
 | |
|         required: true
 | |
|         type: string
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: Your relationship to this account.
 | |
|           schema:
 | |
|             $ref: '#/definitions/accountRelationship'
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|         "404":
 | |
|           description: not found
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - write:follows
 | |
|       summary: Unfollow account with id.
 | |
|       tags:
 | |
|       - accounts
 | |
|   /api/v1/accounts/delete:
 | |
|     post:
 | |
|       consumes:
 | |
|       - multipart/form-data
 | |
|       operationId: accountDelete
 | |
|       parameters:
 | |
|       - description: Password of the account user, for confirmation.
 | |
|         in: formData
 | |
|         name: password
 | |
|         required: true
 | |
|         type: string
 | |
|       responses:
 | |
|         "202":
 | |
|           description: The account deletion has been accepted and the account will
 | |
|             be deleted.
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - write:accounts
 | |
|       summary: Delete your account.
 | |
|       tags:
 | |
|       - accounts
 | |
|   /api/v1/accounts/relationships:
 | |
|     get:
 | |
|       operationId: accountRelationships
 | |
|       parameters:
 | |
|       - description: Account IDs.
 | |
|         in: query
 | |
|         items:
 | |
|           type: string
 | |
|         name: id
 | |
|         required: true
 | |
|         type: array
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: Array of account relationships.
 | |
|           schema:
 | |
|             items:
 | |
|               $ref: '#/definitions/accountRelationship'
 | |
|             type: array
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|         "404":
 | |
|           description: not found
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - read:accounts
 | |
|       summary: See your account's relationships with the given account IDs.
 | |
|       tags:
 | |
|       - accounts
 | |
|   /api/v1/accounts/update_credentials:
 | |
|     patch:
 | |
|       consumes:
 | |
|       - multipart/form-data
 | |
|       operationId: accountUpdate
 | |
|       parameters:
 | |
|       - description: Account should be made discoverable and shown in the profile
 | |
|           directory (if enabled).
 | |
|         in: formData
 | |
|         name: discoverable
 | |
|         type: boolean
 | |
|       - description: Account is flagged as a bot.
 | |
|         in: formData
 | |
|         name: bot
 | |
|         type: boolean
 | |
|       - allowEmptyValue: true
 | |
|         description: The display name to use for the account.
 | |
|         in: formData
 | |
|         name: display_name
 | |
|         type: string
 | |
|       - allowEmptyValue: true
 | |
|         description: Bio/description of this account.
 | |
|         in: formData
 | |
|         name: note
 | |
|         type: string
 | |
|       - description: Avatar of the user.
 | |
|         in: formData
 | |
|         name: avatar
 | |
|         type: file
 | |
|       - description: Header of the user.
 | |
|         in: formData
 | |
|         name: header
 | |
|         type: file
 | |
|       - description: Require manual approval of follow requests.
 | |
|         in: formData
 | |
|         name: locked
 | |
|         type: boolean
 | |
|       - description: Default post privacy for authored statuses.
 | |
|         in: formData
 | |
|         name: source[privacy]
 | |
|         type: string
 | |
|       - description: Mark authored statuses as sensitive by default.
 | |
|         in: formData
 | |
|         name: source[sensitive]
 | |
|         type: boolean
 | |
|       - description: Default language to use for authored statuses (ISO 6391).
 | |
|         in: formData
 | |
|         name: source[language]
 | |
|         type: string
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: The newly updated account.
 | |
|           schema:
 | |
|             $ref: '#/definitions/account'
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - write:accounts
 | |
|       summary: Update your account.
 | |
|       tags:
 | |
|       - accounts
 | |
|   /api/v1/accounts/verify_credentials:
 | |
|     get:
 | |
|       operationId: accountVerify
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: ""
 | |
|           schema:
 | |
|             $ref: '#/definitions/account'
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|         "404":
 | |
|           description: not found
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - read:accounts
 | |
|       summary: Verify a token by returning account details pertaining to it.
 | |
|       tags:
 | |
|       - accounts
 | |
|   /api/v1/admin/accounts/{id}/action:
 | |
|     post:
 | |
|       consumes:
 | |
|       - multipart/form-data
 | |
|       operationId: adminAccountAction
 | |
|       parameters:
 | |
|       - description: ID of the account.
 | |
|         in: path
 | |
|         name: id
 | |
|         required: true
 | |
|         type: string
 | |
|       - description: 'Type of action to be taken. One of: disable, silence, suspend.'
 | |
|         in: formData
 | |
|         name: type
 | |
|         required: true
 | |
|         type: string
 | |
|       - description: Optional text describing why this action was taken.
 | |
|         in: formData
 | |
|         name: text
 | |
|         type: string
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: OK
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|         "403":
 | |
|           description: forbidden
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - admin
 | |
|       summary: Perform an admin action on an account.
 | |
|       tags:
 | |
|       - admin
 | |
|   /api/v1/admin/custom_emojis:
 | |
|     post:
 | |
|       consumes:
 | |
|       - multipart/form-data
 | |
|       operationId: emojiCreate
 | |
|       parameters:
 | |
|       - 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.
 | |
|         in: formData
 | |
|         name: shortcode
 | |
|         pattern: \w{2,30}
 | |
|         required: true
 | |
|         type: string
 | |
|       - description: A png or gif image of the emoji. Animated pngs work too!
 | |
|         in: formData
 | |
|         name: image
 | |
|         required: true
 | |
|         type: file
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: The newly-created emoji.
 | |
|           schema:
 | |
|             $ref: '#/definitions/emoji'
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "403":
 | |
|           description: forbidden
 | |
|         "409":
 | |
|           description: conflict -- domain/shortcode combo for emoji already exists
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - admin
 | |
|       summary: Upload and create a new instance emoji.
 | |
|       tags:
 | |
|       - admin
 | |
|   /api/v1/admin/domain_blocks:
 | |
|     get:
 | |
|       operationId: domainBlocksGet
 | |
|       parameters:
 | |
|       - 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 need them to see the database IDs of your blocks, or private comments etc.
 | |
|         in: query
 | |
|         name: export
 | |
|         type: boolean
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: All domain blocks currently in place.
 | |
|           schema:
 | |
|             items:
 | |
|               $ref: '#/definitions/domainBlock'
 | |
|             type: array
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "403":
 | |
|           description: forbidden
 | |
|         "404":
 | |
|           description: not found
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - admin
 | |
|       summary: View all domain blocks currently in place.
 | |
|       tags:
 | |
|       - admin
 | |
|     post:
 | |
|       consumes:
 | |
|       - multipart/form-data
 | |
|       description: |-
 | |
|         Note that 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"}]`
 | |
|       operationId: domainBlockCreate
 | |
|       parameters:
 | |
|       - 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.
 | |
|         in: query
 | |
|         name: import
 | |
|         type: boolean
 | |
|       - description: |-
 | |
|           JSON-formatted list of domain blocks to import.
 | |
|           This is only used if `import` is set to true.
 | |
|         in: formData
 | |
|         name: domains
 | |
|         type: file
 | |
|       - description: |-
 | |
|           Single domain to block.
 | |
|           Used only if `import` is not true.
 | |
|         in: formData
 | |
|         name: domain
 | |
|         type: string
 | |
|       - 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.
 | |
|         in: formData
 | |
|         name: obfuscate
 | |
|         type: boolean
 | |
|       - description: |-
 | |
|           Public comment about this domain block.
 | |
|           Will be displayed alongside the domain block if you choose to share blocks.
 | |
|           Used only if `import` is not true.
 | |
|         in: formData
 | |
|         name: public_comment
 | |
|         type: string
 | |
|       - 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.
 | |
|         in: formData
 | |
|         name: private_comment
 | |
|         type: string
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: |-
 | |
|             The newly created domain block, if `import` != `true`.
 | |
|             Note that if a list has been imported, then an `array` of newly created domain blocks will be returned instead.
 | |
|           schema:
 | |
|             $ref: '#/definitions/domainBlock'
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "403":
 | |
|           description: forbidden
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - admin
 | |
|       summary: Create one or more domain blocks, from a string or a file.
 | |
|       tags:
 | |
|       - admin
 | |
|   /api/v1/admin/domain_blocks/{id}:
 | |
|     delete:
 | |
|       operationId: domainBlockDelete
 | |
|       parameters:
 | |
|       - description: The id of the domain block.
 | |
|         in: path
 | |
|         name: id
 | |
|         required: true
 | |
|         type: string
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: The domain block that was just deleted.
 | |
|           schema:
 | |
|             $ref: '#/definitions/domainBlock'
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "403":
 | |
|           description: forbidden
 | |
|         "404":
 | |
|           description: not found
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - admin
 | |
|       summary: Delete domain block with the given ID.
 | |
|       tags:
 | |
|       - admin
 | |
|     get:
 | |
|       operationId: domainBlockGet
 | |
|       parameters:
 | |
|       - description: The id of the domain block.
 | |
|         in: path
 | |
|         name: id
 | |
|         required: true
 | |
|         type: string
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: The requested domain block.
 | |
|           schema:
 | |
|             $ref: '#/definitions/domainBlock'
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "403":
 | |
|           description: forbidden
 | |
|         "404":
 | |
|           description: not found
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - admin
 | |
|       summary: View domain block with the given ID.
 | |
|       tags:
 | |
|       - admin
 | |
|   /api/v1/apps:
 | |
|     post:
 | |
|       consumes:
 | |
|       - application/json
 | |
|       - application/xml
 | |
|       - application/x-www-form-urlencoded
 | |
|       description: |-
 | |
|         The registered application can be used to obtain an application token.
 | |
|         This can then be used to register a new account, or (through user auth) obtain an access token.
 | |
| 
 | |
|         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'.
 | |
|       operationId: appCreate
 | |
|       parameters:
 | |
|       - description: The name of the application.
 | |
|         in: formData
 | |
|         name: client_name
 | |
|         required: true
 | |
|         type: string
 | |
|         x-go-name: ClientName
 | |
|       - description: |-
 | |
|           Where the user should be redirected after authorization.
 | |
| 
 | |
|           To display the authorization code to the user instead of redirecting to a web page, use `urn:ietf:wg:oauth:2.0:oob` in this parameter.
 | |
|         in: formData
 | |
|         name: redirect_uris
 | |
|         required: true
 | |
|         type: string
 | |
|         x-go-name: RedirectURIs
 | |
|       - description: |-
 | |
|           Space separated list of scopes.
 | |
| 
 | |
|           If no scopes are provided, defaults to `read`.
 | |
|         in: formData
 | |
|         name: scopes
 | |
|         type: string
 | |
|         x-go-name: Scopes
 | |
|       - description: A URL to the web page of the app (optional).
 | |
|         in: formData
 | |
|         name: website
 | |
|         type: string
 | |
|         x-go-name: Website
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: The newly-created application.
 | |
|           schema:
 | |
|             $ref: '#/definitions/application'
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|         "422":
 | |
|           description: unprocessable
 | |
|         "500":
 | |
|           description: internal error
 | |
|       summary: Register a new application on this instance.
 | |
|       tags:
 | |
|       - apps
 | |
|   /api/v1/blocks:
 | |
|     get:
 | |
|       description: |-
 | |
|         The next and previous queries can be parsed from the returned Link header.
 | |
|         Example:
 | |
| 
 | |
|         ```
 | |
|         <https://example.org/api/v1/blocks?limit=80&max_id=01FC0SKA48HNSVR6YKZCQGS2V8>; rel="next", <https://example.org/api/v1/blocks?limit=80&min_id=01FC0SKW5JK2Q4EVAV2B462YY0>; rel="prev"
 | |
|         ````
 | |
|       operationId: blocksGet
 | |
|       parameters:
 | |
|       - default: 20
 | |
|         description: Number of blocks to return.
 | |
|         in: query
 | |
|         name: limit
 | |
|         type: integer
 | |
|       - description: |-
 | |
|           Return only blocks *OLDER* than the given max block ID.
 | |
|           The block with the specified ID will not be included in the response.
 | |
|         in: query
 | |
|         name: max_id
 | |
|         type: string
 | |
|       - description: |-
 | |
|           Return only blocks *NEWER* than the given since block ID.
 | |
|           The block with the specified ID will not be included in the response.
 | |
|         in: query
 | |
|         name: since_id
 | |
|         type: string
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: ""
 | |
|           headers:
 | |
|             Link:
 | |
|               description: Links to the next and previous queries.
 | |
|               type: string
 | |
|           schema:
 | |
|             items:
 | |
|               $ref: '#/definitions/account'
 | |
|             type: array
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|         "404":
 | |
|           description: not found
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - read:blocks
 | |
|       summary: Get an array of accounts that requesting account has blocked.
 | |
|       tags:
 | |
|       - blocks
 | |
|   /api/v1/follow_requests:
 | |
|     get:
 | |
|       description: |-
 | |
|         The next and previous queries can be parsed from the returned Link header.
 | |
|         Example:
 | |
| 
 | |
|         ```
 | |
|         <https://example.org/api/v1/follow_requests?limit=80&max_id=01FC0SKA48HNSVR6YKZCQGS2V8>; rel="next", <https://example.org/api/v1/follow_requests?limit=80&min_id=01FC0SKW5JK2Q4EVAV2B462YY0>; rel="prev"
 | |
|         ````
 | |
|       operationId: getFollowRequests
 | |
|       parameters:
 | |
|       - default: 40
 | |
|         description: Number of accounts to return.
 | |
|         in: query
 | |
|         name: limit
 | |
|         type: integer
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: ""
 | |
|           headers:
 | |
|             Link:
 | |
|               description: Links to the next and previous queries.
 | |
|               type: string
 | |
|           schema:
 | |
|             items:
 | |
|               $ref: '#/definitions/account'
 | |
|             type: array
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|         "403":
 | |
|           description: forbidden
 | |
|         "404":
 | |
|           description: not found
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - read:follows
 | |
|       summary: Get an array of accounts that have requested to follow you.
 | |
|       tags:
 | |
|       - follow_requests
 | |
|   /api/v1/follow_requests/{account_id}/authorize:
 | |
|     post:
 | |
|       description: Accept a follow request and put the requesting account in your
 | |
|         'followers' list.
 | |
|       operationId: authorizeFollowRequest
 | |
|       parameters:
 | |
|       - description: ID of the account requesting to follow you.
 | |
|         in: path
 | |
|         name: account_id
 | |
|         required: true
 | |
|         type: string
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: Your relationship to this account.
 | |
|           schema:
 | |
|             $ref: '#/definitions/accountRelationship'
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|         "403":
 | |
|           description: forbidden
 | |
|         "404":
 | |
|           description: not found
 | |
|         "500":
 | |
|           description: internal server error
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - write:follows
 | |
|       summary: Accept/authorize follow request from the given account ID.
 | |
|       tags:
 | |
|       - follow_requests
 | |
|   /api/v1/follow_requests/{account_id}/reject:
 | |
|     post:
 | |
|       operationId: rejectFollowRequest
 | |
|       parameters:
 | |
|       - description: ID of the account requesting to follow you.
 | |
|         in: path
 | |
|         name: account_id
 | |
|         required: true
 | |
|         type: string
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: Your relationship to this account.
 | |
|           schema:
 | |
|             $ref: '#/definitions/accountRelationship'
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|         "403":
 | |
|           description: forbidden
 | |
|         "404":
 | |
|           description: not found
 | |
|         "500":
 | |
|           description: internal server error
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - write:follows
 | |
|       summary: Reject/deny follow request from the given account ID.
 | |
|       tags:
 | |
|       - follow_requests
 | |
|   /api/v1/instance:
 | |
|     get:
 | |
|       description: |-
 | |
|         This is mostly provided for Mastodon application compatibility, since many apps that work with Mastodon use `/api/v1/instance` to inform their connection parameters.
 | |
| 
 | |
|         However, it can also be used by other instances for gathering instance information and representing instances in some UI or other.
 | |
|       operationId: instanceGet
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: Instance information.
 | |
|           schema:
 | |
|             $ref: '#/definitions/instance'
 | |
|         "500":
 | |
|           description: internal error
 | |
|       summary: View instance information.
 | |
|       tags:
 | |
|       - instance
 | |
|     patch:
 | |
|       consumes:
 | |
|       - multipart/form-data
 | |
|       description: This requires admin permissions on the instance.
 | |
|       operationId: instanceUpdate
 | |
|       parameters:
 | |
|       - allowEmptyValue: true
 | |
|         description: Title to use for the instance.
 | |
|         in: formData
 | |
|         maximum: 40
 | |
|         name: title
 | |
|         type: string
 | |
|       - allowEmptyValue: true
 | |
|         description: |-
 | |
|           Username of the contact account.
 | |
|           This must be the username of an instance admin.
 | |
|         in: formData
 | |
|         name: contact_username
 | |
|         type: string
 | |
|       - allowEmptyValue: true
 | |
|         description: Email address to use as the instance contact.
 | |
|         in: formData
 | |
|         name: contact_email
 | |
|         type: string
 | |
|       - allowEmptyValue: true
 | |
|         description: Short description of the instance.
 | |
|         in: formData
 | |
|         maximum: 500
 | |
|         name: short_description
 | |
|         type: string
 | |
|       - allowEmptyValue: true
 | |
|         description: Longer description of the instance.
 | |
|         in: formData
 | |
|         maximum: 5000
 | |
|         name: description
 | |
|         type: string
 | |
|       - allowEmptyValue: true
 | |
|         description: Terms and conditions of the instance.
 | |
|         in: formData
 | |
|         maximum: 5000
 | |
|         name: terms
 | |
|         type: string
 | |
|       - description: Avatar of the instance.
 | |
|         in: formData
 | |
|         name: avatar
 | |
|         type: file
 | |
|       - description: Header of the instance.
 | |
|         in: formData
 | |
|         name: header
 | |
|         type: file
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: The newly updated instance.
 | |
|           schema:
 | |
|             $ref: '#/definitions/instance'
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - admin
 | |
|       summary: Update your instance information and/or upload a new avatar/header
 | |
|         for the instance.
 | |
|       tags:
 | |
|       - instance
 | |
|   /api/v1/media:
 | |
|     post:
 | |
|       consumes:
 | |
|       - multipart/form-data
 | |
|       operationId: mediaCreate
 | |
|       parameters:
 | |
|       - description: |-
 | |
|           Image or media description to use as alt-text on the attachment.
 | |
|           This is very useful for users of screenreaders.
 | |
|           May or may not be required, depending on your instance settings.
 | |
|         in: formData
 | |
|         name: description
 | |
|         type: string
 | |
|       - description: |-
 | |
|           Focus of the media file.
 | |
|           If present, it should be in the form of two comma-separated floats between -1 and 1.
 | |
|           For example: `-0.5,0.25`.
 | |
|         in: formData
 | |
|         name: focus
 | |
|         type: string
 | |
|       - description: The media attachment to upload.
 | |
|         in: formData
 | |
|         name: file
 | |
|         required: true
 | |
|         type: file
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: The newly-created media attachment.
 | |
|           schema:
 | |
|             $ref: '#/definitions/attachment'
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|         "403":
 | |
|           description: forbidden
 | |
|         "422":
 | |
|           description: unprocessable
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - write:media
 | |
|       summary: Upload a new media attachment.
 | |
|       tags:
 | |
|       - media
 | |
|   /api/v1/media/{id}:
 | |
|     get:
 | |
|       operationId: mediaGet
 | |
|       parameters:
 | |
|       - description: id of the attachment
 | |
|         in: path
 | |
|         name: id
 | |
|         required: true
 | |
|         type: string
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: The requested media attachment.
 | |
|           schema:
 | |
|             $ref: '#/definitions/attachment'
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|         "403":
 | |
|           description: forbidden
 | |
|         "422":
 | |
|           description: unprocessable
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - read:media
 | |
|       summary: Get a media attachment that you own.
 | |
|       tags:
 | |
|       - media
 | |
|     put:
 | |
|       consumes:
 | |
|       - application/json
 | |
|       - application/xml
 | |
|       - application/x-www-form-urlencoded
 | |
|       description: |-
 | |
|         You must own the media attachment, and the attachment must not yet be attached to a status.
 | |
| 
 | |
|         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'.
 | |
|       operationId: mediaUpdate
 | |
|       parameters:
 | |
|       - description: id of the attachment to update
 | |
|         in: path
 | |
|         name: id
 | |
|         required: true
 | |
|         type: string
 | |
|       - allowEmptyValue: true
 | |
|         description: |-
 | |
|           Image or media description to use as alt-text on the attachment.
 | |
|           This is very useful for users of screenreaders.
 | |
|           May or may not be required, depending on your instance settings.
 | |
|         in: formData
 | |
|         name: description
 | |
|         type: string
 | |
|       - allowEmptyValue: true
 | |
|         description: |-
 | |
|           Focus of the media file.
 | |
|           If present, it should be in the form of two comma-separated floats between -1 and 1.
 | |
|           For example: `-0.5,0.25`.
 | |
|         in: formData
 | |
|         name: focus
 | |
|         type: string
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: The newly-updated media attachment.
 | |
|           schema:
 | |
|             $ref: '#/definitions/attachment'
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|         "403":
 | |
|           description: forbidden
 | |
|         "422":
 | |
|           description: unprocessable
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - write:media
 | |
|       summary: Update a media attachment.
 | |
|       tags:
 | |
|       - media
 | |
|   /api/v1/search:
 | |
|     get:
 | |
|       description: If statuses are in the result, they will be returned in descending
 | |
|         chronological order (newest first), with sequential IDs (bigger = newer).
 | |
|       operationId: searchGet
 | |
|       parameters:
 | |
|       - description: If type is `statuses`, then statuses returned will be authored
 | |
|           only by this account.
 | |
|         in: query
 | |
|         name: account_id
 | |
|         type: string
 | |
|         x-go-name: AccountID
 | |
|       - description: |-
 | |
|           Return results *older* than this id.
 | |
| 
 | |
|           The entry with this ID will not be included in the search results.
 | |
|         in: query
 | |
|         name: max_id
 | |
|         type: string
 | |
|         x-go-name: MaxID
 | |
|       - description: |-
 | |
|           Return results *newer* than this id.
 | |
| 
 | |
|           The entry with this ID will not be included in the search results.
 | |
|         in: query
 | |
|         name: min_id
 | |
|         type: string
 | |
|         x-go-name: MinID
 | |
|       - description: |-
 | |
|           Type of the search query to perform.
 | |
| 
 | |
|           Must be one of: `accounts`, `hashtags`, `statuses`.
 | |
|         in: query
 | |
|         name: type
 | |
|         required: true
 | |
|         type: string
 | |
|         x-go-name: Type
 | |
|       - default: false
 | |
|         description: Filter out tags that haven't been reviewed and approved by an
 | |
|           instance admin.
 | |
|         in: query
 | |
|         name: exclude_unreviewed
 | |
|         type: boolean
 | |
|         x-go-name: ExcludeUnreviewed
 | |
|       - description: |-
 | |
|           String to use as a search query.
 | |
| 
 | |
|           For accounts, this should be in the format `@someaccount@some.instance.com`, or the format `https://some.instance.com/@someaccount`
 | |
| 
 | |
|           For a status, this can be in the format: `https://some.instance.com/@someaccount/SOME_ID_OF_A_STATUS`
 | |
|         in: query
 | |
|         name: q
 | |
|         required: true
 | |
|         type: string
 | |
|         x-go-name: Query
 | |
|       - default: false
 | |
|         description: Attempt to resolve the query by performing a remote webfinger
 | |
|           lookup, if the query includes a remote host.
 | |
|         in: query
 | |
|         name: resolve
 | |
|         type: boolean
 | |
|         x-go-name: Resolve
 | |
|       - default: 20
 | |
|         description: Maximum number of results to load, per type.
 | |
|         format: int64
 | |
|         in: query
 | |
|         maximum: 40
 | |
|         minimum: 1
 | |
|         name: limit
 | |
|         type: integer
 | |
|         x-go-name: Limit
 | |
|       - default: 0
 | |
|         description: Offset for paginating search results.
 | |
|         format: int64
 | |
|         in: query
 | |
|         name: offset
 | |
|         type: integer
 | |
|         x-go-name: Offset
 | |
|       - default: false
 | |
|         description: Only include accounts that the searching account is following.
 | |
|         in: query
 | |
|         name: following
 | |
|         type: boolean
 | |
|         x-go-name: Following
 | |
|       responses:
 | |
|         "200":
 | |
|           description: Results of the search.
 | |
|           schema:
 | |
|             items:
 | |
|               $ref: '#/definitions/searchResult'
 | |
|             type: array
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - read:search
 | |
|       summary: Search for statuses, accounts, or hashtags, on this instance or elsewhere.
 | |
|       tags:
 | |
|       - search
 | |
|   /api/v1/statuses:
 | |
|     post:
 | |
|       consumes:
 | |
|       - application/json
 | |
|       - application/xml
 | |
|       - application/x-www-form-urlencoded
 | |
|       description: |-
 | |
|         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'.
 | |
|       operationId: statusCreate
 | |
|       parameters:
 | |
|       - description: |-
 | |
|           Text content of the status.
 | |
|           If media_ids is provided, this becomes optional.
 | |
|           Attaching a poll is optional while status is provided.
 | |
|         in: formData
 | |
|         name: status
 | |
|         type: string
 | |
|         x-go-name: Status
 | |
|       - description: |-
 | |
|           Array of Attachment ids to be attached as media.
 | |
|           If provided, status becomes optional, and poll cannot be used.
 | |
|         in: formData
 | |
|         items:
 | |
|           type: string
 | |
|         name: media_ids
 | |
|         type: array
 | |
|         x-go-name: MediaIDs
 | |
|       - description: ID of the status being replied to, if status is a reply.
 | |
|         in: formData
 | |
|         name: in_reply_to_id
 | |
|         type: string
 | |
|         x-go-name: InReplyToID
 | |
|       - description: Status and attached media should be marked as sensitive.
 | |
|         in: formData
 | |
|         name: sensitive
 | |
|         type: boolean
 | |
|         x-go-name: Sensitive
 | |
|       - description: |-
 | |
|           Text to be shown as a warning or subject before the actual content.
 | |
|           Statuses are generally collapsed behind this field.
 | |
|         in: formData
 | |
|         name: spoiler_text
 | |
|         type: string
 | |
|         x-go-name: SpoilerText
 | |
|       - description: Visibility of the posted status.
 | |
|         in: formData
 | |
|         name: visibility
 | |
|         type: string
 | |
|         x-go-name: Visibility
 | |
|       - description: |-
 | |
|           ISO 8601 Datetime at which to schedule a status.
 | |
|           Providing this paramter will cause ScheduledStatus to be returned instead of Status.
 | |
|           Must be at least 5 minutes in the future.
 | |
|         in: formData
 | |
|         name: scheduled_at
 | |
|         type: string
 | |
|         x-go-name: ScheduledAt
 | |
|       - description: ISO 639 language code for this status.
 | |
|         in: formData
 | |
|         name: language
 | |
|         type: string
 | |
|         x-go-name: Language
 | |
|       - description: Format to use when parsing this status.
 | |
|         in: formData
 | |
|         name: format
 | |
|         type: string
 | |
|         x-go-name: Format
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: The newly created status.
 | |
|           schema:
 | |
|             $ref: '#/definitions/status'
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|         "404":
 | |
|           description: not found
 | |
|         "500":
 | |
|           description: internal error
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - write:statuses
 | |
|       summary: Create a new status.
 | |
|       tags:
 | |
|       - statuses
 | |
|   /api/v1/statuses/{id}:
 | |
|     delete:
 | |
|       description: |-
 | |
|         The deleted status will be returned in the response. The `text` field will contain the original text of the status as it was submitted.
 | |
|         This is useful when doing a 'delete and redraft' type operation.
 | |
|       operationId: statusDelete
 | |
|       parameters:
 | |
|       - description: Target status ID.
 | |
|         in: path
 | |
|         name: id
 | |
|         required: true
 | |
|         type: string
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: The newly deleted status.
 | |
|           schema:
 | |
|             $ref: '#/definitions/status'
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|         "403":
 | |
|           description: forbidden
 | |
|         "404":
 | |
|           description: not found
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - write:statuses
 | |
|       summary: Delete status with the given ID. The status must belong to you.
 | |
|       tags:
 | |
|       - statuses
 | |
|     get:
 | |
|       operationId: statusGet
 | |
|       parameters:
 | |
|       - description: Target status ID.
 | |
|         in: path
 | |
|         name: id
 | |
|         required: true
 | |
|         type: string
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: The requested created status.
 | |
|           schema:
 | |
|             $ref: '#/definitions/status'
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|         "404":
 | |
|           description: not found
 | |
|         "500":
 | |
|           description: internal error
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - read:statuses
 | |
|       summary: View status with the given ID.
 | |
|       tags:
 | |
|       - statuses
 | |
|   /api/v1/statuses/{id}/context:
 | |
|     get:
 | |
|       description: The returned statuses will be ordered in a thread structure, so
 | |
|         they are suitable to be displayed in the order in which they were returned.
 | |
|       operationId: statusContext
 | |
|       parameters:
 | |
|       - description: Target status ID.
 | |
|         in: path
 | |
|         name: id
 | |
|         required: true
 | |
|         type: string
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: Status context object.
 | |
|           schema:
 | |
|             $ref: '#/definitions/statusContext'
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|         "403":
 | |
|           description: forbidden
 | |
|         "404":
 | |
|           description: not found
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - read:statuses
 | |
|       summary: Return ancestors and descendants of the given status.
 | |
|       tags:
 | |
|       - statuses
 | |
|   /api/v1/statuses/{id}/favourite:
 | |
|     post:
 | |
|       operationId: statusFave
 | |
|       parameters:
 | |
|       - description: Target status ID.
 | |
|         in: path
 | |
|         name: id
 | |
|         required: true
 | |
|         type: string
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: The newly faved status.
 | |
|           schema:
 | |
|             $ref: '#/definitions/status'
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|         "403":
 | |
|           description: forbidden
 | |
|         "404":
 | |
|           description: not found
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - write:statuses
 | |
|       summary: Star/like/favourite the given status, if permitted.
 | |
|       tags:
 | |
|       - statuses
 | |
|   /api/v1/statuses/{id}/favourited_by:
 | |
|     get:
 | |
|       operationId: statusFavedBy
 | |
|       parameters:
 | |
|       - description: Target status ID.
 | |
|         in: path
 | |
|         name: id
 | |
|         required: true
 | |
|         type: string
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: ""
 | |
|           schema:
 | |
|             items:
 | |
|               $ref: '#/definitions/account'
 | |
|             type: array
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|         "403":
 | |
|           description: forbidden
 | |
|         "404":
 | |
|           description: not found
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - read:accounts
 | |
|       summary: View accounts that have faved/starred/liked the target status.
 | |
|       tags:
 | |
|       - statuses
 | |
|   /api/v1/statuses/{id}/reblog:
 | |
|     post:
 | |
|       description: |-
 | |
|         If the target status is rebloggable/boostable, it will be shared with your followers.
 | |
|         This is equivalent to an activitypub 'announce' activity.
 | |
|       operationId: statusReblog
 | |
|       parameters:
 | |
|       - description: Target status ID.
 | |
|         in: path
 | |
|         name: id
 | |
|         required: true
 | |
|         type: string
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: The boost of the status.
 | |
|           schema:
 | |
|             $ref: '#/definitions/status'
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|         "403":
 | |
|           description: forbidden
 | |
|         "404":
 | |
|           description: not found
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - write:statuses
 | |
|       summary: Reblog/boost status with the given ID.
 | |
|       tags:
 | |
|       - statuses
 | |
|   /api/v1/statuses/{id}/reblogged_by:
 | |
|     get:
 | |
|       operationId: statusBoostedBy
 | |
|       parameters:
 | |
|       - description: Target status ID.
 | |
|         in: path
 | |
|         name: id
 | |
|         required: true
 | |
|         type: string
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: ""
 | |
|           schema:
 | |
|             items:
 | |
|               $ref: '#/definitions/account'
 | |
|             type: array
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|         "403":
 | |
|           description: forbidden
 | |
|         "404":
 | |
|           description: not found
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - read:accounts
 | |
|       summary: View accounts that have reblogged/boosted the target status.
 | |
|       tags:
 | |
|       - statuses
 | |
|   /api/v1/statuses/{id}/unfavourite:
 | |
|     post:
 | |
|       operationId: statusUnfave
 | |
|       parameters:
 | |
|       - description: Target status ID.
 | |
|         in: path
 | |
|         name: id
 | |
|         required: true
 | |
|         type: string
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: The unfaved status.
 | |
|           schema:
 | |
|             $ref: '#/definitions/status'
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|         "403":
 | |
|           description: forbidden
 | |
|         "404":
 | |
|           description: not found
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - write:statuses
 | |
|       summary: Unstar/unlike/unfavourite the given status.
 | |
|       tags:
 | |
|       - statuses
 | |
|   /api/v1/statuses/{id}/unreblog:
 | |
|     post:
 | |
|       operationId: statusUnreblog
 | |
|       parameters:
 | |
|       - description: Target status ID.
 | |
|         in: path
 | |
|         name: id
 | |
|         required: true
 | |
|         type: string
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: The unboosted status.
 | |
|           schema:
 | |
|             $ref: '#/definitions/status'
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|         "403":
 | |
|           description: forbidden
 | |
|         "404":
 | |
|           description: not found
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - write:statuses
 | |
|       summary: Unreblog/unboost status with the given ID.
 | |
|       tags:
 | |
|       - statuses
 | |
|   /api/v1/streaming:
 | |
|     get:
 | |
|       description: |-
 | |
|         The scheme used should *always* be `wss`. The streaming basepath can be viewed at `/api/v1/instance`.
 | |
| 
 | |
|         On a successful connection, a code `101` will be returned, which indicates that the connection is being upgraded to a secure websocket connection.
 | |
| 
 | |
|         As long as the connection is open, various message types will be streamed into it.
 | |
| 
 | |
|         GoToSocial will ping the connection every 30 seconds to check whether the client is still receiving.
 | |
| 
 | |
|         If the ping fails, or something else goes wrong during transmission, then the connection will be dropped, and the client will be expected to start it again.
 | |
|       operationId: streamGet
 | |
|       parameters:
 | |
|       - description: Access token for the requesting account.
 | |
|         in: query
 | |
|         name: access_token
 | |
|         required: true
 | |
|         type: string
 | |
|       - description: |-
 | |
|           Type of stream to request.
 | |
| 
 | |
|           Options are:
 | |
| 
 | |
|           `user`: receive updates for the account's home timeline.
 | |
|           `public`: receive updates for the public timeline.
 | |
|           `public:local`: receive updates for the local timeline.
 | |
|           `hashtag`: receive updates for a given hashtag.
 | |
|           `hashtag:local`: receive local updates for a given hashtag.
 | |
|           `list`: receive updates for a certain list of accounts.
 | |
|           `direct`: receive updates for direct messages.
 | |
|         in: query
 | |
|         name: stream
 | |
|         required: true
 | |
|         type: string
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "101":
 | |
|           description: ""
 | |
|           schema:
 | |
|             properties:
 | |
|               event:
 | |
|                 description: |-
 | |
|                   The type of event being received.
 | |
| 
 | |
|                   `update`: a new status has been received.
 | |
|                   `notification`: a new notification has been received.
 | |
|                   `delete`: a status has been deleted.
 | |
|                   `filters_changed`: not implemented.
 | |
|                 enum:
 | |
|                 - update
 | |
|                 - notification
 | |
|                 - delete
 | |
|                 - filters_changed
 | |
|                 type: string
 | |
|               payload:
 | |
|                 description: |-
 | |
|                   The payload of the streamed message.
 | |
|                   Different depending on the `event` type.
 | |
| 
 | |
|                   If present, it should be parsed as a string.
 | |
| 
 | |
|                   If `event` = `update`, then the payload will be a JSON string of a status.
 | |
|                   If `event` = `notification`, then the payload will be a JSON string of a notification.
 | |
|                   If `event` = `delete`, then the payload will be a status ID.
 | |
|                 example: '{"id":"01FC3TZ5CFG6H65GCKCJRKA669","created_at":"2021-08-02T16:25:52Z","sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://gts.superseriousbusiness.org/users/dumpsterqueer/statuses/01FC3TZ5CFG6H65GCKCJRKA669","url":"https://gts.superseriousbusiness.org/@dumpsterqueer/statuses/01FC3TZ5CFG6H65GCKCJRKA669","replies_count":0,"reblogs_count":0,"favourites_count":0,"favourited":false,"reblogged":false,"muted":false,"bookmarked":fals…//gts.superseriousbusiness.org/fileserver/01JNN207W98SGG3CBJ76R5MVDN/header/original/019036W043D8FXPJKSKCX7G965.png","header_static":"https://gts.superseriousbusiness.org/fileserver/01JNN207W98SGG3CBJ76R5MVDN/header/small/019036W043D8FXPJKSKCX7G965.png","followers_count":33,"following_count":28,"statuses_count":126,"last_status_at":"2021-08-02T16:25:52Z","emojis":[],"fields":[]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"card":null,"poll":null,"text":"a"}'
 | |
|                 type: string
 | |
|               stream:
 | |
|                 items:
 | |
|                   enum:
 | |
|                   - user
 | |
|                   - public
 | |
|                   - public:local
 | |
|                   - hashtag
 | |
|                   - hashtag:local
 | |
|                   - list
 | |
|                   - direct
 | |
|                   type: string
 | |
|                 type: array
 | |
|             type: object
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|       schemes:
 | |
|       - wss
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - read:streaming
 | |
|       summary: Initiate a websocket connection for live streaming of statuses and
 | |
|         notifications.
 | |
|       tags:
 | |
|       - streaming
 | |
|   /api/v1/timelines/home:
 | |
|     get:
 | |
|       description: |-
 | |
|         The statuses will be returned in descending chronological order (newest first), with sequential IDs (bigger = newer).
 | |
| 
 | |
|         The returned Link header can be used to generate the previous and next queries when scrolling up or down a timeline.
 | |
| 
 | |
|         Example:
 | |
| 
 | |
|         ```
 | |
|         <https://example.org/api/v1/timelines/home?limit=20&max_id=01FC3GSQ8A3MMJ43BPZSGEG29M>; rel="next", <https://example.org/api/v1/timelines/home?limit=20&min_id=01FC3KJW2GYXSDDRA6RWNDM46M>; rel="prev"
 | |
|         ````
 | |
|       operationId: homeTimeline
 | |
|       parameters:
 | |
|       - description: |-
 | |
|           Return only statuses *OLDER* than the given max status ID.
 | |
|           The status with the specified ID will not be included in the response.
 | |
|         in: query
 | |
|         name: max_id
 | |
|         type: string
 | |
|       - description: |-
 | |
|           Return only statuses *NEWER* than the given since status ID.
 | |
|           The status with the specified ID will not be included in the response.
 | |
|         in: query
 | |
|         name: since_id
 | |
|         type: string
 | |
|       - description: |-
 | |
|           Return only statuses *NEWER* than the given since status ID.
 | |
|           The status with the specified ID will not be included in the response.
 | |
|         in: query
 | |
|         name: min_id
 | |
|         type: string
 | |
|       - default: 20
 | |
|         description: Number of statuses to return.
 | |
|         in: query
 | |
|         name: limit
 | |
|         type: integer
 | |
|       - default: false
 | |
|         description: Show only statuses posted by local accounts.
 | |
|         in: query
 | |
|         name: local
 | |
|         type: boolean
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: Array of statuses.
 | |
|           headers:
 | |
|             Link:
 | |
|               description: Links to the next and previous queries.
 | |
|               type: string
 | |
|           schema:
 | |
|             items:
 | |
|               $ref: '#/definitions/status'
 | |
|             type: array
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - read:statuses
 | |
|       summary: See statuses/posts by accounts you follow.
 | |
|       tags:
 | |
|       - timelines
 | |
|   /api/v1/timelines/public:
 | |
|     get:
 | |
|       description: |-
 | |
|         The statuses will be returned in descending chronological order (newest first), with sequential IDs (bigger = newer).
 | |
| 
 | |
|         The returned Link header can be used to generate the previous and next queries when scrolling up or down a timeline.
 | |
| 
 | |
|         Example:
 | |
| 
 | |
|         ```
 | |
|         <https://example.org/api/v1/timelines/public?limit=20&max_id=01FC3GSQ8A3MMJ43BPZSGEG29M>; rel="next", <https://example.org/api/v1/timelines/public?limit=20&min_id=01FC3KJW2GYXSDDRA6RWNDM46M>; rel="prev"
 | |
|         ````
 | |
|       operationId: publicTimeline
 | |
|       parameters:
 | |
|       - description: |-
 | |
|           Return only statuses *OLDER* than the given max status ID.
 | |
|           The status with the specified ID will not be included in the response.
 | |
|         in: query
 | |
|         name: max_id
 | |
|         type: string
 | |
|       - description: |-
 | |
|           Return only statuses *NEWER* than the given since status ID.
 | |
|           The status with the specified ID will not be included in the response.
 | |
|         in: query
 | |
|         name: since_id
 | |
|         type: string
 | |
|       - description: |-
 | |
|           Return only statuses *NEWER* than the given since status ID.
 | |
|           The status with the specified ID will not be included in the response.
 | |
|         in: query
 | |
|         name: min_id
 | |
|         type: string
 | |
|       - default: 20
 | |
|         description: Number of statuses to return.
 | |
|         in: query
 | |
|         name: limit
 | |
|         type: integer
 | |
|       - default: false
 | |
|         description: Show only statuses posted by local accounts.
 | |
|         in: query
 | |
|         name: local
 | |
|         type: boolean
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: Array of statuses.
 | |
|           headers:
 | |
|             Link:
 | |
|               description: Links to the next and previous queries.
 | |
|               type: string
 | |
|           schema:
 | |
|             items:
 | |
|               $ref: '#/definitions/status'
 | |
|             type: array
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - read:statuses
 | |
|       summary: See public statuses/posts that your instance is aware of.
 | |
|       tags:
 | |
|       - timelines
 | |
|   /api/v1/user/password_change:
 | |
|     post:
 | |
|       consumes:
 | |
|       - application/json
 | |
|       - application/xml
 | |
|       - application/x-www-form-urlencoded
 | |
|       description: |-
 | |
|         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'.
 | |
|       operationId: userPasswordChange
 | |
|       parameters:
 | |
|       - description: User's previous password.
 | |
|         in: formData
 | |
|         name: old_password
 | |
|         required: true
 | |
|         type: string
 | |
|         x-go-name: OldPassword
 | |
|       - description: |-
 | |
|           Desired new password.
 | |
|           If the password does not have high enough entropy, it will be rejected.
 | |
|           See https://github.com/wagslane/go-password-validator
 | |
|         in: formData
 | |
|         name: new_password
 | |
|         required: true
 | |
|         type: string
 | |
|         x-go-name: NewPassword
 | |
|       produces:
 | |
|       - application/json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: Change successful
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|         "403":
 | |
|           description: forbidden
 | |
|         "500":
 | |
|           description: internal error
 | |
|       security:
 | |
|       - OAuth2 Bearer:
 | |
|         - write:user
 | |
|       summary: Change the password of authenticated user.
 | |
|       tags:
 | |
|       - user
 | |
|   /nodeinfo/2.0:
 | |
|     get:
 | |
|       description: 'See: https://nodeinfo.diaspora.software/schema.html'
 | |
|       operationId: nodeInfoGet
 | |
|       produces:
 | |
|       - application/json; profile="http://nodeinfo.diaspora.software/ns/schema/2.0#"
 | |
|       responses:
 | |
|         "200":
 | |
|           description: ""
 | |
|           schema:
 | |
|             $ref: '#/definitions/nodeinfo'
 | |
|       summary: Returns a compliant nodeinfo response to node info queries.
 | |
|       tags:
 | |
|       - nodeinfo
 | |
|   /users/{username}/outbox:
 | |
|     get:
 | |
|       description: |-
 | |
|         Note that the response will be a Collection with a page as `first`, as shown below, if `page` is `false`.
 | |
| 
 | |
|         If `page` is `true`, then the response will be a single `CollectionPage` without the wrapping `Collection`.
 | |
| 
 | |
|         HTTP signature is required on the request.
 | |
|       operationId: s2sOutboxGet
 | |
|       parameters:
 | |
|       - description: Username of the account.
 | |
|         in: path
 | |
|         name: username
 | |
|         required: true
 | |
|         type: string
 | |
|       - default: false
 | |
|         description: Return response as a CollectionPage.
 | |
|         in: query
 | |
|         name: page
 | |
|         type: boolean
 | |
|       - description: Minimum ID of the next status, used for paging.
 | |
|         in: query
 | |
|         name: min_id
 | |
|         type: string
 | |
|       - description: Maximum ID of the next status, used for paging.
 | |
|         in: query
 | |
|         name: max_id
 | |
|         type: string
 | |
|       produces:
 | |
|       - application/activity+json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: ""
 | |
|           schema:
 | |
|             $ref: '#/definitions/swaggerCollection'
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|         "403":
 | |
|           description: forbidden
 | |
|         "404":
 | |
|           description: not found
 | |
|       summary: Get the public outbox collection for an actor.
 | |
|       tags:
 | |
|       - s2s/federation
 | |
|   /users/{username}/statuses/{status}/replies:
 | |
|     get:
 | |
|       description: |-
 | |
|         Note that the response will be a Collection with a page as `first`, as shown below, if `page` is `false`.
 | |
| 
 | |
|         If `page` is `true`, then the response will be a single `CollectionPage` without the wrapping `Collection`.
 | |
| 
 | |
|         HTTP signature is required on the request.
 | |
|       operationId: s2sRepliesGet
 | |
|       parameters:
 | |
|       - description: Username of the account.
 | |
|         in: path
 | |
|         name: username
 | |
|         required: true
 | |
|         type: string
 | |
|       - description: ID of the status.
 | |
|         in: path
 | |
|         name: status
 | |
|         required: true
 | |
|         type: string
 | |
|       - default: false
 | |
|         description: Return response as a CollectionPage.
 | |
|         in: query
 | |
|         name: page
 | |
|         type: boolean
 | |
|       - default: false
 | |
|         description: Return replies only from accounts other than the status owner.
 | |
|         in: query
 | |
|         name: only_other_accounts
 | |
|         type: boolean
 | |
|       - description: Minimum ID of the next status, used for paging.
 | |
|         in: query
 | |
|         name: min_id
 | |
|         type: string
 | |
|       produces:
 | |
|       - application/activity+json
 | |
|       responses:
 | |
|         "200":
 | |
|           description: ""
 | |
|           schema:
 | |
|             $ref: '#/definitions/swaggerCollection'
 | |
|         "400":
 | |
|           description: bad request
 | |
|         "401":
 | |
|           description: unauthorized
 | |
|         "403":
 | |
|           description: forbidden
 | |
|         "404":
 | |
|           description: not found
 | |
|       summary: Get the replies collection for a status.
 | |
|       tags:
 | |
|       - s2s/federation
 | |
| schemes:
 | |
| - https
 | |
| - http
 | |
| securityDefinitions:
 | |
|   OAuth2 Application:
 | |
|     flow: application
 | |
|     scopes:
 | |
|       write:accounts: grants write access to accounts
 | |
|     tokenUrl: https://example.org/oauth/token
 | |
|     type: oauth2
 | |
|   OAuth2 Bearer:
 | |
|     authorizationUrl: https://example.org/oauth/authorize
 | |
|     flow: accessCode
 | |
|     scopes:
 | |
|       admin: grants admin access to everything
 | |
|       admin:accounts: grants admin access to accounts
 | |
|       read: grants read access to everything
 | |
|       read:accounts: grants read access to accounts
 | |
|       read:blocks: grant read access to blocks
 | |
|       read:media: grant read access to media
 | |
|       read:search: grant read access to searches
 | |
|       read:statuses: grants read access to statuses
 | |
|       read:streaming: grants read access to streaming api
 | |
|       read:user: grants read access to user-level info
 | |
|       write: grants write access to everything
 | |
|       write:accounts: grants write access to accounts
 | |
|       write:blocks: grants write access to blocks
 | |
|       write:follows: grants write access to follows
 | |
|       write:media: grants write access to media
 | |
|       write:statuses: grants write access to statuses
 | |
|       write:user: grants write access to user-level info
 | |
|     tokenUrl: https://example.org/oauth/token
 | |
|     type: oauth2
 | |
| swagger: "2.0"
 |