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