1basePath: /
2definitions:
3 EmojiUpdateType:
4 title: EmojiUpdateType models an admin update action to take on a custom emoji.
5 type: string
6 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
7 InstanceConfigurationEmojis:
8 properties:
9 emoji_size_limit:
10 description: Max allowed emoji image size in bytes.
11 example: 51200
12 format: int64
13 type: integer
14 x-go-name: EmojiSizeLimit
15 title: InstanceConfigurationEmojis models instance emoji config parameters.
16 type: object
17 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
18 Link:
19 description: See https://webfinger.net/
20 properties:
21 href:
22 type: string
23 x-go-name: Href
24 rel:
25 type: string
26 x-go-name: Rel
27 template:
28 type: string
29 x-go-name: Template
30 type:
31 type: string
32 x-go-name: Type
33 title: Link represents one 'link' in a slice of links returned from a lookup request.
34 type: object
35 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
36 Mention:
37 properties:
38 acct:
39 description: |-
40 The account URI as discovered via webfinger.
41 Equal to username for local users, or username@domain for remote users.
42 example: some_user@example.org
43 type: string
44 x-go-name: Acct
45 id:
46 description: The ID of the mentioned account.
47 example: 01FBYJHQWQZAVWFRK9PDYTKGMB
48 type: string
49 x-go-name: ID
50 url:
51 description: The web URL of the mentioned account's profile.
52 example: https://example.org/@some_user
53 type: string
54 x-go-name: URL
55 username:
56 description: The username of the mentioned account.
57 example: some_user
58 type: string
59 x-go-name: Username
60 title: Mention represents a mention of another account.
61 type: object
62 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
63 NodeInfoServices:
64 properties:
65 inbound:
66 items:
67 type: string
68 type: array
69 x-go-name: Inbound
70 outbound:
71 items:
72 type: string
73 type: array
74 x-go-name: Outbound
75 title: NodeInfoServices represents inbound and outbound services that this node offers connections to.
76 type: object
77 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
78 NodeInfoSoftware:
79 properties:
80 name:
81 example: gotosocial
82 type: string
83 x-go-name: Name
84 version:
85 example: 0.1.2 1234567
86 type: string
87 x-go-name: Version
88 title: NodeInfoSoftware represents the name and version number of the software of this node.
89 type: object
90 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
91 NodeInfoUsage:
92 properties:
93 localPosts:
94 format: int64
95 type: integer
96 x-go-name: LocalPosts
97 users:
98 $ref: '#/definitions/NodeInfoUsers'
99 title: NodeInfoUsage represents usage information about this server, such as number of users.
100 type: object
101 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
102 NodeInfoUsers:
103 properties:
104 total:
105 format: int64
106 type: integer
107 x-go-name: Total
108 title: NodeInfoUsers represents aggregate information about the users on the server.
109 type: object
110 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
111 Source:
112 description: Returned as an additional entity when verifying and updated credentials, as an attribute of Account.
113 properties:
114 fields:
115 description: Metadata about the account.
116 items:
117 $ref: '#/definitions/field'
118 type: array
119 x-go-name: Fields
120 follow_requests_count:
121 description: The number of pending follow requests.
122 format: int64
123 type: integer
124 x-go-name: FollowRequestsCount
125 language:
126 description: The default posting language for new statuses.
127 type: string
128 x-go-name: Language
129 note:
130 description: Profile bio.
131 type: string
132 x-go-name: Note
133 privacy:
134 description: |-
135 The default post privacy to be used for new statuses.
136 public = Public post
137 unlisted = Unlisted post
138 private = Followers-only post
139 direct = Direct post
140 type: string
141 x-go-name: Privacy
142 sensitive:
143 description: Whether new statuses should be marked sensitive by default.
144 type: boolean
145 x-go-name: Sensitive
146 status_format:
147 description: The default posting format for new statuses.
148 type: string
149 x-go-name: StatusFormat
150 title: Source represents display or publishing preferences of user's own account.
151 type: object
152 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
153 account:
154 description: The modelled account can be either a remote account, or one on this instance.
155 properties:
156 acct:
157 description: |-
158 The account URI as discovered via webfinger.
159 Equal to username for local users, or username@domain for remote users.
160 example: some_user@example.org
161 type: string
162 x-go-name: Acct
163 avatar:
164 description: Web location of the account's avatar.
165 example: https://example.org/media/some_user/avatar/original/avatar.jpeg
166 type: string
167 x-go-name: Avatar
168 avatar_static:
169 description: |-
170 Web location of a static version of the account's avatar.
171 Only relevant when the account's main avatar is a video or a gif.
172 example: https://example.org/media/some_user/avatar/static/avatar.png
173 type: string
174 x-go-name: AvatarStatic
175 bot:
176 description: Account identifies as a bot.
177 type: boolean
178 x-go-name: Bot
179 created_at:
180 description: When the account was created (ISO 8601 Datetime).
181 example: "2021-07-30T09:20:25+00:00"
182 type: string
183 x-go-name: CreatedAt
184 custom_css:
185 description: CustomCSS to include when rendering this account's profile or statuses.
186 type: string
187 x-go-name: CustomCSS
188 discoverable:
189 description: Account has opted into discovery features.
190 type: boolean
191 x-go-name: Discoverable
192 display_name:
193 description: The account's display name.
194 example: big jeff (he/him)
195 type: string
196 x-go-name: DisplayName
197 emojis:
198 description: Array of custom emojis used in this account's note or display name.
199 items:
200 $ref: '#/definitions/emoji'
201 type: array
202 x-go-name: Emojis
203 enable_rss:
204 description: Account has enabled RSS feed.
205 type: boolean
206 x-go-name: EnableRSS
207 fields:
208 description: Additional metadata attached to this account's profile.
209 items:
210 $ref: '#/definitions/field'
211 type: array
212 x-go-name: Fields
213 followers_count:
214 description: Number of accounts following this account, according to our instance.
215 format: int64
216 type: integer
217 x-go-name: FollowersCount
218 following_count:
219 description: Number of account's followed by this account, according to our instance.
220 format: int64
221 type: integer
222 x-go-name: FollowingCount
223 header:
224 description: Web location of the account's header image.
225 example: https://example.org/media/some_user/header/original/header.jpeg
226 type: string
227 x-go-name: Header
228 header_static:
229 description: |-
230 Web location of a static version of the account's header.
231 Only relevant when the account's main header is a video or a gif.
232 example: https://example.org/media/some_user/header/static/header.png
233 type: string
234 x-go-name: HeaderStatic
235 id:
236 description: The account id.
237 example: 01FBVD42CQ3ZEEVMW180SBX03B
238 type: string
239 x-go-name: ID
240 last_status_at:
241 description: When the account's most recent status was posted (ISO 8601 Datetime).
242 example: "2021-07-30T09:20:25+00:00"
243 type: string
244 x-go-name: LastStatusAt
245 locked:
246 description: Account manually approves follow requests.
247 type: boolean
248 x-go-name: Locked
249 mute_expires_at:
250 description: If this account has been muted, when will the mute expire (ISO 8601 Datetime).
251 example: "2021-07-30T09:20:25+00:00"
252 type: string
253 x-go-name: MuteExpiresAt
254 note:
255 description: Bio/description of this account.
256 type: string
257 x-go-name: Note
258 role:
259 $ref: '#/definitions/accountRole'
260 source:
261 $ref: '#/definitions/Source'
262 statuses_count:
263 description: Number of statuses posted by this account, according to our instance.
264 format: int64
265 type: integer
266 x-go-name: StatusesCount
267 suspended:
268 description: Account has been suspended by our instance.
269 type: boolean
270 x-go-name: Suspended
271 url:
272 description: Web location of the account's profile page.
273 example: https://example.org/@some_user
274 type: string
275 x-go-name: URL
276 username:
277 description: The username of the account, not including domain.
278 example: some_user
279 type: string
280 x-go-name: Username
281 title: Account models a fediverse account.
282 type: object
283 x-go-name: Account
284 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
285 accountRelationship:
286 properties:
287 blocked_by:
288 description: This account is blocking you.
289 type: boolean
290 x-go-name: BlockedBy
291 blocking:
292 description: You are blocking this account.
293 type: boolean
294 x-go-name: Blocking
295 domain_blocking:
296 description: You are blocking this account's domain.
297 type: boolean
298 x-go-name: DomainBlocking
299 endorsed:
300 description: You are featuring this account on your profile.
301 type: boolean
302 x-go-name: Endorsed
303 followed_by:
304 description: This account follows you.
305 type: boolean
306 x-go-name: FollowedBy
307 following:
308 description: You are following this account.
309 type: boolean
310 x-go-name: Following
311 id:
312 description: The account id.
313 example: 01FBW9XGEP7G6K88VY4S9MPE1R
314 type: string
315 x-go-name: ID
316 muting:
317 description: You are muting this account.
318 type: boolean
319 x-go-name: Muting
320 muting_notifications:
321 description: You are muting notifications from this account.
322 type: boolean
323 x-go-name: MutingNotifications
324 note:
325 description: Your note on this account.
326 type: string
327 x-go-name: Note
328 notifying:
329 description: You are seeing notifications when this account posts.
330 type: boolean
331 x-go-name: Notifying
332 requested:
333 description: You have requested to follow this account, and the request is pending.
334 type: boolean
335 x-go-name: Requested
336 showing_reblogs:
337 description: You are seeing reblogs/boosts from this account in your home timeline.
338 type: boolean
339 x-go-name: ShowingReblogs
340 title: Relationship represents a relationship between accounts.
341 type: object
342 x-go-name: Relationship
343 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
344 accountRole:
345 properties:
346 name:
347 type: string
348 x-go-name: Name
349 title: AccountRole models the role of an account.
350 type: object
351 x-go-name: AccountRole
352 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
353 adminAccountInfo:
354 properties:
355 account:
356 $ref: '#/definitions/account'
357 approved:
358 description: Whether the account is currently approved.
359 type: boolean
360 x-go-name: Approved
361 confirmed:
362 description: Whether the account has confirmed their email address.
363 type: boolean
364 x-go-name: Confirmed
365 created_at:
366 description: When the account was first discovered. (ISO 8601 Datetime)
367 example: "2021-07-30T09:20:25+00:00"
368 type: string
369 x-go-name: CreatedAt
370 created_by_application_id:
371 description: The ID of the application that created this account.
372 type: string
373 x-go-name: CreatedByApplicationID
374 disabled:
375 description: Whether the account is currently disabled.
376 type: boolean
377 x-go-name: Disabled
378 domain:
379 description: |-
380 The domain of the account.
381 Null for local accounts.
382 example: example.org
383 type: string
384 x-go-name: Domain
385 email:
386 description: |-
387 The email address associated with the account.
388 Empty string for remote accounts or accounts with
389 no known email address.
390 example: someone@somewhere.com
391 type: string
392 x-go-name: Email
393 id:
394 description: The ID of the account in the database.
395 example: 01GQ4PHNT622DQ9X95XQX4KKNR
396 type: string
397 x-go-name: ID
398 invite_request:
399 description: |-
400 The reason given when requesting an invite.
401 Null if not known / remote account.
402 example: Pleaaaaaaaaaaaaaaase!!
403 type: string
404 x-go-name: InviteRequest
405 invited_by_account_id:
406 description: The ID of the account that invited this user
407 type: string
408 x-go-name: InvitedByAccountID
409 ip:
410 description: |-
411 The IP address last used to login to this account.
412 Null if not known.
413 example: 192.0.2.1
414 type: string
415 x-go-name: IP
416 ips:
417 description: |-
418 All known IP addresses associated with this account.
419 NOT IMPLEMENTED (will always be empty array).
420 example: []
421 items: {}
422 type: array
423 x-go-name: IPs
424 locale:
425 description: The locale of the account. (ISO 639 Part 1 two-letter language code)
426 example: en
427 type: string
428 x-go-name: Locale
429 role:
430 $ref: '#/definitions/accountRole'
431 silenced:
432 description: Whether the account is currently silenced
433 type: boolean
434 x-go-name: Silenced
435 suspended:
436 description: Whether the account is currently suspended.
437 type: boolean
438 x-go-name: Suspended
439 username:
440 description: The username of the account.
441 example: dril
442 type: string
443 x-go-name: Username
444 title: AdminAccountInfo models the admin view of an account's details.
445 type: object
446 x-go-name: AdminAccountInfo
447 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
448 adminEmojiCategory:
449 description: Used for sorting custom emoji in the picker.
450 example: blobcats
451 type: string
452 x-go-name: Category
453 adminEmoji:
454 properties:
455 category:
456 $ref: '#/definitions/adminEmojiCategory'
457 content_type:
458 description: The MIME content type of the emoji.
459 example: image/png
460 type: string
461 x-go-name: ContentType
462 disabled:
463 description: True if this emoji has been disabled by an admin action.
464 example: false
465 type: boolean
466 x-go-name: Disabled
467 domain:
468 description: The domain from which the emoji originated. Only defined for remote domains, otherwise key will not be set.
469 example: example.org
470 type: string
471 x-go-name: Domain
472 id:
473 description: The ID of the emoji.
474 example: 01GEM7SFDZ7GZNRXFVZ3X4E4N1
475 type: string
476 x-go-name: ID
477 shortcode:
478 description: The name of the custom emoji.
479 example: blobcat_uwu
480 type: string
481 x-go-name: Shortcode
482 static_url:
483 description: A link to a static copy of the custom emoji.
484 example: https://example.org/fileserver/emojis/blogcat_uwu.png
485 type: string
486 x-go-name: StaticURL
487 total_file_size:
488 description: The total file size taken up by the emoji in bytes, including static and animated versions.
489 example: 69420
490 format: int64
491 type: integer
492 x-go-name: TotalFileSize
493 updated_at:
494 description: Time when the emoji image was last updated.
495 example: "2022-10-05T09:21:26.419Z"
496 type: string
497 x-go-name: UpdatedAt
498 uri:
499 description: The ActivityPub URI of the emoji.
500 example: https://example.org/emojis/016T5Q3SQKBT337DAKVSKNXXW1
501 type: string
502 x-go-name: URI
503 url:
504 description: Web URL of the custom emoji.
505 example: https://example.org/fileserver/emojis/blogcat_uwu.gif
506 type: string
507 x-go-name: URL
508 visible_in_picker:
509 description: Emoji is visible in the emoji picker of the instance.
510 example: true
511 type: boolean
512 x-go-name: VisibleInPicker
513 title: AdminEmoji models the admin view of a custom emoji.
514 type: object
515 x-go-name: AdminEmoji
516 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
517 adminReport:
518 properties:
519 account:
520 $ref: '#/definitions/adminAccountInfo'
521 action_taken:
522 description: Whether an action has been taken by an admin in response to this report.
523 example: false
524 type: boolean
525 x-go-name: ActionTaken
526 action_taken_at:
527 description: |-
528 If an action was taken, at what time was this done? (ISO 8601 Datetime)
529 Will be null if not set / no action yet taken.
530 example: "2021-07-30T09:20:25+00:00"
531 type: string
532 x-go-name: ActionTakenAt
533 action_taken_by_account:
534 $ref: '#/definitions/adminAccountInfo'
535 action_taken_comment:
536 description: |-
537 If an action was taken, what comment was made by the admin on the taken action?
538 Will be null if not set / no action yet taken.
539 example: Account was suspended.
540 type: string
541 x-go-name: ActionTakenComment
542 assigned_account:
543 $ref: '#/definitions/adminAccountInfo'
544 category:
545 description: Under what category was this report created?
546 example: spam
547 type: string
548 x-go-name: Category
549 comment:
550 description: |-
551 Comment submitted when the report was created.
552 Will be empty if no comment was submitted.
553 example: This person has been harassing me.
554 type: string
555 x-go-name: Comment
556 created_at:
557 description: The date when this report was created (ISO 8601 Datetime).
558 example: "2021-07-30T09:20:25+00:00"
559 type: string
560 x-go-name: CreatedAt
561 forwarded:
562 description: Bool to indicate that report should be federated to remote instance.
563 example: true
564 type: boolean
565 x-go-name: Forwarded
566 id:
567 description: ID of the report.
568 example: 01FBVD42CQ3ZEEVMW180SBX03B
569 type: string
570 x-go-name: ID
571 rule_ids:
572 description: |-
573 Array of rule IDs that were submitted along with this report.
574 NOT IMPLEMENTED, will always be empty array.
575 items: {}
576 type: array
577 x-go-name: Rules
578 statuses:
579 description: |-
580 Array of statuses that were submitted along with this report.
581 Will be empty if no status IDs were submitted with the report.
582 items:
583 $ref: '#/definitions/status'
584 type: array
585 x-go-name: Statuses
586 target_account:
587 $ref: '#/definitions/adminAccountInfo'
588 updated_at:
589 description: Time of last action on this report (ISO 8601 Datetime).
590 example: "2021-07-30T09:20:25+00:00"
591 type: string
592 x-go-name: UpdatedAt
593 title: AdminReport models the admin view of a report.
594 type: object
595 x-go-name: AdminReport
596 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
597 advancedVisibilityFlagsForm:
598 description: |-
599 AdvancedVisibilityFlagsForm allows a few more advanced flags to be set on new statuses, in addition
600 to the standard mastodon-compatible ones.
601 properties:
602 boostable:
603 description: This status can be boosted/reblogged.
604 type: boolean
605 x-go-name: Boostable
606 federated:
607 description: This status will be federated beyond the local timeline(s).
608 type: boolean
609 x-go-name: Federated
610 likeable:
611 description: This status can be liked/faved.
612 type: boolean
613 x-go-name: Likeable
614 replyable:
615 description: This status can be replied to.
616 type: boolean
617 x-go-name: Replyable
618 type: object
619 x-go-name: AdvancedVisibilityFlagsForm
620 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
621 announcement:
622 properties:
623 all_day:
624 description: Announcement doesn't have begin time and end time, but begin day and end day.
625 type: boolean
626 x-go-name: AllDay
627 content:
628 description: |-
629 The body of the announcement.
630 Should be HTML formatted.
631 example: <p>This is an announcement. No malarky.</p>
632 type: string
633 x-go-name: Content
634 emoji:
635 description: Emojis used in this announcement.
636 items:
637 $ref: '#/definitions/emoji'
638 type: array
639 x-go-name: Emojis
640 ends_at:
641 description: |-
642 When the announcement should stop being displayed (ISO 8601 Datetime).
643 If the announcement has no end time, this will be omitted or empty.
644 example: "2021-07-30T09:20:25+00:00"
645 type: string
646 x-go-name: EndsAt
647 id:
648 description: The ID of the announcement.
649 example: 01FC30T7X4TNCZK0TH90QYF3M4
650 type: string
651 x-go-name: ID
652 mentions:
653 description: Mentions this announcement contains.
654 items:
655 $ref: '#/definitions/Mention'
656 type: array
657 x-go-name: Mentions
658 published:
659 description: |-
660 Announcement is 'published', ie., visible to users.
661 Announcements that are not published should be shown only to admins.
662 type: boolean
663 x-go-name: Published
664 published_at:
665 description: When the announcement was first published (ISO 8601 Datetime).
666 example: "2021-07-30T09:20:25+00:00"
667 type: string
668 x-go-name: PublishedAt
669 reactions:
670 description: Reactions to this announcement.
671 items:
672 $ref: '#/definitions/announcementReaction'
673 type: array
674 x-go-name: Reactions
675 read:
676 description: Requesting account has seen this announcement.
677 type: boolean
678 x-go-name: Read
679 starts_at:
680 description: |-
681 When the announcement should begin to be displayed (ISO 8601 Datetime).
682 If the announcement has no start time, this will be omitted or empty.
683 example: "2021-07-30T09:20:25+00:00"
684 type: string
685 x-go-name: StartsAt
686 statuses:
687 description: Statuses contained in this announcement.
688 items:
689 $ref: '#/definitions/status'
690 type: array
691 x-go-name: Statuses
692 tags:
693 description: Tags used in this announcement.
694 items:
695 $ref: '#/definitions/tag'
696 type: array
697 x-go-name: Tags
698 updated_at:
699 description: When the announcement was last updated (ISO 8601 Datetime).
700 example: "2021-07-30T09:20:25+00:00"
701 type: string
702 x-go-name: UpdatedAt
703 title: Announcement models an admin announcement for the instance.
704 type: object
705 x-go-name: Announcement
706 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
707 announcementReaction:
708 properties:
709 count:
710 description: The total number of users who have added this reaction.
711 example: 5
712 format: int64
713 type: integer
714 x-go-name: Count
715 me:
716 description: This reaction belongs to the account viewing it.
717 type: boolean
718 x-go-name: Me
719 name:
720 description: The emoji used for the reaction. Either a unicode emoji, or a custom emoji's shortcode.
721 example: blobcat_uwu
722 type: string
723 x-go-name: Name
724 static_url:
725 description: |-
726 Web link to a non-animated image of the custom emoji.
727 Empty for unicode emojis.
728 example: https://example.org/custom_emojis/statuc/blobcat_uwu.png
729 type: string
730 x-go-name: StaticURL
731 url:
732 description: |-
733 Web link to the image of the custom emoji.
734 Empty for unicode emojis.
735 example: https://example.org/custom_emojis/original/blobcat_uwu.png
736 type: string
737 x-go-name: URL
738 title: AnnouncementReaction models a user reaction to an announcement.
739 type: object
740 x-go-name: AnnouncementReaction
741 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
742 application:
743 properties:
744 client_id:
745 description: Client ID associated with this application.
746 type: string
747 x-go-name: ClientID
748 client_secret:
749 description: Client secret associated with this application.
750 type: string
751 x-go-name: ClientSecret
752 id:
753 description: The ID of the application.
754 example: 01FBVD42CQ3ZEEVMW180SBX03B
755 type: string
756 x-go-name: ID
757 name:
758 description: The name of the application.
759 example: Tusky
760 type: string
761 x-go-name: Name
762 redirect_uri:
763 description: Post-authorization redirect URI for the application (OAuth2).
764 example: https://example.org/callback?some=query
765 type: string
766 x-go-name: RedirectURI
767 vapid_key:
768 description: Push API key for this application.
769 type: string
770 x-go-name: VapidKey
771 website:
772 description: The website associated with the application (url)
773 example: https://tusky.app
774 type: string
775 x-go-name: Website
776 title: Application models an api application.
777 type: object
778 x-go-name: Application
779 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
780 attachment:
781 properties:
782 blurhash:
783 description: |-
784 A hash computed by the BlurHash algorithm, for generating colorful preview thumbnails when media has not been downloaded yet.
785 See https://github.com/woltapp/blurhash
786 type: string
787 x-go-name: Blurhash
788 description:
789 description: Alt text that describes what is in the media attachment.
790 example: This is a picture of a kitten.
791 type: string
792 x-go-name: Description
793 id:
794 description: The ID of the attachment.
795 example: 01FC31DZT1AYWDZ8XTCRWRBYRK
796 type: string
797 x-go-name: ID
798 meta:
799 $ref: '#/definitions/mediaMeta'
800 preview_remote_url:
801 description: |-
802 The location of a scaled-down preview of the attachment on the remote server.
803 Only defined for instances other than our own.
804 example: https://some-other-server.org/attachments/small/ahhhhh.jpeg
805 type: string
806 x-go-name: PreviewRemoteURL
807 preview_url:
808 description: The location of a scaled-down preview of the attachment.
809 example: https://example.org/fileserver/some_id/attachments/some_id/small/attachment.jpeg
810 type: string
811 x-go-name: PreviewURL
812 remote_url:
813 description: |-
814 The location of the full-size original attachment on the remote server.
815 Only defined for instances other than our own.
816 example: https://some-other-server.org/attachments/original/ahhhhh.jpeg
817 type: string
818 x-go-name: RemoteURL
819 text_url:
820 description: |-
821 A shorter URL for the attachment.
822 In our case, we just give the URL again since we don't create smaller URLs.
823 type: string
824 x-go-name: TextURL
825 type:
826 description: The type of the attachment.
827 example: image
828 type: string
829 x-go-name: Type
830 url:
831 description: The location of the original full-size attachment.
832 example: https://example.org/fileserver/some_id/attachments/some_id/original/attachment.jpeg
833 type: string
834 x-go-name: URL
835 title: Attachment models a media attachment.
836 type: object
837 x-go-name: Attachment
838 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
839 card:
840 properties:
841 author_name:
842 description: The author of the original resource.
843 example: weewee@buzzfeed.com
844 type: string
845 x-go-name: AuthorName
846 author_url:
847 description: A link to the author of the original resource.
848 example: https://buzzfeed.com/authors/weewee
849 type: string
850 x-go-name: AuthorURL
851 blurhash:
852 description: A hash computed by the BlurHash algorithm, for generating colorful preview thumbnails when media has not been downloaded yet.
853 type: string
854 x-go-name: Blurhash
855 description:
856 description: Description of preview.
857 example: Is water wet? We're not sure. In this article, we ask an expert...
858 type: string
859 x-go-name: Description
860 embed_url:
861 description: Used for photo embeds, instead of custom html.
862 type: string
863 x-go-name: EmbedURL
864 height:
865 description: Height of preview, in pixels.
866 format: int64
867 type: integer
868 x-go-name: Height
869 html:
870 description: HTML to be used for generating the preview card.
871 type: string
872 x-go-name: HTML
873 image:
874 description: Preview thumbnail.
875 example: https://example.org/fileserver/preview/thumb.jpg
876 type: string
877 x-go-name: Image
878 provider_name:
879 description: The provider of the original resource.
880 example: Buzzfeed
881 type: string
882 x-go-name: ProviderName
883 provider_url:
884 description: A link to the provider of the original resource.
885 example: https://buzzfeed.com
886 type: string
887 x-go-name: ProviderURL
888 title:
889 description: Title of linked resource.
890 example: Buzzfeed - Is Water Wet?
891 type: string
892 x-go-name: Title
893 type:
894 description: The type of the preview card.
895 example: link
896 type: string
897 x-go-name: Type
898 url:
899 description: Location of linked resource.
900 example: https://buzzfeed.com/some/fuckin/buzzfeed/article
901 type: string
902 x-go-name: URL
903 width:
904 description: Width of preview, in pixels.
905 format: int64
906 type: integer
907 x-go-name: Width
908 title: Card represents a rich preview card that is generated using OpenGraph tags from a URL.
909 type: object
910 x-go-name: Card
911 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
912 domain:
913 description: Domain represents a remote domain
914 properties:
915 domain:
916 description: The hostname of the domain.
917 example: example.org
918 type: string
919 x-go-name: Domain
920 public_comment:
921 description: If the domain is blocked, what's the publicly-stated reason for the block.
922 example: they smell
923 type: string
924 x-go-name: PublicComment
925 silenced_at:
926 description: Time at which this domain was silenced. Key will not be present on open domains.
927 example: "2021-07-30T09:20:25+00:00"
928 type: string
929 x-go-name: SilencedAt
930 suspended_at:
931 description: Time at which this domain was suspended. Key will not be present on open domains.
932 example: "2021-07-30T09:20:25+00:00"
933 type: string
934 x-go-name: SuspendedAt
935 type: object
936 x-go-name: Domain
937 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
938 domainBlock:
939 description: DomainBlock represents a block on one domain
940 properties:
941 created_at:
942 description: Time at which this block was created (ISO 8601 Datetime).
943 example: "2021-07-30T09:20:25+00:00"
944 type: string
945 x-go-name: CreatedAt
946 created_by:
947 description: ID of the account that created this domain block.
948 example: 01FBW2758ZB6PBR200YPDDJK4C
949 type: string
950 x-go-name: CreatedBy
951 domain:
952 description: The hostname of the domain.
953 example: example.org
954 type: string
955 x-go-name: Domain
956 id:
957 description: The ID of the domain block.
958 example: 01FBW21XJA09XYX51KV5JVBW0F
959 readOnly: true
960 type: string
961 x-go-name: ID
962 obfuscate:
963 description: |-
964 Obfuscate the domain name when serving this domain block publicly.
965 A useful anti-harassment tool.
966 example: false
967 type: boolean
968 x-go-name: Obfuscate
969 private_comment:
970 description: Private comment for this block, visible to our instance admins only.
971 example: they are poopoo
972 type: string
973 x-go-name: PrivateComment
974 public_comment:
975 description: If the domain is blocked, what's the publicly-stated reason for the block.
976 example: they smell
977 type: string
978 x-go-name: PublicComment
979 silenced_at:
980 description: Time at which this domain was silenced. Key will not be present on open domains.
981 example: "2021-07-30T09:20:25+00:00"
982 type: string
983 x-go-name: SilencedAt
984 subscription_id:
985 description: The ID of the subscription that created/caused this domain block.
986 example: 01FBW25TF5J67JW3HFHZCSD23K
987 type: string
988 x-go-name: SubscriptionID
989 suspended_at:
990 description: Time at which this domain was suspended. Key will not be present on open domains.
991 example: "2021-07-30T09:20:25+00:00"
992 type: string
993 x-go-name: SuspendedAt
994 type: object
995 x-go-name: DomainBlock
996 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
997 domainBlockCreateRequest:
998 properties:
999 domain:
1000 description: hostname/domain to block
1001 type: string
1002 x-go-name: Domain
1003 domains:
1004 description: A list of domains to block. Only used if import=true is specified.
1005 x-go-name: Domains
1006 obfuscate:
1007 description: whether the domain should be obfuscated when being displayed publicly
1008 type: boolean
1009 x-go-name: Obfuscate
1010 private_comment:
1011 description: private comment for other admins on why the domain was blocked
1012 type: string
1013 x-go-name: PrivateComment
1014 public_comment:
1015 description: public comment on the reason for the domain block
1016 type: string
1017 x-go-name: PublicComment
1018 title: DomainBlockCreateRequest is the form submitted as a POST to /api/v1/admin/domain_blocks to create a new block.
1019 type: object
1020 x-go-name: DomainBlockCreateRequest
1021 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
1022 emoji:
1023 properties:
1024 category:
1025 description: Used for sorting custom emoji in the picker.
1026 example: blobcats
1027 type: string
1028 x-go-name: Category
1029 shortcode:
1030 description: The name of the custom emoji.
1031 example: blobcat_uwu
1032 type: string
1033 x-go-name: Shortcode
1034 static_url:
1035 description: A link to a static copy of the custom emoji.
1036 example: https://example.org/fileserver/emojis/blogcat_uwu.png
1037 type: string
1038 x-go-name: StaticURL
1039 url:
1040 description: Web URL of the custom emoji.
1041 example: https://example.org/fileserver/emojis/blogcat_uwu.gif
1042 type: string
1043 x-go-name: URL
1044 visible_in_picker:
1045 description: Emoji is visible in the emoji picker of the instance.
1046 example: true
1047 type: boolean
1048 x-go-name: VisibleInPicker
1049 title: Emoji represents a custom emoji.
1050 type: object
1051 x-go-name: Emoji
1052 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
1053 emojiCategory:
1054 properties:
1055 id:
1056 description: The ID of the custom emoji category.
1057 type: string
1058 x-go-name: ID
1059 name:
1060 description: The name of the custom emoji category.
1061 type: string
1062 x-go-name: Name
1063 title: EmojiCategory represents a custom emoji category.
1064 type: object
1065 x-go-name: EmojiCategory
1066 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
1067 emojiCreateRequest:
1068 properties:
1069 CategoryName:
1070 description: |-
1071 Category in which to place the new emoji. Will be uncategorized by default.
1072 CategoryName length should not exceed 64 characters.
1073 type: string
1074 Image:
1075 description: Image file to use for the emoji. Must be png or gif and no larger than 50kb.
1076 Shortcode:
1077 description: Desired shortcode for the emoji, without surrounding colons. This must be unique for the domain.
1078 example: blobcat_uwu
1079 type: string
1080 title: EmojiCreateRequest represents a request to create a custom emoji made through the admin API.
1081 type: object
1082 x-go-name: EmojiCreateRequest
1083 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
1084 emojiUpdateRequest:
1085 properties:
1086 CategoryName:
1087 description: Category in which to place the emoji.
1088 type: string
1089 Image:
1090 description: |-
1091 Image file to use for the emoji.
1092 Must be png or gif and no larger than 50kb.
1093 Shortcode:
1094 description: Desired shortcode for the emoji, without surrounding colons. This must be unique for the domain.
1095 example: blobcat_uwu
1096 type: string
1097 type:
1098 $ref: '#/definitions/EmojiUpdateType'
1099 title: EmojiUpdateRequest represents a request to update a custom emoji, made through the admin API.
1100 type: object
1101 x-go-name: EmojiUpdateRequest
1102 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
1103 field:
1104 properties:
1105 name:
1106 description: The key/name of this field.
1107 example: pronouns
1108 type: string
1109 x-go-name: Name
1110 value:
1111 description: The value of this field.
1112 example: they/them
1113 type: string
1114 x-go-name: Value
1115 verified_at:
1116 description: If this field has been verified, when did this occur? (ISO 8601 Datetime).
1117 example: "2021-07-30T09:20:25+00:00"
1118 type: string
1119 x-go-name: VerifiedAt
1120 title: Field represents a name/value pair to display on an account's profile.
1121 type: object
1122 x-go-name: Field
1123 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
1124 instanceConfigurationAccounts:
1125 properties:
1126 allow_custom_css:
1127 description: Whether or not accounts on this instance are allowed to upload custom CSS for profiles and statuses.
1128 example: false
1129 type: boolean
1130 x-go-name: AllowCustomCSS
1131 max_featured_tags:
1132 description: |-
1133 The maximum number of featured tags allowed for each account.
1134 Currently not implemented, so this is hardcoded to 10.
1135 format: int64
1136 type: integer
1137 x-go-name: MaxFeaturedTags
1138 title: InstanceConfigurationAccounts models instance account config parameters.
1139 type: object
1140 x-go-name: InstanceConfigurationAccounts
1141 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
1142 instanceConfigurationMediaAttachments:
1143 properties:
1144 image_matrix_limit:
1145 description: |-
1146 Max allowed image size in pixels as height*width.
1147
1148 GtS doesn't set a limit on this, but for compatibility
1149 we give Mastodon's 4096x4096px value here.
1150 example: 16777216
1151 format: int64
1152 type: integer
1153 x-go-name: ImageMatrixLimit
1154 image_size_limit:
1155 description: Max allowed image size in bytes
1156 example: 2097152
1157 format: int64
1158 type: integer
1159 x-go-name: ImageSizeLimit
1160 supported_mime_types:
1161 description: List of mime types that it's possible to upload to this instance.
1162 example:
1163 - image/jpeg
1164 - image/gif
1165 items:
1166 type: string
1167 type: array
1168 x-go-name: SupportedMimeTypes
1169 video_frame_rate_limit:
1170 description: Max allowed video frame rate.
1171 example: 60
1172 format: int64
1173 type: integer
1174 x-go-name: VideoFrameRateLimit
1175 video_matrix_limit:
1176 description: |-
1177 Max allowed video size in pixels as height*width.
1178
1179 GtS doesn't set a limit on this, but for compatibility
1180 we give Mastodon's 4096x4096px value here.
1181 example: 16777216
1182 format: int64
1183 type: integer
1184 x-go-name: VideoMatrixLimit
1185 video_size_limit:
1186 description: Max allowed video size in bytes
1187 example: 10485760
1188 format: int64
1189 type: integer
1190 x-go-name: VideoSizeLimit
1191 title: InstanceConfigurationMediaAttachments models instance media attachment config parameters.
1192 type: object
1193 x-go-name: InstanceConfigurationMediaAttachments
1194 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
1195 instanceConfigurationPolls:
1196 properties:
1197 max_characters_per_option:
1198 description: Number of characters allowed per option in the poll.
1199 example: 50
1200 format: int64
1201 type: integer
1202 x-go-name: MaxCharactersPerOption
1203 max_expiration:
1204 description: Maximum expiration time of the poll in seconds.
1205 example: 2629746
1206 format: int64
1207 type: integer
1208 x-go-name: MaxExpiration
1209 max_options:
1210 description: Number of options permitted in a poll on this instance.
1211 example: 4
1212 format: int64
1213 type: integer
1214 x-go-name: MaxOptions
1215 min_expiration:
1216 description: Minimum expiration time of the poll in seconds.
1217 example: 300
1218 format: int64
1219 type: integer
1220 x-go-name: MinExpiration
1221 title: InstanceConfigurationPolls models instance poll config parameters.
1222 type: object
1223 x-go-name: InstanceConfigurationPolls
1224 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
1225 instanceConfigurationStatuses:
1226 properties:
1227 characters_reserved_per_url:
1228 description: Amount of characters clients should assume a url takes up.
1229 example: 25
1230 format: int64
1231 type: integer
1232 x-go-name: CharactersReservedPerURL
1233 max_characters:
1234 description: Maximum allowed length of a post on this instance, in characters.
1235 example: 5000
1236 format: int64
1237 type: integer
1238 x-go-name: MaxCharacters
1239 max_media_attachments:
1240 description: Max number of attachments allowed on a status.
1241 example: 4
1242 format: int64
1243 type: integer
1244 x-go-name: MaxMediaAttachments
1245 title: InstanceConfigurationStatuses models instance status config parameters.
1246 type: object
1247 x-go-name: InstanceConfigurationStatuses
1248 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
1249 instanceV1:
1250 properties:
1251 account_domain:
1252 description: |-
1253 The domain of accounts on this instance.
1254 This will not necessarily be the same as
1255 simply the Host part of the URI.
1256 example: example.org
1257 type: string
1258 x-go-name: AccountDomain
1259 approval_required:
1260 description: New account registrations require admin approval.
1261 type: boolean
1262 x-go-name: ApprovalRequired
1263 configuration:
1264 $ref: '#/definitions/instanceV1Configuration'
1265 contact_account:
1266 $ref: '#/definitions/account'
1267 description:
1268 description: |-
1269 Description of the instance.
1270
1271 Should be HTML formatted, but might be plaintext.
1272
1273 This should be displayed on the 'about' page for an instance.
1274 type: string
1275 x-go-name: Description
1276 email:
1277 description: An email address that may be used for inquiries.
1278 example: admin@example.org
1279 type: string
1280 x-go-name: Email
1281 invites_enabled:
1282 description: Invites are enabled on this instance.
1283 type: boolean
1284 x-go-name: InvitesEnabled
1285 languages:
1286 description: Primary language of the instance.
1287 example: en
1288 items:
1289 type: string
1290 type: array
1291 x-go-name: Languages
1292 max_toot_chars:
1293 description: |-
1294 Maximum allowed length of a post on this instance, in characters.
1295
1296 This is provided for compatibility with Tusky and other apps.
1297 example: 5000
1298 format: uint64
1299 type: integer
1300 x-go-name: MaxTootChars
1301 registrations:
1302 description: New account registrations are enabled on this instance.
1303 type: boolean
1304 x-go-name: Registrations
1305 short_description:
1306 description: |-
1307 A shorter description of the instance.
1308
1309 Should be HTML formatted, but might be plaintext.
1310
1311 This should be displayed on the instance splash/landing page.
1312 type: string
1313 x-go-name: ShortDescription
1314 stats:
1315 additionalProperties:
1316 format: int64
1317 type: integer
1318 description: 'Statistics about the instance: number of posts, accounts, etc.'
1319 type: object
1320 x-go-name: Stats
1321 thumbnail:
1322 description: URL of the instance avatar/banner image.
1323 example: https://example.org/files/instance/thumbnail.jpeg
1324 type: string
1325 x-go-name: Thumbnail
1326 thumbnail_description:
1327 description: Description of the instance thumbnail.
1328 example: picture of a cute lil' friendly sloth
1329 type: string
1330 x-go-name: ThumbnailDescription
1331 thumbnail_type:
1332 description: MIME type of the instance thumbnail.
1333 example: image/png
1334 type: string
1335 x-go-name: ThumbnailType
1336 title:
1337 description: The title of the instance.
1338 example: GoToSocial Example Instance
1339 type: string
1340 x-go-name: Title
1341 uri:
1342 description: The URI of the instance.
1343 example: https://gts.example.org
1344 type: string
1345 x-go-name: URI
1346 urls:
1347 $ref: '#/definitions/instanceV1URLs'
1348 version:
1349 description: |-
1350 The version of GoToSocial installed on the instance.
1351
1352 This will contain at least a semantic version number.
1353
1354 It may also contain, after a space, the short git commit ID of the running software.
1355 example: 0.1.1 cb85f65
1356 type: string
1357 x-go-name: Version
1358 title: InstanceV1 models information about this instance.
1359 type: object
1360 x-go-name: InstanceV1
1361 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
1362 instanceV1Configuration:
1363 properties:
1364 accounts:
1365 $ref: '#/definitions/instanceConfigurationAccounts'
1366 emojis:
1367 $ref: '#/definitions/InstanceConfigurationEmojis'
1368 media_attachments:
1369 $ref: '#/definitions/instanceConfigurationMediaAttachments'
1370 polls:
1371 $ref: '#/definitions/instanceConfigurationPolls'
1372 statuses:
1373 $ref: '#/definitions/instanceConfigurationStatuses'
1374 title: InstanceV1Configuration models instance configuration parameters.
1375 type: object
1376 x-go-name: InstanceV1Configuration
1377 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
1378 instanceV1URLs:
1379 properties:
1380 streaming_api:
1381 description: Websockets address for status and notification streaming.
1382 example: wss://example.org
1383 type: string
1384 x-go-name: StreamingAPI
1385 title: InstanceV1URLs models instance-relevant URLs for client application consumption.
1386 type: object
1387 x-go-name: InstanceV1URLs
1388 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
1389 instanceV2:
1390 properties:
1391 account_domain:
1392 description: |-
1393 The domain of accounts on this instance.
1394 This will not necessarily be the same as
1395 domain.
1396 example: example.org
1397 type: string
1398 x-go-name: AccountDomain
1399 configuration:
1400 $ref: '#/definitions/instanceV2Configuration'
1401 contact:
1402 $ref: '#/definitions/instanceV2Contact'
1403 description:
1404 description: |-
1405 Description of the instance.
1406
1407 Should be HTML formatted, but might be plaintext.
1408
1409 This should be displayed on the 'about' page for an instance.
1410 type: string
1411 x-go-name: Description
1412 domain:
1413 description: The domain of the instance.
1414 example: gts.example.org
1415 type: string
1416 x-go-name: Domain
1417 languages:
1418 description: Primary languages of the instance + moderators/admins.
1419 example:
1420 - en
1421 items:
1422 type: string
1423 type: array
1424 x-go-name: Languages
1425 registrations:
1426 $ref: '#/definitions/instanceV2Registrations'
1427 rules:
1428 description: |-
1429 An itemized list of rules for this website.
1430 Currently not implemented (will always be empty array).
1431 items: {}
1432 type: array
1433 x-go-name: Rules
1434 source_url:
1435 description: The URL for the source code of the software running on this instance, in keeping with AGPL license requirements.
1436 example: https://github.com/superseriousbusiness/gotosocial
1437 type: string
1438 x-go-name: SourceURL
1439 thumbnail:
1440 $ref: '#/definitions/instanceV2Thumbnail'
1441 title:
1442 description: The title of the instance.
1443 example: GoToSocial Example Instance
1444 type: string
1445 x-go-name: Title
1446 usage:
1447 $ref: '#/definitions/instanceV2Usage'
1448 version:
1449 description: |-
1450 The version of GoToSocial installed on the instance.
1451
1452 This will contain at least a semantic version number.
1453
1454 It may also contain, after a space, the short git commit ID of the running software.
1455 example: 0.1.1 cb85f65
1456 type: string
1457 x-go-name: Version
1458 title: InstanceV2 models information about this instance.
1459 type: object
1460 x-go-name: InstanceV2
1461 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
1462 instanceV2Configuration:
1463 properties:
1464 accounts:
1465 $ref: '#/definitions/instanceConfigurationAccounts'
1466 emojis:
1467 $ref: '#/definitions/InstanceConfigurationEmojis'
1468 media_attachments:
1469 $ref: '#/definitions/instanceConfigurationMediaAttachments'
1470 polls:
1471 $ref: '#/definitions/instanceConfigurationPolls'
1472 statuses:
1473 $ref: '#/definitions/instanceConfigurationStatuses'
1474 translation:
1475 $ref: '#/definitions/instanceV2ConfigurationTranslation'
1476 urls:
1477 $ref: '#/definitions/instanceV1URLs'
1478 title: Configured values and limits for this instance.
1479 type: object
1480 x-go-name: InstanceV2Configuration
1481 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
1482 instanceV2ConfigurationTranslation:
1483 properties:
1484 enabled:
1485 description: |-
1486 Whether the Translations API is available on this instance.
1487 Not implemented so this value is always false.
1488 type: boolean
1489 x-go-name: Enabled
1490 title: Hints related to translation.
1491 type: object
1492 x-go-name: InstanceV2ConfigurationTranslation
1493 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
1494 instanceV2Contact:
1495 properties:
1496 account:
1497 $ref: '#/definitions/account'
1498 email:
1499 description: |-
1500 An email address that can be messaged regarding inquiries or issues.
1501 Empty string if no email address set.
1502 example: someone@example.org
1503 type: string
1504 x-go-name: Email
1505 title: Hints related to contacting a representative of the instance.
1506 type: object
1507 x-go-name: InstanceV2Contact
1508 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
1509 instanceV2Registrations:
1510 properties:
1511 approval_required:
1512 description: Whether registrations require moderator approval.
1513 example: true
1514 type: boolean
1515 x-go-name: ApprovalRequired
1516 enabled:
1517 description: Whether registrations are enabled.
1518 example: false
1519 type: boolean
1520 x-go-name: Enabled
1521 message:
1522 description: |-
1523 A custom message (html string) to be shown when registrations are closed.
1524 Value will be null if no message is set.
1525 example: <p>Registrations are currently closed on example.org because of spam bots!</p>
1526 type: string
1527 x-go-name: Message
1528 title: Information about registering for this instance.
1529 type: object
1530 x-go-name: InstanceV2Registrations
1531 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
1532 instanceV2Thumbnail:
1533 properties:
1534 blurhash:
1535 description: |-
1536 A hash computed by the BlurHash algorithm, for generating colorful preview thumbnails when media has not been downloaded yet.
1537 Key/value not set if no blurhash available.
1538 example: UeKUpFxuo~R%0nW;WCnhF6RjaJt757oJodS$
1539 type: string
1540 x-go-name: Blurhash
1541 thumbnail_description:
1542 description: |-
1543 Description of the instance thumbnail.
1544 Key/value not set if no description available.
1545 example: picture of a cute lil' friendly sloth
1546 type: string
1547 x-go-name: Description
1548 thumbnail_type:
1549 description: |-
1550 MIME type of the instance thumbnail.
1551 Key/value not set if thumbnail image type unknown.
1552 example: image/png
1553 type: string
1554 x-go-name: Type
1555 url:
1556 description: The URL for the thumbnail image.
1557 example: https://example.org/fileserver/01BPSX2MKCRVMD4YN4D71G9CP5/attachment/original/01H88X0KQ2DFYYDSWYP93VDJZA.png
1558 type: string
1559 x-go-name: URL
1560 versions:
1561 $ref: '#/definitions/instanceV2ThumbnailVersions'
1562 title: An image used to represent this instance.
1563 type: object
1564 x-go-name: InstanceV2Thumbnail
1565 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
1566 instanceV2ThumbnailVersions:
1567 properties:
1568 '@1x':
1569 description: |-
1570 The URL for the thumbnail image at 1x resolution.
1571 Key/value not set if scaled versions not available.
1572 type: string
1573 x-go-name: Size1URL
1574 '@2x':
1575 description: |-
1576 The URL for the thumbnail image at 2x resolution.
1577 Key/value not set if scaled versions not available.
1578 type: string
1579 x-go-name: Size2URL
1580 title: Links to scaled resolution images, for high DPI screens.
1581 type: object
1582 x-go-name: InstanceV2ThumbnailVersions
1583 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
1584 instanceV2Usage:
1585 properties:
1586 users:
1587 $ref: '#/definitions/instanceV2Users'
1588 title: Usage data for this instance.
1589 type: object
1590 x-go-name: InstanceV2Usage
1591 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
1592 instanceV2Users:
1593 properties:
1594 active_month:
1595 description: |-
1596 The number of active users in the past 4 weeks.
1597 Currently not implemented: will always be 0.
1598 example: 0
1599 format: int64
1600 type: integer
1601 x-go-name: ActiveMonth
1602 title: Usage data related to users on this instance.
1603 type: object
1604 x-go-name: InstanceV2Users
1605 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
1606 mediaDimensions:
1607 properties:
1608 aspect:
1609 description: |-
1610 Aspect ratio of the media.
1611 Equal to width / height.
1612 example: 1.777777778
1613 format: float
1614 type: number
1615 x-go-name: Aspect
1616 bitrate:
1617 description: Bitrate of the media in bits per second.
1618 example: 1000000
1619 format: int64
1620 type: integer
1621 x-go-name: Bitrate
1622 duration:
1623 description: |-
1624 Duration of the media in seconds.
1625 Only set for video and audio.
1626 example: 5.43
1627 format: float
1628 type: number
1629 x-go-name: Duration
1630 frame_rate:
1631 description: |-
1632 Framerate of the media.
1633 Only set for video and gifs.
1634 example: "30"
1635 type: string
1636 x-go-name: FrameRate
1637 height:
1638 description: |-
1639 Height of the media in pixels.
1640 Not set for audio.
1641 example: 1080
1642 format: int64
1643 type: integer
1644 x-go-name: Height
1645 size:
1646 description: |-
1647 Size of the media, in the format `[width]x[height]`.
1648 Not set for audio.
1649 example: 1920x1080
1650 type: string
1651 x-go-name: Size
1652 width:
1653 description: |-
1654 Width of the media in pixels.
1655 Not set for audio.
1656 example: 1920
1657 format: int64
1658 type: integer
1659 x-go-name: Width
1660 title: MediaDimensions models detailed properties of a piece of media.
1661 type: object
1662 x-go-name: MediaDimensions
1663 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
1664 mediaFocus:
1665 properties:
1666 x:
1667 description: |-
1668 x position of the focus
1669 should be between -1 and 1
1670 format: float
1671 type: number
1672 x-go-name: X
1673 "y":
1674 description: |-
1675 y position of the focus
1676 should be between -1 and 1
1677 format: float
1678 type: number
1679 x-go-name: "Y"
1680 title: MediaFocus models the focal point of a piece of media.
1681 type: object
1682 x-go-name: MediaFocus
1683 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
1684 mediaMeta:
1685 description: This can be metadata about an image, an audio file, video, etc.
1686 properties:
1687 focus:
1688 $ref: '#/definitions/mediaFocus'
1689 original:
1690 $ref: '#/definitions/mediaDimensions'
1691 small:
1692 $ref: '#/definitions/mediaDimensions'
1693 title: MediaMeta models media metadata.
1694 type: object
1695 x-go-name: MediaMeta
1696 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
1697 nodeinfo:
1698 description: 'See: https://nodeinfo.diaspora.software/schema.html'
1699 properties:
1700 metadata:
1701 additionalProperties: {}
1702 description: Free form key value pairs for software specific values. Clients should not rely on any specific key present.
1703 type: object
1704 x-go-name: Metadata
1705 openRegistrations:
1706 description: Whether this server allows open self-registration.
1707 example: false
1708 type: boolean
1709 x-go-name: OpenRegistrations
1710 protocols:
1711 description: The protocols supported on this server.
1712 items:
1713 type: string
1714 type: array
1715 x-go-name: Protocols
1716 services:
1717 $ref: '#/definitions/NodeInfoServices'
1718 software:
1719 $ref: '#/definitions/NodeInfoSoftware'
1720 usage:
1721 $ref: '#/definitions/NodeInfoUsage'
1722 version:
1723 description: The schema version
1724 example: "2.0"
1725 type: string
1726 x-go-name: Version
1727 title: Nodeinfo represents a version 2.1 or version 2.0 nodeinfo schema.
1728 type: object
1729 x-go-name: Nodeinfo
1730 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
1731 notification:
1732 properties:
1733 account:
1734 $ref: '#/definitions/account'
1735 created_at:
1736 description: The timestamp of the notification (ISO 8601 Datetime)
1737 type: string
1738 x-go-name: CreatedAt
1739 id:
1740 description: The id of the notification in the database.
1741 type: string
1742 x-go-name: ID
1743 status:
1744 $ref: '#/definitions/status'
1745 type:
1746 description: |-
1747 The type of event that resulted in the notification.
1748 follow = Someone followed you
1749 follow_request = Someone requested to follow you
1750 mention = Someone mentioned you in their status
1751 reblog = Someone boosted one of your statuses
1752 favourite = Someone favourited one of your statuses
1753 poll = A poll you have voted in or created has ended
1754 status = Someone you enabled notifications for has posted a status
1755 type: string
1756 x-go-name: Type
1757 title: Notification represents a notification of an event relevant to the user.
1758 type: object
1759 x-go-name: Notification
1760 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
1761 oauthToken:
1762 properties:
1763 access_token:
1764 description: Access token used for authorization.
1765 type: string
1766 x-go-name: AccessToken
1767 created_at:
1768 description: When the OAuth token was generated (UNIX timestamp seconds).
1769 example: 1627644520
1770 format: int64
1771 type: integer
1772 x-go-name: CreatedAt
1773 scope:
1774 description: OAuth scopes granted by this token, space-separated.
1775 example: read write admin
1776 type: string
1777 x-go-name: Scope
1778 token_type:
1779 description: OAuth token type. Will always be 'Bearer'.
1780 example: bearer
1781 type: string
1782 x-go-name: TokenType
1783 title: Token represents an OAuth token used for authenticating with the GoToSocial API and performing actions.
1784 type: object
1785 x-go-name: Token
1786 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
1787 poll:
1788 properties:
1789 emojis:
1790 description: Custom emoji to be used for rendering poll options.
1791 items:
1792 $ref: '#/definitions/emoji'
1793 type: array
1794 x-go-name: Emojis
1795 expired:
1796 description: Is the poll currently expired?
1797 type: boolean
1798 x-go-name: Expired
1799 expires_at:
1800 description: When the poll ends. (ISO 8601 Datetime), or null if the poll does not end
1801 type: string
1802 x-go-name: ExpiresAt
1803 id:
1804 description: The ID of the poll in the database.
1805 example: 01FBYKMD1KBMJ0W6JF1YZ3VY5D
1806 type: string
1807 x-go-name: ID
1808 multiple:
1809 description: Does the poll allow multiple-choice answers?
1810 type: boolean
1811 x-go-name: Multiple
1812 options:
1813 description: Possible answers for the poll.
1814 items:
1815 $ref: '#/definitions/pollOptions'
1816 type: array
1817 x-go-name: Options
1818 own_votes:
1819 description: When called with a user token, which options has the authorized user chosen? Contains an array of index values for options.
1820 items:
1821 format: int64
1822 type: integer
1823 type: array
1824 x-go-name: OwnVotes
1825 voted:
1826 description: When called with a user token, has the authorized user voted?
1827 type: boolean
1828 x-go-name: Voted
1829 voters_count:
1830 description: How many unique accounts have voted on a multiple-choice poll. Null if multiple is false.
1831 format: int64
1832 type: integer
1833 x-go-name: VotersCount
1834 votes_count:
1835 description: How many votes have been received.
1836 format: int64
1837 type: integer
1838 x-go-name: VotesCount
1839 title: Poll represents a poll attached to a status.
1840 type: object
1841 x-go-name: Poll
1842 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
1843 pollOptions:
1844 properties:
1845 title:
1846 description: The text value of the poll option. String.
1847 type: string
1848 x-go-name: Title
1849 votes_count:
1850 description: |-
1851 The number of received votes for this option.
1852 Number, or null if results are not published yet.
1853 format: int64
1854 type: integer
1855 x-go-name: VotesCount
1856 title: PollOptions represents the current vote counts for different poll options.
1857 type: object
1858 x-go-name: PollOptions
1859 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
1860 report:
1861 properties:
1862 action_taken:
1863 description: Whether an action has been taken by an admin in response to this report.
1864 example: false
1865 type: boolean
1866 x-go-name: ActionTaken
1867 action_taken_at:
1868 description: |-
1869 If an action was taken, at what time was this done? (ISO 8601 Datetime)
1870 Will be null if not set / no action yet taken.
1871 example: "2021-07-30T09:20:25+00:00"
1872 type: string
1873 x-go-name: ActionTakenAt
1874 action_taken_comment:
1875 description: |-
1876 If an action was taken, what comment was made by the admin on the taken action?
1877 Will be null if not set / no action yet taken.
1878 example: Account was suspended.
1879 type: string
1880 x-go-name: ActionTakenComment
1881 category:
1882 description: Under what category was this report created?
1883 example: spam
1884 type: string
1885 x-go-name: Category
1886 comment:
1887 description: |-
1888 Comment submitted when the report was created.
1889 Will be empty if no comment was submitted.
1890 example: This person has been harassing me.
1891 type: string
1892 x-go-name: Comment
1893 created_at:
1894 description: The date when this report was created (ISO 8601 Datetime).
1895 example: "2021-07-30T09:20:25+00:00"
1896 type: string
1897 x-go-name: CreatedAt
1898 forwarded:
1899 description: Bool to indicate that report should be federated to remote instance.
1900 example: true
1901 type: boolean
1902 x-go-name: Forwarded
1903 id:
1904 description: ID of the report.
1905 example: 01FBVD42CQ3ZEEVMW180SBX03B
1906 type: string
1907 x-go-name: ID
1908 rule_ids:
1909 description: |-
1910 Array of rule IDs that were submitted along with this report.
1911 Will be empty if no rule IDs were submitted.
1912 example:
1913 - 1
1914 - 2
1915 items:
1916 format: int64
1917 type: integer
1918 type: array
1919 x-go-name: RuleIDs
1920 status_ids:
1921 description: |-
1922 Array of IDs of statuses that were submitted along with this report.
1923 Will be empty if no status IDs were submitted.
1924 example:
1925 - 01GPBN5YDY6JKBWE44H7YQBDCQ
1926 - 01GPBN65PDWSBPWVDD0SQCFFY3
1927 items:
1928 type: string
1929 type: array
1930 x-go-name: StatusIDs
1931 target_account:
1932 $ref: '#/definitions/account'
1933 title: Report models a moderation report submitted to the instance, either via the client API or via the federated API.
1934 type: object
1935 x-go-name: Report
1936 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
1937 searchResult:
1938 properties:
1939 accounts:
1940 items:
1941 $ref: '#/definitions/account'
1942 type: array
1943 x-go-name: Accounts
1944 hashtags:
1945 items:
1946 $ref: '#/definitions/tag'
1947 type: array
1948 x-go-name: Hashtags
1949 statuses:
1950 items:
1951 $ref: '#/definitions/status'
1952 type: array
1953 x-go-name: Statuses
1954 title: SearchResult models a search result.
1955 type: object
1956 x-go-name: SearchResult
1957 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
1958 status:
1959 properties:
1960 account:
1961 $ref: '#/definitions/account'
1962 application:
1963 $ref: '#/definitions/application'
1964 bookmarked:
1965 description: This status has been bookmarked by the account viewing it.
1966 type: boolean
1967 x-go-name: Bookmarked
1968 card:
1969 $ref: '#/definitions/card'
1970 content:
1971 description: The content of this status. Should be HTML, but might also be plaintext in some cases.
1972 example: <p>Hey this is a status!</p>
1973 type: string
1974 x-go-name: Content
1975 created_at:
1976 description: The date when this status was created (ISO 8601 Datetime).
1977 example: "2021-07-30T09:20:25+00:00"
1978 type: string
1979 x-go-name: CreatedAt
1980 emojis:
1981 description: Custom emoji to be used when rendering status content.
1982 items:
1983 $ref: '#/definitions/emoji'
1984 type: array
1985 x-go-name: Emojis
1986 favourited:
1987 description: This status has been favourited by the account viewing it.
1988 type: boolean
1989 x-go-name: Favourited
1990 favourites_count:
1991 description: Number of favourites/likes this status has received, according to our instance.
1992 format: int64
1993 type: integer
1994 x-go-name: FavouritesCount
1995 id:
1996 description: ID of the status.
1997 example: 01FBVD42CQ3ZEEVMW180SBX03B
1998 type: string
1999 x-go-name: ID
2000 in_reply_to_account_id:
2001 description: ID of the account being replied to.
2002 example: 01FBVD42CQ3ZEEVMW180SBX03B
2003 type: string
2004 x-go-name: InReplyToAccountID
2005 in_reply_to_id:
2006 description: ID of the status being replied to.
2007 example: 01FBVD42CQ3ZEEVMW180SBX03B
2008 type: string
2009 x-go-name: InReplyToID
2010 language:
2011 description: |-
2012 Primary language of this status (ISO 639 Part 1 two-letter language code).
2013 Will be null if language is not known.
2014 example: en
2015 type: string
2016 x-go-name: Language
2017 media_attachments:
2018 description: Media that is attached to this status.
2019 items:
2020 $ref: '#/definitions/attachment'
2021 type: array
2022 x-go-name: MediaAttachments
2023 mentions:
2024 description: Mentions of users within the status content.
2025 items:
2026 $ref: '#/definitions/Mention'
2027 type: array
2028 x-go-name: Mentions
2029 muted:
2030 description: Replies to this status have been muted by the account viewing it.
2031 type: boolean
2032 x-go-name: Muted
2033 pinned:
2034 description: This status has been pinned by the account viewing it (only relevant for your own statuses).
2035 type: boolean
2036 x-go-name: Pinned
2037 poll:
2038 $ref: '#/definitions/poll'
2039 reblog:
2040 $ref: '#/definitions/statusReblogged'
2041 reblogged:
2042 description: This status has been boosted/reblogged by the account viewing it.
2043 type: boolean
2044 x-go-name: Reblogged
2045 reblogs_count:
2046 description: Number of times this status has been boosted/reblogged, according to our instance.
2047 format: int64
2048 type: integer
2049 x-go-name: ReblogsCount
2050 replies_count:
2051 description: Number of replies to this status, according to our instance.
2052 format: int64
2053 type: integer
2054 x-go-name: RepliesCount
2055 sensitive:
2056 description: Status contains sensitive content.
2057 example: false
2058 type: boolean
2059 x-go-name: Sensitive
2060 spoiler_text:
2061 description: Subject, summary, or content warning for the status.
2062 example: warning nsfw
2063 type: string
2064 x-go-name: SpoilerText
2065 tags:
2066 description: Hashtags used within the status content.
2067 items:
2068 $ref: '#/definitions/tag'
2069 type: array
2070 x-go-name: Tags
2071 text:
2072 description: |-
2073 Plain-text source of a status. Returned instead of content when status is deleted,
2074 so the user may redraft from the source text without the client having to reverse-engineer
2075 the original text from the HTML content.
2076 type: string
2077 x-go-name: Text
2078 uri:
2079 description: ActivityPub URI of the status. Equivalent to the status's activitypub ID.
2080 example: https://example.org/users/some_user/statuses/01FBVD42CQ3ZEEVMW180SBX03B
2081 type: string
2082 x-go-name: URI
2083 url:
2084 description: The status's publicly available web URL. This link will only work if the visibility of the status is 'public'.
2085 example: https://example.org/@some_user/statuses/01FBVD42CQ3ZEEVMW180SBX03B
2086 type: string
2087 x-go-name: URL
2088 visibility:
2089 description: Visibility of this status.
2090 example: unlisted
2091 type: string
2092 x-go-name: Visibility
2093 title: Status models a status or post.
2094 type: object
2095 x-go-name: Status
2096 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
2097 statusContext:
2098 properties:
2099 ancestors:
2100 description: Parents in the thread.
2101 items:
2102 $ref: '#/definitions/status'
2103 type: array
2104 x-go-name: Ancestors
2105 descendants:
2106 description: Children in the thread.
2107 items:
2108 $ref: '#/definitions/status'
2109 type: array
2110 x-go-name: Descendants
2111 title: Context models the tree around a given status.
2112 type: object
2113 x-go-name: Context
2114 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
2115 statusCreateRequest:
2116 properties:
2117 format:
2118 description: |-
2119 Format to use when parsing this status.
2120 in: formData
2121 type: string
2122 x-go-name: Format
2123 in_reply_to_id:
2124 description: |-
2125 ID of the status being replied to, if status is a reply.
2126 in: formData
2127 type: string
2128 x-go-name: InReplyToID
2129 language:
2130 description: |-
2131 ISO 639 language code for this status.
2132 in: formData
2133 type: string
2134 x-go-name: Language
2135 media_ids:
2136 description: |-
2137 Array of Attachment ids to be attached as media.
2138 If provided, status becomes optional, and poll cannot be used.
2139
2140 If the status is being submitted as a form, the key is 'media_ids[]',
2141 but if it's json or xml, the key is 'media_ids'.
2142
2143 in: formData
2144 items:
2145 type: string
2146 type: array
2147 x-go-name: MediaIDs
2148 scheduled_at:
2149 description: |-
2150 ISO 8601 Datetime at which to schedule a status.
2151 Providing this parameter will cause ScheduledStatus to be returned instead of Status.
2152 Must be at least 5 minutes in the future.
2153 in: formData
2154 type: string
2155 x-go-name: ScheduledAt
2156 sensitive:
2157 description: |-
2158 Status and attached media should be marked as sensitive.
2159 in: formData
2160 type: boolean
2161 x-go-name: Sensitive
2162 spoiler_text:
2163 description: |-
2164 Text to be shown as a warning or subject before the actual content.
2165 Statuses are generally collapsed behind this field.
2166 in: formData
2167 type: string
2168 x-go-name: SpoilerText
2169 status:
2170 description: |-
2171 Text content of the status.
2172 If media_ids is provided, this becomes optional.
2173 Attaching a poll is optional while status is provided.
2174 in: formData
2175 type: string
2176 x-go-name: Status
2177 visibility:
2178 description: |-
2179 Visibility of the posted status.
2180 in: formData
2181 type: string
2182 x-go-name: Visibility
2183 title: StatusCreateRequest models status creation parameters.
2184 type: object
2185 x-go-name: StatusCreateRequest
2186 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
2187 statusReblogged:
2188 properties:
2189 account:
2190 $ref: '#/definitions/account'
2191 application:
2192 $ref: '#/definitions/application'
2193 bookmarked:
2194 description: This status has been bookmarked by the account viewing it.
2195 type: boolean
2196 x-go-name: Bookmarked
2197 card:
2198 $ref: '#/definitions/card'
2199 content:
2200 description: The content of this status. Should be HTML, but might also be plaintext in some cases.
2201 example: <p>Hey this is a status!</p>
2202 type: string
2203 x-go-name: Content
2204 created_at:
2205 description: The date when this status was created (ISO 8601 Datetime).
2206 example: "2021-07-30T09:20:25+00:00"
2207 type: string
2208 x-go-name: CreatedAt
2209 emojis:
2210 description: Custom emoji to be used when rendering status content.
2211 items:
2212 $ref: '#/definitions/emoji'
2213 type: array
2214 x-go-name: Emojis
2215 favourited:
2216 description: This status has been favourited by the account viewing it.
2217 type: boolean
2218 x-go-name: Favourited
2219 favourites_count:
2220 description: Number of favourites/likes this status has received, according to our instance.
2221 format: int64
2222 type: integer
2223 x-go-name: FavouritesCount
2224 id:
2225 description: ID of the status.
2226 example: 01FBVD42CQ3ZEEVMW180SBX03B
2227 type: string
2228 x-go-name: ID
2229 in_reply_to_account_id:
2230 description: ID of the account being replied to.
2231 example: 01FBVD42CQ3ZEEVMW180SBX03B
2232 type: string
2233 x-go-name: InReplyToAccountID
2234 in_reply_to_id:
2235 description: ID of the status being replied to.
2236 example: 01FBVD42CQ3ZEEVMW180SBX03B
2237 type: string
2238 x-go-name: InReplyToID
2239 language:
2240 description: |-
2241 Primary language of this status (ISO 639 Part 1 two-letter language code).
2242 Will be null if language is not known.
2243 example: en
2244 type: string
2245 x-go-name: Language
2246 media_attachments:
2247 description: Media that is attached to this status.
2248 items:
2249 $ref: '#/definitions/attachment'
2250 type: array
2251 x-go-name: MediaAttachments
2252 mentions:
2253 description: Mentions of users within the status content.
2254 items:
2255 $ref: '#/definitions/Mention'
2256 type: array
2257 x-go-name: Mentions
2258 muted:
2259 description: Replies to this status have been muted by the account viewing it.
2260 type: boolean
2261 x-go-name: Muted
2262 pinned:
2263 description: This status has been pinned by the account viewing it (only relevant for your own statuses).
2264 type: boolean
2265 x-go-name: Pinned
2266 poll:
2267 $ref: '#/definitions/poll'
2268 reblog:
2269 $ref: '#/definitions/statusReblogged'
2270 reblogged:
2271 description: This status has been boosted/reblogged by the account viewing it.
2272 type: boolean
2273 x-go-name: Reblogged
2274 reblogs_count:
2275 description: Number of times this status has been boosted/reblogged, according to our instance.
2276 format: int64
2277 type: integer
2278 x-go-name: ReblogsCount
2279 replies_count:
2280 description: Number of replies to this status, according to our instance.
2281 format: int64
2282 type: integer
2283 x-go-name: RepliesCount
2284 sensitive:
2285 description: Status contains sensitive content.
2286 example: false
2287 type: boolean
2288 x-go-name: Sensitive
2289 spoiler_text:
2290 description: Subject, summary, or content warning for the status.
2291 example: warning nsfw
2292 type: string
2293 x-go-name: SpoilerText
2294 tags:
2295 description: Hashtags used within the status content.
2296 items:
2297 $ref: '#/definitions/tag'
2298 type: array
2299 x-go-name: Tags
2300 text:
2301 description: |-
2302 Plain-text source of a status. Returned instead of content when status is deleted,
2303 so the user may redraft from the source text without the client having to reverse-engineer
2304 the original text from the HTML content.
2305 type: string
2306 x-go-name: Text
2307 uri:
2308 description: ActivityPub URI of the status. Equivalent to the status's activitypub ID.
2309 example: https://example.org/users/some_user/statuses/01FBVD42CQ3ZEEVMW180SBX03B
2310 type: string
2311 x-go-name: URI
2312 url:
2313 description: The status's publicly available web URL. This link will only work if the visibility of the status is 'public'.
2314 example: https://example.org/@some_user/statuses/01FBVD42CQ3ZEEVMW180SBX03B
2315 type: string
2316 x-go-name: URL
2317 visibility:
2318 description: Visibility of this status.
2319 example: unlisted
2320 type: string
2321 x-go-name: Visibility
2322 title: StatusReblogged represents a reblogged status.
2323 type: object
2324 x-go-name: StatusReblogged
2325 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
2326 swaggerCollection:
2327 properties:
2328 '@context':
2329 description: ActivityStreams context.
2330 example: https://www.w3.org/ns/activitystreams
2331 type: string
2332 x-go-name: Context
2333 first:
2334 $ref: '#/definitions/swaggerCollectionPage'
2335 id:
2336 description: ActivityStreams ID.
2337 example: https://example.org/users/some_user/statuses/106717595988259568/replies
2338 type: string
2339 x-go-name: ID
2340 last:
2341 $ref: '#/definitions/swaggerCollectionPage'
2342 type:
2343 description: ActivityStreams type.
2344 example: Collection
2345 type: string
2346 x-go-name: Type
2347 title: SwaggerCollection represents an activitypub collection.
2348 type: object
2349 x-go-name: SwaggerCollection
2350 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/activitypub/users
2351 swaggerCollectionPage:
2352 properties:
2353 id:
2354 description: ActivityStreams ID.
2355 example: https://example.org/users/some_user/statuses/106717595988259568/replies?page=true
2356 type: string
2357 x-go-name: ID
2358 items:
2359 description: Items on this page.
2360 example:
2361 - https://example.org/users/some_other_user/statuses/086417595981111564
2362 - https://another.example.com/users/another_user/statuses/01FCN8XDV3YG7B4R42QA6YQZ9R
2363 items:
2364 type: string
2365 type: array
2366 x-go-name: Items
2367 next:
2368 description: Link to the next page.
2369 example: https://example.org/users/some_user/statuses/106717595988259568/replies?only_other_accounts=true&page=true
2370 type: string
2371 x-go-name: Next
2372 partOf:
2373 description: Collection this page belongs to.
2374 example: https://example.org/users/some_user/statuses/106717595988259568/replies
2375 type: string
2376 x-go-name: PartOf
2377 type:
2378 description: ActivityStreams type.
2379 example: CollectionPage
2380 type: string
2381 x-go-name: Type
2382 title: SwaggerCollectionPage represents one page of a collection.
2383 type: object
2384 x-go-name: SwaggerCollectionPage
2385 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/activitypub/users
2386 tag:
2387 properties:
2388 name:
2389 description: 'The value of the hashtag after the # sign.'
2390 example: helloworld
2391 type: string
2392 x-go-name: Name
2393 url:
2394 description: Web link to the hashtag.
2395 example: https://example.org/tags/helloworld
2396 type: string
2397 x-go-name: URL
2398 title: Tag represents a hashtag used within the content of a status.
2399 type: object
2400 x-go-name: Tag
2401 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
2402 updateField:
2403 description: By default, max 4 fields and 255 characters per property/value.
2404 properties:
2405 name:
2406 description: Name of the field
2407 type: string
2408 x-go-name: Name
2409 value:
2410 description: Value of the field
2411 type: string
2412 x-go-name: Value
2413 title: UpdateField is to be used specifically in an UpdateCredentialsRequest.
2414 type: object
2415 x-go-name: UpdateField
2416 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
2417 updateSource:
2418 properties:
2419 language:
2420 description: Default language to use for authored statuses. (ISO 6391)
2421 type: string
2422 x-go-name: Language
2423 privacy:
2424 description: Default post privacy for authored statuses.
2425 type: string
2426 x-go-name: Privacy
2427 sensitive:
2428 description: Mark authored statuses as sensitive by default.
2429 type: boolean
2430 x-go-name: Sensitive
2431 status_format:
2432 description: Default format for authored statuses (plain or markdown).
2433 type: string
2434 x-go-name: StatusFormat
2435 title: UpdateSource is to be used specifically in an UpdateCredentialsRequest.
2436 type: object
2437 x-go-name: UpdateSource
2438 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
2439 wellKnownResponse:
2440 description: See https://webfinger.net/
2441 properties:
2442 aliases:
2443 items:
2444 type: string
2445 type: array
2446 x-go-name: Aliases
2447 links:
2448 items:
2449 $ref: '#/definitions/Link'
2450 type: array
2451 x-go-name: Links
2452 subject:
2453 type: string
2454 x-go-name: Subject
2455 title: |-
2456 WellKnownResponse represents the response to either a webfinger request for an 'acct' resource, or a request to nodeinfo.
2457 For example, it would be returned from https://example.org/.well-known/webfinger?resource=acct:some_username@example.org
2458 type: object
2459 x-go-name: WellKnownResponse
2460 x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/model
2461host: example.org
2462info:
2463 contact:
2464 email: admin@gotosocial.org
2465 name: GoToSocial Authors
2466 license:
2467 name: AGPL3
2468 url: https://www.gnu.org/licenses/agpl-3.0.en.html
2469 title: GoToSocial Swagger documentation.
2470 version: REPLACE_ME
2471paths:
2472 /.well-known/nodeinfo:
2473 get:
2474 description: |-
2475 eg. `{"links":[{"rel":"http://nodeinfo.diaspora.software/ns/schema/2.0","href":"http://example.org/nodeinfo/2.0"}]}`
2476 See: https://nodeinfo.diaspora.software/protocol.html
2477 operationId: nodeInfoWellKnownGet
2478 produces:
2479 - application/json
2480 responses:
2481 "200":
2482 description: ""
2483 schema:
2484 $ref: '#/definitions/wellKnownResponse'
2485 summary: Returns a well-known response which redirects callers to `/nodeinfo/2.0`.
2486 tags:
2487 - .well-known
2488 /.well-known/webfinger:
2489 get:
2490 description: |-
2491 For example, a GET to `https://goblin.technology/.well-known/webfinger?resource=acct:tobi@goblin.technology` would return:
2492
2493 ```
2494
2495 {"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"}]}
2496
2497 ```
2498
2499 See: https://webfinger.net/
2500 operationId: webfingerGet
2501 produces:
2502 - application/json
2503 responses:
2504 "200":
2505 description: ""
2506 schema:
2507 $ref: '#/definitions/wellKnownResponse'
2508 summary: Handles webfinger account lookup requests.
2509 tags:
2510 - .well-known
2511 /api/{api_version}/media:
2512 post:
2513 consumes:
2514 - multipart/form-data
2515 operationId: mediaCreate
2516 parameters:
2517 - description: Version of the API to use. Must be either `v1` or `v2`.
2518 in: path
2519 name: api_version
2520 required: true
2521 type: string
2522 - 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.
2523 in: formData
2524 name: description
2525 type: string
2526 - default: 0,0
2527 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`.'
2528 in: formData
2529 name: focus
2530 type: string
2531 - description: The media attachment to upload.
2532 in: formData
2533 name: file
2534 required: true
2535 type: file
2536 produces:
2537 - application/json
2538 responses:
2539 "200":
2540 description: The newly-created media attachment.
2541 schema:
2542 $ref: '#/definitions/attachment'
2543 "400":
2544 description: bad request
2545 "401":
2546 description: unauthorized
2547 "422":
2548 description: unprocessable
2549 "500":
2550 description: internal server error
2551 security:
2552 - OAuth2 Bearer:
2553 - write:media
2554 summary: Upload a new media attachment.
2555 tags:
2556 - media
2557 /api/v1/accounts:
2558 post:
2559 consumes:
2560 - application/json
2561 - application/xml
2562 - application/x-www-form-urlencoded
2563 description: |-
2564 The parameters can also be given in the body of the request, as JSON, if the content-type is set to 'application/json'.
2565 The parameters can also be given in the body of the request, as XML, if the content-type is set to 'application/xml'.
2566 operationId: accountCreate
2567 parameters:
2568 - description: Text that will be reviewed by moderators if registrations require manual approval.
2569 in: query
2570 name: reason
2571 type: string
2572 x-go-name: Reason
2573 - description: The desired username for the account.
2574 in: query
2575 name: username
2576 type: string
2577 x-go-name: Username
2578 - description: The email address to be used for login.
2579 in: query
2580 name: email
2581 type: string
2582 x-go-name: Email
2583 - description: The password to be used for login. This will be hashed before storage.
2584 in: query
2585 name: password
2586 type: string
2587 x-go-name: Password
2588 - description: The user agrees to the terms, conditions, and policies of the instance.
2589 in: query
2590 name: agreement
2591 type: boolean
2592 x-go-name: Agreement
2593 - description: The language of the confirmation email that will be sent.
2594 in: query
2595 name: locale
2596 type: string
2597 x-go-name: Locale
2598 produces:
2599 - application/json
2600 responses:
2601 "200":
2602 description: An OAuth2 access token for the newly-created account.
2603 schema:
2604 $ref: '#/definitions/oauthToken'
2605 "400":
2606 description: bad request
2607 "401":
2608 description: unauthorized
2609 "404":
2610 description: not found
2611 "406":
2612 description: not acceptable
2613 "500":
2614 description: internal server error
2615 security:
2616 - OAuth2 Application:
2617 - write:accounts
2618 summary: Create a new account using an application token.
2619 tags:
2620 - accounts
2621 /api/v1/accounts/{id}:
2622 get:
2623 operationId: accountGet
2624 parameters:
2625 - description: The id of the requested account.
2626 in: path
2627 name: id
2628 required: true
2629 type: string
2630 produces:
2631 - application/json
2632 responses:
2633 "200":
2634 description: The requested account.
2635 schema:
2636 $ref: '#/definitions/account'
2637 "400":
2638 description: bad request
2639 "401":
2640 description: unauthorized
2641 "404":
2642 description: not found
2643 "406":
2644 description: not acceptable
2645 "500":
2646 description: internal server error
2647 security:
2648 - OAuth2 Bearer:
2649 - read:accounts
2650 summary: Get information about an account with the given ID.
2651 tags:
2652 - accounts
2653 /api/v1/accounts/{id}/block:
2654 post:
2655 operationId: accountBlock
2656 parameters:
2657 - description: The id of the account to block.
2658 in: path
2659 name: id
2660 required: true
2661 type: string
2662 produces:
2663 - application/json
2664 responses:
2665 "200":
2666 description: Your relationship to the account.
2667 schema:
2668 $ref: '#/definitions/accountRelationship'
2669 "400":
2670 description: bad request
2671 "401":
2672 description: unauthorized
2673 "404":
2674 description: not found
2675 "406":
2676 description: not acceptable
2677 "500":
2678 description: internal server error
2679 security:
2680 - OAuth2 Bearer:
2681 - write:blocks
2682 summary: Block account with id.
2683 tags:
2684 - accounts
2685 /api/v1/accounts/{id}/follow:
2686 post:
2687 consumes:
2688 - application/json
2689 - application/xml
2690 - application/x-www-form-urlencoded
2691 description: |-
2692 The parameters can also be given in the body of the request, as JSON, if the content-type is set to 'application/json'.
2693 The parameters can also be given in the body of the request, as XML, if the content-type is set to 'application/xml'.
2694 operationId: accountFollow
2695 parameters:
2696 - description: ID of the account to follow.
2697 in: path
2698 name: id
2699 required: true
2700 type: string
2701 - default: true
2702 description: Show reblogs from this account.
2703 in: formData
2704 name: reblogs
2705 type: boolean
2706 - default: false
2707 description: Notify when this account posts.
2708 in: formData
2709 name: notify
2710 type: boolean
2711 produces:
2712 - application/json
2713 responses:
2714 "200":
2715 description: Your relationship to this account.
2716 schema:
2717 $ref: '#/definitions/accountRelationship'
2718 "400":
2719 description: bad request
2720 "401":
2721 description: unauthorized
2722 "404":
2723 description: not found
2724 "406":
2725 description: not acceptable
2726 "500":
2727 description: internal server error
2728 security:
2729 - OAuth2 Bearer:
2730 - write:follows
2731 summary: Follow account with id.
2732 tags:
2733 - accounts
2734 /api/v1/accounts/{id}/followers:
2735 get:
2736 operationId: accountFollowers
2737 parameters:
2738 - description: Account ID.
2739 in: path
2740 name: id
2741 required: true
2742 type: string
2743 produces:
2744 - application/json
2745 responses:
2746 "200":
2747 description: Array of accounts that follow this account.
2748 schema:
2749 items:
2750 $ref: '#/definitions/account'
2751 type: array
2752 "400":
2753 description: bad request
2754 "401":
2755 description: unauthorized
2756 "404":
2757 description: not found
2758 "406":
2759 description: not acceptable
2760 "500":
2761 description: internal server error
2762 security:
2763 - OAuth2 Bearer:
2764 - read:accounts
2765 summary: See followers of account with given id.
2766 tags:
2767 - accounts
2768 /api/v1/accounts/{id}/following:
2769 get:
2770 operationId: accountFollowing
2771 parameters:
2772 - description: Account ID.
2773 in: path
2774 name: id
2775 required: true
2776 type: string
2777 produces:
2778 - application/json
2779 responses:
2780 "200":
2781 description: Array of accounts that are followed by this account.
2782 "400":
2783 description: bad request
2784 "401":
2785 description: unauthorized
2786 "404":
2787 description: not found
2788 "406":
2789 description: not acceptable
2790 "500":
2791 description: internal server error
2792 security:
2793 - OAuth2 Bearer:
2794 - read:accounts
2795 summary: See accounts followed by given account id.
2796 tags:
2797 - accounts
2798 /api/v1/accounts/{id}/statuses:
2799 get:
2800 description: The statuses will be returned in descending chronological order (newest first), with sequential IDs (bigger = newer).
2801 operationId: accountStatuses
2802 parameters:
2803 - description: Account ID.
2804 in: path
2805 name: id
2806 required: true
2807 type: string
2808 - default: 30
2809 description: Number of statuses to return.
2810 in: query
2811 name: limit
2812 type: integer
2813 - default: false
2814 description: Exclude statuses that are a reply to another status.
2815 in: query
2816 name: exclude_replies
2817 type: boolean
2818 - default: false
2819 description: Exclude statuses that are a reblog/boost of another status.
2820 in: query
2821 name: exclude_reblogs
2822 type: boolean
2823 - description: Return only statuses *OLDER* than the given max status ID. The status with the specified ID will not be included in the response.
2824 in: query
2825 name: max_id
2826 type: string
2827 - description: Return only statuses *NEWER* than the given min status ID. The status with the specified ID will not be included in the response.
2828 in: query
2829 name: min_id
2830 type: string
2831 - default: false
2832 description: Show only pinned statuses. In other words, exclude statuses that are not pinned to the given account ID.
2833 in: query
2834 name: pinned_only
2835 type: boolean
2836 - default: false
2837 description: Show only statuses with media attachments.
2838 in: query
2839 name: only_media
2840 type: boolean
2841 - default: false
2842 description: Show only statuses with a privacy setting of 'public'.
2843 in: query
2844 name: only_public
2845 type: boolean
2846 produces:
2847 - application/json
2848 responses:
2849 "200":
2850 description: Array of statuses.
2851 schema:
2852 items:
2853 $ref: '#/definitions/status'
2854 type: array
2855 "400":
2856 description: bad request
2857 "401":
2858 description: unauthorized
2859 "404":
2860 description: not found
2861 "406":
2862 description: not acceptable
2863 "500":
2864 description: internal server error
2865 security:
2866 - OAuth2 Bearer:
2867 - read:accounts
2868 summary: See statuses posted by the requested account.
2869 tags:
2870 - accounts
2871 /api/v1/accounts/{id}/unblock:
2872 post:
2873 operationId: accountUnblock
2874 parameters:
2875 - description: The id of the account to unblock.
2876 in: path
2877 name: id
2878 required: true
2879 type: string
2880 produces:
2881 - application/json
2882 responses:
2883 "200":
2884 description: Your relationship to this account.
2885 schema:
2886 $ref: '#/definitions/accountRelationship'
2887 "400":
2888 description: bad request
2889 "401":
2890 description: unauthorized
2891 "404":
2892 description: not found
2893 "406":
2894 description: not acceptable
2895 "500":
2896 description: internal server error
2897 security:
2898 - OAuth2 Bearer:
2899 - write:blocks
2900 summary: Unblock account with ID.
2901 tags:
2902 - accounts
2903 /api/v1/accounts/{id}/unfollow:
2904 post:
2905 operationId: accountUnfollow
2906 parameters:
2907 - description: The id of the account to unfollow.
2908 in: path
2909 name: id
2910 required: true
2911 type: string
2912 produces:
2913 - application/json
2914 responses:
2915 "200":
2916 description: Your relationship to this account.
2917 schema:
2918 $ref: '#/definitions/accountRelationship'
2919 "400":
2920 description: bad request
2921 "401":
2922 description: unauthorized
2923 "404":
2924 description: not found
2925 "406":
2926 description: not acceptable
2927 "500":
2928 description: internal server error
2929 security:
2930 - OAuth2 Bearer:
2931 - write:follows
2932 summary: Unfollow account with id.
2933 tags:
2934 - accounts
2935 /api/v1/accounts/delete:
2936 post:
2937 consumes:
2938 - multipart/form-data
2939 operationId: accountDelete
2940 parameters:
2941 - description: Password of the account user, for confirmation.
2942 in: formData
2943 name: password
2944 required: true
2945 type: string
2946 responses:
2947 "202":
2948 description: The account deletion has been accepted and the account will be deleted.
2949 "400":
2950 description: bad request
2951 "401":
2952 description: unauthorized
2953 "404":
2954 description: not found
2955 "406":
2956 description: not acceptable
2957 "500":
2958 description: internal server error
2959 security:
2960 - OAuth2 Bearer:
2961 - write:accounts
2962 summary: Delete your account.
2963 tags:
2964 - accounts
2965 /api/v1/accounts/relationships:
2966 get:
2967 operationId: accountRelationships
2968 parameters:
2969 - description: Account IDs.
2970 in: query
2971 items:
2972 type: string
2973 name: id
2974 required: true
2975 type: array
2976 produces:
2977 - application/json
2978 responses:
2979 "200":
2980 description: Array of account relationships.
2981 schema:
2982 items:
2983 $ref: '#/definitions/accountRelationship'
2984 type: array
2985 "400":
2986 description: bad request
2987 "401":
2988 description: unauthorized
2989 "404":
2990 description: not found
2991 "406":
2992 description: not acceptable
2993 "500":
2994 description: internal server error
2995 security:
2996 - OAuth2 Bearer:
2997 - read:accounts
2998 summary: See your account's relationships with the given account IDs.
2999 tags:
3000 - accounts
3001 /api/v1/accounts/update_credentials:
3002 patch:
3003 consumes:
3004 - multipart/form-data
3005 operationId: accountUpdate
3006 parameters:
3007 - description: Account should be made discoverable and shown in the profile directory (if enabled).
3008 in: formData
3009 name: discoverable
3010 type: boolean
3011 - description: Account is flagged as a bot.
3012 in: formData
3013 name: bot
3014 type: boolean
3015 - allowEmptyValue: true
3016 description: The display name to use for the account.
3017 in: formData
3018 name: display_name
3019 type: string
3020 - allowEmptyValue: true
3021 description: Bio/description of this account.
3022 in: formData
3023 name: note
3024 type: string
3025 - description: Avatar of the user.
3026 in: formData
3027 name: avatar
3028 type: file
3029 - description: Header of the user.
3030 in: formData
3031 name: header
3032 type: file
3033 - description: Require manual approval of follow requests.
3034 in: formData
3035 name: locked
3036 type: boolean
3037 - description: Default post privacy for authored statuses.
3038 in: formData
3039 name: source[privacy]
3040 type: string
3041 - description: Mark authored statuses as sensitive by default.
3042 in: formData
3043 name: source[sensitive]
3044 type: boolean
3045 - description: Default language to use for authored statuses (ISO 6391).
3046 in: formData
3047 name: source[language]
3048 type: string
3049 - description: Default format to use for authored statuses (plain or markdown).
3050 in: formData
3051 name: source[status_format]
3052 type: string
3053 - description: Custom CSS to use when rendering this account's profile or statuses. String must be no more than 5,000 characters (~5kb).
3054 in: formData
3055 name: custom_css
3056 type: string
3057 - description: Enable RSS feed for this account's Public posts at `/[username]/feed.rss`
3058 in: formData
3059 name: enable_rss
3060 type: boolean
3061 produces:
3062 - application/json
3063 responses:
3064 "200":
3065 description: The newly updated account.
3066 schema:
3067 $ref: '#/definitions/account'
3068 "400":
3069 description: bad request
3070 "401":
3071 description: unauthorized
3072 "404":
3073 description: not found
3074 "406":
3075 description: not acceptable
3076 "500":
3077 description: internal server error
3078 security:
3079 - OAuth2 Bearer:
3080 - write:accounts
3081 summary: Update your account.
3082 tags:
3083 - accounts
3084 /api/v1/accounts/verify_credentials:
3085 get:
3086 operationId: accountVerify
3087 produces:
3088 - application/json
3089 responses:
3090 "200":
3091 description: ""
3092 schema:
3093 $ref: '#/definitions/account'
3094 "400":
3095 description: bad request
3096 "401":
3097 description: unauthorized
3098 "404":
3099 description: not found
3100 "406":
3101 description: not acceptable
3102 "500":
3103 description: internal server error
3104 security:
3105 - OAuth2 Bearer:
3106 - read:accounts
3107 summary: Verify a token by returning account details pertaining to it.
3108 tags:
3109 - accounts
3110 /api/v1/admin/accounts/{id}/action:
3111 post:
3112 consumes:
3113 - multipart/form-data
3114 operationId: adminAccountAction
3115 parameters:
3116 - description: ID of the account.
3117 in: path
3118 name: id
3119 required: true
3120 type: string
3121 - description: Type of action to be taken (`disable`, `silence`, or `suspend`).
3122 in: formData
3123 name: type
3124 required: true
3125 type: string
3126 - description: Optional text describing why this action was taken.
3127 in: formData
3128 name: text
3129 type: string
3130 produces:
3131 - application/json
3132 responses:
3133 "200":
3134 description: OK
3135 "400":
3136 description: bad request
3137 "401":
3138 description: unauthorized
3139 "403":
3140 description: forbidden
3141 "404":
3142 description: not found
3143 "406":
3144 description: not acceptable
3145 "500":
3146 description: internal server error
3147 security:
3148 - OAuth2 Bearer:
3149 - admin
3150 summary: Perform an admin action on an account.
3151 tags:
3152 - admin
3153 /api/v1/admin/custom_emojis:
3154 get:
3155 description: |-
3156 The next and previous queries can be parsed from the returned Link header.
3157 Example:
3158
3159 `<http://localhost:8080/api/v1/admin/custom_emojis?limit=30&max_shortcode_domain=yell@fossbros-anonymous.io&filter=domain:all>; rel="next", <http://localhost:8080/api/v1/admin/custom_emojis?limit=30&min_shortcode_domain=rainbow@&filter=domain:all>; rel="prev"`
3160 operationId: emojisGet
3161 parameters:
3162 - default: domain:all
3163 description: |-
3164 Comma-separated list of filters to apply to results. Recognized filters are:
3165
3166 `domain:[domain]` -- show emojis from the given domain, eg `?filter=domain:example.org` will show emojis from `example.org` only.
3167 Instead of giving a specific domain, you can also give either one of the key words `local` or `all` to show either local emojis only (`domain:local`) or show all emojis from all domains (`domain:all`).
3168 Note: `domain:*` is equivalent to `domain:all` (including local).
3169 If no domain filter is provided, `domain:all` will be assumed.
3170
3171 `disabled` -- include emojis that have been disabled.
3172
3173 `enabled` -- include emojis that are enabled.
3174
3175 `shortcode:[shortcode]` -- show only emojis with the given shortcode, eg `?filter=shortcode:blob_cat_uwu` will show only emojis with the shortcode `blob_cat_uwu` (case sensitive).
3176
3177 If neither `disabled` or `enabled` are provided, both disabled and enabled emojis will be shown.
3178
3179 If no filter query string is provided, the default `domain:all` will be used, which will show all emojis from all domains.
3180 in: query
3181 name: filter
3182 type: string
3183 - default: 50
3184 description: Number of emojis to return. Less than 1, or not set, means unlimited (all emojis).
3185 in: query
3186 name: limit
3187 type: integer
3188 - description: |-
3189 Return only emojis with `[shortcode]@[domain]` *LOWER* (alphabetically) than given `[shortcode]@[domain]`. For example, if `max_shortcode_domain=beep@example.org`, then returned values might include emojis with `[shortcode]@[domain]`s like `car@example.org`, `debian@aaa.com`, `test@` (local emoji), etc.
3190 Emoji with the given `[shortcode]@[domain]` will not be included in the result set.
3191 in: query
3192 name: max_shortcode_domain
3193 type: string
3194 - description: |-
3195 Return only emojis with `[shortcode]@[domain]` *HIGHER* (alphabetically) than given `[shortcode]@[domain]`. For example, if `max_shortcode_domain=beep@example.org`, then returned values might include emojis with `[shortcode]@[domain]`s like `arse@test.com`, `0101_binary@hackers.net`, `bee@` (local emoji), etc.
3196 Emoji with the given `[shortcode]@[domain]` will not be included in the result set.
3197 in: query
3198 name: min_shortcode_domain
3199 type: string
3200 produces:
3201 - application/json
3202 responses:
3203 "200":
3204 description: An array of emojis, arranged alphabetically by shortcode and domain.
3205 headers:
3206 Link:
3207 description: Links to the next and previous queries.
3208 type: string
3209 schema:
3210 items:
3211 $ref: '#/definitions/adminEmoji'
3212 type: array
3213 "400":
3214 description: bad request
3215 "401":
3216 description: unauthorized
3217 "403":
3218 description: forbidden
3219 "404":
3220 description: not found
3221 "406":
3222 description: not acceptable
3223 "500":
3224 description: internal server error
3225 summary: View local and remote emojis available to / known by this instance.
3226 tags:
3227 - admin
3228 post:
3229 consumes:
3230 - multipart/form-data
3231 operationId: emojiCreate
3232 parameters:
3233 - 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.
3234 in: formData
3235 name: shortcode
3236 pattern: \w{2,30}
3237 required: true
3238 type: string
3239 - description: A png or gif image of the emoji. Animated pngs work too! To ensure compatibility with other fedi implementations, emoji size limit is 50kb by default.
3240 in: formData
3241 name: image
3242 required: true
3243 type: file
3244 - description: Category in which to place the new emoji. 64 characters or less. If left blank, emoji will be uncategorized. If a category with the given name doesn't exist yet, it will be created.
3245 in: formData
3246 name: category
3247 type: string
3248 produces:
3249 - application/json
3250 responses:
3251 "200":
3252 description: The newly-created emoji.
3253 schema:
3254 $ref: '#/definitions/emoji'
3255 "400":
3256 description: bad request
3257 "401":
3258 description: unauthorized
3259 "403":
3260 description: forbidden
3261 "404":
3262 description: not found
3263 "406":
3264 description: not acceptable
3265 "409":
3266 description: conflict -- shortcode for this emoji is already in use
3267 "500":
3268 description: internal server error
3269 security:
3270 - OAuth2 Bearer:
3271 - admin
3272 summary: Upload and create a new instance emoji.
3273 tags:
3274 - admin
3275 /api/v1/admin/custom_emojis/{id}:
3276 delete:
3277 description: |-
3278 Emoji with the given ID will no longer be available to use on the instance.
3279
3280 If you just want to update the emoji image instead, use the `/api/v1/admin/custom_emojis/{id}` PATCH route.
3281
3282 To disable emojis from **remote** instances, use the `/api/v1/admin/custom_emojis/{id}` PATCH route.
3283 operationId: emojiDelete
3284 parameters:
3285 - description: The id of the emoji.
3286 in: path
3287 name: id
3288 required: true
3289 type: string
3290 produces:
3291 - application/json
3292 responses:
3293 "200":
3294 description: The deleted emoji will be returned to the caller in case further processing is necessary.
3295 schema:
3296 $ref: '#/definitions/adminEmoji'
3297 "400":
3298 description: bad request
3299 "401":
3300 description: unauthorized
3301 "403":
3302 description: forbidden
3303 "404":
3304 description: not found
3305 "406":
3306 description: not acceptable
3307 "500":
3308 description: internal server error
3309 security:
3310 - OAuth2 Bearer:
3311 - admin
3312 summary: Delete a **local** emoji with the given ID from the instance.
3313 tags:
3314 - admin
3315 get:
3316 operationId: emojiGet
3317 parameters:
3318 - description: The id of the emoji.
3319 in: path
3320 name: id
3321 required: true
3322 type: string
3323 produces:
3324 - application/json
3325 responses:
3326 "200":
3327 description: A single emoji.
3328 schema:
3329 $ref: '#/definitions/adminEmoji'
3330 "400":
3331 description: bad request
3332 "401":
3333 description: unauthorized
3334 "403":
3335 description: forbidden
3336 "404":
3337 description: not found
3338 "406":
3339 description: not acceptable
3340 "500":
3341 description: internal server error
3342 summary: Get the admin view of a single emoji.
3343 tags:
3344 - admin
3345 patch:
3346 consumes:
3347 - multipart/form-data
3348 description: |-
3349 Action performed depends upon the action `type` provided.
3350
3351 `disable`: disable a REMOTE emoji from being used/displayed on this instance. Does not work for local emojis.
3352
3353 `copy`: copy a REMOTE emoji to this instance. When doing this action, a shortcode MUST be provided, and it must
3354 be unique among emojis already present on this instance. A category MAY be provided, and the copied emoji will then
3355 be put into the provided category.
3356
3357 `modify`: modify a LOCAL emoji. You can provide a new image for the emoji and/or update the category.
3358
3359 Local emojis cannot be deleted using this endpoint. To delete a local emoji, check DELETE /api/v1/admin/custom_emojis/{id} instead.
3360 operationId: emojiUpdate
3361 parameters:
3362 - description: The id of the emoji.
3363 in: path
3364 name: id
3365 required: true
3366 type: string
3367 - description: |-
3368 Type of action to be taken. One of: (`disable`, `copy`, `modify`).
3369 For REMOTE emojis, `copy` or `disable` are supported.
3370 For LOCAL emojis, only `modify` is supported.
3371 in: formData
3372 name: type
3373 required: true
3374 type: string
3375 - description: The code to use for the emoji, which will be used by instance denizens to select it. This must be unique on the instance. Works for the `copy` action type only.
3376 in: formData
3377 name: shortcode
3378 pattern: \w{2,30}
3379 type: string
3380 - description: A new png or gif image to use for the emoji. Animated pngs work too! To ensure compatibility with other fedi implementations, emoji size limit is 50kb by default. Works for LOCAL emojis only.
3381 in: formData
3382 name: image
3383 type: file
3384 - description: Category in which to place the emoji. 64 characters or less. If a category with the given name doesn't exist yet, it will be created.
3385 in: formData
3386 name: category
3387 type: string
3388 produces:
3389 - application/json
3390 responses:
3391 "200":
3392 description: The updated emoji.
3393 schema:
3394 $ref: '#/definitions/adminEmoji'
3395 "400":
3396 description: bad request
3397 "401":
3398 description: unauthorized
3399 "403":
3400 description: forbidden
3401 "404":
3402 description: not found
3403 "406":
3404 description: not acceptable
3405 "500":
3406 description: internal server error
3407 security:
3408 - OAuth2 Bearer:
3409 - admin
3410 summary: Perform admin action on a local or remote emoji known to this instance.
3411 tags:
3412 - admin
3413 /api/v1/admin/custom_emojis/{id}/categories:
3414 get:
3415 operationId: emojiCategoriesGet
3416 parameters:
3417 - description: The id of the emoji.
3418 in: path
3419 name: id
3420 required: true
3421 type: string
3422 produces:
3423 - application/json
3424 responses:
3425 "200":
3426 description: Array of existing emoji categories.
3427 schema:
3428 items:
3429 $ref: '#/definitions/adminEmojiCategory'
3430 type: array
3431 "400":
3432 description: bad request
3433 "401":
3434 description: unauthorized
3435 "403":
3436 description: forbidden
3437 "404":
3438 description: not found
3439 "406":
3440 description: not acceptable
3441 "500":
3442 description: internal server error
3443 summary: Get a list of existing emoji categories.
3444 tags:
3445 - admin
3446 /api/v1/admin/domain_blocks:
3447 get:
3448 operationId: domainBlocksGet
3449 parameters:
3450 - description: If set to `true`, then each entry in the returned list of domain blocks will only consist of the fields `domain` and `public_comment`. This is perfect for when you want to save and share a list of all the domains you have blocked on your instance, so that someone else can easily import them, but you don't want them to see the database IDs of your blocks, or private comments etc.
3451 in: query
3452 name: export
3453 type: boolean
3454 produces:
3455 - application/json
3456 responses:
3457 "200":
3458 description: All domain blocks currently in place.
3459 schema:
3460 items:
3461 $ref: '#/definitions/domainBlock'
3462 type: array
3463 "400":
3464 description: bad request
3465 "401":
3466 description: unauthorized
3467 "403":
3468 description: forbidden
3469 "404":
3470 description: not found
3471 "406":
3472 description: not acceptable
3473 "500":
3474 description: internal server error
3475 security:
3476 - OAuth2 Bearer:
3477 - admin
3478 summary: View all domain blocks currently in place.
3479 tags:
3480 - admin
3481 post:
3482 consumes:
3483 - multipart/form-data
3484 description: |-
3485 You have two options when using this endpoint: either you can set `import` to `true` and
3486 upload a file containing multiple domain blocks, JSON-formatted, or you can leave import as
3487 `false`, and just add one domain block.
3488
3489 The format of the json file should be something like: `[{"domain":"example.org"},{"domain":"whatever.com","public_comment":"they smell"}]`
3490 operationId: domainBlockCreate
3491 parameters:
3492 - default: false
3493 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.
3494 in: query
3495 name: import
3496 type: boolean
3497 - description: JSON-formatted list of domain blocks to import. This is only used if `import` is set to `true`.
3498 in: formData
3499 name: domains
3500 type: file
3501 - description: Single domain to block. Used only if `import` is not `true`.
3502 in: formData
3503 name: domain
3504 type: string
3505 - 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`.
3506 in: formData
3507 name: obfuscate
3508 type: boolean
3509 - description: Public comment about this domain block. This will be displayed alongside the domain block if you choose to share blocks. Used only if `import` is not `true`.
3510 in: formData
3511 name: public_comment
3512 type: string
3513 - 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`.
3514 in: formData
3515 name: private_comment
3516 type: string
3517 produces:
3518 - application/json
3519 responses:
3520 "200":
3521 description: The newly created domain block, if `import` != `true`. If a list has been imported, then an `array` of newly created domain blocks will be returned instead.
3522 schema:
3523 $ref: '#/definitions/domainBlock'
3524 "400":
3525 description: bad request
3526 "401":
3527 description: unauthorized
3528 "403":
3529 description: forbidden
3530 "404":
3531 description: not found
3532 "406":
3533 description: not acceptable
3534 "500":
3535 description: internal server error
3536 security:
3537 - OAuth2 Bearer:
3538 - admin
3539 summary: Create one or more domain blocks, from a string or a file.
3540 tags:
3541 - admin
3542 /api/v1/admin/domain_blocks/{id}:
3543 delete:
3544 operationId: domainBlockDelete
3545 parameters:
3546 - description: The id of the domain block.
3547 in: path
3548 name: id
3549 required: true
3550 type: string
3551 produces:
3552 - application/json
3553 responses:
3554 "200":
3555 description: The domain block that was just deleted.
3556 schema:
3557 $ref: '#/definitions/domainBlock'
3558 "400":
3559 description: bad request
3560 "401":
3561 description: unauthorized
3562 "403":
3563 description: forbidden
3564 "404":
3565 description: not found
3566 "406":
3567 description: not acceptable
3568 "500":
3569 description: internal server error
3570 security:
3571 - OAuth2 Bearer:
3572 - admin
3573 summary: Delete domain block with the given ID.
3574 tags:
3575 - admin
3576 get:
3577 operationId: domainBlockGet
3578 parameters:
3579 - description: The id of the domain block.
3580 in: path
3581 name: id
3582 required: true
3583 type: string
3584 produces:
3585 - application/json
3586 responses:
3587 "200":
3588 description: The requested domain block.
3589 schema:
3590 $ref: '#/definitions/domainBlock'
3591 "400":
3592 description: bad request
3593 "401":
3594 description: unauthorized
3595 "403":
3596 description: forbidden
3597 "404":
3598 description: not found
3599 "406":
3600 description: not acceptable
3601 "500":
3602 description: internal server error
3603 security:
3604 - OAuth2 Bearer:
3605 - admin
3606 summary: View domain block with the given ID.
3607 tags:
3608 - admin
3609 /api/v1/admin/media_cleanup:
3610 post:
3611 consumes:
3612 - application/json
3613 - application/xml
3614 - application/x-www-form-urlencoded
3615 description: Also cleans up unused headers + avatars from the media cache and prunes orphaned items from storage.
3616 operationId: mediaCleanup
3617 parameters:
3618 - description: |-
3619 Number of days of remote media to keep. Native values will be treated as 0.
3620 If value is not specified, the value of media-remote-cache-days in the server config will be used.
3621 format: int64
3622 in: query
3623 name: remote_cache_days
3624 type: integer
3625 x-go-name: RemoteCacheDays
3626 produces:
3627 - application/json
3628 responses:
3629 "200":
3630 description: Echos the number of days requested. The cleanup is performed asynchronously after the request completes.
3631 "400":
3632 description: bad request
3633 "401":
3634 description: unauthorized
3635 "403":
3636 description: forbidden
3637 "404":
3638 description: not found
3639 "406":
3640 description: not acceptable
3641 "500":
3642 description: internal server error
3643 security:
3644 - OAuth2 Bearer:
3645 - admin
3646 summary: Clean up remote media older than the specified number of days.
3647 tags:
3648 - admin
3649 /api/v1/admin/media_refetch:
3650 post:
3651 description: |-
3652 Currently, this only includes remote emojis.
3653 This endpoint is useful when data loss has occurred, and you want to try to recover to a working state.
3654 operationId: mediaRefetch
3655 parameters:
3656 - description: Domain to refetch media from. If empty, all domains will be refetched.
3657 in: query
3658 name: domain
3659 type: string
3660 produces:
3661 - application/json
3662 responses:
3663 "202":
3664 description: Request accepted and will be processed. Check the logs for progress / errors.
3665 "400":
3666 description: bad request
3667 "401":
3668 description: unauthorized
3669 "403":
3670 description: forbidden
3671 "404":
3672 description: not found
3673 "406":
3674 description: not acceptable
3675 "500":
3676 description: internal server error
3677 security:
3678 - OAuth2 Bearer:
3679 - admin
3680 summary: Refetch media specified in the database but missing from storage.
3681 tags:
3682 - admin
3683 /api/v1/admin/reports:
3684 get:
3685 description: |-
3686 The reports will be returned in descending chronological order (newest first), with sequential IDs (bigger = newer).
3687
3688 The next and previous queries can be parsed from the returned Link header.
3689
3690 Example:
3691
3692 ```
3693 <https://example.org/api/v1/admin/reports?limit=20&max_id=01FC0SKA48HNSVR6YKZCQGS2V8>; rel="next", <https://example.org/api/v1/admin/reports?limit=20&min_id=01FC0SKW5JK2Q4EVAV2B462YY0>; rel="prev"
3694 ````
3695 operationId: adminReports
3696 parameters:
3697 - description: If set to true, only resolved reports will be returned. If false, only unresolved reports will be returned. If unset, reports will not be filtered on their resolved status.
3698 in: query
3699 name: resolved
3700 type: boolean
3701 - description: Return only reports created by the given account id.
3702 in: query
3703 name: account_id
3704 type: string
3705 - description: Return only reports that target the given account id.
3706 in: query
3707 name: target_account_id
3708 type: string
3709 - description: Return only reports *OLDER* than the given max ID. The report with the specified ID will not be included in the response.
3710 in: query
3711 name: max_id
3712 type: string
3713 - description: Return only reports *NEWER* than the given since ID. The report with the specified ID will not be included in the response. This parameter is functionally equivalent to min_id.
3714 in: query
3715 name: since_id
3716 type: string
3717 - description: Return only reports *NEWER* than the given min ID. The report with the specified ID will not be included in the response. This parameter is functionally equivalent to since_id.
3718 in: query
3719 name: min_id
3720 type: string
3721 - default: 20
3722 description: Number of reports to return. If less than 1, will be clamped to 1. If more than 100, will be clamped to 100.
3723 in: query
3724 name: limit
3725 type: integer
3726 produces:
3727 - application/json
3728 responses:
3729 "200":
3730 description: Array of reports.
3731 schema:
3732 items:
3733 $ref: '#/definitions/adminReport'
3734 type: array
3735 "400":
3736 description: bad request
3737 "401":
3738 description: unauthorized
3739 "404":
3740 description: not found
3741 "406":
3742 description: not acceptable
3743 "500":
3744 description: internal server error
3745 security:
3746 - OAuth2 Bearer:
3747 - admin
3748 summary: View user moderation reports.
3749 tags:
3750 - admin
3751 /api/v1/admin/reports/{id}:
3752 get:
3753 operationId: adminReportGet
3754 parameters:
3755 - description: The id of the report.
3756 in: path
3757 name: id
3758 required: true
3759 type: string
3760 produces:
3761 - application/json
3762 responses:
3763 "200":
3764 description: The requested report.
3765 schema:
3766 $ref: '#/definitions/adminReport'
3767 "400":
3768 description: bad request
3769 "401":
3770 description: unauthorized
3771 "404":
3772 description: not found
3773 "406":
3774 description: not acceptable
3775 "500":
3776 description: internal server error
3777 security:
3778 - OAuth2 Bearer:
3779 - admin
3780 summary: View user moderation report with the given id.
3781 tags:
3782 - admin
3783 /api/v1/admin/reports/{id}/resolve:
3784 post:
3785 consumes:
3786 - application/json
3787 - application/xml
3788 - multipart/form-data
3789 operationId: adminReportResolve
3790 parameters:
3791 - description: The id of the report.
3792 in: path
3793 name: id
3794 required: true
3795 type: string
3796 - description: Optional admin comment on the action taken in response to this report. Useful for providing an explanation about what action was taken (if any) before the report was marked as resolved. This will be visible to the user that created the report!
3797 x-example: The reported account was suspended.
3798 in: formData
3799 name: action_taken_comment
3800 type: string
3801 produces:
3802 - application/json
3803 responses:
3804 "200":
3805 description: The resolved report.
3806 schema:
3807 $ref: '#/definitions/adminReport'
3808 "400":
3809 description: bad request
3810 "401":
3811 description: unauthorized
3812 "404":
3813 description: not found
3814 "406":
3815 description: not acceptable
3816 "500":
3817 description: internal server error
3818 security:
3819 - OAuth2 Bearer:
3820 - admin
3821 summary: Mark a report as resolved.
3822 tags:
3823 - admin
3824 /api/v1/apps:
3825 post:
3826 consumes:
3827 - application/json
3828 - application/xml
3829 - application/x-www-form-urlencoded
3830 description: |-
3831 The registered application can be used to obtain an application token.
3832 This can then be used to register a new account, or (through user auth) obtain an access token.
3833
3834 The parameters can also be given in the body of the request, as JSON, if the content-type is set to 'application/json'.
3835 The parameters can also be given in the body of the request, as XML, if the content-type is set to 'application/xml'.
3836 operationId: appCreate
3837 parameters:
3838 - description: The name of the application.
3839 in: formData
3840 name: client_name
3841 required: true
3842 type: string
3843 x-go-name: ClientName
3844 - description: |-
3845 Where the user should be redirected after authorization.
3846
3847 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.
3848 in: formData
3849 name: redirect_uris
3850 required: true
3851 type: string
3852 x-go-name: RedirectURIs
3853 - description: |-
3854 Space separated list of scopes.
3855
3856 If no scopes are provided, defaults to `read`.
3857 in: formData
3858 name: scopes
3859 type: string
3860 x-go-name: Scopes
3861 - description: A URL to the web page of the app (optional).
3862 in: formData
3863 name: website
3864 type: string
3865 x-go-name: Website
3866 produces:
3867 - application/json
3868 responses:
3869 "200":
3870 description: The newly-created application.
3871 schema:
3872 $ref: '#/definitions/application'
3873 "400":
3874 description: bad request
3875 "401":
3876 description: unauthorized
3877 "403":
3878 description: forbidden
3879 "404":
3880 description: not found
3881 "406":
3882 description: not acceptable
3883 "500":
3884 description: internal server error
3885 summary: Register a new application on this instance.
3886 tags:
3887 - apps
3888 /api/v1/blocks:
3889 get:
3890 description: |-
3891 The next and previous queries can be parsed from the returned Link header.
3892 Example:
3893
3894 ```
3895 <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"
3896 ````
3897 operationId: blocksGet
3898 parameters:
3899 - default: 20
3900 description: Number of blocks to return.
3901 in: query
3902 name: limit
3903 type: integer
3904 - description: Return only blocks *OLDER* than the given block ID. The block with the specified ID will not be included in the response.
3905 in: query
3906 name: max_id
3907 type: string
3908 - description: Return only blocks *NEWER* than the given block ID. The block with the specified ID will not be included in the response.
3909 in: query
3910 name: since_id
3911 type: string
3912 produces:
3913 - application/json
3914 responses:
3915 "200":
3916 description: ""
3917 headers:
3918 Link:
3919 description: Links to the next and previous queries.
3920 type: string
3921 schema:
3922 items:
3923 $ref: '#/definitions/account'
3924 type: array
3925 "400":
3926 description: bad request
3927 "401":
3928 description: unauthorized
3929 "404":
3930 description: not found
3931 "406":
3932 description: not acceptable
3933 "500":
3934 description: internal server error
3935 security:
3936 - OAuth2 Bearer:
3937 - read:blocks
3938 summary: Get an array of accounts that requesting account has blocked.
3939 tags:
3940 - blocks
3941 /api/v1/bookmarks:
3942 get:
3943 description: Get an array of statuses bookmarked in the instance
3944 operationId: bookmarksGet
3945 produces:
3946 - application/json
3947 responses:
3948 "200":
3949 description: Array of bookmarked statuses
3950 headers:
3951 Link:
3952 description: Links to the next and previous queries.
3953 type: string
3954 schema:
3955 items:
3956 $ref: '#/definitions/status'
3957 type: array
3958 "401":
3959 description: unauthorized
3960 "406":
3961 description: not acceptable
3962 "500":
3963 description: internal server error
3964 security:
3965 - OAuth2 Bearer:
3966 - read:bookmarks
3967 tags:
3968 - bookmarks
3969 /api/v1/custom_emojis:
3970 get:
3971 operationId: customEmojisGet
3972 produces:
3973 - application/json
3974 responses:
3975 "200":
3976 description: Array of custom emojis.
3977 schema:
3978 items:
3979 $ref: '#/definitions/emoji'
3980 type: array
3981 "401":
3982 description: unauthorized
3983 "406":
3984 description: not acceptable
3985 "500":
3986 description: internal server error
3987 security:
3988 - OAuth2 Bearer:
3989 - read:custom_emojis
3990 summary: Get an array of custom emojis available on the instance.
3991 tags:
3992 - custom_emojis
3993 /api/v1/favourites:
3994 get:
3995 description: |-
3996 The next and previous queries can be parsed from the returned Link header.
3997 Example:
3998
3999 ```
4000 <https://example.org/api/v1/favourites?limit=80&max_id=01FC0SKA48HNSVR6YKZCQGS2V8>; rel="next", <https://example.org/api/v1/favourites?limit=80&min_id=01FC0SKW5JK2Q4EVAV2B462YY0>; rel="prev"
4001 ````
4002 operationId: favouritesGet
4003 parameters:
4004 - default: 20
4005 description: Number of statuses to return.
4006 in: query
4007 name: limit
4008 type: integer
4009 - description: Return only favourited statuses *OLDER* than the given favourite ID. The status with the corresponding fave ID will not be included in the response.
4010 in: query
4011 name: max_id
4012 type: string
4013 - description: Return only favourited statuses *NEWER* than the given favourite ID. The status with the corresponding fave ID will not be included in the response.
4014 in: query
4015 name: min_id
4016 type: string
4017 produces:
4018 - application/json
4019 responses:
4020 "200":
4021 description: ""
4022 headers:
4023 Link:
4024 description: Links to the next and previous queries.
4025 type: string
4026 schema:
4027 items:
4028 $ref: '#/definitions/status'
4029 type: array
4030 "400":
4031 description: bad request
4032 "401":
4033 description: unauthorized
4034 "404":
4035 description: not found
4036 "406":
4037 description: not acceptable
4038 "500":
4039 description: internal server error
4040 security:
4041 - OAuth2 Bearer:
4042 - read:favourites
4043 summary: Get an array of statuses that the requesting account has favourited.
4044 tags:
4045 - favourites
4046 /api/v1/featured_tags:
4047 get:
4048 description: 'THIS ENDPOINT IS CURRENTLY NOT FULLY IMPLEMENTED: it will always return an empty array.'
4049 operationId: getFeaturedTags
4050 produces:
4051 - application/json
4052 responses:
4053 "200":
4054 description: ""
4055 schema:
4056 items:
4057 type: object
4058 type: array
4059 "400":
4060 description: bad request
4061 "401":
4062 description: unauthorized
4063 "404":
4064 description: not found
4065 "406":
4066 description: not acceptable
4067 "500":
4068 description: internal server error
4069 security:
4070 - OAuth2 Bearer:
4071 - read:accounts
4072 summary: Get an array of all hashtags that you currently have featured on your profile.
4073 tags:
4074 - featured_tags
4075 /api/v1/follow_requests:
4076 get:
4077 description: Accounts will be sorted in order of follow request date descending (newest first).
4078 operationId: getFollowRequests
4079 parameters:
4080 - default: 40
4081 description: Number of accounts to return.
4082 in: query
4083 name: limit
4084 type: integer
4085 produces:
4086 - application/json
4087 responses:
4088 "200":
4089 description: ""
4090 headers:
4091 Link:
4092 description: Links to the next and previous queries.
4093 type: string
4094 schema:
4095 items:
4096 $ref: '#/definitions/account'
4097 type: array
4098 "400":
4099 description: bad request
4100 "401":
4101 description: unauthorized
4102 "404":
4103 description: not found
4104 "406":
4105 description: not acceptable
4106 "500":
4107 description: internal server error
4108 security:
4109 - OAuth2 Bearer:
4110 - read:follows
4111 summary: Get an array of accounts that have requested to follow you.
4112 tags:
4113 - follow_requests
4114 /api/v1/follow_requests/{account_id}/authorize:
4115 post:
4116 description: Accept a follow request and put the requesting account in your 'followers' list.
4117 operationId: authorizeFollowRequest
4118 parameters:
4119 - description: ID of the account requesting to follow you.
4120 in: path
4121 name: account_id
4122 required: true
4123 type: string
4124 produces:
4125 - application/json
4126 responses:
4127 "200":
4128 description: Your relationship to this account.
4129 schema:
4130 $ref: '#/definitions/accountRelationship'
4131 "400":
4132 description: bad request
4133 "401":
4134 description: unauthorized
4135 "404":
4136 description: not found
4137 "406":
4138 description: not acceptable
4139 "500":
4140 description: internal server error
4141 security:
4142 - OAuth2 Bearer:
4143 - write:follows
4144 summary: Accept/authorize follow request from the given account ID.
4145 tags:
4146 - follow_requests
4147 /api/v1/follow_requests/{account_id}/reject:
4148 post:
4149 operationId: rejectFollowRequest
4150 parameters:
4151 - description: ID of the account requesting to follow you.
4152 in: path
4153 name: account_id
4154 required: true
4155 type: string
4156 produces:
4157 - application/json
4158 responses:
4159 "200":
4160 description: Your relationship to this account.
4161 schema:
4162 $ref: '#/definitions/accountRelationship'
4163 "400":
4164 description: bad request
4165 "401":
4166 description: unauthorized
4167 "404":
4168 description: not found
4169 "406":
4170 description: not acceptable
4171 "500":
4172 description: internal server error
4173 security:
4174 - OAuth2 Bearer:
4175 - write:follows
4176 summary: Reject/deny follow request from the given account ID.
4177 tags:
4178 - follow_requests
4179 /api/v1/instance:
4180 get:
4181 operationId: instanceGetV1
4182 produces:
4183 - application/json
4184 responses:
4185 "200":
4186 description: Instance information.
4187 schema:
4188 $ref: '#/definitions/instanceV1'
4189 "406":
4190 description: not acceptable
4191 "500":
4192 description: internal error
4193 summary: View instance information.
4194 tags:
4195 - instance
4196 patch:
4197 consumes:
4198 - multipart/form-data
4199 description: This requires admin permissions on the instance.
4200 operationId: instanceUpdate
4201 parameters:
4202 - allowEmptyValue: true
4203 description: Title to use for the instance.
4204 in: formData
4205 maximum: 40
4206 name: title
4207 type: string
4208 - allowEmptyValue: true
4209 description: Username of the contact account. This must be the username of an instance admin.
4210 in: formData
4211 name: contact_username
4212 type: string
4213 - allowEmptyValue: true
4214 description: Email address to use as the instance contact.
4215 in: formData
4216 name: contact_email
4217 type: string
4218 - allowEmptyValue: true
4219 description: Short description of the instance.
4220 in: formData
4221 maximum: 500
4222 name: short_description
4223 type: string
4224 - allowEmptyValue: true
4225 description: Longer description of the instance.
4226 in: formData
4227 maximum: 5000
4228 name: description
4229 type: string
4230 - allowEmptyValue: true
4231 description: Terms and conditions of the instance.
4232 in: formData
4233 maximum: 5000
4234 name: terms
4235 type: string
4236 - description: Thumbnail image to use for the instance.
4237 in: formData
4238 name: thumbnail
4239 type: file
4240 - description: Image description of the submitted instance thumbnail.
4241 in: formData
4242 name: thumbnail_description
4243 type: string
4244 - description: Header image to use for the instance.
4245 in: formData
4246 name: header
4247 type: file
4248 produces:
4249 - application/json
4250 responses:
4251 "200":
4252 description: The newly updated instance.
4253 schema:
4254 $ref: '#/definitions/instanceV1'
4255 "400":
4256 description: bad request
4257 "401":
4258 description: unauthorized
4259 "403":
4260 description: forbidden
4261 "404":
4262 description: not found
4263 "406":
4264 description: not acceptable
4265 "500":
4266 description: internal server error
4267 security:
4268 - OAuth2 Bearer:
4269 - admin
4270 summary: Update your instance information and/or upload a new avatar/header for the instance.
4271 tags:
4272 - instance
4273 /api/v1/instance/peers:
4274 get:
4275 operationId: instancePeersGet
4276 parameters:
4277 - default: open
4278 description: |-
4279 Comma-separated list of filters to apply to results. Recognized filters are:
4280 - `open` -- include peers that are not suspended or silenced
4281 - `suspended` -- include peers that have been suspended.
4282
4283 If filter is `open`, only instances that haven't been suspended or silenced will be returned.
4284
4285 If filter is `suspended`, only suspended instances will be shown.
4286
4287 If filter is `open,suspended`, then all known instances will be returned.
4288
4289 If filter is an empty string or not set, then `open` will be assumed as the default.
4290 in: query
4291 name: filter
4292 type: string
4293 produces:
4294 - application/json
4295 responses:
4296 "200":
4297 description: |-
4298 If no filter parameter is provided, or filter is empty, then a legacy, Mastodon-API compatible response will be returned. This will consist of just a 'flat' array of strings like `["example.com", "example.org"]`, which corresponds to domains this instance peers with.
4299
4300 If a filter parameter is provided, then an array of objects with at least a `domain` key set on each object will be returned.
4301
4302 Domains that are silenced or suspended will also have a key `suspended_at` or `silenced_at` that contains an iso8601 date string. If one of these keys is not present on the domain object, it is open. Suspended instances may in some cases be obfuscated, which means they will have some letters replaced by `*` to make it more difficult for bad actors to target instances with harassment.
4303
4304 Whether a flat response or a more detailed response is returned, domains will be sorted alphabetically by hostname.
4305 schema:
4306 items:
4307 $ref: '#/definitions/domain'
4308 type: array
4309 "400":
4310 description: bad request
4311 "401":
4312 description: unauthorized
4313 "403":
4314 description: forbidden
4315 "404":
4316 description: not found
4317 "406":
4318 description: not acceptable
4319 "500":
4320 description: internal server error
4321 tags:
4322 - instance
4323 /api/v1/media/{id}:
4324 get:
4325 operationId: mediaGet
4326 parameters:
4327 - description: id of the attachment
4328 in: path
4329 name: id
4330 required: true
4331 type: string
4332 produces:
4333 - application/json
4334 responses:
4335 "200":
4336 description: The requested media attachment.
4337 schema:
4338 $ref: '#/definitions/attachment'
4339 "400":
4340 description: bad request
4341 "401":
4342 description: unauthorized
4343 "404":
4344 description: not found
4345 "406":
4346 description: not acceptable
4347 "500":
4348 description: internal server error
4349 security:
4350 - OAuth2 Bearer:
4351 - read:media
4352 summary: Get a media attachment that you own.
4353 tags:
4354 - media
4355 put:
4356 consumes:
4357 - application/json
4358 - application/xml
4359 - application/x-www-form-urlencoded
4360 description: |-
4361 You must own the media attachment, and the attachment must not yet be attached to a status.
4362
4363 The parameters can also be given in the body of the request, as JSON, if the content-type is set to 'application/json'.
4364 The parameters can also be given in the body of the request, as XML, if the content-type is set to 'application/xml'.
4365 operationId: mediaUpdate
4366 parameters:
4367 - description: id of the attachment to update
4368 in: path
4369 name: id
4370 required: true
4371 type: string
4372 - allowEmptyValue: true
4373 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.
4374 in: formData
4375 name: description
4376 type: string
4377 - allowEmptyValue: true
4378 default: 0,0
4379 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`.'
4380 in: formData
4381 name: focus
4382 type: string
4383 produces:
4384 - application/json
4385 responses:
4386 "200":
4387 description: The newly-updated media attachment.
4388 schema:
4389 $ref: '#/definitions/attachment'
4390 "400":
4391 description: bad request
4392 "401":
4393 description: unauthorized
4394 "404":
4395 description: not found
4396 "406":
4397 description: not acceptable
4398 "500":
4399 description: internal server error
4400 security:
4401 - OAuth2 Bearer:
4402 - write:media
4403 summary: Update a media attachment.
4404 tags:
4405 - media
4406 /api/v1/notifications:
4407 get:
4408 description: |-
4409 The notifications will be returned in descending chronological order (newest first), with sequential IDs (bigger = newer).
4410
4411 The next and previous queries can be parsed from the returned Link header.
4412 Example:
4413
4414 ```
4415 <https://example.org/api/v1/notifications?limit=80&max_id=01FC0SKA48HNSVR6YKZCQGS2V8>; rel="next", <https://example.org/api/v1/notifications?limit=80&since_id=01FC0SKW5JK2Q4EVAV2B462YY0>; rel="prev"
4416 ````
4417 operationId: notifications
4418 parameters:
4419 - default: 20
4420 description: Number of notifications to return.
4421 in: query
4422 name: limit
4423 type: integer
4424 - in: query
4425 items:
4426 type: string
4427 name: exclude_types
4428 type: array
4429 - description: Return only notifications *OLDER* than the given max status ID. The status with the specified ID will not be included in the response.
4430 in: query
4431 name: max_id
4432 type: string
4433 - description: |-
4434 Return only notifications *NEWER* than the given since status ID.
4435 The status with the specified ID will not be included in the response.
4436 in: query
4437 name: since_id
4438 type: string
4439 produces:
4440 - application/json
4441 responses:
4442 "200":
4443 description: Array of notifications.
4444 headers:
4445 Link:
4446 description: Links to the next and previous queries.
4447 type: string
4448 schema:
4449 items:
4450 $ref: '#/definitions/notification'
4451 type: array
4452 "400":
4453 description: bad request
4454 "401":
4455 description: unauthorized
4456 "404":
4457 description: not found
4458 "406":
4459 description: not acceptable
4460 "500":
4461 description: internal server error
4462 security:
4463 - OAuth2 Bearer:
4464 - read:notifications
4465 summary: Get notifications for currently authorized user.
4466 tags:
4467 - notifications
4468 post:
4469 description: Will return an empty object `{}` to indicate success.
4470 operationId: clearNotifications
4471 produces:
4472 - application/json
4473 responses:
4474 "200":
4475 description: ""
4476 schema:
4477 type: object
4478 "400":
4479 description: bad request
4480 "401":
4481 description: unauthorized
4482 "404":
4483 description: not found
4484 "406":
4485 description: not acceptable
4486 "500":
4487 description: internal server error
4488 security:
4489 - OAuth2 Bearer:
4490 - read:notifications
4491 summary: Clear/delete all notifications for currently authorized user.
4492 tags:
4493 - notifications
4494 /api/v1/reports:
4495 get:
4496 description: |-
4497 The reports will be returned in descending chronological order (newest first), with sequential IDs (bigger = newer).
4498
4499 The next and previous queries can be parsed from the returned Link header.
4500
4501 Example:
4502
4503 ```
4504 <https://example.org/api/v1/reports?limit=20&max_id=01FC0SKA48HNSVR6YKZCQGS2V8>; rel="next", <https://example.org/api/v1/reports?limit=20&min_id=01FC0SKW5JK2Q4EVAV2B462YY0>; rel="prev"
4505 ````
4506 operationId: reports
4507 parameters:
4508 - description: If set to true, only resolved reports will be returned. If false, only unresolved reports will be returned. If unset, reports will not be filtered on their resolved status.
4509 in: query
4510 name: resolved
4511 type: boolean
4512 - description: Return only reports that target the given account id.
4513 in: query
4514 name: target_account_id
4515 type: string
4516 - description: Return only reports *OLDER* than the given max ID. The report with the specified ID will not be included in the response.
4517 in: query
4518 name: max_id
4519 type: string
4520 - description: Return only reports *NEWER* than the given since ID. The report with the specified ID will not be included in the response. This parameter is functionally equivalent to min_id.
4521 in: query
4522 name: since_id
4523 type: string
4524 - description: Return only reports *NEWER* than the given min ID. The report with the specified ID will not be included in the response. This parameter is functionally equivalent to since_id.
4525 in: query
4526 name: min_id
4527 type: string
4528 - default: 20
4529 description: Number of reports to return. If less than 1, will be clamped to 1. If more than 100, will be clamped to 100.
4530 in: query
4531 name: limit
4532 type: integer
4533 produces:
4534 - application/json
4535 responses:
4536 "200":
4537 description: Array of reports.
4538 schema:
4539 items:
4540 $ref: '#/definitions/report'
4541 type: array
4542 "400":
4543 description: bad request
4544 "401":
4545 description: unauthorized
4546 "404":
4547 description: not found
4548 "406":
4549 description: not acceptable
4550 "500":
4551 description: internal server error
4552 security:
4553 - OAuth2 Bearer:
4554 - read:reports
4555 summary: See reports created by the requesting account.
4556 tags:
4557 - reports
4558 post:
4559 consumes:
4560 - application/json
4561 - application/xml
4562 - application/x-www-form-urlencoded
4563 operationId: reportCreate
4564 parameters:
4565 - description: ID of the account to report.
4566 x-example: 01GPE75FXSH2EGFBF85NXPH3KP
4567 in: formData
4568 name: account_id
4569 required: true
4570 type: string
4571 x-go-name: AccountID
4572 - description: IDs of statuses to attach to the report to provide additional context.
4573 x-example:
4574 - 01GPE76N4SBVRZ8K24TW51ZZQ4
4575 - 01GPE76WN9JZE62EPT3Q9FRRD4
4576 in: formData
4577 items:
4578 type: string
4579 name: status_ids
4580 type: array
4581 x-go-name: StatusIDs
4582 - description: The reason for the report. Default maximum of 1000 characters.
4583 x-example: Anti-Blackness, transphobia.
4584 in: formData
4585 name: comment
4586 type: string
4587 x-go-name: Comment
4588 - default: false
4589 description: If the account is remote, should the report be forwarded to the remote admin?
4590 x-example: true
4591 in: formData
4592 name: forward
4593 type: boolean
4594 x-go-name: Forward
4595 - default: other
4596 description: |-
4597 Specify if the report is due to spam, violation of enumerated instance rules, or some other reason.
4598 Currently only 'other' is supported.
4599 x-example: other
4600 in: formData
4601 name: category
4602 type: string
4603 x-go-name: Category
4604 - description: |-
4605 IDs of rules on this instance which have been broken according to the reporter.
4606 This is currently not supported, provided only for API compatibility.
4607 x-example:
4608 - 1
4609 - 2
4610 - 3
4611 in: formData
4612 items:
4613 format: int64
4614 type: integer
4615 name: rule_ids
4616 type: array
4617 x-go-name: RuleIDs
4618 produces:
4619 - application/json
4620 responses:
4621 "200":
4622 description: The created report.
4623 schema:
4624 $ref: '#/definitions/report'
4625 "400":
4626 description: bad request
4627 "401":
4628 description: unauthorized
4629 "404":
4630 description: not found
4631 "406":
4632 description: not acceptable
4633 "500":
4634 description: internal server error
4635 security:
4636 - OAuth2 Bearer:
4637 - write:reports
4638 summary: Create a new user report with the given parameters.
4639 tags:
4640 - reports
4641 /api/v1/reports/{id}:
4642 get:
4643 operationId: reportGet
4644 parameters:
4645 - description: ID of the report
4646 in: path
4647 name: id
4648 required: true
4649 type: string
4650 produces:
4651 - application/json
4652 responses:
4653 "200":
4654 description: The requested report.
4655 schema:
4656 $ref: '#/definitions/report'
4657 "400":
4658 description: bad request
4659 "401":
4660 description: unauthorized
4661 "404":
4662 description: not found
4663 "406":
4664 description: not acceptable
4665 "500":
4666 description: internal server error
4667 security:
4668 - OAuth2 Bearer:
4669 - read:reports
4670 summary: Get one report with the given id.
4671 tags:
4672 - reports
4673 /api/v1/search:
4674 get:
4675 description: If statuses are in the result, they will be returned in descending chronological order (newest first), with sequential IDs (bigger = newer).
4676 operationId: searchGet
4677 parameters:
4678 - description: If type is `statuses`, then statuses returned will be authored only by this account.
4679 in: query
4680 name: account_id
4681 type: string
4682 x-go-name: AccountID
4683 - description: |-
4684 Return results *older* than this id.
4685
4686 The entry with this ID will not be included in the search results.
4687 in: query
4688 name: max_id
4689 type: string
4690 x-go-name: MaxID
4691 - description: |-
4692 Return results *newer* than this id.
4693
4694 The entry with this ID will not be included in the search results.
4695 in: query
4696 name: min_id
4697 type: string
4698 x-go-name: MinID
4699 - description: |-
4700 Type of the search query to perform.
4701
4702 Must be one of: `accounts`, `hashtags`, `statuses`.
4703 in: query
4704 name: type
4705 required: true
4706 type: string
4707 x-go-name: Type
4708 - default: false
4709 description: Filter out tags that haven't been reviewed and approved by an instance admin.
4710 in: query
4711 name: exclude_unreviewed
4712 type: boolean
4713 x-go-name: ExcludeUnreviewed
4714 - description: |-
4715 String to use as a search query.
4716
4717 For accounts, this should be in the format `@someaccount@some.instance.com`, or the format `https://some.instance.com/@someaccount`
4718
4719 For a status, this can be in the format: `https://some.instance.com/@someaccount/SOME_ID_OF_A_STATUS`
4720 in: query
4721 name: q
4722 required: true
4723 type: string
4724 x-go-name: Query
4725 - default: false
4726 description: Attempt to resolve the query by performing a remote webfinger lookup, if the query includes a remote host.
4727 in: query
4728 name: resolve
4729 type: boolean
4730 x-go-name: Resolve
4731 - default: 20
4732 description: Maximum number of results to load, per type.
4733 format: int64
4734 in: query
4735 maximum: 40
4736 minimum: 1
4737 name: limit
4738 type: integer
4739 x-go-name: Limit
4740 - default: 0
4741 description: Offset for paginating search results.
4742 format: int64
4743 in: query
4744 name: offset
4745 type: integer
4746 x-go-name: Offset
4747 - default: false
4748 description: Only include accounts that the searching account is following.
4749 in: query
4750 name: following
4751 type: boolean
4752 x-go-name: Following
4753 responses:
4754 "200":
4755 description: Results of the search.
4756 schema:
4757 items:
4758 $ref: '#/definitions/searchResult'
4759 type: array
4760 "400":
4761 description: bad request
4762 "401":
4763 description: unauthorized
4764 "404":
4765 description: not found
4766 "406":
4767 description: not acceptable
4768 "500":
4769 description: internal server error
4770 security:
4771 - OAuth2 Bearer:
4772 - read:search
4773 summary: Search for statuses, accounts, or hashtags, on this instance or elsewhere.
4774 tags:
4775 - search
4776 /api/v1/statuses:
4777 post:
4778 consumes:
4779 - application/json
4780 - application/xml
4781 - application/x-www-form-urlencoded
4782 description: |-
4783 The parameters can also be given in the body of the request, as JSON, if the content-type is set to 'application/json'.
4784 The parameters can also be given in the body of the request, as XML, if the content-type is set to 'application/xml'.
4785 operationId: statusCreate
4786 parameters:
4787 - description: |-
4788 Text content of the status.
4789 If media_ids is provided, this becomes optional.
4790 Attaching a poll is optional while status is provided.
4791 in: formData
4792 name: status
4793 type: string
4794 x-go-name: Status
4795 - description: |-
4796 Array of Attachment ids to be attached as media.
4797 If provided, status becomes optional, and poll cannot be used.
4798
4799 If the status is being submitted as a form, the key is 'media_ids[]',
4800 but if it's json or xml, the key is 'media_ids'.
4801 in: formData
4802 items:
4803 type: string
4804 name: media_ids
4805 type: array
4806 x-go-name: MediaIDs
4807 - description: ID of the status being replied to, if status is a reply.
4808 in: formData
4809 name: in_reply_to_id
4810 type: string
4811 x-go-name: InReplyToID
4812 - description: Status and attached media should be marked as sensitive.
4813 in: formData
4814 name: sensitive
4815 type: boolean
4816 x-go-name: Sensitive
4817 - description: |-
4818 Text to be shown as a warning or subject before the actual content.
4819 Statuses are generally collapsed behind this field.
4820 in: formData
4821 name: spoiler_text
4822 type: string
4823 x-go-name: SpoilerText
4824 - description: Visibility of the posted status.
4825 in: formData
4826 name: visibility
4827 type: string
4828 x-go-name: Visibility
4829 - description: |-
4830 ISO 8601 Datetime at which to schedule a status.
4831 Providing this parameter will cause ScheduledStatus to be returned instead of Status.
4832 Must be at least 5 minutes in the future.
4833 in: formData
4834 name: scheduled_at
4835 type: string
4836 x-go-name: ScheduledAt
4837 - description: ISO 639 language code for this status.
4838 in: formData
4839 name: language
4840 type: string
4841 x-go-name: Language
4842 - description: Format to use when parsing this status.
4843 in: formData
4844 name: format
4845 type: string
4846 x-go-name: Format
4847 - description: This status will be federated beyond the local timeline(s).
4848 in: query
4849 name: federated
4850 type: boolean
4851 x-go-name: Federated
4852 - description: This status can be boosted/reblogged.
4853 in: query
4854 name: boostable
4855 type: boolean
4856 x-go-name: Boostable
4857 - description: This status can be replied to.
4858 in: query
4859 name: replyable
4860 type: boolean
4861 x-go-name: Replyable
4862 - description: This status can be liked/faved.
4863 in: query
4864 name: likeable
4865 type: boolean
4866 x-go-name: Likeable
4867 produces:
4868 - application/json
4869 responses:
4870 "200":
4871 description: The newly created status.
4872 schema:
4873 $ref: '#/definitions/status'
4874 "400":
4875 description: bad request
4876 "401":
4877 description: unauthorized
4878 "403":
4879 description: forbidden
4880 "404":
4881 description: not found
4882 "406":
4883 description: not acceptable
4884 "500":
4885 description: internal server error
4886 security:
4887 - OAuth2 Bearer:
4888 - write:statuses
4889 summary: Create a new status.
4890 tags:
4891 - statuses
4892 /api/v1/statuses/{id}:
4893 delete:
4894 description: |-
4895 The deleted status will be returned in the response. The `text` field will contain the original text of the status as it was submitted.
4896 This is useful when doing a 'delete and redraft' type operation.
4897 operationId: statusDelete
4898 parameters:
4899 - description: Target status ID.
4900 in: path
4901 name: id
4902 required: true
4903 type: string
4904 produces:
4905 - application/json
4906 responses:
4907 "200":
4908 description: The status that was just deleted.
4909 schema:
4910 $ref: '#/definitions/status'
4911 "400":
4912 description: bad request
4913 "401":
4914 description: unauthorized
4915 "403":
4916 description: forbidden
4917 "404":
4918 description: not found
4919 "406":
4920 description: not acceptable
4921 "500":
4922 description: internal server error
4923 security:
4924 - OAuth2 Bearer:
4925 - write:statuses
4926 summary: Delete status with the given ID. The status must belong to you.
4927 tags:
4928 - statuses
4929 get:
4930 operationId: statusGet
4931 parameters:
4932 - description: Target status ID.
4933 in: path
4934 name: id
4935 required: true
4936 type: string
4937 produces:
4938 - application/json
4939 responses:
4940 "200":
4941 description: The requested status.
4942 schema:
4943 $ref: '#/definitions/status'
4944 "400":
4945 description: bad request
4946 "401":
4947 description: unauthorized
4948 "403":
4949 description: forbidden
4950 "404":
4951 description: not found
4952 "406":
4953 description: not acceptable
4954 "500":
4955 description: internal server error
4956 security:
4957 - OAuth2 Bearer:
4958 - read:statuses
4959 summary: View status with the given ID.
4960 tags:
4961 - statuses
4962 /api/v1/statuses/{id}/bookmark:
4963 post:
4964 operationId: statusBookmark
4965 parameters:
4966 - description: Target status ID.
4967 in: path
4968 name: id
4969 required: true
4970 type: string
4971 produces:
4972 - application/json
4973 responses:
4974 "200":
4975 description: The status.
4976 schema:
4977 $ref: '#/definitions/status'
4978 "400":
4979 description: bad request
4980 "401":
4981 description: unauthorized
4982 "403":
4983 description: forbidden
4984 "404":
4985 description: not found
4986 "406":
4987 description: not acceptable
4988 "500":
4989 description: internal server error
4990 security:
4991 - OAuth2 Bearer:
4992 - write:statuses
4993 summary: Bookmark status with the given ID.
4994 tags:
4995 - statuses
4996 /api/v1/statuses/{id}/context:
4997 get:
4998 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.
4999 operationId: statusContext
5000 parameters:
5001 - description: Target status ID.
5002 in: path
5003 name: id
5004 required: true
5005 type: string
5006 produces:
5007 - application/json
5008 responses:
5009 "200":
5010 description: Status context object.
5011 schema:
5012 $ref: '#/definitions/statusContext'
5013 "400":
5014 description: bad request
5015 "401":
5016 description: unauthorized
5017 "403":
5018 description: forbidden
5019 "404":
5020 description: not found
5021 "406":
5022 description: not acceptable
5023 "500":
5024 description: internal server error
5025 security:
5026 - OAuth2 Bearer:
5027 - read:statuses
5028 summary: Return ancestors and descendants of the given status.
5029 tags:
5030 - statuses
5031 /api/v1/statuses/{id}/favourite:
5032 post:
5033 operationId: statusFave
5034 parameters:
5035 - description: Target status ID.
5036 in: path
5037 name: id
5038 required: true
5039 type: string
5040 produces:
5041 - application/json
5042 responses:
5043 "200":
5044 description: The newly faved status.
5045 schema:
5046 $ref: '#/definitions/status'
5047 "400":
5048 description: bad request
5049 "401":
5050 description: unauthorized
5051 "403":
5052 description: forbidden
5053 "404":
5054 description: not found
5055 "406":
5056 description: not acceptable
5057 "500":
5058 description: internal server error
5059 security:
5060 - OAuth2 Bearer:
5061 - write:statuses
5062 summary: Star/like/favourite the given status, if permitted.
5063 tags:
5064 - statuses
5065 /api/v1/statuses/{id}/favourited_by:
5066 get:
5067 operationId: statusFavedBy
5068 parameters:
5069 - description: Target status ID.
5070 in: path
5071 name: id
5072 required: true
5073 type: string
5074 produces:
5075 - application/json
5076 responses:
5077 "200":
5078 description: ""
5079 schema:
5080 items:
5081 $ref: '#/definitions/account'
5082 type: array
5083 "400":
5084 description: bad request
5085 "401":
5086 description: unauthorized
5087 "403":
5088 description: forbidden
5089 "404":
5090 description: not found
5091 "406":
5092 description: not acceptable
5093 "500":
5094 description: internal server error
5095 security:
5096 - OAuth2 Bearer:
5097 - read:accounts
5098 summary: View accounts that have faved/starred/liked the target status.
5099 tags:
5100 - statuses
5101 /api/v1/statuses/{id}/reblog:
5102 post:
5103 description: |-
5104 If the target status is rebloggable/boostable, it will be shared with your followers.
5105 This is equivalent to an ActivityPub 'Announce' activity.
5106 operationId: statusReblog
5107 parameters:
5108 - description: Target status ID.
5109 in: path
5110 name: id
5111 required: true
5112 type: string
5113 produces:
5114 - application/json
5115 responses:
5116 "200":
5117 description: The boost of the status.
5118 schema:
5119 $ref: '#/definitions/status'
5120 "400":
5121 description: bad request
5122 "401":
5123 description: unauthorized
5124 "403":
5125 description: forbidden
5126 "404":
5127 description: not found
5128 "406":
5129 description: not acceptable
5130 "500":
5131 description: internal server error
5132 security:
5133 - OAuth2 Bearer:
5134 - write:statuses
5135 summary: Reblog/boost status with the given ID.
5136 tags:
5137 - statuses
5138 /api/v1/statuses/{id}/reblogged_by:
5139 get:
5140 operationId: statusBoostedBy
5141 parameters:
5142 - description: Target status ID.
5143 in: path
5144 name: id
5145 required: true
5146 type: string
5147 produces:
5148 - application/json
5149 responses:
5150 "200":
5151 description: ""
5152 schema:
5153 items:
5154 $ref: '#/definitions/account'
5155 type: array
5156 "400":
5157 description: bad request
5158 "401":
5159 description: unauthorized
5160 "403":
5161 description: forbidden
5162 "404":
5163 description: not found
5164 security:
5165 - OAuth2 Bearer:
5166 - read:accounts
5167 summary: View accounts that have reblogged/boosted the target status.
5168 tags:
5169 - statuses
5170 /api/v1/statuses/{id}/unbookmark:
5171 post:
5172 operationId: statusUnbookmark
5173 parameters:
5174 - description: Target status ID.
5175 in: path
5176 name: id
5177 required: true
5178 type: string
5179 produces:
5180 - application/json
5181 responses:
5182 "200":
5183 description: The status.
5184 schema:
5185 $ref: '#/definitions/status'
5186 "400":
5187 description: bad request
5188 "401":
5189 description: unauthorized
5190 "403":
5191 description: forbidden
5192 "404":
5193 description: not found
5194 "406":
5195 description: not acceptable
5196 "500":
5197 description: internal server error
5198 security:
5199 - OAuth2 Bearer:
5200 - write:statuses
5201 summary: Unbookmark status with the given ID.
5202 tags:
5203 - statuses
5204 /api/v1/statuses/{id}/unfavourite:
5205 post:
5206 operationId: statusUnfave
5207 parameters:
5208 - description: Target status ID.
5209 in: path
5210 name: id
5211 required: true
5212 type: string
5213 produces:
5214 - application/json
5215 responses:
5216 "200":
5217 description: The unfaved status.
5218 schema:
5219 $ref: '#/definitions/status'
5220 "400":
5221 description: bad request
5222 "401":
5223 description: unauthorized
5224 "403":
5225 description: forbidden
5226 "404":
5227 description: not found
5228 "406":
5229 description: not acceptable
5230 "500":
5231 description: internal server error
5232 security:
5233 - OAuth2 Bearer:
5234 - write:statuses
5235 summary: Unstar/unlike/unfavourite the given status.
5236 tags:
5237 - statuses
5238 /api/v1/statuses/{id}/unreblog:
5239 post:
5240 operationId: statusUnreblog
5241 parameters:
5242 - description: Target status ID.
5243 in: path
5244 name: id
5245 required: true
5246 type: string
5247 produces:
5248 - application/json
5249 responses:
5250 "200":
5251 description: The unboosted status.
5252 schema:
5253 $ref: '#/definitions/status'
5254 "400":
5255 description: bad request
5256 "401":
5257 description: unauthorized
5258 "403":
5259 description: forbidden
5260 "404":
5261 description: not found
5262 "406":
5263 description: not acceptable
5264 "500":
5265 description: internal server error
5266 security:
5267 - OAuth2 Bearer:
5268 - write:statuses
5269 summary: Unreblog/unboost status with the given ID.
5270 tags:
5271 - statuses
5272 /api/v1/streaming:
5273 get:
5274 description: |-
5275 The scheme used should *always* be `wss`. The streaming basepath can be viewed at `/api/v1/instance`.
5276
5277 On a successful connection, a code `101` will be returned, which indicates that the connection is being upgraded to a secure websocket connection.
5278
5279 As long as the connection is open, various message types will be streamed into it.
5280
5281 GoToSocial will ping the connection every 30 seconds to check whether the client is still receiving.
5282
5283 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.
5284 operationId: streamGet
5285 parameters:
5286 - description: Access token for the requesting account.
5287 in: query
5288 name: access_token
5289 required: true
5290 type: string
5291 - description: |-
5292 Type of stream to request.
5293
5294 Options are:
5295
5296 `user`: receive updates for the account's home timeline.
5297 `public`: receive updates for the public timeline.
5298 `public:local`: receive updates for the local timeline.
5299 `hashtag`: receive updates for a given hashtag.
5300 `hashtag:local`: receive local updates for a given hashtag.
5301 `list`: receive updates for a certain list of accounts.
5302 `direct`: receive updates for direct messages.
5303 in: query
5304 name: stream
5305 required: true
5306 type: string
5307 produces:
5308 - application/json
5309 responses:
5310 "101":
5311 description: ""
5312 schema:
5313 properties:
5314 event:
5315 description: |-
5316 The type of event being received.
5317
5318 `update`: a new status has been received.
5319 `notification`: a new notification has been received.
5320 `delete`: a status has been deleted.
5321 `filters_changed`: not implemented.
5322 enum:
5323 - update
5324 - notification
5325 - delete
5326 - filters_changed
5327 type: string
5328 payload:
5329 description: |-
5330 The payload of the streamed message.
5331 Different depending on the `event` type.
5332
5333 If present, it should be parsed as a string.
5334
5335 If `event` = `update`, then the payload will be a JSON string of a status.
5336 If `event` = `notification`, then the payload will be a JSON string of a notification.
5337 If `event` = `delete`, then the payload will be a status ID.
5338 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"}'
5339 type: string
5340 stream:
5341 items:
5342 enum:
5343 - user
5344 - public
5345 - public:local
5346 - hashtag
5347 - hashtag:local
5348 - list
5349 - direct
5350 type: string
5351 type: array
5352 type: object
5353 "400":
5354 description: bad request
5355 "401":
5356 description: unauthorized
5357 schemes:
5358 - wss
5359 security:
5360 - OAuth2 Bearer:
5361 - read:streaming
5362 summary: Initiate a websocket connection for live streaming of statuses and notifications.
5363 tags:
5364 - streaming
5365 /api/v1/timelines/home:
5366 get:
5367 description: |-
5368 The statuses will be returned in descending chronological order (newest first), with sequential IDs (bigger = newer).
5369
5370 The returned Link header can be used to generate the previous and next queries when scrolling up or down a timeline.
5371
5372 Example:
5373
5374 ```
5375 <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"
5376 ````
5377 operationId: homeTimeline
5378 parameters:
5379 - description: Return only statuses *OLDER* than the given max status ID. The status with the specified ID will not be included in the response.
5380 in: query
5381 name: max_id
5382 type: string
5383 - description: Return only statuses *NEWER* than the given since status ID. The status with the specified ID will not be included in the response.
5384 in: query
5385 name: since_id
5386 type: string
5387 - description: Return only statuses *NEWER* than the given since status ID. The status with the specified ID will not be included in the response.
5388 in: query
5389 name: min_id
5390 type: string
5391 - default: 20
5392 description: Number of statuses to return.
5393 in: query
5394 name: limit
5395 type: integer
5396 - default: false
5397 description: Show only statuses posted by local accounts.
5398 in: query
5399 name: local
5400 type: boolean
5401 produces:
5402 - application/json
5403 responses:
5404 "200":
5405 description: Array of statuses.
5406 headers:
5407 Link:
5408 description: Links to the next and previous queries.
5409 type: string
5410 schema:
5411 items:
5412 $ref: '#/definitions/status'
5413 type: array
5414 "400":
5415 description: bad request
5416 "401":
5417 description: unauthorized
5418 security:
5419 - OAuth2 Bearer:
5420 - read:statuses
5421 summary: See statuses/posts by accounts you follow.
5422 tags:
5423 - timelines
5424 /api/v1/timelines/public:
5425 get:
5426 description: |-
5427 The statuses will be returned in descending chronological order (newest first), with sequential IDs (bigger = newer).
5428
5429 The returned Link header can be used to generate the previous and next queries when scrolling up or down a timeline.
5430
5431 Example:
5432
5433 ```
5434 <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"
5435 ````
5436 operationId: publicTimeline
5437 parameters:
5438 - description: Return only statuses *OLDER* than the given max status ID. The status with the specified ID will not be included in the response.
5439 in: query
5440 name: max_id
5441 type: string
5442 - description: Return only statuses *NEWER* than the given since status ID. The status with the specified ID will not be included in the response.
5443 in: query
5444 name: since_id
5445 type: string
5446 - description: Return only statuses *NEWER* than the given since status ID. The status with the specified ID will not be included in the response.
5447 in: query
5448 name: min_id
5449 type: string
5450 - default: 20
5451 description: Number of statuses to return.
5452 in: query
5453 name: limit
5454 type: integer
5455 - default: false
5456 description: Show only statuses posted by local accounts.
5457 in: query
5458 name: local
5459 type: boolean
5460 produces:
5461 - application/json
5462 responses:
5463 "200":
5464 description: Array of statuses.
5465 headers:
5466 Link:
5467 description: Links to the next and previous queries.
5468 type: string
5469 schema:
5470 items:
5471 $ref: '#/definitions/status'
5472 type: array
5473 "400":
5474 description: bad request
5475 "401":
5476 description: unauthorized
5477 security:
5478 - OAuth2 Bearer:
5479 - read:statuses
5480 summary: See public statuses/posts that your instance is aware of.
5481 tags:
5482 - timelines
5483 /api/v1/user/password_change:
5484 post:
5485 consumes:
5486 - application/json
5487 - application/xml
5488 - application/x-www-form-urlencoded
5489 description: |-
5490 The parameters can also be given in the body of the request, as JSON, if the content-type is set to 'application/json'.
5491 The parameters can also be given in the body of the request, as XML, if the content-type is set to 'application/xml'.
5492 operationId: userPasswordChange
5493 parameters:
5494 - description: User's previous password.
5495 in: formData
5496 name: old_password
5497 required: true
5498 type: string
5499 x-go-name: OldPassword
5500 - description: |-
5501 Desired new password.
5502 If the password does not have high enough entropy, it will be rejected.
5503 See https://github.com/wagslane/go-password-validator
5504 in: formData
5505 name: new_password
5506 required: true
5507 type: string
5508 x-go-name: NewPassword
5509 produces:
5510 - application/json
5511 responses:
5512 "200":
5513 description: Change successful
5514 "400":
5515 description: bad request
5516 "401":
5517 description: unauthorized
5518 "403":
5519 description: forbidden
5520 "406":
5521 description: not acceptable
5522 "500":
5523 description: internal error
5524 security:
5525 - OAuth2 Bearer:
5526 - write:user
5527 summary: Change the password of authenticated user.
5528 tags:
5529 - user
5530 /api/v2/instance:
5531 get:
5532 operationId: instanceGetV2
5533 produces:
5534 - application/json
5535 responses:
5536 "200":
5537 description: Instance information.
5538 schema:
5539 $ref: '#/definitions/instanceV2'
5540 "406":
5541 description: not acceptable
5542 "500":
5543 description: internal error
5544 summary: View instance information.
5545 tags:
5546 - instance
5547 /nodeinfo/2.0:
5548 get:
5549 description: 'See: https://nodeinfo.diaspora.software/schema.html'
5550 operationId: nodeInfoGet
5551 produces:
5552 - application/json; profile="http://nodeinfo.diaspora.software/ns/schema/2.0#"
5553 responses:
5554 "200":
5555 description: ""
5556 schema:
5557 $ref: '#/definitions/nodeinfo'
5558 summary: Returns a compliant nodeinfo response to node info queries.
5559 tags:
5560 - nodeinfo
5561 /users/{username}/outbox:
5562 get:
5563 description: |-
5564 Note that the response will be a Collection with a page as `first`, as shown below, if `page` is `false`.
5565
5566 If `page` is `true`, then the response will be a single `CollectionPage` without the wrapping `Collection`.
5567
5568 HTTP signature is required on the request.
5569 operationId: s2sOutboxGet
5570 parameters:
5571 - description: Username of the account.
5572 in: path
5573 name: username
5574 required: true
5575 type: string
5576 - default: false
5577 description: Return response as a CollectionPage.
5578 in: query
5579 name: page
5580 type: boolean
5581 - description: Minimum ID of the next status, used for paging.
5582 in: query
5583 name: min_id
5584 type: string
5585 - description: Maximum ID of the next status, used for paging.
5586 in: query
5587 name: max_id
5588 type: string
5589 produces:
5590 - application/activity+json
5591 responses:
5592 "200":
5593 description: ""
5594 schema:
5595 $ref: '#/definitions/swaggerCollection'
5596 "400":
5597 description: bad request
5598 "401":
5599 description: unauthorized
5600 "403":
5601 description: forbidden
5602 "404":
5603 description: not found
5604 summary: Get the public outbox collection for an actor.
5605 tags:
5606 - s2s/federation
5607 /users/{username}/statuses/{status}/replies:
5608 get:
5609 description: |-
5610 Note that the response will be a Collection with a page as `first`, as shown below, if `page` is `false`.
5611
5612 If `page` is `true`, then the response will be a single `CollectionPage` without the wrapping `Collection`.
5613
5614 HTTP signature is required on the request.
5615 operationId: s2sRepliesGet
5616 parameters:
5617 - description: Username of the account.
5618 in: path
5619 name: username
5620 required: true
5621 type: string
5622 - description: ID of the status.
5623 in: path
5624 name: status
5625 required: true
5626 type: string
5627 - default: false
5628 description: Return response as a CollectionPage.
5629 in: query
5630 name: page
5631 type: boolean
5632 - default: false
5633 description: Return replies only from accounts other than the status owner.
5634 in: query
5635 name: only_other_accounts
5636 type: boolean
5637 - description: Minimum ID of the next status, used for paging.
5638 in: query
5639 name: min_id
5640 type: string
5641 produces:
5642 - application/activity+json
5643 responses:
5644 "200":
5645 description: ""
5646 schema:
5647 $ref: '#/definitions/swaggerCollection'
5648 "400":
5649 description: bad request
5650 "401":
5651 description: unauthorized
5652 "403":
5653 description: forbidden
5654 "404":
5655 description: not found
5656 summary: Get the replies collection for a status.
5657 tags:
5658 - s2s/federation
5659schemes:
5660 - https
5661 - http
5662securityDefinitions:
5663 OAuth2 Application:
5664 flow: application
5665 scopes:
5666 write:accounts: grants write access to accounts
5667 tokenUrl: https://example.org/oauth/token
5668 type: oauth2
5669 OAuth2 Bearer:
5670 authorizationUrl: https://example.org/oauth/authorize
5671 flow: accessCode
5672 scopes:
5673 admin: grants admin access to everything
5674 admin:accounts: grants admin access to accounts
5675 read: grants read access to everything
5676 read:accounts: grants read access to accounts
5677 read:blocks: grant read access to blocks
5678 read:custom_emojis: grant read access to custom_emojis
5679 read:favourites: grant read access to favourites
5680 read:follows: grant read access to follows
5681 read:media: grant read access to media
5682 read:notifications: grants read access to notifications
5683 read:search: grant read access to searches
5684 read:statuses: grants read access to statuses
5685 read:streaming: grants read access to streaming api
5686 read:user: grants read access to user-level info
5687 write: grants write access to everything
5688 write:accounts: grants write access to accounts
5689 write:blocks: grants write access to blocks
5690 write:follows: grants write access to follows
5691 write:media: grants write access to media
5692 write:statuses: grants write access to statuses
5693 write:user: grants write access to user-level info
5694 tokenUrl: https://example.org/oauth/token
5695 type: oauth2
5696swagger: "2.0"
View as plain text