Cuculus API (0.0.1)

Download OpenAPI specification:Download

The Cuculus API description

at-protocol

connectAtProtocol

Authorizations:
bearer
Request Body schema: application/json
required
id
required
string
app_password
required
string

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "app_password": "string"
}

syncAtProtocolActor

Authorizations:
bearer
path Parameters
handle
required
string

Responses

HealthController_check

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "info": {
    },
  • "error": { },
  • "details": {
    }
}

システムの設定を返却する

Responses

Response samples

Content type
application/json
{
  • "invitation_only": true,
  • "maintenance": true
}

accounts

プロフィール更新

Authorizations:
bearer
Request Body schema: application/json
required
name
string

表示名

bio
string

bio

Responses

Request samples

Content type
application/json
{
  • "name": "ククルス",
  • "bio": "ククルスへようこそ。"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "username": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "bio": "string",
  • "profile_image_url": "string",
  • "is_private": true,
  • "url": "string",
  • "verified": true,
  • "is_remote": true,
  • "followers_count": 100,
  • "following_count": 100
}

プロフィール画像変更API。

Authorizations:
bearer
Request Body schema: multipart/form-data
required

Upload File

file
required
string <binary>

アップロードする画像ファイル。

  • リミット: 1MB
  • 推奨サイズ: 400px x 400px
  • サポートされるファイルタイプ: JPEG, PNG, WEBP, GIF

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "username": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "bio": "string",
  • "profile_image_url": "string",
  • "is_private": true,
  • "url": "string",
  • "verified": true,
  • "is_remote": true,
  • "followers_count": 100,
  • "following_count": 100
}

ヘッダー画像更新(未実装)

Authorizations:
bearer
Request Body schema: multipart/form-data
required

Upload File

file
required
string <binary>

Responses

auth

仮登録API

Request Body schema: application/json
required
name
required
string

表示名

email
required
string

メールアドレス

Responses

Request samples

Content type
application/json
{
  • "name": "ククルス",
  • "email": "cuculus@example.com"
}

認証コードの確認

Request Body schema: application/json
required
email
required
string

メールアドレス

code
required
string

認証コード

Responses

Request samples

Content type
application/json
{
  • "email": "cuculus@example.com",
  • "code": "012345"
}

本登録API

Request Body schema: application/json
required
email
required
string

メールアドレス

code
required
string

認証コード

username
required
string

ユーザーID

password
required
string

パスワード

invitation_code
string

招待コード

Responses

Request samples

Content type
application/json
{
  • "email": "cuculus@example.com",
  • "code": "012345",
  • "username": "cuculus",
  • "password": "password",
  • "invitation_code": "ABCDE12345"
}

Response samples

Content type
application/json
{
  • "access_token": "string",
  • "auth_token": "string",
  • "expires_at": "2023-12-31T23:59:59.999Z"
}

ログインAPI

Request Body schema: application/json
required
username
required
string

ユーザーID or メールアドレス

password
required
string

パスワード

Responses

Request samples

Content type
application/json
{
  • "username": "cuculus",
  • "password": "password"
}

Response samples

Content type
application/json
{
  • "access_token": "string",
  • "auth_token": "string",
  • "expires_at": "2023-12-31T23:59:59.999Z"
}

アクセストークンの再発行(現在はCookieのみ対応)

Authorizations:
cookie

Responses

Response samples

Content type
application/json
{
  • "access_token": "string"
}

ログアウトAPI

Authorizations:
cookie

Responses

invitations

招待コードの確認

Request Body schema: application/json
required
invitation_code
required
string

招待コード

Responses

Request samples

Content type
application/json
{
  • "invitation_code": "ABCDE12345"
}

自分が発行した招待コード一覧

Authorizations:
bearer

Responses

Response samples

Content type
application/json
{
  • "remaining_invitations": 10,
  • "invitations": [
    ]
}

招待コードの発行

Authorizations:
bearer

Responses

Response samples

Content type
application/json
{
  • "code": "ABCDE12345",
  • "issued_at": "2021-01-01T00:00:00.000Z",
  • "used_at": "2021-01-01T00:00:00.000Z"
}

password-reset

パスワードの再設定をリクエストする

Request Body schema: application/json
required
username
required
string

ユーザー名 or メールアドレス

Responses

Request samples

Content type
application/json
{
  • "username": "cuculus"
}

パスワードの再設定を確定する

Request Body schema: application/json
required
user_id
required
number

ユーザーID

code
required
string

リセットコード

new_password
required
string

新しいパスワード

Responses

Request samples

Content type
application/json
{
  • "user_id": 1,
  • "code": "00000000-0000-0000-0000-000000000000",
  • "new_password": "password"
}

posts

引用ポスト、ポスト、リプライに対応(予定)

Authorizations:
bearer
Request Body schema: application/json
required
original_post_id
string

引用元ID

in_reply_to_id
string

リプライ先ID

text
string

本文

Responses

Request samples

Content type
application/json
{
  • "original_post_id": "26439435541307392",
  • "in_reply_to_id": "26439435541307392",
  • "text": "Hello, World!"
}

Response samples

Content type
application/json
{
  • "id": "26439435541307392",
  • "original_post_id": "26439435541307392",
  • "reply_to_post_id": "string",
  • "author": {
    },
  • "text": "string",
  • "posted_at": "2019-08-24T14:15:22Z",
  • "repost_count": 0,
  • "favorite_count": 0,
  • "activity_pub": {
    },
  • "at_protocol": {
    },
  • "original_post": {
    },
  • "reposted": true,
  • "favorited": true
}

ポストIDからポストを取得する(認証は任意)

Authorizations:
Nonebearer
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "26439435541307392",
  • "original_post_id": "26439435541307392",
  • "reply_to_post_id": "string",
  • "author": {
    },
  • "text": "string",
  • "posted_at": "2019-08-24T14:15:22Z",
  • "repost_count": 0,
  • "favorite_count": 0,
  • "activity_pub": {
    },
  • "at_protocol": {
    },
  • "original_post": {
    },
  • "reposted": true,
  • "favorited": true
}

Postの削除

Authorizations:
bearer
path Parameters
id
required
string

Responses

ポストIDからリポストしたアカウント一覧を返す

Authorizations:
Nonebearer
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

ポストIDからお気に入りしたアカウント一覧を返す

Authorizations:
Nonebearer
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

お気に入り登録

Authorizations:
bearer
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "26439435541307392",
  • "original_post_id": "26439435541307392",
  • "reply_to_post_id": "string",
  • "author": {
    },
  • "text": "string",
  • "posted_at": "2019-08-24T14:15:22Z",
  • "repost_count": 0,
  • "favorite_count": 0,
  • "activity_pub": {
    },
  • "at_protocol": {
    },
  • "original_post": {
    },
  • "reposted": true,
  • "favorited": true
}

お気に入り登録解除

Authorizations:
bearer
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "26439435541307392",
  • "original_post_id": "26439435541307392",
  • "reply_to_post_id": "string",
  • "author": {
    },
  • "text": "string",
  • "posted_at": "2019-08-24T14:15:22Z",
  • "repost_count": 0,
  • "favorite_count": 0,
  • "activity_pub": {
    },
  • "at_protocol": {
    },
  • "original_post": {
    },
  • "reposted": true,
  • "favorited": true
}

リポスト

Authorizations:
bearer
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "26439435541307392",
  • "original_post_id": "26439435541307392",
  • "reply_to_post_id": "string",
  • "author": {
    },
  • "text": "string",
  • "posted_at": "2019-08-24T14:15:22Z",
  • "repost_count": 0,
  • "favorite_count": 0,
  • "activity_pub": {
    },
  • "at_protocol": {
    },
  • "original_post": {
    },
  • "reposted": true,
  • "favorited": true
}

timelines

ホームタイムラインの取得

Authorizations:
bearer
query Parameters
max_id
string
Example: max_id=26439435541307392

このIDを上限として、より小さいIDの投稿を取得します。

since_id
string
Example: since_id=26439435541307392

このIDを下限として、より大きいIDの投稿を取得します。(min_idと併用不可)

min_id
string
Example: min_id=26439435541307392

このIDを下限として、直後からの投稿を取得します。(since_idと併用不可)

limit
number [ 1 .. 40 ]
Default: 20
Example: limit=20

取得件数

Responses

Response samples

Content type
application/json
[
  • {
    }
]

ローカルタイムラインの取得(廃止予定)

Authorizations:
Nonebearer
query Parameters
max_id
string
Example: max_id=26439435541307392

このIDを上限として、より小さいIDの投稿を取得します。

since_id
string
Example: since_id=26439435541307392

このIDを下限として、より大きいIDの投稿を取得します。(min_idと併用不可)

min_id
string
Example: min_id=26439435541307392

このIDを下限として、直後からの投稿を取得します。(since_idと併用不可)

limit
number [ 1 .. 40 ]
Default: 20
Example: limit=20

取得件数

Responses

Response samples

Content type
application/json
[
  • {
    }
]

全体タイムラインの取得(廃止予定)

Authorizations:
Nonebearer
query Parameters
max_id
string
Example: max_id=26439435541307392

このIDを上限として、より小さいIDの投稿を取得します。

since_id
string
Example: since_id=26439435541307392

このIDを下限として、より大きいIDの投稿を取得します。(min_idと併用不可)

min_id
string
Example: min_id=26439435541307392

このIDを下限として、直後からの投稿を取得します。(since_idと併用不可)

limit
number [ 1 .. 40 ]
Default: 20
Example: limit=20

取得件数

Responses

Response samples

Content type
application/json
[
  • {
    }
]

users

自身の情報を返す

Authorizations:
bearer

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "username": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "bio": "string",
  • "profile_image_url": "string",
  • "is_private": true,
  • "url": "string",
  • "verified": true,
  • "is_remote": true
}

ユーザー名からユーザーを取得する

path Parameters
username
required
string

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "username": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "bio": "string",
  • "profile_image_url": "string",
  • "is_private": true,
  • "url": "string",
  • "verified": true,
  • "is_remote": true,
  • "followers_count": 100,
  • "following_count": 100
}

ユーザーIDからユーザーを取得する

path Parameters
id
required
number

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "username": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "bio": "string",
  • "profile_image_url": "string",
  • "is_private": true,
  • "url": "string",
  • "verified": true,
  • "is_remote": true,
  • "followers_count": 100,
  • "following_count": 100
}

ユーザーIDから投稿を取得する

Authorizations:
Nonebearer
path Parameters
id
required
number
query Parameters
max_id
string
Example: max_id=26439435541307392

このIDを上限として、より小さいIDの投稿を取得します。

since_id
string
Example: since_id=26439435541307392

このIDを下限として、より大きいIDの投稿を取得します。(min_idと併用不可)

min_id
string
Example: min_id=26439435541307392

このIDを下限として、直後からの投稿を取得します。(since_idと併用不可)

limit
number [ 1 .. 40 ]
Default: 20
Example: limit=20

取得件数

Responses

Response samples

Content type
application/json
[
  • {
    }
]

ユーザーIDからフォロワーを取得する

Authorizations:
Nonebearer
path Parameters
id
required
number
query Parameters
until
string <date-time>
Example: until=2024-03-21T01:56:02.464Z

この日時より過去のフォロー/フォロワーを取得します。

limit
number [ 1 .. 40 ]
Default: 20
Example: limit=20

取得件数

Responses

Response samples

Content type
application/json
{
  • "users": [
    ],
  • "next_until": "2019-08-24T14:15:22Z"
}

ユーザーIDからフォローを取得する

Authorizations:
Nonebearer
path Parameters
id
required
number
query Parameters
until
string <date-time>
Example: until=2024-03-21T01:56:02.464Z

この日時より過去のフォロー/フォロワーを取得します。

limit
number [ 1 .. 40 ]
Default: 20
Example: limit=20

取得件数

Responses

Response samples

Content type
application/json
{
  • "users": [
    ],
  • "next_until": "2019-08-24T14:15:22Z"
}

ユーザーIDをフォローする。またはフォローリクエストを送る

Authorizations:
bearer
path Parameters
id
required
number

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "following": true,
  • "follow_requested": true
}

ユーザーIDをフォロー解除する。またはフォローリクエストをキャンセルする

Authorizations:
bearer
path Parameters
id
required
number

Responses

ユーザーIDとの関係を取得する

Authorizations:
bearer
path Parameters
id
required
number

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "following": true,
  • "follow_requested": true
}