{"openapi":"3.1.0","info":{"title":"FastAPI","version":"0.1.0"},"paths":{"/api/v1/system/ping":{"get":{"summary":"Ping","operationId":"ping_api_v1_system_ping_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Message"}}}}}}},"/api/v1/data/user-enrollments/{participant_id}":{"get":{"summary":"Get User Enrollment By Participant Id","description":"コミュニティノート参加ユーザーのデータを取得するエンドポイント","operationId":"get_user_enrollment_by_participant_id_api_v1_data_user_enrollments__participant_id__get","parameters":[{"name":"participant_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[0-9A-F]{64}$","description":"取得するコミュニティノート参加ユーザーの ID。","title":"Participant Id"},"description":"取得するコミュニティノート参加ユーザーの ID。","examples":{"single":{"summary":"ID: B8B599F50C14003B9520DC8832612831B2D69BFC3B44C8336A800DF725396FBF のユーザーのデータを取得する","value":"B8B599F50C14003B9520DC8832612831B2D69BFC3B44C8336A800DF725396FBF"}}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserEnrollment"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/data/topics":{"get":{"summary":"Get Topics","description":"自動分類されたコミュニティノートのトピック一覧を取得するエンドポイント","operationId":"get_topics_api_v1_data_topics_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopicListResponse"}}}}}}},"/api/v1/data/notes":{"get":{"summary":"Get Notes","description":"コミュニティノートのデータを取得するエンドポイント","operationId":"get_notes_api_v1_data_notes_get","parameters":[{"name":"note_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","pattern":"^[0-9]{19}$"}},{"type":"null"}],"description":"\nデータを取得する X のコミュニティノートの ID。\n\n複数回クエリパラメータを指定する / カンマ区切りで複数の ID を指定することで複数のコミュニティノートを一括で取得できる。\n","title":"Note Ids"},"description":"\nデータを取得する X のコミュニティノートの ID。\n\n複数回クエリパラメータを指定する / カンマ区切りで複数の ID を指定することで複数のコミュニティノートを一括で取得できる。\n","examples":{"default":{"summary":"指定しない (デフォルト)"},"single":{"summary":"コミュニティノートを 1つ取得する","value":["1845672983001710655"]},"multiple_query":{"summary":"コミュニティノートを複数取得する (クエリパラメータ)","value":["1845672983001710655","1845776988935770187"]},"multiple_comma":{"summary":"コミュニティノートを複数取得する (カンマ区切り)","value":["1845672983001710655,1845776988935770187"]}}},{"name":"created_at_from","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1152921600000},{"type":"null"}],"description":"\n取得するコミュニティノートの作成日時の下限。**指定した日時と同時かそれより新しい**コミュニティノートのみを取得する。\n\n指定する形式は UNIX EPOCH TIME (ミリ秒) 。\n","title":"Created At From"},"description":"\n取得するコミュニティノートの作成日時の下限。**指定した日時と同時かそれより新しい**コミュニティノートのみを取得する。\n\n指定する形式は UNIX EPOCH TIME (ミリ秒) 。\n","examples":{"default":{"summary":"指定しない (デフォルト)"},"normal":{"summary":"2024 / 1 / 1 00:00 (JST) 以降のコミュニティノートを取得する","value":1704034800000}}},{"name":"created_at_to","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1152921600000},{"type":"null"}],"description":"\n取得するコミュニティノートの作成日時の上限。**指定した日時よりも古い**コミュニティノートのみを取得する。\n\n指定する形式は UNIX EPOCH TIME (ミリ秒) 。\n","title":"Created At To"},"description":"\n取得するコミュニティノートの作成日時の上限。**指定した日時よりも古い**コミュニティノートのみを取得する。\n\n指定する形式は UNIX EPOCH TIME (ミリ秒) 。\n","examples":{"default":{"summary":"指定しない (デフォルト)"},"normal":{"summary":"2024 / 7 / 1 00:00 (JST) より前のコミュニティノートを取得する","value":1719759600000}}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"\n取得するコミュニティノートのリストの先頭からのオフセット。ページネーションに利用される。\n\n\nただし、レスポンスの `meta.next` や `meta.prev` で次のページや前のページのリクエスト用 URL が提供されるため、\nそちらを利用したほうが良い場合もある。\n","default":0,"title":"Offset"},"description":"\n取得するコミュニティノートのリストの先頭からのオフセット。ページネーションに利用される。\n\n\nただし、レスポンスの `meta.next` や `meta.prev` で次のページや前のページのリクエスト用 URL が提供されるため、\nそちらを利用したほうが良い場合もある。\n","examples":{"default":{"summary":"0 (デフォルト)","value":0},"offset_100":{"summary":"100","value":100}}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"exclusiveMinimum":0,"description":"\n取得するコミュニティノートのリストの最大数。 0 ～ 1000 まで指定できる。ページネーションに利用される。\n\n\nただし、レスポンスの `meta.next` や `meta.prev` で次のページや前のページのリクエスト用 URL が提供されるため、\nそちらを利用したほうが良い場合もある。\n","default":100,"title":"Limit"},"description":"\n取得するコミュニティノートのリストの最大数。 0 ～ 1000 まで指定できる。ページネーションに利用される。\n\n\nただし、レスポンスの `meta.next` や `meta.prev` で次のページや前のページのリクエスト用 URL が提供されるため、\nそちらを利用したほうが良い場合もある。\n","examples":{"default":{"summary":"100 (デフォルト)","value":100},"limit_50":{"summary":"50","value":50}}},{"name":"topic_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"integer","minimum":0}},{"type":"null"}],"description":"\n取得するコミュニティノートが紐づいているトピックの ID。\n\n`GET /api/v1/data/topics` で取得できるトピックの ID を指定することで、そのトピックに紐づいたコミュニティノートを取得できる。\n\n複数指定した場合は、 **いずれかのトピックに紐づいたコミュニティノート** を取得する。 (AND 検索ではなく OR 検索になる)\n","title":"Topic Ids"},"description":"\n取得するコミュニティノートが紐づいているトピックの ID。\n\n`GET /api/v1/data/topics` で取得できるトピックの ID を指定することで、そのトピックに紐づいたコミュニティノートを取得できる。\n\n複数指定した場合は、 **いずれかのトピックに紐づいたコミュニティノート** を取得する。 (AND 検索ではなく OR 検索になる)\n","examples":{"default":{"summary":"指定しない (デフォルト)"},"single":{"summary":"トピックに紐づいたコミュニティノートを取得する","value":[1]},"multiple_query":{"summary":"複数のトピックに紐づいたコミュニティノートを取得する (クエリパラメータ)","value":[1,2]},"multiple_comma":{"summary":"複数のトピックに紐づいたコミュニティノートを取得する (カンマ区切り)","value":["1,2"]}}},{"name":"post_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","pattern":"^([0-9]{1,19}|)$"}},{"type":"null"}],"description":"\nコミュニティノートのデータ取得に利用する X の Post の ID。\nコミュニティノートと Post は 1 : 1 で紐づいている。\n\n複数回クエリパラメータを指定する / カンマ区切りで複数の ID を指定することで複数のコミュニティノートを一括で取得できる。\n","title":"Post Ids"},"description":"\nコミュニティノートのデータ取得に利用する X の Post の ID。\nコミュニティノートと Post は 1 : 1 で紐づいている。\n\n複数回クエリパラメータを指定する / カンマ区切りで複数の ID を指定することで複数のコミュニティノートを一括で取得できる。\n","examples":{"default":{"summary":"指定しない (デフォルト)"},"single":{"summary":"Post に紐づいたコミュニティノートを 1つ取得する","value":["1828261879854309500"]},"multiple_query":{"summary":"複数の Post について、それぞれに紐づいたコミュニティノートを取得する (クエリパラメータ)","value":["1828261879854309500","1828261879854309501"]},"multiple_comma":{"summary":"複数の Post について、それぞれに紐づいたコミュニティノートを取得する (カンマ区切り)","value":["1828261879854309500,1828261879854309501"]}}},{"name":"current_status","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"\n取得するコミュニティノートのステータス。\n\n| X 上の表示                                         | current_statusに指定する値  |\n| :------------------------------------------------: | :-------------------------: |\n| さらに評価が必要                                   | NEEDS_MORE_RATINGS          |\n| 現在のところ「役に立った」と評価されています       | CURRENTLY_RATED_HELPFUL     |\n| 現在のところ「役に立たなかった」と評価されています | CURRENTLY_RATED_NOT_HELPFUL |\n","title":"Current Status"},"description":"\n取得するコミュニティノートのステータス。\n\n| X 上の表示                                         | current_statusに指定する値  |\n| :------------------------------------------------: | :-------------------------: |\n| さらに評価が必要                                   | NEEDS_MORE_RATINGS          |\n| 現在のところ「役に立った」と評価されています       | CURRENTLY_RATED_HELPFUL     |\n| 現在のところ「役に立たなかった」と評価されています | CURRENTLY_RATED_NOT_HELPFUL |\n","examples":{"default":{"summary":"指定しない (デフォルト)"},"needs_more_ratings":{"summary":"さらに評価が必要なコミュニティノートを取得する","value":["NEEDS_MORE_RATINGS"]},"currently_rated_helpful_or_currently_rated_not_helpful":{"summary":"評価済みのコミュニティノートを取得する","value":["CURRENTLY_RATED_HELPFUL","CURRENTLY_RATED_NOT_HELPFUL"]}}},{"name":"language","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"\n取得するコミュニティノートの言語。\n\nISO 639-1 に準拠した 2 文字の言語コードを指定することで、その言語のコミュニティノートのみを取得できる。\n","title":"Language"},"description":"\n取得するコミュニティノートの言語。\n\nISO 639-1 に準拠した 2 文字の言語コードを指定することで、その言語のコミュニティノートのみを取得できる。\n","examples":{"default":{"summary":"指定しない (デフォルト)"},"en":{"summary":"英語のコミュニティノートを取得する","value":"en"},"ja":{"summary":"日本語のコミュニティノートを取得する","value":"ja"}}},{"name":"search_text","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"\n指定した文字列を含む Note を検索して取得する。検索は Note の**Summaryに対して**行われる。\n","title":"Search Text"},"description":"\n指定した文字列を含む Note を検索して取得する。検索は Note の**Summaryに対して**行われる。\n","examples":{"default":{"summary":"指定しない (デフォルト)"},"python":{"summary":"「Python」を含む Post を取得する","value":"Python"}}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoteListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/data/posts":{"get":{"summary":"Get Posts","description":"Post のデータを取得するエンドポイント","operationId":"get_posts_api_v1_data_posts_get","parameters":[{"name":"post_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","pattern":"^([0-9]{1,19}|)$"}},{"type":"null"}],"title":"Post Ids"}},{"name":"note_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","pattern":"^[0-9]{19}$"}},{"type":"null"}],"title":"Note Ids"}},{"name":"user_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","pattern":"^([0-9]{1,19}|)$"}},{"type":"null"}],"title":"User Ids"}},{"name":"created_at_from","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1152921600000},{"type":"string"},{"type":"null"}],"description":"\n取得する Post の作成日時の下限。**指定した日時と同時かそれより新しい** Post のみを取得する。\n\n指定する形式は UNIX EPOCH TIME (ミリ秒) 。\n","title":"Created At From"},"description":"\n取得する Post の作成日時の下限。**指定した日時と同時かそれより新しい** Post のみを取得する。\n\n指定する形式は UNIX EPOCH TIME (ミリ秒) 。\n","examples":{"default":{"summary":"指定しない (デフォルト)"},"normal":{"summary":"2024 / 1 / 1 00:00 (JST) 以降の Post を取得する","value":1704034800000}}},{"name":"created_at_to","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1152921600000},{"type":"string"},{"type":"null"}],"description":"\n取得する Post の作成日時の上限。**指定した日時よりも古い** Post のみを取得する。\n\n指定する形式は UNIX EPOCH TIME (ミリ秒) 。\n","title":"Created At To"},"description":"\n取得する Post の作成日時の上限。**指定した日時よりも古い** Post のみを取得する。\n\n指定する形式は UNIX EPOCH TIME (ミリ秒) 。\n","examples":{"default":{"summary":"指定しない (デフォルト)"},"normal":{"summary":"2024 / 7 / 1 00:00 (JST) より前の Post を取得する","value":1719759600000}}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"\n取得する Post のリストの先頭からのオフセット。ページネーションに利用される。\n\n\nただし、レスポンスの `meta.next` や `meta.prev` で次のページや前のページのリクエスト用 URL が提供されるため、\nそちらを利用したほうが良い場合もある。\n","default":0,"title":"Offset"},"description":"\n取得する Post のリストの先頭からのオフセット。ページネーションに利用される。\n\n\nただし、レスポンスの `meta.next` や `meta.prev` で次のページや前のページのリクエスト用 URL が提供されるため、\nそちらを利用したほうが良い場合もある。\n","examples":{"default":{"summary":"0 (デフォルト)","value":0},"offset_100":{"summary":"100","value":100}}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"exclusiveMinimum":0,"description":"\n取得する Post のリストの最大数。 0 ～ 1000 まで指定できる。ページネーションに利用される。\n\n\nただし、 `meta.next` や `meta.prev` で次のページや前のページのリクエスト用 URL が提供されるため、\nそちらを利用したほうが良い場合もある。\n","default":100,"title":"Limit"},"description":"\n取得する Post のリストの最大数。 0 ～ 1000 まで指定できる。ページネーションに利用される。\n\n\nただし、 `meta.next` や `meta.prev` で次のページや前のページのリクエスト用 URL が提供されるため、\nそちらを利用したほうが良い場合もある。\n","examples":{"default":{"summary":"100 (デフォルト)","value":100},"limit_50":{"summary":"50","value":50}}},{"name":"search_text","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"\n指定した文字列を含む Post を検索して取得する。検索は Post の**本文に対して**行われる。\n","title":"Search Text"},"description":"\n指定した文字列を含む Post を検索して取得する。検索は Post の**本文に対して**行われる。\n","examples":{"default":{"summary":"指定しない (デフォルト)"},"python":{"summary":"「Python」を含む Post を取得する","value":"Python"}}},{"name":"search_url","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uri","minLength":1,"maxLength":8192},{"type":"null"}],"description":"\n指定した URL を含む Post を検索して取得する。\n","title":"Search Url"},"description":"\n指定した URL を含む Post を検索して取得する。\n","examples":{"default":{"summary":"指定しない (デフォルト)"},"example.com":{"summary":"「https://example.com」を含む Post を取得する","value":"https://example.com"}}},{"name":"media","in":"query","required":false,"schema":{"type":"boolean","description":"\nPost に紐づいた画像や動画などのメディア情報を取得するかどうか。\n\n必要に応じて `false` に設定することでメディア情報を取得しないようにできる。\n","default":true,"title":"Media"},"description":"\nPost に紐づいた画像や動画などのメディア情報を取得するかどうか。\n\n必要に応じて `false` に設定することでメディア情報を取得しないようにできる。\n","examples":{"default":{"summary":"メディア情報を取得する (デフォルト)","value":true},"no_media":{"summary":"メディア情報を取得しない","value":false}}},{"name":"language","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"\n取得するコミュニティノートの言語。\n\nISO 639-1 に準拠した 2 文字の言語コードを指定することで、その言語のコミュニティノートのみを取得できる。\n","title":"Language"},"description":"\n取得するコミュニティノートの言語。\n\nISO 639-1 に準拠した 2 文字の言語コードを指定することで、その言語のコミュニティノートのみを取得できる。\n","examples":{"default":{"summary":"指定しない (デフォルト)"},"en":{"summary":"英語のコミュニティノートを取得する","value":"en"},"ja":{"summary":"日本語のコミュニティノートを取得する","value":"ja"}}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/data/note-requests":{"get":{"summary":"Get Note Requests","description":"コミュニティノートのリクエスト (Note Requests) のデータを取得するエンドポイント","operationId":"get_note_requests_api_v1_data_note_requests_get","parameters":[{"name":"tweet_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","pattern":"^([0-9]{1,19}|)$"}},{"type":"null"}],"description":"\n取得するノートリクエストの対象 Post の ID のリスト。指定しない場合は全てのノートリクエストが対象になる。\n","title":"Tweet Ids"},"description":"\n取得するノートリクエストの対象 Post の ID のリスト。指定しない場合は全てのノートリクエストが対象になる。\n"},{"name":"tweet_created_at_from","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1152921600000},{"type":"string"},{"type":"null"}],"description":"\n対象 Post の作成日時の下限。**指定した日時と同時かそれより新しい** Post へのリクエストのみを取得する。\n形式は UNIX EPOCH TIME (ミリ秒)。Post の作成日時は tweet ID (snowflake) から算出したもの。\n","title":"Tweet Created At From"},"description":"\n対象 Post の作成日時の下限。**指定した日時と同時かそれより新しい** Post へのリクエストのみを取得する。\n形式は UNIX EPOCH TIME (ミリ秒)。Post の作成日時は tweet ID (snowflake) から算出したもの。\n"},{"name":"tweet_created_at_to","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1152921600000},{"type":"string"},{"type":"null"}],"description":"\n対象 Post の作成日時の上限。**指定した日時より古い** Post へのリクエストのみを取得する。\n形式は UNIX EPOCH TIME (ミリ秒)。\n","title":"Tweet Created At To"},"description":"\n対象 Post の作成日時の上限。**指定した日時より古い** Post へのリクエストのみを取得する。\n形式は UNIX EPOCH TIME (ミリ秒)。\n"},{"name":"has_post","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"\nPost の取得状況で絞り込む。`true` で BirdXplorer が Post 本文を取得済みのもののみ、\n`false` で未取得のもののみを返す。指定しない場合は両方を返す。\n","title":"Has Post"},"description":"\nPost の取得状況で絞り込む。`true` で BirdXplorer が Post 本文を取得済みのもののみ、\n`false` で未取得のもののみを返す。指定しない場合は両方を返す。\n"},{"name":"language","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"紐づく Post の言語 (ISO 639-1 等) で絞り込む。指定すると Post 未取得のリクエストは除外される。","title":"Language"},"description":"紐づく Post の言語 (ISO 639-1 等) で絞り込む。指定すると Post 未取得のリクエストは除外される。","examples":{"ja":{"summary":"日本語","value":"ja"}}},{"name":"search_text","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":2},{"type":"null"}],"description":"suggestion 本文または Post 本文への部分一致 (大文字小文字無視)。2 文字以上。","title":"Search Text"},"description":"suggestion 本文または Post 本文への部分一致 (大文字小文字無視)。2 文字以上。","examples":{"scam":{"summary":"詐欺を含む","value":"詐欺"}}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"\n取得するノートリクエストのリストの先頭からのオフセット。ページネーションに利用される。\n","default":0,"title":"Offset"},"description":"\n取得するノートリクエストのリストの先頭からのオフセット。ページネーションに利用される。\n"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"exclusiveMinimum":0,"description":"\n取得するノートリクエストの最大数。最大 1000。\n","default":100,"title":"Limit"},"description":"\n取得するノートリクエストの最大数。最大 1000。\n"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoteRequestListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/data/note-requests/count":{"get":{"summary":"Get Note Requests Count","description":"条件に一致するコミュニティノートのリクエストの件数を取得するエンドポイント","operationId":"get_note_requests_count_api_v1_data_note_requests_count_get","parameters":[{"name":"tweet_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","pattern":"^([0-9]{1,19}|)$"}},{"type":"null"}],"description":"\n取得するノートリクエストの対象 Post の ID のリスト。指定しない場合は全てのノートリクエストが対象になる。\n","title":"Tweet Ids"},"description":"\n取得するノートリクエストの対象 Post の ID のリスト。指定しない場合は全てのノートリクエストが対象になる。\n"},{"name":"tweet_created_at_from","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1152921600000},{"type":"string"},{"type":"null"}],"description":"\n対象 Post の作成日時の下限。**指定した日時と同時かそれより新しい** Post へのリクエストのみを取得する。\n形式は UNIX EPOCH TIME (ミリ秒)。Post の作成日時は tweet ID (snowflake) から算出したもの。\n","title":"Tweet Created At From"},"description":"\n対象 Post の作成日時の下限。**指定した日時と同時かそれより新しい** Post へのリクエストのみを取得する。\n形式は UNIX EPOCH TIME (ミリ秒)。Post の作成日時は tweet ID (snowflake) から算出したもの。\n"},{"name":"tweet_created_at_to","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1152921600000},{"type":"string"},{"type":"null"}],"description":"\n対象 Post の作成日時の上限。**指定した日時より古い** Post へのリクエストのみを取得する。\n形式は UNIX EPOCH TIME (ミリ秒)。\n","title":"Tweet Created At To"},"description":"\n対象 Post の作成日時の上限。**指定した日時より古い** Post へのリクエストのみを取得する。\n形式は UNIX EPOCH TIME (ミリ秒)。\n"},{"name":"has_post","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"\nPost の取得状況で絞り込む。`true` で BirdXplorer が Post 本文を取得済みのもののみ、\n`false` で未取得のもののみを返す。指定しない場合は両方を返す。\n","title":"Has Post"},"description":"\nPost の取得状況で絞り込む。`true` で BirdXplorer が Post 本文を取得済みのもののみ、\n`false` で未取得のもののみを返す。指定しない場合は両方を返す。\n"},{"name":"language","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"紐づく Post の言語 (ISO 639-1 等) で絞り込む。指定すると Post 未取得のリクエストは除外される。","title":"Language"},"description":"紐づく Post の言語 (ISO 639-1 等) で絞り込む。指定すると Post 未取得のリクエストは除外される。","examples":{"ja":{"summary":"日本語","value":"ja"}}},{"name":"search_text","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":2},{"type":"null"}],"description":"suggestion 本文または Post 本文への部分一致 (大文字小文字無視)。2 文字以上。","title":"Search Text"},"description":"suggestion 本文または Post 本文への部分一致 (大文字小文字無視)。2 文字以上。","examples":{"scam":{"summary":"詐欺を含む","value":"詐欺"}}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchCountResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/data/search/count":{"get":{"summary":"Search Count","description":"検索結果の総件数を取得するエンドポイント","operationId":"search_count_api_v1_data_search_count_get","parameters":[{"name":"note_includes_text","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"\n指定した文字列を含む Note を検索して取得する。検索は Note の**Summaryに対して**行われる。\n","title":"Note Includes Text"},"description":"\n指定した文字列を含む Note を検索して取得する。検索は Note の**Summaryに対して**行われる。\n","examples":{"default":{"summary":"指定しない (デフォルト)"},"python":{"summary":"「Python」を含む Post を取得する","value":"Python"}}},{"name":"note_excludes_text","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"\n指定した文字列を含む Note を検索して取得する。検索は Note の**Summaryに対して**行われる。\n","title":"Note Excludes Text"},"description":"\n指定した文字列を含む Note を検索して取得する。検索は Note の**Summaryに対して**行われる。\n","examples":{"default":{"summary":"指定しない (デフォルト)"},"python":{"summary":"「Python」を含む Post を取得する","value":"Python"}}},{"name":"post_includes_text","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"\n指定した文字列を含む Post を検索して取得する。検索は Post の**本文に対して**行われる。\n","title":"Post Includes Text"},"description":"\n指定した文字列を含む Post を検索して取得する。検索は Post の**本文に対して**行われる。\n","examples":{"default":{"summary":"指定しない (デフォルト)"},"python":{"summary":"「Python」を含む Post を取得する","value":"Python"}}},{"name":"post_excludes_text","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"\n指定した文字列を含む Post を検索して取得する。検索は Post の**本文に対して**行われる。\n","title":"Post Excludes Text"},"description":"\n指定した文字列を含む Post を検索して取得する。検索は Post の**本文に対して**行われる。\n","examples":{"default":{"summary":"指定しない (デフォルト)"},"python":{"summary":"「Python」を含む Post を取得する","value":"Python"}}},{"name":"language","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"\n取得するコミュニティノートの言語。\n\nISO 639-1 に準拠した 2 文字の言語コードを指定することで、その言語のコミュニティノートのみを取得できる。\n","title":"Language"},"description":"\n取得するコミュニティノートの言語。\n\nISO 639-1 に準拠した 2 文字の言語コードを指定することで、その言語のコミュニティノートのみを取得できる。\n","examples":{"default":{"summary":"指定しない (デフォルト)"},"en":{"summary":"英語のコミュニティノートを取得する","value":"en"},"ja":{"summary":"日本語のコミュニティノートを取得する","value":"ja"}}},{"name":"topic_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"integer","minimum":0}},{"type":"null"}],"description":"\n取得するコミュニティノートが紐づいているトピックの ID。\n\n`GET /api/v1/data/topics` で取得できるトピックの ID を指定することで、そのトピックに紐づいたコミュニティノートを取得できる。\n\n複数指定した場合は、 **いずれかのトピックに紐づいたコミュニティノート** を取得する。 (AND 検索ではなく OR 検索になる)\n","title":"Topic Ids"},"description":"\n取得するコミュニティノートが紐づいているトピックの ID。\n\n`GET /api/v1/data/topics` で取得できるトピックの ID を指定することで、そのトピックに紐づいたコミュニティノートを取得できる。\n\n複数指定した場合は、 **いずれかのトピックに紐づいたコミュニティノート** を取得する。 (AND 検索ではなく OR 検索になる)\n","examples":{"default":{"summary":"指定しない (デフォルト)"},"single":{"summary":"トピックに紐づいたコミュニティノートを取得する","value":[1]},"multiple_query":{"summary":"複数のトピックに紐づいたコミュニティノートを取得する (クエリパラメータ)","value":[1,2]},"multiple_comma":{"summary":"複数のトピックに紐づいたコミュニティノートを取得する (カンマ区切り)","value":["1,2"]}}},{"name":"note_status","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"\n取得するコミュニティノートのステータス。\n\n| X 上の表示                                         | current_statusに指定する値  |\n| :------------------------------------------------: | :-------------------------: |\n| さらに評価が必要                                   | NEEDS_MORE_RATINGS          |\n| 現在のところ「役に立った」と評価されています       | CURRENTLY_RATED_HELPFUL     |\n| 現在のところ「役に立たなかった」と評価されています | CURRENTLY_RATED_NOT_HELPFUL |\n","title":"Note Status"},"description":"\n取得するコミュニティノートのステータス。\n\n| X 上の表示                                         | current_statusに指定する値  |\n| :------------------------------------------------: | :-------------------------: |\n| さらに評価が必要                                   | NEEDS_MORE_RATINGS          |\n| 現在のところ「役に立った」と評価されています       | CURRENTLY_RATED_HELPFUL     |\n| 現在のところ「役に立たなかった」と評価されています | CURRENTLY_RATED_NOT_HELPFUL |\n","examples":{"default":{"summary":"指定しない (デフォルト)"},"needs_more_ratings":{"summary":"さらに評価が必要なコミュニティノートを取得する","value":["NEEDS_MORE_RATINGS"]},"currently_rated_helpful_or_currently_rated_not_helpful":{"summary":"評価済みのコミュニティノートを取得する","value":["CURRENTLY_RATED_HELPFUL","CURRENTLY_RATED_NOT_HELPFUL"]}}},{"name":"note_created_at_from","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1152921600000},{"type":"string"},{"type":"null"}],"description":"\n取得するコミュニティノートの作成日時の下限。**指定した日時と同時かそれより新しい**コミュニティノートのみを取得する。\n\n指定する形式は UNIX EPOCH TIME (ミリ秒) 。\n","title":"Note Created At From"},"description":"\n取得するコミュニティノートの作成日時の下限。**指定した日時と同時かそれより新しい**コミュニティノートのみを取得する。\n\n指定する形式は UNIX EPOCH TIME (ミリ秒) 。\n","examples":{"default":{"summary":"指定しない (デフォルト)"},"normal":{"summary":"2024 / 1 / 1 00:00 (JST) 以降のコミュニティノートを取得する","value":1704034800000}}},{"name":"note_created_at_to","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1152921600000},{"type":"string"},{"type":"null"}],"description":"\n取得するコミュニティノートの作成日時の上限。**指定した日時よりも古い**コミュニティノートのみを取得する。\n\n指定する形式は UNIX EPOCH TIME (ミリ秒) 。\n","title":"Note Created At To"},"description":"\n取得するコミュニティノートの作成日時の上限。**指定した日時よりも古い**コミュニティノートのみを取得する。\n\n指定する形式は UNIX EPOCH TIME (ミリ秒) 。\n","examples":{"default":{"summary":"指定しない (デフォルト)"},"normal":{"summary":"2024 / 7 / 1 00:00 (JST) より前のコミュニティノートを取得する","value":1719759600000}}},{"name":"x_user_names","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Xのユーザー名","title":"X User Names"},"description":"Xのユーザー名","examples":{"single":{"summary":"@以降のユーザ名","value":"elonmusk"}}},{"name":"x_user_followers_count_from","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Xのユーザーのフォロワー数。","title":"X User Followers Count From"},"description":"Xのユーザーのフォロワー数。","examples":{"single":{"summary":"フォロワー数","value":100}}},{"name":"x_user_follow_count_from","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Xのユーザーのフォロー数。","title":"X User Follow Count From"},"description":"Xのユーザーのフォロー数。","examples":{"single":{"summary":"フォロー数","value":100}}},{"name":"post_like_count_from","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Postのお気に入り数。","title":"Post Like Count From"},"description":"Postのお気に入り数。","examples":{"single":{"summary":"お気に入り数","value":100}}},{"name":"post_repost_count_from","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Postのリポスト数。","title":"Post Repost Count From"},"description":"Postのリポスト数。","examples":{"single":{"summary":"リポスト数","value":100}}},{"name":"post_impression_count_from","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Postのインプレッション数。","title":"Post Impression Count From"},"description":"Postのインプレッション数。","examples":{"single":{"summary":"インプレッション数","value":100}}},{"name":"post_includes_media","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"メディア情報を含んでいるか。","title":"Post Includes Media"},"description":"メディア情報を含んでいるか。","examples":{"single":{"summary":"メディア情報を含める","value":true}}},{"name":"note_search_mode","in":"query","required":false,"schema":{"$ref":"#/components/schemas/TextSearchMode","description":"\n`note_includes_text` で指定した複数キーワードの結合方法。\n\n| 値  | 意味                                     |\n| :-: | :--------------------------------------- |\n| or  | いずれかのキーワードを含むノートを取得   |\n| and | すべてのキーワードを含むノートのみを取得 |\n","default":"or"},"description":"\n`note_includes_text` で指定した複数キーワードの結合方法。\n\n| 値  | 意味                                     |\n| :-: | :--------------------------------------- |\n| or  | いずれかのキーワードを含むノートを取得   |\n| and | すべてのキーワードを含むノートのみを取得 |\n","examples":{"or":{"summary":"OR 検索 (デフォルト)","value":"or"},"and":{"summary":"AND 検索","value":"and"}}},{"name":"post_search_mode","in":"query","required":false,"schema":{"$ref":"#/components/schemas/TextSearchMode","description":"\n`post_includes_text` で指定した複数キーワードの結合方法。\n\n| 値  | 意味                                      |\n| :-: | :---------------------------------------- |\n| or  | いずれかのキーワードを含むポストを取得    |\n| and | すべてのキーワードを含むポストのみを取得  |\n","default":"or"},"description":"\n`post_includes_text` で指定した複数キーワードの結合方法。\n\n| 値  | 意味                                      |\n| :-: | :---------------------------------------- |\n| or  | いずれかのキーワードを含むポストを取得    |\n| and | すべてのキーワードを含むポストのみを取得  |\n","examples":{"or":{"summary":"OR 検索 (デフォルト)","value":"or"},"and":{"summary":"AND 検索","value":"and"}}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchCountResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/data/search":{"get":{"summary":"Search","description":"アドバンスドサーチでデータを取得するエンドポイント","operationId":"search_api_v1_data_search_get","parameters":[{"name":"note_includes_text","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"\n指定した文字列を含む Note を検索して取得する。検索は Note の**Summaryに対して**行われる。\n","title":"Note Includes Text"},"description":"\n指定した文字列を含む Note を検索して取得する。検索は Note の**Summaryに対して**行われる。\n","examples":{"default":{"summary":"指定しない (デフォルト)"},"python":{"summary":"「Python」を含む Post を取得する","value":"Python"}}},{"name":"note_excludes_text","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"\n指定した文字列を含む Note を検索して取得する。検索は Note の**Summaryに対して**行われる。\n","title":"Note Excludes Text"},"description":"\n指定した文字列を含む Note を検索して取得する。検索は Note の**Summaryに対して**行われる。\n","examples":{"default":{"summary":"指定しない (デフォルト)"},"python":{"summary":"「Python」を含む Post を取得する","value":"Python"}}},{"name":"post_includes_text","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"\n指定した文字列を含む Post を検索して取得する。検索は Post の**本文に対して**行われる。\n","title":"Post Includes Text"},"description":"\n指定した文字列を含む Post を検索して取得する。検索は Post の**本文に対して**行われる。\n","examples":{"default":{"summary":"指定しない (デフォルト)"},"python":{"summary":"「Python」を含む Post を取得する","value":"Python"}}},{"name":"post_excludes_text","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"\n指定した文字列を含む Post を検索して取得する。検索は Post の**本文に対して**行われる。\n","title":"Post Excludes Text"},"description":"\n指定した文字列を含む Post を検索して取得する。検索は Post の**本文に対して**行われる。\n","examples":{"default":{"summary":"指定しない (デフォルト)"},"python":{"summary":"「Python」を含む Post を取得する","value":"Python"}}},{"name":"language","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"\n取得するコミュニティノートの言語。\n\nISO 639-1 に準拠した 2 文字の言語コードを指定することで、その言語のコミュニティノートのみを取得できる。\n","title":"Language"},"description":"\n取得するコミュニティノートの言語。\n\nISO 639-1 に準拠した 2 文字の言語コードを指定することで、その言語のコミュニティノートのみを取得できる。\n","examples":{"default":{"summary":"指定しない (デフォルト)"},"en":{"summary":"英語のコミュニティノートを取得する","value":"en"},"ja":{"summary":"日本語のコミュニティノートを取得する","value":"ja"}}},{"name":"topic_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"integer","minimum":0}},{"type":"null"}],"description":"\n取得するコミュニティノートが紐づいているトピックの ID。\n\n`GET /api/v1/data/topics` で取得できるトピックの ID を指定することで、そのトピックに紐づいたコミュニティノートを取得できる。\n\n複数指定した場合は、 **いずれかのトピックに紐づいたコミュニティノート** を取得する。 (AND 検索ではなく OR 検索になる)\n","title":"Topic Ids"},"description":"\n取得するコミュニティノートが紐づいているトピックの ID。\n\n`GET /api/v1/data/topics` で取得できるトピックの ID を指定することで、そのトピックに紐づいたコミュニティノートを取得できる。\n\n複数指定した場合は、 **いずれかのトピックに紐づいたコミュニティノート** を取得する。 (AND 検索ではなく OR 検索になる)\n","examples":{"default":{"summary":"指定しない (デフォルト)"},"single":{"summary":"トピックに紐づいたコミュニティノートを取得する","value":[1]},"multiple_query":{"summary":"複数のトピックに紐づいたコミュニティノートを取得する (クエリパラメータ)","value":[1,2]},"multiple_comma":{"summary":"複数のトピックに紐づいたコミュニティノートを取得する (カンマ区切り)","value":["1,2"]}}},{"name":"note_status","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"\n取得するコミュニティノートのステータス。\n\n| X 上の表示                                         | current_statusに指定する値  |\n| :------------------------------------------------: | :-------------------------: |\n| さらに評価が必要                                   | NEEDS_MORE_RATINGS          |\n| 現在のところ「役に立った」と評価されています       | CURRENTLY_RATED_HELPFUL     |\n| 現在のところ「役に立たなかった」と評価されています | CURRENTLY_RATED_NOT_HELPFUL |\n","title":"Note Status"},"description":"\n取得するコミュニティノートのステータス。\n\n| X 上の表示                                         | current_statusに指定する値  |\n| :------------------------------------------------: | :-------------------------: |\n| さらに評価が必要                                   | NEEDS_MORE_RATINGS          |\n| 現在のところ「役に立った」と評価されています       | CURRENTLY_RATED_HELPFUL     |\n| 現在のところ「役に立たなかった」と評価されています | CURRENTLY_RATED_NOT_HELPFUL |\n","examples":{"default":{"summary":"指定しない (デフォルト)"},"needs_more_ratings":{"summary":"さらに評価が必要なコミュニティノートを取得する","value":["NEEDS_MORE_RATINGS"]},"currently_rated_helpful_or_currently_rated_not_helpful":{"summary":"評価済みのコミュニティノートを取得する","value":["CURRENTLY_RATED_HELPFUL","CURRENTLY_RATED_NOT_HELPFUL"]}}},{"name":"note_created_at_from","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1152921600000},{"type":"string"},{"type":"null"}],"description":"\n取得するコミュニティノートの作成日時の下限。**指定した日時と同時かそれより新しい**コミュニティノートのみを取得する。\n\n指定する形式は UNIX EPOCH TIME (ミリ秒) 。\n","title":"Note Created At From"},"description":"\n取得するコミュニティノートの作成日時の下限。**指定した日時と同時かそれより新しい**コミュニティノートのみを取得する。\n\n指定する形式は UNIX EPOCH TIME (ミリ秒) 。\n","examples":{"default":{"summary":"指定しない (デフォルト)"},"normal":{"summary":"2024 / 1 / 1 00:00 (JST) 以降のコミュニティノートを取得する","value":1704034800000}}},{"name":"note_created_at_to","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1152921600000},{"type":"string"},{"type":"null"}],"description":"\n取得するコミュニティノートの作成日時の上限。**指定した日時よりも古い**コミュニティノートのみを取得する。\n\n指定する形式は UNIX EPOCH TIME (ミリ秒) 。\n","title":"Note Created At To"},"description":"\n取得するコミュニティノートの作成日時の上限。**指定した日時よりも古い**コミュニティノートのみを取得する。\n\n指定する形式は UNIX EPOCH TIME (ミリ秒) 。\n","examples":{"default":{"summary":"指定しない (デフォルト)"},"normal":{"summary":"2024 / 7 / 1 00:00 (JST) より前のコミュニティノートを取得する","value":1719759600000}}},{"name":"x_user_names","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Xのユーザー名","title":"X User Names"},"description":"Xのユーザー名","examples":{"single":{"summary":"@以降のユーザ名","value":"elonmusk"}}},{"name":"x_user_followers_count_from","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Xのユーザーのフォロワー数。","title":"X User Followers Count From"},"description":"Xのユーザーのフォロワー数。","examples":{"single":{"summary":"フォロワー数","value":100}}},{"name":"x_user_follow_count_from","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Xのユーザーのフォロー数。","title":"X User Follow Count From"},"description":"Xのユーザーのフォロー数。","examples":{"single":{"summary":"フォロー数","value":100}}},{"name":"post_like_count_from","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Postのお気に入り数。","title":"Post Like Count From"},"description":"Postのお気に入り数。","examples":{"single":{"summary":"お気に入り数","value":100}}},{"name":"post_repost_count_from","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Postのリポスト数。","title":"Post Repost Count From"},"description":"Postのリポスト数。","examples":{"single":{"summary":"リポスト数","value":100}}},{"name":"post_impression_count_from","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Postのインプレッション数。","title":"Post Impression Count From"},"description":"Postのインプレッション数。","examples":{"single":{"summary":"インプレッション数","value":100}}},{"name":"post_includes_media","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"メディア情報を含んでいるか。","title":"Post Includes Media"},"description":"メディア情報を含んでいるか。","examples":{"single":{"summary":"メディア情報を含める","value":true}}},{"name":"sort_field","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/SearchSortField"},{"type":"null"}],"description":"ソート対象のフィールド。note_created_at のほか、impression_count / like_count / repost_count（エンゲージメント降順で注目度順に取得）が指定可能。","title":"Sort Field"},"description":"ソート対象のフィールド。note_created_at のほか、impression_count / like_count / repost_count（エンゲージメント降順で注目度順に取得）が指定可能。","examples":{"note_created_at":{"summary":"ノート作成日時でソート","value":"note_created_at"},"impression_count":{"summary":"インプレッション数でソート（注目度順）","value":"impression_count"},"like_count":{"summary":"いいね数でソート","value":"like_count"},"repost_count":{"summary":"リポスト数でソート","value":"repost_count"}}},{"name":"sort_order","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortOrder","description":"ソート順。asc (昇順) または desc (降順)。デフォルトは desc。","default":"desc"},"description":"ソート順。asc (昇順) または desc (降順)。デフォルトは desc。","examples":{"asc":{"summary":"昇順","value":"asc"},"desc":{"summary":"降順","value":"desc"}}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"\n取得する Post のリストの先頭からのオフセット。ページネーションに利用される。\n\n\nただし、レスポンスの `meta.next` や `meta.prev` で次のページや前のページのリクエスト用 URL が提供されるため、\nそちらを利用したほうが良い場合もある。\n","default":0,"title":"Offset"},"description":"\n取得する Post のリストの先頭からのオフセット。ページネーションに利用される。\n\n\nただし、レスポンスの `meta.next` や `meta.prev` で次のページや前のページのリクエスト用 URL が提供されるため、\nそちらを利用したほうが良い場合もある。\n","examples":{"default":{"summary":"0 (デフォルト)","value":0},"offset_100":{"summary":"100","value":100}}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"exclusiveMinimum":0,"description":"\n取得する Post のリストの最大数。 0 ～ 1000 まで指定できる。ページネーションに利用される。\n\n\nただし、 `meta.next` や `meta.prev` で次のページや前のページのリクエスト用 URL が提供されるため、\nそちらを利用したほうが良い場合もある。\n","default":100,"title":"Limit"},"description":"\n取得する Post のリストの最大数。 0 ～ 1000 まで指定できる。ページネーションに利用される。\n\n\nただし、 `meta.next` や `meta.prev` で次のページや前のページのリクエスト用 URL が提供されるため、\nそちらを利用したほうが良い場合もある。\n","examples":{"default":{"summary":"100 (デフォルト)","value":100},"limit_50":{"summary":"50","value":50}}},{"name":"include_total","in":"query","required":false,"schema":{"type":"boolean","description":"\nレスポンスに検索結果の総件数 (`meta.total`) を含めるかどうか。\n\n`false` にすると COUNT クエリをスキップしてレスポンスが高速化される。\n件数が不要な場合や `/search/count` で非同期取得する場合に利用する。\n","default":true,"title":"Include Total"},"description":"\nレスポンスに検索結果の総件数 (`meta.total`) を含めるかどうか。\n\n`false` にすると COUNT クエリをスキップしてレスポンスが高速化される。\n件数が不要な場合や `/search/count` で非同期取得する場合に利用する。\n","examples":{"true":{"summary":"総件数を含める (デフォルト)","value":true},"false":{"summary":"総件数を含めない (高速化)","value":false}}},{"name":"note_search_mode","in":"query","required":false,"schema":{"$ref":"#/components/schemas/TextSearchMode","description":"\n`note_includes_text` で指定した複数キーワードの結合方法。\n\n| 値  | 意味                                     |\n| :-: | :--------------------------------------- |\n| or  | いずれかのキーワードを含むノートを取得   |\n| and | すべてのキーワードを含むノートのみを取得 |\n","default":"or"},"description":"\n`note_includes_text` で指定した複数キーワードの結合方法。\n\n| 値  | 意味                                     |\n| :-: | :--------------------------------------- |\n| or  | いずれかのキーワードを含むノートを取得   |\n| and | すべてのキーワードを含むノートのみを取得 |\n","examples":{"or":{"summary":"OR 検索 (デフォルト)","value":"or"},"and":{"summary":"AND 検索","value":"and"}}},{"name":"post_search_mode","in":"query","required":false,"schema":{"$ref":"#/components/schemas/TextSearchMode","description":"\n`post_includes_text` で指定した複数キーワードの結合方法。\n\n| 値  | 意味                                      |\n| :-: | :---------------------------------------- |\n| or  | いずれかのキーワードを含むポストを取得    |\n| and | すべてのキーワードを含むポストのみを取得  |\n","default":"or"},"description":"\n`post_includes_text` で指定した複数キーワードの結合方法。\n\n| 値  | 意味                                      |\n| :-: | :---------------------------------------- |\n| or  | いずれかのキーワードを含むポストを取得    |\n| and | すべてのキーワードを含むポストのみを取得  |\n","examples":{"or":{"summary":"OR 検索 (デフォルト)","value":"or"},"and":{"summary":"AND 検索","value":"and"}}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/data/search/keyword":{"get":{"summary":"Search Keyword","description":"広域 note テキスト検索（OpenSearch）","operationId":"search_keyword_api_v1_data_search_keyword_get","parameters":[{"name":"note_includes_text","in":"query","required":true,"schema":{"type":"array","items":{"type":"string"},"description":"\n指定した文字列を含む Note を検索して取得する。検索は Note の**Summaryに対して**行われる。\n","title":"Note Includes Text"},"description":"\n指定した文字列を含む Note を検索して取得する。検索は Note の**Summaryに対して**行われる。\n","examples":{"default":{"summary":"指定しない (デフォルト)"},"python":{"summary":"「Python」を含む Post を取得する","value":"Python"}}},{"name":"note_excludes_text","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"\n指定した文字列を含む Note を検索して取得する。検索は Note の**Summaryに対して**行われる。\n","title":"Note Excludes Text"},"description":"\n指定した文字列を含む Note を検索して取得する。検索は Note の**Summaryに対して**行われる。\n","examples":{"default":{"summary":"指定しない (デフォルト)"},"python":{"summary":"「Python」を含む Post を取得する","value":"Python"}}},{"name":"language","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"\n取得するコミュニティノートの言語。\n\nISO 639-1 に準拠した 2 文字の言語コードを指定することで、その言語のコミュニティノートのみを取得できる。\n","title":"Language"},"description":"\n取得するコミュニティノートの言語。\n\nISO 639-1 に準拠した 2 文字の言語コードを指定することで、その言語のコミュニティノートのみを取得できる。\n","examples":{"default":{"summary":"指定しない (デフォルト)"},"en":{"summary":"英語のコミュニティノートを取得する","value":"en"},"ja":{"summary":"日本語のコミュニティノートを取得する","value":"ja"}}},{"name":"note_created_at_from","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1152921600000},{"type":"string"},{"type":"null"}],"description":"\n取得するコミュニティノートの作成日時の下限。**指定した日時と同時かそれより新しい**コミュニティノートのみを取得する。\n\n指定する形式は UNIX EPOCH TIME (ミリ秒) 。\n","title":"Note Created At From"},"description":"\n取得するコミュニティノートの作成日時の下限。**指定した日時と同時かそれより新しい**コミュニティノートのみを取得する。\n\n指定する形式は UNIX EPOCH TIME (ミリ秒) 。\n","examples":{"default":{"summary":"指定しない (デフォルト)"},"normal":{"summary":"2024 / 1 / 1 00:00 (JST) 以降のコミュニティノートを取得する","value":1704034800000}}},{"name":"note_created_at_to","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1152921600000},{"type":"string"},{"type":"null"}],"description":"\n取得するコミュニティノートの作成日時の上限。**指定した日時よりも古い**コミュニティノートのみを取得する。\n\n指定する形式は UNIX EPOCH TIME (ミリ秒) 。\n","title":"Note Created At To"},"description":"\n取得するコミュニティノートの作成日時の上限。**指定した日時よりも古い**コミュニティノートのみを取得する。\n\n指定する形式は UNIX EPOCH TIME (ミリ秒) 。\n","examples":{"default":{"summary":"指定しない (デフォルト)"},"normal":{"summary":"2024 / 7 / 1 00:00 (JST) より前のコミュニティノートを取得する","value":1719759600000}}},{"name":"sort_field","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/SearchSortField"},{"type":"null"}],"description":"ソート対象のフィールド。note_created_at のほか、impression_count / like_count / repost_count（エンゲージメント降順で注目度順に取得）が指定可能。","title":"Sort Field"},"description":"ソート対象のフィールド。note_created_at のほか、impression_count / like_count / repost_count（エンゲージメント降順で注目度順に取得）が指定可能。","examples":{"note_created_at":{"summary":"ノート作成日時でソート","value":"note_created_at"},"impression_count":{"summary":"インプレッション数でソート（注目度順）","value":"impression_count"},"like_count":{"summary":"いいね数でソート","value":"like_count"},"repost_count":{"summary":"リポスト数でソート","value":"repost_count"}}},{"name":"sort_order","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortOrder","description":"ソート順。asc (昇順) または desc (降順)。デフォルトは desc。","default":"desc"},"description":"ソート順。asc (昇順) または desc (降順)。デフォルトは desc。","examples":{"asc":{"summary":"昇順","value":"asc"},"desc":{"summary":"降順","value":"desc"}}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"\n取得する Post のリストの先頭からのオフセット。ページネーションに利用される。\n\n\nただし、レスポンスの `meta.next` や `meta.prev` で次のページや前のページのリクエスト用 URL が提供されるため、\nそちらを利用したほうが良い場合もある。\n","default":0,"title":"Offset"},"description":"\n取得する Post のリストの先頭からのオフセット。ページネーションに利用される。\n\n\nただし、レスポンスの `meta.next` や `meta.prev` で次のページや前のページのリクエスト用 URL が提供されるため、\nそちらを利用したほうが良い場合もある。\n","examples":{"default":{"summary":"0 (デフォルト)","value":0},"offset_100":{"summary":"100","value":100}}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"exclusiveMinimum":0,"description":"\n取得する Post のリストの最大数。 0 ～ 1000 まで指定できる。ページネーションに利用される。\n\n\nただし、 `meta.next` や `meta.prev` で次のページや前のページのリクエスト用 URL が提供されるため、\nそちらを利用したほうが良い場合もある。\n","default":100,"title":"Limit"},"description":"\n取得する Post のリストの最大数。 0 ～ 1000 まで指定できる。ページネーションに利用される。\n\n\nただし、 `meta.next` や `meta.prev` で次のページや前のページのリクエスト用 URL が提供されるため、\nそちらを利用したほうが良い場合もある。\n","examples":{"default":{"summary":"100 (デフォルト)","value":100},"limit_50":{"summary":"50","value":50}}},{"name":"include_total","in":"query","required":false,"schema":{"type":"boolean","description":"\nレスポンスに検索結果の総件数 (`meta.total`) を含めるかどうか。\n\n`false` にすると COUNT クエリをスキップしてレスポンスが高速化される。\n件数が不要な場合や `/search/count` で非同期取得する場合に利用する。\n","default":true,"title":"Include Total"},"description":"\nレスポンスに検索結果の総件数 (`meta.total`) を含めるかどうか。\n\n`false` にすると COUNT クエリをスキップしてレスポンスが高速化される。\n件数が不要な場合や `/search/count` で非同期取得する場合に利用する。\n","examples":{"true":{"summary":"総件数を含める (デフォルト)","value":true},"false":{"summary":"総件数を含めない (高速化)","value":false}}},{"name":"note_search_mode","in":"query","required":false,"schema":{"$ref":"#/components/schemas/TextSearchMode","description":"\n`note_includes_text` で指定した複数キーワードの結合方法。\n\n| 値  | 意味                                     |\n| :-: | :--------------------------------------- |\n| or  | いずれかのキーワードを含むノートを取得   |\n| and | すべてのキーワードを含むノートのみを取得 |\n","default":"or"},"description":"\n`note_includes_text` で指定した複数キーワードの結合方法。\n\n| 値  | 意味                                     |\n| :-: | :--------------------------------------- |\n| or  | いずれかのキーワードを含むノートを取得   |\n| and | すべてのキーワードを含むノートのみを取得 |\n","examples":{"or":{"summary":"OR 検索 (デフォルト)","value":"or"},"and":{"summary":"AND 検索","value":"and"}}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/data/export/csv":{"get":{"summary":"Export Csv","description":"キーワード（カンマ区切り、最大 50 個）と作成期間（ミリ秒、最大 30 日）を指定して、コミュニティノート + ポストを CSV（UTF-8 BOM 付き）でダウンロードするエンドポイント","operationId":"export_csv_api_v1_data_export_csv_get","parameters":[{"name":"keywords","in":"query","required":true,"schema":{"type":"array","items":{"type":"string"},"description":"\n検索キーワード。カンマ区切りまたは複数回指定で最大 50 個まで指定できる。最低 1 個必須。\n\n指定したキーワードを含むコミュニティノートが対象となる。\n結合方法は `search_mode` パラメータで切り替えられる。\n","title":"Keywords"},"description":"\n検索キーワード。カンマ区切りまたは複数回指定で最大 50 個まで指定できる。最低 1 個必須。\n\n指定したキーワードを含むコミュニティノートが対象となる。\n結合方法は `search_mode` パラメータで切り替えられる。\n","examples":{"single":{"summary":"1 キーワード","value":["選挙"]},"comma":{"summary":"カンマ区切りで複数指定","value":["選挙,投票"]}}},{"name":"note_created_at_from","in":"query","required":true,"schema":{"type":"integer","description":"\n取得するコミュニティノートの作成日時の下限 (ミリ秒単位の UNIX EPOCH TIMESTAMP)。必須。\n期間は最大 30 日。\n","title":"Note Created At From"},"description":"\n取得するコミュニティノートの作成日時の下限 (ミリ秒単位の UNIX EPOCH TIMESTAMP)。必須。\n期間は最大 30 日。\n","examples":{"normal":{"summary":"2025 / 1 / 1 00:00 (JST) 以降","value":1735657200000}}},{"name":"note_created_at_to","in":"query","required":true,"schema":{"type":"integer","description":"\n取得するコミュニティノートの作成日時の上限 (ミリ秒単位の UNIX EPOCH TIMESTAMP)。必須。\n期間は最大 30 日。\n","title":"Note Created At To"},"description":"\n取得するコミュニティノートの作成日時の上限 (ミリ秒単位の UNIX EPOCH TIMESTAMP)。必須。\n期間は最大 30 日。\n","examples":{"normal":{"summary":"2025 / 1 / 31 23:59 (JST) まで","value":1738335540000}}},{"name":"search_mode","in":"query","required":false,"schema":{"$ref":"#/components/schemas/TextSearchMode","description":"\nキーワードの結合方法。\n\n| 値  | 意味                                     |\n| :-: | :--------------------------------------- |\n| or  | いずれかのキーワードを含むノートを取得   |\n| and | すべてのキーワードを含むノートのみを取得 |\n","default":"or"},"description":"\nキーワードの結合方法。\n\n| 値  | 意味                                     |\n| :-: | :--------------------------------------- |\n| or  | いずれかのキーワードを含むノートを取得   |\n| and | すべてのキーワードを含むノートのみを取得 |\n","examples":{"or":{"summary":"OR 検索 (デフォルト)","value":"or"},"and":{"summary":"AND 検索","value":"and"}}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/data/search/semantic":{"get":{"summary":"Search Semantic","description":"自然文クエリによるセマンティック検索。クエリをベクトル化し、意味的に近いノートを返します。note_includes_text/note_excludes_text で語単位のキーワード絞り込み(ハードフィルタ)を併用できます。","operationId":"search_semantic_api_v1_data_search_semantic_get","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":1000,"description":"検索クエリ(自然文)","title":"Q"},"description":"検索クエリ(自然文)"},{"name":"language","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ノートの言語で絞り込み","title":"Language"},"description":"ノートの言語で絞り込み"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"取得件数(最大100)","default":20,"title":"Limit"},"description":"取得件数(最大100)"},{"name":"note_includes_text","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"\n指定した文字列を含む Note を検索して取得する。検索は Note の**Summaryに対して**行われる。\n","title":"Note Includes Text"},"description":"\n指定した文字列を含む Note を検索して取得する。検索は Note の**Summaryに対して**行われる。\n","examples":{"default":{"summary":"指定しない (デフォルト)"},"python":{"summary":"「Python」を含む Post を取得する","value":"Python"}}},{"name":"note_search_mode","in":"query","required":false,"schema":{"$ref":"#/components/schemas/TextSearchMode","description":"\n`note_includes_text` で指定した複数キーワードの結合方法。\n\n| 値  | 意味                                     |\n| :-: | :--------------------------------------- |\n| or  | いずれかのキーワードを含むノートを取得   |\n| and | すべてのキーワードを含むノートのみを取得 |\n","default":"or"},"description":"\n`note_includes_text` で指定した複数キーワードの結合方法。\n\n| 値  | 意味                                     |\n| :-: | :--------------------------------------- |\n| or  | いずれかのキーワードを含むノートを取得   |\n| and | すべてのキーワードを含むノートのみを取得 |\n","examples":{"or":{"summary":"OR 検索 (デフォルト)","value":"or"},"and":{"summary":"AND 検索","value":"and"}}},{"name":"note_excludes_text","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"\n指定した文字列を含む Note を検索して取得する。検索は Note の**Summaryに対して**行われる。\n","title":"Note Excludes Text"},"description":"\n指定した文字列を含む Note を検索して取得する。検索は Note の**Summaryに対して**行われる。\n","examples":{"default":{"summary":"指定しない (デフォルト)"},"python":{"summary":"「Python」を含む Post を取得する","value":"Python"}}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SemanticSearchResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/data/search/similar/{note_id}":{"get":{"summary":"Search Similar","description":"指定したノートに意味的に近いノートを返します(自分自身は除外)。","operationId":"search_similar_api_v1_data_search_similar__note_id__get","parameters":[{"name":"note_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[0-9]{19}$","description":"起点となるノートのID","title":"Note Id"},"description":"起点となるノートのID"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"取得件数(最大100)","default":20,"title":"Limit"},"description":"取得件数(最大100)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SemanticSearchResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/graphs/daily-notes":{"get":{"summary":"Get Daily Notes","description":"Get daily community note creation trends.\n\nReturns aggregated daily counts of community notes grouped by publication status\nfor the specified date range (maximum 90 days).\n\n**Publication Status Categories:**\n- `published`: Notes with status CURRENTLY_RATED_HELPFUL\n- `temporarilyPublished`: Notes that were previously helpful but now need more ratings or are not helpful\n- `evaluating`: Notes currently being evaluated (NEEDS_MORE_RATINGS, never been helpful)\n- `unpublished`: All other notes\n\n**Date Range:**\n- Timestamps must be in milliseconds (Unix epoch, UTC)\n- Maximum range: 90 days\n- start_date must be <= end_date\n- Timestamps must be >= 2006-07-15 (Twitter founding) and <= current time\n\nArgs:\n    start_date: Start timestamp in milliseconds (required)\n    end_date: End timestamp in milliseconds (required)\n    status: Filter by specific status or \"all\" for all statuses (default: \"all\")\n\nReturns:\n    GraphListResponse containing:\n    - data: List of daily aggregated note counts\n    - updatedAt: Last data update timestamp (YYYY-MM-DD format)\n\nRaises:\n    HTTPException: 400 if validation fails, 422 if timestamp format invalid","operationId":"get_daily_notes_api_v1_graphs_daily_notes_get","parameters":[{"name":"start_date","in":"query","required":true,"schema":{"type":"integer","minimum":1152921600000,"description":"Start timestamp in milliseconds (Unix epoch, UTC)","title":"Start Date"},"description":"Start timestamp in milliseconds (Unix epoch, UTC)"},{"name":"end_date","in":"query","required":true,"schema":{"type":"integer","minimum":1152921600000,"description":"End timestamp in milliseconds (Unix epoch, UTC)","title":"End Date"},"description":"End timestamp in milliseconds (Unix epoch, UTC)"},{"name":"status","in":"query","required":false,"schema":{"enum":["all","published","evaluating","unpublished","temporarilyPublished"],"type":"string","description":"Filter by note publication status","default":"all","title":"Status"},"description":"Filter by note publication status"},{"name":"language","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated language codes to filter by (e.g., ja,en)","title":"Language"},"description":"Comma-separated language codes to filter by (e.g., ja,en)"},{"name":"keywords","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated keywords for AND search in note summaries","title":"Keywords"},"description":"Comma-separated keywords for AND search in note summaries"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GraphListResponse_DailyNotesCreationDataItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/graphs/daily-posts":{"get":{"summary":"Get Daily Posts","description":"Get daily post volume trends.\n\nReturns aggregated daily counts of posts for the specified date range (maximum 90 days),\noptionally filtered by associated community note status.\n\n**Status Filter:**\n- `all`: All posts regardless of note status (default)\n- `published`: Posts with published notes\n- `temporarilyPublished`: Posts with temporarily published notes\n- `evaluating`: Posts with notes being evaluated\n- `unpublished`: Posts with no notes or unpublished notes\n\n**Date Range:**\n- Timestamps must be in milliseconds (Unix epoch, UTC)\n- Maximum range: 90 days\n- start_date must be <= end_date\n- Timestamps must be >= 2006-07-15 (Twitter founding) and <= current time\n\nArgs:\n    start_date: Start timestamp in milliseconds (required)\n    end_date: End timestamp in milliseconds (required)\n    status: Filter by specific note status or \"all\" (default: \"all\")\n\nReturns:\n    GraphListResponse containing:\n    - data: List of daily aggregated post counts\n    - updatedAt: Last data update timestamp (YYYY-MM-DD format)\n\nRaises:\n    HTTPException: 400 if validation fails, 422 if timestamp format invalid","operationId":"get_daily_posts_api_v1_graphs_daily_posts_get","parameters":[{"name":"start_date","in":"query","required":true,"schema":{"type":"integer","minimum":1152921600000,"description":"Start timestamp in milliseconds (Unix epoch, UTC)","title":"Start Date"},"description":"Start timestamp in milliseconds (Unix epoch, UTC)"},{"name":"end_date","in":"query","required":true,"schema":{"type":"integer","minimum":1152921600000,"description":"End timestamp in milliseconds (Unix epoch, UTC)","title":"End Date"},"description":"End timestamp in milliseconds (Unix epoch, UTC)"},{"name":"status","in":"query","required":false,"schema":{"enum":["all","published","evaluating","unpublished","temporarilyPublished"],"type":"string","description":"Filter by note publication status","default":"all","title":"Status"},"description":"Filter by note publication status"},{"name":"language","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated language codes to filter by (e.g., ja,en)","title":"Language"},"description":"Comma-separated language codes to filter by (e.g., ja,en)"},{"name":"keywords","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated keywords for AND search in note summaries","title":"Keywords"},"description":"Comma-separated keywords for AND search in note summaries"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GraphListResponse_DailyPostCountDataItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/graphs/notes-annual":{"get":{"summary":"Get Notes Annual","description":"Get monthly note publication rates.\n\nReturns aggregated monthly counts of community notes with publication rate\n(ratio of published notes to total notes) for the specified date range (maximum 365 days).\n\n**Publication Rate**: published_count / total_notes (0.0 if no notes)\n\n**Status Filter:**\n- `all`: All notes regardless of status (default)\n- `published`: Only published notes\n- `temporarilyPublished`: Only temporarily published notes\n- `evaluating`: Only notes being evaluated\n- `unpublished`: Only unpublished notes\n\n**Date Range:**\n- Timestamps must be in milliseconds (Unix epoch, UTC)\n- Maximum range: 365 days (approximately 12 months)\n- start_date must be <= end_date\n- Timestamps must be >= 2006-07-15 (Twitter founding) and <= current time\n- Results are automatically aggregated by month\n\nArgs:\n    start_date: Start timestamp in milliseconds (required)\n    end_date: End timestamp in milliseconds (required)\n    status: Filter by specific note status or \"all\" (default: \"all\")\n\nReturns:\n    GraphListResponse containing:\n    - data: List of monthly aggregated note counts with publication rates\n    - updatedAt: Last data update timestamp (YYYY-MM-DD format)\n\nRaises:\n    HTTPException: 400 if validation fails, 422 if timestamp format invalid","operationId":"get_notes_annual_api_v1_graphs_notes_annual_get","parameters":[{"name":"start_date","in":"query","required":true,"schema":{"type":"integer","minimum":1152921600000,"description":"Start timestamp in milliseconds (Unix epoch, UTC)","title":"Start Date"},"description":"Start timestamp in milliseconds (Unix epoch, UTC)"},{"name":"end_date","in":"query","required":true,"schema":{"type":"integer","minimum":1152921600000,"description":"End timestamp in milliseconds (Unix epoch, UTC)","title":"End Date"},"description":"End timestamp in milliseconds (Unix epoch, UTC)"},{"name":"status","in":"query","required":false,"schema":{"enum":["all","published","evaluating","unpublished","temporarilyPublished"],"type":"string","description":"Filter by note publication status","default":"all","title":"Status"},"description":"Filter by note publication status"},{"name":"language","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated language codes to filter by (e.g., ja,en)","title":"Language"},"description":"Comma-separated language codes to filter by (e.g., ja,en)"},{"name":"keywords","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated keywords for AND search in note summaries","title":"Keywords"},"description":"Comma-separated keywords for AND search in note summaries"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GraphListResponse_MonthlyNoteDataItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/graphs/notes-evaluation":{"get":{"summary":"Get Notes Evaluation","description":"Get individual note evaluation metrics.\n\nReturns top notes by impression count with helpfulness ratings,\nordered descending by impression count for moderation review (maximum 90 days range).\n\n**Metrics:**\n- helpfulCount: Number of helpful ratings\n- notHelpfulCount: Number of not-helpful ratings\n- impressionCount: Number of times note was displayed\n\n**Ordering**: Results ordered by impressionCount DESC\n\n**Status Filter:**\n- `all`: All notes regardless of status (default)\n- `published`: Only published notes\n- `temporarilyPublished`: Only temporarily published notes\n- `evaluating`: Only notes being evaluated\n- `unpublished`: Only unpublished notes\n\n**Date Range:**\n- Timestamps must be in milliseconds (Unix epoch, UTC)\n- Maximum range: 90 days\n- start_date must be <= end_date\n- Timestamps must be >= 2006-07-15 (Twitter founding) and <= current time\n\nArgs:\n    start_date: Start timestamp in milliseconds (required)\n    end_date: End timestamp in milliseconds (required)\n    status: Filter by specific status or \"all\" (default: \"all\")\n    limit: Maximum number of results (default: 200, max: 5000)\n\nReturns:\n    GraphListResponse containing:\n    - data: List of individual note evaluation metrics\n    - updatedAt: Last data update timestamp (YYYY-MM-DDformat)\n\nRaises:\n    HTTPException: 400 if validation fails, 422 if timestamp format invalid","operationId":"get_notes_evaluation_api_v1_graphs_notes_evaluation_get","parameters":[{"name":"start_date","in":"query","required":true,"schema":{"type":"integer","minimum":1152921600000,"description":"Start timestamp in milliseconds (Unix epoch, UTC)","title":"Start Date"},"description":"Start timestamp in milliseconds (Unix epoch, UTC)"},{"name":"end_date","in":"query","required":true,"schema":{"type":"integer","minimum":1152921600000,"description":"End timestamp in milliseconds (Unix epoch, UTC)","title":"End Date"},"description":"End timestamp in milliseconds (Unix epoch, UTC)"},{"name":"status","in":"query","required":false,"schema":{"enum":["all","published","evaluating","unpublished","temporarilyPublished"],"type":"string","description":"Filter by note publication status","default":"all","title":"Status"},"description":"Filter by note publication status"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":5000,"minimum":1,"description":"Maximum number of results (max 5000)","default":200,"title":"Limit"},"description":"Maximum number of results (max 5000)"},{"name":"language","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated language codes to filter by (e.g., ja,en)","title":"Language"},"description":"Comma-separated language codes to filter by (e.g., ja,en)"},{"name":"keywords","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated keywords for AND search in note summaries","title":"Keywords"},"description":"Comma-separated keywords for AND search in note summaries"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GraphListResponse_NoteEvaluationDataItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/graphs/notes-evaluation-status":{"get":{"summary":"Get Notes Evaluation Status","description":"Get individual note evaluation metrics ordered by helpful count.\n\nAlternative sorting to notes-evaluation endpoint - orders by helpfulCount instead\nof impressionCount for moderation review workflows (maximum 90 days range).\n\n**Metrics:**\n- helpfulCount: Number of helpful ratings\n- notHelpfulCount: Number of not-helpful ratings\n- impressionCount: Number of times note was displayed\n\n**Ordering**: Results ordered by helpfulCount DESC (different from /notes-evaluation)\n\n**Status Filter:**\n- `all`: All notes regardless of status (default)\n- `published`: Only published notes\n- `temporarilyPublished`: Only temporarily published notes\n- `evaluating`: Only notes being evaluated\n- `unpublished`: Only unpublished notes\n\n**Date Range:**\n- Timestamps must be in milliseconds (Unix epoch, UTC)\n- Maximum range: 90 days\n- start_date must be <= end_date\n- Timestamps must be >= 2006-07-15 (Twitter founding) and <= current time\n\nArgs:\n    start_date: Start timestamp in milliseconds (required)\n    end_date: End timestamp in milliseconds (required)\n    status: Filter by specific status or \"all\" (default: \"all\")\n    limit: Maximum number of results (default: 200, max: 5000)\n\nReturns:\n    GraphListResponse containing:\n    - data: List of individual note evaluation metrics\n    - updatedAt: Last data update timestamp (YYYY-MM-DD format)\n\nRaises:\n    HTTPException: 400 if validation fails, 422 if timestamp format invalid","operationId":"get_notes_evaluation_status_api_v1_graphs_notes_evaluation_status_get","parameters":[{"name":"start_date","in":"query","required":true,"schema":{"type":"integer","minimum":1152921600000,"description":"Start timestamp in milliseconds (Unix epoch, UTC)","title":"Start Date"},"description":"Start timestamp in milliseconds (Unix epoch, UTC)"},{"name":"end_date","in":"query","required":true,"schema":{"type":"integer","minimum":1152921600000,"description":"End timestamp in milliseconds (Unix epoch, UTC)","title":"End Date"},"description":"End timestamp in milliseconds (Unix epoch, UTC)"},{"name":"status","in":"query","required":false,"schema":{"enum":["all","published","evaluating","unpublished","temporarilyPublished"],"type":"string","description":"Filter by note publication status","default":"all","title":"Status"},"description":"Filter by note publication status"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":5000,"minimum":1,"description":"Maximum number of results (max 5000)","default":200,"title":"Limit"},"description":"Maximum number of results (max 5000)"},{"name":"language","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated language codes to filter by (e.g., ja,en)","title":"Language"},"description":"Comma-separated language codes to filter by (e.g., ja,en)"},{"name":"keywords","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated keywords for AND search in note summaries","title":"Keywords"},"description":"Comma-separated keywords for AND search in note summaries"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GraphListResponse_NoteEvaluationDataItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/graphs/post-influence":{"get":{"summary":"Get Post Influence","description":"Get individual post influence metrics.\n\nReturns top posts by impression count with engagement metrics (reposts, likes),\nordered descending by impression count for analyzing viral content (maximum 90 days range).\n\n**Metrics:**\n- repostCount: Number of times post was reposted\n- likeCount: Number of likes on the post\n- impressionCount: Number of times post was displayed\n\n**Ordering**: Results ordered by impressionCount DESC\n\n**Status Filter:**\n- `all`: All posts regardless of note status (default)\n- `published`: Posts with published notes\n- `temporarilyPublished`: Posts with temporarily published notes\n- `evaluating`: Posts with notes being evaluated\n- `unpublished`: Posts with no notes or unpublished notes\n\n**Date Range:**\n- Timestamps must be in milliseconds (Unix epoch, UTC)\n- Maximum range: 90 days\n- start_date must be <= end_date\n- Timestamps must be >= 2006-07-15 (Twitter founding) and <= current time\n\nArgs:\n    start_date: Start timestamp in milliseconds (required)\n    end_date: End timestamp in milliseconds (required)\n    status: Filter by specific note status or \"all\" (default: \"all\")\n    limit: Maximum number of results (default: 200, max: 5000)\n\nReturns:\n    GraphListResponse containing:\n    - data: List of individual post influence metrics\n    - updatedAt: Last data update timestamp (YYYY-MM-DD format)\n\nRaises:\n    HTTPException: 400 if validation fails, 422 if timestamp format invalid","operationId":"get_post_influence_api_v1_graphs_post_influence_get","parameters":[{"name":"start_date","in":"query","required":true,"schema":{"type":"integer","minimum":1152921600000,"description":"Start timestamp in milliseconds (Unix epoch, UTC)","title":"Start Date"},"description":"Start timestamp in milliseconds (Unix epoch, UTC)"},{"name":"end_date","in":"query","required":true,"schema":{"type":"integer","minimum":1152921600000,"description":"End timestamp in milliseconds (Unix epoch, UTC)","title":"End Date"},"description":"End timestamp in milliseconds (Unix epoch, UTC)"},{"name":"status","in":"query","required":false,"schema":{"enum":["all","published","evaluating","unpublished","temporarilyPublished"],"type":"string","description":"Filter by note publication status","default":"all","title":"Status"},"description":"Filter by note publication status"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":5000,"minimum":1,"description":"Maximum number of results (max 5000)","default":200,"title":"Limit"},"description":"Maximum number of results (max 5000)"},{"name":"language","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated language codes to filter by (e.g., ja,en)","title":"Language"},"description":"Comma-separated language codes to filter by (e.g., ja,en)"},{"name":"keywords","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated keywords for AND search in note summaries","title":"Keywords"},"description":"Comma-separated keywords for AND search in note summaries"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GraphListResponse_PostInfluenceDataItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/graphs/top-note-accounts":{"get":{"summary":"Get Top Note Accounts","description":"Get top accounts by note count with period-over-period comparison.\n\nReturns the top 10 accounts ranked by number of notes created in the specified\ndate range (maximum 90 days), together with the change from the equivalent\nprevious period of the same length.\n\n**Previous Period Calculation:**\n- Current period: [start_date, end_date]\n- Duration: end_date - start_date (in milliseconds)\n- Previous period: [start_date - duration, start_date - 1ms]\n- note_count_change = current_count - previous_count (0 if no previous data)\n\n**Date Range:**\n- Timestamps must be in milliseconds (Unix epoch, UTC)\n- Maximum range: 90 days\n- start_date must be <= end_date\n\nArgs:\n    start_date: Start timestamp in milliseconds (required)\n    end_date: End timestamp in milliseconds (required)\n    status: Filter by specific note status or \"all\" (default: \"all\")\n\nReturns:\n    GraphListResponse containing:\n    - data: List of top 10 accounts with rank, username, note_count, note_count_change\n    - updatedAt: Last data update timestamp (YYYY-MM-DD format)\n\nRaises:\n    HTTPException: 400 if validation fails, 422 if timestamp format invalid","operationId":"get_top_note_accounts_api_v1_graphs_top_note_accounts_get","parameters":[{"name":"start_date","in":"query","required":true,"schema":{"type":"integer","minimum":1152921600000,"description":"Start timestamp in milliseconds (Unix epoch, UTC)","title":"Start Date"},"description":"Start timestamp in milliseconds (Unix epoch, UTC)"},{"name":"end_date","in":"query","required":true,"schema":{"type":"integer","minimum":1152921600000,"description":"End timestamp in milliseconds (Unix epoch, UTC)","title":"End Date"},"description":"End timestamp in milliseconds (Unix epoch, UTC)"},{"name":"status","in":"query","required":false,"schema":{"enum":["all","published","evaluating","unpublished","temporarilyPublished"],"type":"string","description":"Filter by note publication status","default":"all","title":"Status"},"description":"Filter by note publication status"},{"name":"language","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated language codes to filter by (e.g., ja,en)","title":"Language"},"description":"Comma-separated language codes to filter by (e.g., ja,en)"},{"name":"keywords","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated keywords for AND search in note summaries","title":"Keywords"},"description":"Comma-separated keywords for AND search in note summaries"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GraphListResponse_TopNoteAccountDataItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"DailyNotesCreationDataItem":{"properties":{"date":{"type":"string","title":"Date","description":"Date in YYYY-MM-DD format (UTC timezone)","examples":["2025-01-15"]},"published":{"type":"integer","minimum":0.0,"title":"Published","description":"Count of notes with published status on this date"},"evaluating":{"type":"integer","minimum":0.0,"title":"Evaluating","description":"Count of notes with evaluating status on this date"},"unpublished":{"type":"integer","minimum":0.0,"title":"Unpublished","description":"Count of notes with unpublished status on this date"},"temporarilyPublished":{"type":"integer","minimum":0.0,"title":"Temporarilypublished","description":"Count of notes with temporarily published status on this date"}},"type":"object","required":["date","published","evaluating","unpublished","temporarilyPublished"],"title":"DailyNotesCreationDataItem","description":"Daily community note creation counts by publication status.\n\nRepresents a single day's aggregated note creation data."},"DailyPostCountDataItem":{"properties":{"date":{"type":"string","title":"Date","description":"Date in YYYY-MM-DD format (UTC timezone)","examples":["2025-01-15"]},"postCount":{"type":"integer","minimum":0.0,"title":"Postcount","description":"Total number of posts created on this date"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status","description":"Publication status of associated notes (if status filter applied)"}},"type":"object","required":["date","postCount"],"title":"DailyPostCountDataItem","description":"Daily post counts within a specified month range.\n\nRepresents post volume for a single day, optionally filtered by\nassociated community note status."},"EnrollmentState":{"type":"string","enum":["newUser","earnedIn","atRisk","earnedOutAcknowledged","earnedOutNoAcknowledge"],"title":"EnrollmentState"},"GraphListResponse_DailyNotesCreationDataItem_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/DailyNotesCreationDataItem"},"type":"array","title":"Data","description":"Array of data items (type varies by endpoint)"},"updatedAt":{"type":"string","title":"Updatedat","description":"Last update timestamp in YYYY-MM-DD format (UTC). Derived from MAX(created_at) of source table.","examples":["2025-01-15"]}},"type":"object","required":["data","updatedAt"],"title":"GraphListResponse[DailyNotesCreationDataItem]"},"GraphListResponse_DailyPostCountDataItem_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/DailyPostCountDataItem"},"type":"array","title":"Data","description":"Array of data items (type varies by endpoint)"},"updatedAt":{"type":"string","title":"Updatedat","description":"Last update timestamp in YYYY-MM-DD format (UTC). Derived from MAX(created_at) of source table.","examples":["2025-01-15"]}},"type":"object","required":["data","updatedAt"],"title":"GraphListResponse[DailyPostCountDataItem]"},"GraphListResponse_MonthlyNoteDataItem_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/MonthlyNoteDataItem"},"type":"array","title":"Data","description":"Array of data items (type varies by endpoint)"},"updatedAt":{"type":"string","title":"Updatedat","description":"Last update timestamp in YYYY-MM-DD format (UTC). Derived from MAX(created_at) of source table.","examples":["2025-01-15"]}},"type":"object","required":["data","updatedAt"],"title":"GraphListResponse[MonthlyNoteDataItem]"},"GraphListResponse_NoteEvaluationDataItem_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/NoteEvaluationDataItem"},"type":"array","title":"Data","description":"Array of data items (type varies by endpoint)"},"updatedAt":{"type":"string","title":"Updatedat","description":"Last update timestamp in YYYY-MM-DD format (UTC). Derived from MAX(created_at) of source table.","examples":["2025-01-15"]}},"type":"object","required":["data","updatedAt"],"title":"GraphListResponse[NoteEvaluationDataItem]"},"GraphListResponse_PostInfluenceDataItem_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/PostInfluenceDataItem"},"type":"array","title":"Data","description":"Array of data items (type varies by endpoint)"},"updatedAt":{"type":"string","title":"Updatedat","description":"Last update timestamp in YYYY-MM-DD format (UTC). Derived from MAX(created_at) of source table.","examples":["2025-01-15"]}},"type":"object","required":["data","updatedAt"],"title":"GraphListResponse[PostInfluenceDataItem]"},"GraphListResponse_TopNoteAccountDataItem_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/TopNoteAccountDataItem"},"type":"array","title":"Data","description":"Array of data items (type varies by endpoint)"},"updatedAt":{"type":"string","title":"Updatedat","description":"Last update timestamp in YYYY-MM-DD format (UTC). Derived from MAX(created_at) of source table.","examples":["2025-01-15"]}},"type":"object","required":["data","updatedAt"],"title":"GraphListResponse[TopNoteAccountDataItem]"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"LanguageIdentifier":{"type":"string","enum":["en","es","ja","pt","de","fr","fi","tr","nl","he","it","fa","ca","ar","el","sv","da","ru","pl","other"],"title":"LanguageIdentifier"},"Link":{"properties":{"linkId":{"type":"string","format":"uuid","title":"Linkid","description":"リンクを識別できる UUID"},"url":{"type":"string","maxLength":8192,"minLength":1,"format":"uri","title":"Url","description":"リンクが指す URL"}},"type":"object","required":["linkId","url"],"title":"Link","description":"X に投稿された Post 内のリンク情報を正規化して保持するためのモデル。\n\nt.co に短縮される前の URL ごとに一意な ID を持つ。\n\n>>> Link.model_validate_json('{\"linkId\": \"d5d15194-6574-0c01-8f6f-15abd72b2cf6\", \"url\": \"https://example.com\"}')\nLink(link_id=LinkId('d5d15194-6574-0c01-8f6f-15abd72b2cf6'), url=AnyUrl('https://example.com/'))\n>>> Link(url=\"https://example.com/\")\nLink(link_id=LinkId('d5d15194-6574-0c01-8f6f-15abd72b2cf6'), url=AnyUrl('https://example.com/'))\n>>> Link(link_id=UUID(\"d5d15194-6574-0c01-8f6f-15abd72b2cf6\"), url=\"https://example.com/\")\nLink(link_id=LinkId('d5d15194-6574-0c01-8f6f-15abd72b2cf6'), url=AnyUrl('https://example.com/'))"},"Media":{"properties":{"mediaKey":{"type":"string","title":"Mediakey","description":"X 上でメディアを一意に識別できるキー"},"type":{"type":"string","enum":["photo","video","animated_gif"],"title":"Type","description":"メディアの種類"},"url":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"Url","description":"メディアの URL"},"width":{"type":"integer","minimum":0.0,"title":"Width","description":"メディアの幅"},"height":{"type":"integer","minimum":0.0,"title":"Height","description":"メディアの高さ"}},"type":"object","required":["mediaKey","type","url","width","height"],"title":"Media"},"Message":{"properties":{"message":{"type":"string","title":"Message"}},"type":"object","required":["message"],"title":"Message"},"ModelingPopulation":{"type":"string","enum":["CORE","EXPANSION"],"title":"ModelingPopulation"},"MonthlyNoteDataItem":{"properties":{"month":{"type":"string","title":"Month","description":"Month in YYYY-MM format","examples":["2025-01"]},"published":{"type":"integer","minimum":0.0,"title":"Published","description":"Count of notes with published status in this month"},"evaluating":{"type":"integer","minimum":0.0,"title":"Evaluating","description":"Count of notes with evaluating status in this month"},"unpublished":{"type":"integer","minimum":0.0,"title":"Unpublished","description":"Count of notes with unpublished status in this month"},"temporarilyPublished":{"type":"integer","minimum":0.0,"title":"Temporarilypublished","description":"Count of notes with temporarily published status in this month"},"publicationRate":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Publicationrate","description":"Ratio of published notes to total notes (0.0 to 1.0). Returns 0.0 if no notes."}},"type":"object","required":["month","published","evaluating","unpublished","temporarilyPublished","publicationRate"],"title":"MonthlyNoteDataItem","description":"Monthly community note counts with publication rate.\n\nAggregates note creation data by month and calculates the percentage\nof notes that achieved published status."},"Note":{"properties":{"noteId":{"type":"string","pattern":"^[0-9]{19}$","title":"Noteid","description":"コミュニティノートの ID"},"noteAuthorParticipantId":{"anyOf":[{"type":"string","pattern":"^[0-9A-F]{64}$"},{"type":"null"}],"title":"Noteauthorparticipantid","description":"コミュニティノートの作成者の Participant ID"},"postId":{"type":"string","pattern":"^([0-9]{1,19}|)$","title":"Postid","description":"コミュニティノートに対応する X の Post の ID"},"language":{"type":"string","title":"Language","description":"コミュニティノートの言語"},"topics":{"items":{"$ref":"#/components/schemas/Topic"},"type":"array","title":"Topics","description":"推定されたコミュニティノートのトピック"},"summary":{"type":"string","minLength":1,"title":"Summary","description":"コミュニティノートの本文"},"currentStatus":{"anyOf":[{"$ref":"#/components/schemas/NoteStatus"},{"type":"null"}],"description":"コミュニティノートの現在の評価状態"},"createdAt":{"type":"integer","minimum":1152921600000.0,"title":"Createdat","description":"コミュニティノートの作成日時 (ミリ秒単位の UNIX EPOCH TIMESTAMP)"},"hasBeenHelpfuled":{"type":"boolean","title":"Hasbeenhelpfuled","description":"ノートが HELPFUL ステータスに到達したことがあるか（評価が付いたかどうかではない）","default":false},"rateCount":{"type":"integer","minimum":0.0,"title":"Ratecount","description":"ノートの総評価数","default":0},"helpfulCount":{"type":"integer","minimum":0.0,"title":"Helpfulcount","description":"役立つ評価の数","default":0},"notHelpfulCount":{"type":"integer","minimum":0.0,"title":"Nothelpfulcount","description":"役立たない評価の数","default":0},"somewhatHelpfulCount":{"type":"integer","minimum":0.0,"title":"Somewhathelpfulcount","description":"やや役立つ評価の数","default":0},"currentStatusHistory":{"items":{"$ref":"#/components/schemas/NoteStatusHistory"},"type":"array","title":"Currentstatushistory","description":"ステータス変更履歴"}},"type":"object","required":["noteId","noteAuthorParticipantId","postId","language","topics","summary","currentStatus","createdAt"],"title":"Note"},"NoteEvaluationDataItem":{"properties":{"noteId":{"type":"string","title":"Noteid","description":"Unique identifier for the note","examples":["1234567890123456789"]},"name":{"type":"string","title":"Name","description":"Note summary text or first 100 characters"},"helpfulCount":{"type":"integer","minimum":0.0,"title":"Helpfulcount","description":"Number of helpful ratings received"},"notHelpfulCount":{"type":"integer","minimum":0.0,"title":"Nothelpfulcount","description":"Number of not-helpful ratings received"},"impressionCount":{"type":"integer","minimum":0.0,"title":"Impressioncount","description":"Number of times the note was displayed"},"status":{"type":"string","title":"Status","description":"Publication status of the note"}},"type":"object","required":["noteId","name","helpfulCount","notHelpfulCount","impressionCount","status"],"title":"NoteEvaluationDataItem","description":"Individual note evaluation metrics for moderation review.\n\nProvides helpfulness ratings and impression counts for individual notes,\nordered by impression count descending."},"NoteListResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Note"},"type":"array","title":"Data","description":"コミュニティノートのリスト","examples":[{"createdAt":1728877704750,"currentStatus":"NEEDS_MORE_RATINGS","currentStatusHistory":[{"date":1728877704750,"status":"NEEDS_MORE_RATINGS"}],"hasBeenHelpfuled":false,"helpfulCount":0,"language":"ja","notHelpfulCount":2,"noteAuthorParticipantId":"A1B2C3D4E5F60718293A4B5C6D7E8F901234567890ABCDEF1234567890ABCDEF","noteId":"1845672983001710655","postId":"1842116937066955027","rateCount":3,"somewhatHelpfulCount":1,"summary":"Content Security Policyは情報の持ち出しを防止する仕組みではありません。コンテンツインジェクションの脆弱性のリスクを軽減する仕組みです。適切なContent Security Policyがレスポンスヘッダーに設定されている場合でも、外部への通信をブロックできない点に注意が必要です。    Content Security Policy Level 3  https://w3c.github.io/webappsec-csp/","topics":[{"label":{"en":"security threat","ja":"セキュリティ上の脅威"},"referenceCount":0,"topicId":26},{"label":{"en":"Censorship","ja":"検閲"},"referenceCount":0,"topicId":47},{"label":{"en":"technology","ja":"テクノロジー"},"referenceCount":0,"topicId":51}]}]},"meta":{"$ref":"#/components/schemas/PaginationMeta","description":"ページネーション用情報。 リクエスト時に指定した offset / limit の値に応じて、次のページや前のページのリクエスト用 URL が設定される。","examples":[{"next":"http://birdxplorer.onrender.com/api/v1/data/notes?offset=100&limit=100","prev":"null","total":500}]}},"type":"object","required":["data","meta"],"title":"NoteListResponse"},"NoteRequest":{"properties":{"tweetId":{"type":"string","pattern":"^([0-9]{1,19}|)$","title":"Tweetid","description":"ノートリクエストが表示された Post の ID"},"noteRequestFeedEligibleAt":{"anyOf":[{"type":"integer","minimum":1152921600000.0},{"type":"null"}],"title":"Noterequestfeedeligibleat","description":"アプリ内リクエストフィードの掲載基準を満たした日時 (ミリ秒 UNIX EPOCH)。未達の場合 null"},"apiSmallFeedEligibleAt":{"anyOf":[{"type":"integer","minimum":1152921600000.0},{"type":"null"}],"title":"Apismallfeedeligibleat","description":"AI Note Writer API の small フィードの掲載基準を満たした日時 (ミリ秒 UNIX EPOCH)。未達の場合 null"},"apiLargeFeedEligibleAt":{"anyOf":[{"type":"integer","minimum":1152921600000.0},{"type":"null"}],"title":"Apilargefeedeligibleat","description":"AI Note Writer API の large フィードの掲載基準を満たした日時 (ミリ秒 UNIX EPOCH)。未達の場合 null"},"apiXlFeedEligibleAt":{"anyOf":[{"type":"integer","minimum":1152921600000.0},{"type":"null"}],"title":"Apixlfeedeligibleat","description":"AI Note Writer API の xl フィードの掲載基準を満たした日時 (ミリ秒 UNIX EPOCH)。未達の場合 null"},"sourceLinks":{"items":{"type":"string"},"type":"array","title":"Sourcelinks","description":"リクエスト時に添えられた X Post URL のリスト"},"suggestions":{"items":{"$ref":"#/components/schemas/NoteRequestSuggestion"},"type":"array","title":"Suggestions","description":"リクエスト理由の Suggestion のリスト"},"tweetCreatedAt":{"anyOf":[{"type":"integer","minimum":1152921600000.0},{"type":"null"}],"title":"Tweetcreatedat","description":"Post の作成日時 (snowflake ID から算出、ミリ秒 UNIX EPOCH)。2010年以前の旧 ID は null"},"post":{"anyOf":[{"$ref":"#/components/schemas/Post"},{"type":"null"}],"description":"取得済みの場合、Post の情報"}},"type":"object","required":["tweetId"],"title":"NoteRequest"},"NoteRequestListResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/NoteRequest"},"type":"array","title":"Data","description":"ノートリクエストのリスト"},"meta":{"$ref":"#/components/schemas/PaginationMeta"}},"type":"object","required":["data","meta"],"title":"NoteRequestListResponse"},"NoteRequestSuggestion":{"properties":{"suggestionId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Suggestionid","description":"Suggestion の ID"},"suggestion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Suggestion","description":"ノートリクエスト時にユーザーが入力した、ノートが必要と考える理由"},"sourceLink":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sourcelink","description":"Suggestion に添えられたソースリンク"}},"type":"object","title":"NoteRequestSuggestion"},"NoteStatus":{"type":"string","enum":["NEEDS_MORE_RATINGS","CURRENTLY_RATED_HELPFUL","CURRENTLY_RATED_NOT_HELPFUL"],"title":"NoteStatus","description":"Enum for note status values"},"NoteStatusHistory":{"properties":{"status":{"$ref":"#/components/schemas/NoteStatus","description":"ノートのステータス"},"date":{"type":"integer","minimum":1152921600000.0,"title":"Date","description":"ステータス変更日時 (ミリ秒単位の UNIX EPOCH TIMESTAMP)"}},"type":"object","required":["status","date"],"title":"NoteStatusHistory","description":"Model for note status history entry"},"PaginationMeta":{"properties":{"next":{"anyOf":[{"type":"string","maxLength":2083,"minLength":1,"format":"uri"},{"type":"null"}],"title":"Next","description":"次のページのリクエスト用 URL"},"prev":{"anyOf":[{"type":"string","maxLength":2083,"minLength":1,"format":"uri"},{"type":"null"}],"title":"Prev","description":"前のページのリクエスト用 URL"},"total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total","description":"検索結果の総件数"}},"type":"object","title":"PaginationMeta"},"Post":{"properties":{"postId":{"type":"string","pattern":"^([0-9]{1,19}|)$","title":"Postid","description":"X の Post の ID"},"xUserId":{"type":"string","pattern":"^([0-9]{1,19}|)$","title":"Xuserid","description":"Post を投稿したユーザーの ID。`xUser.userId` と同じ"},"xUser":{"$ref":"#/components/schemas/XUser","description":"Post を投稿したユーザーの情報"},"text":{"type":"string","title":"Text","description":"Post の本文"},"language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language","description":"Post 本文の言語 (ISO 639-1 or 'other')"},"mediaDetails":{"items":{"$ref":"#/components/schemas/Media"},"type":"array","title":"Mediadetails","description":"Post に含まれるメディア情報のリスト"},"createdAt":{"type":"integer","minimum":1152921600000.0,"title":"Createdat","description":"Post の作成日時 (ミリ秒単位の UNIX EPOCH TIMESTAMP)"},"aggregatedAt":{"type":"integer","minimum":1152921600000.0,"title":"Aggregatedat","description":"Post の情報がETLで取得された日時 (ミリ秒単位の UNIX EPOCH TIMESTAMP)"},"likeCount":{"type":"integer","minimum":0.0,"title":"Likecount","description":"Post のいいね数"},"repostCount":{"type":"integer","minimum":0.0,"title":"Repostcount","description":"Post のリポスト数"},"impressionCount":{"type":"integer","minimum":0.0,"title":"Impressioncount","description":"Post の表示回数"},"links":{"items":{"$ref":"#/components/schemas/Link"},"type":"array","title":"Links","description":"Post に含まれるリンク情報のリスト"},"link":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"Link","description":"Post を X 上で表示する URL","readOnly":true}},"type":"object","required":["postId","xUserId","xUser","text","createdAt","aggregatedAt","likeCount","repostCount","impressionCount","link"],"title":"Post"},"PostInfluenceDataItem":{"properties":{"postId":{"type":"string","title":"Postid","description":"Unique identifier for the post","examples":["1234567890123456789"]},"name":{"type":"string","title":"Name","description":"Post text or first 100 characters"},"repostCount":{"type":"integer","minimum":0.0,"title":"Repostcount","description":"Number of reposts/retweets received"},"likeCount":{"type":"integer","minimum":0.0,"title":"Likecount","description":"Number of likes received"},"impressionCount":{"type":"integer","minimum":0.0,"title":"Impressioncount","description":"Number of times the post was displayed"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status","description":"Publication status of associated note (if status filter applied)"}},"type":"object","required":["postId","name","repostCount","likeCount","impressionCount"],"title":"PostInfluenceDataItem","description":"Individual post engagement metrics for influence analysis.\n\nProvides engagement counts (reposts, likes, impressions) for individual posts,\nordered by impression count descending."},"PostListResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Post"},"type":"array","title":"Data","description":"X の Post のリスト","examples":[{"aggregatedAt":1729094524000,"createdAt":1729094524000,"impressionCount":82378,"likeCount":451,"link":"https://x.com/earthquakejapan/status/1846718284369912064","links":[{"linkId":"9c139b99-8111-e4f0-ad41-fc9e40d08722","url":"https://www.quakeprediction.com/Earthquake%20Forecast%20Japan.html"}],"mediaDetails":[{"height":738,"mediaKey":"3_1846718279236177920-1846718284369912064","type":"photo","url":"https://pbs.twimg.com/media/GaDcfZoX0AAko2-.jpg","width":900}],"postId":"1846718284369912064","repostCount":104,"text":"今後48時間以内に日本ではマグニチュード6.0の地震が発生する可能性があります。地図をご覧ください。（10月17日～10月18日） - https://t.co/nuyiVdM4FW https://t.co/Xd6U9XkpbL","xUser":{"followersCount":162934,"followingCount":6,"name":"earthquakejapan","profileImage":"https://pbs.twimg.com/profile_images/1638600342/japan_rel96_normal.jpg","userId":"90954365"},"xUserId":"90954365"}]},"meta":{"$ref":"#/components/schemas/PaginationMeta","description":"ページネーション用情報。 リクエスト時に指定した offset / limit の値に応じて、次のページや前のページのリクエスト用 URL が設定される。","examples":[{"next":"http://birdxplorer.onrender.com/api/v1/data/posts?offset=100&limit=100","prev":"null","total":500}]}},"type":"object","required":["data","meta"],"title":"PostListResponse"},"SearchCountResponse":{"properties":{"total":{"type":"integer","title":"Total","description":"検索結果の総件数"}},"type":"object","required":["total"],"title":"SearchCountResponse"},"SearchResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/SearchedNote"},"type":"array","title":"Data","description":"検索結果のノートのリスト","examples":[{"createdAt":1728877704750,"currentStatus":"NEEDS_MORE_RATINGS","currentStatusHistory":[{"date":1728877704750,"status":"NEEDS_MORE_RATINGS"}],"hasBeenHelpfuled":false,"helpfulCount":0,"language":"ja","notHelpfulCount":2,"noteAuthorParticipantId":"A1B2C3D4E5F60718293A4B5C6D7E8F901234567890ABCDEF1234567890ABCDEF","noteId":"1845672983001710655","post":{"aggregatedAt":1729094524000,"createdAt":1729094524000,"impressionCount":82378,"likeCount":451,"link":"https://x.com/earthquakejapan/status/1846718284369912064","links":[{"linkId":"9c139b99-8111-e4f0-ad41-fc9e40d08722","url":"https://www.quakeprediction.com/Earthquake%20Forecast%20Japan.html"}],"mediaDetails":[{"height":738,"mediaKey":"3_1846718279236177920-1846718284369912064","type":"photo","url":"https://pbs.twimg.com/media/GaDcfZoX0AAko2-.jpg","width":900}],"postId":"1846718284369912064","repostCount":104,"text":"今後48時間以内に日本ではマグニチュード6.0の地震が発生する可能性があります。地図をご覧ください。（10月17日～10月18日） - https://t.co/nuyiVdM4FW https://t.co/Xd6U9XkpbL","xUser":{"followersCount":162934,"followingCount":6,"name":"earthquakejapan","profileImage":"https://pbs.twimg.com/profile_images/1638600342/japan_rel96_normal.jpg","userId":"90954365"},"xUserId":"90954365"},"rateCount":3,"somewhatHelpfulCount":1,"summary":"Content Security Policyは情報の持ち出しを防止する仕組みではありません。コンテンツインジェクションの脆弱性のリスクを軽減する仕組みです。適切なContent Security Policyがレスポンスヘッダーに設定されている場合でも、外部への通信をブロックできない点に注意が必要です。    Content Security Policy Level 3  https://w3c.github.io/webappsec-csp/","topics":[{"label":{"en":"security threat","ja":"セキュリティ上の脅威"},"referenceCount":0,"topicId":26},{"label":{"en":"Censorship","ja":"検閲"},"referenceCount":0,"topicId":47},{"label":{"en":"technology","ja":"テクノロジー"},"referenceCount":0,"topicId":51}]}]},"meta":{"$ref":"#/components/schemas/PaginationMeta","description":"ページネーション用情報。 リクエスト時に指定した offset / limit の値に応じて、次のページや前のページのリクエスト用 URL が設定される。","examples":[{"next":"http://birdxplorer.onrender.com/api/v1/data/search?offset=100&limit=100","prev":"null"}]}},"type":"object","required":["data","meta"],"title":"SearchResponse"},"SearchSortField":{"type":"string","enum":["note_created_at","impression_count","like_count","repost_count"],"title":"SearchSortField","description":"Fields available for sorting search results"},"SearchedNote":{"properties":{"noteId":{"type":"string","pattern":"^[0-9]{19}$","title":"Noteid","description":"コミュニティノートのID"},"noteAuthorParticipantId":{"anyOf":[{"type":"string","pattern":"^[0-9A-F]{64}$"},{"type":"null"}],"title":"Noteauthorparticipantid","description":"コミュニティノートの作成者のユーザーID"},"summary":{"type":"string","minLength":1,"title":"Summary","description":"コミュニティノートの本文"},"language":{"type":"string","title":"Language","description":"コミュニティノートの言語"},"topics":{"items":{"$ref":"#/components/schemas/Topic"},"type":"array","title":"Topics","description":"コミュニティノートに関連付けられたトピックのリスト"},"postId":{"type":"string","pattern":"^([0-9]{1,19}|)$","title":"Postid","description":"関連するPostのID"},"currentStatus":{"anyOf":[{"type":"string","enum":["NEEDS_MORE_RATINGS","CURRENTLY_RATED_HELPFUL","CURRENTLY_RATED_NOT_HELPFUL"]},{"type":"null"}],"title":"Currentstatus","description":"コミュニティノートの現在の評価状態"},"createdAt":{"type":"integer","minimum":1152921600000.0,"title":"Createdat","description":"コミュニティノートの作成日時 (ミリ秒単位の UNIX EPOCH TIMESTAMP)"},"hasBeenHelpfuled":{"type":"boolean","title":"Hasbeenhelpfuled","description":"ノートが HELPFUL ステータスに到達したことがあるか（評価が付いたかどうかではない）"},"rateCount":{"type":"integer","title":"Ratecount","description":"ノートの総評価数"},"helpfulCount":{"type":"integer","title":"Helpfulcount","description":"役立つ評価の数"},"notHelpfulCount":{"type":"integer","title":"Nothelpfulcount","description":"役立たない評価の数"},"somewhatHelpfulCount":{"type":"integer","title":"Somewhathelpfulcount","description":"やや役立つ評価の数"},"currentStatusHistory":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Currentstatushistory","description":"ステータス変更履歴"},"post":{"anyOf":[{"$ref":"#/components/schemas/Post"},{"type":"null"}],"description":"コミュニティノートに関連付けられた Post の情報"}},"type":"object","required":["noteId","noteAuthorParticipantId","summary","language","topics","postId","currentStatus","createdAt","hasBeenHelpfuled","rateCount","helpfulCount","notHelpfulCount","somewhatHelpfulCount","currentStatusHistory","post"],"title":"SearchedNote"},"SemanticSearchResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/SemanticSearchResult"},"type":"array","title":"Data"}},"type":"object","required":["data"],"title":"SemanticSearchResponse"},"SemanticSearchResult":{"properties":{"note":{"$ref":"#/components/schemas/Note"},"score":{"type":"number","title":"Score"}},"type":"object","required":["note","score"],"title":"SemanticSearchResult"},"SortOrder":{"type":"string","enum":["asc","desc"],"title":"SortOrder","description":"Sort direction"},"TextSearchMode":{"type":"string","enum":["or","and"],"title":"TextSearchMode"},"TopNoteAccountDataItem":{"properties":{"rank":{"type":"integer","minimum":1.0,"title":"Rank","description":"Rank position (1-based, ordered by note_count descending)"},"username":{"type":"string","title":"Username","description":"Display name of the account (x_users.name)"},"noteCount":{"type":"integer","minimum":0.0,"title":"Notecount","description":"Number of notes created by this account in the current period"},"noteCountChange":{"type":"integer","title":"Notecountchange","description":"Change in note count compared to previous equivalent period (can be negative)"}},"type":"object","required":["rank","username","noteCount","noteCountChange"],"title":"TopNoteAccountDataItem","description":"Top accounts by note count with period-over-period comparison.\n\nRepresents an account's note creation activity for a given period,\nranked by note count descending with change from the previous equivalent period."},"Topic":{"properties":{"topicId":{"type":"integer","minimum":0.0,"title":"Topicid","description":"トピックの ID"},"label":{"additionalProperties":{"type":"string","minLength":1},"propertyNames":{"$ref":"#/components/schemas/LanguageIdentifier"},"type":"object","title":"Label","description":"トピックの言語ごとのラベル"},"referenceCount":{"type":"integer","minimum":0.0,"title":"Referencecount","description":"このトピックに分類されたコミュニティノートの数"}},"type":"object","required":["topicId","label","referenceCount"],"title":"Topic"},"TopicListResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Topic"},"type":"array","title":"Data","description":"推定されたトピックのリスト","examples":[[{"label":{"en":"Human rights","ja":"人権"},"referenceCount":5566,"topicId":28},{"label":{"en":"Media","ja":"メディア"},"referenceCount":3474,"topicId":25}]]}},"type":"object","required":["data"],"title":"TopicListResponse"},"UserEnrollment":{"properties":{"participantId":{"type":"string","pattern":"^[0-9A-F]{64}$","title":"Participantid"},"enrollmentState":{"$ref":"#/components/schemas/EnrollmentState"},"successfulRatingNeededToEarnIn":{"type":"integer","minimum":0.0,"title":"Successfulratingneededtoearnin"},"timestampOfLastStateChange":{"anyOf":[{"type":"integer","minimum":1152921600000.0},{"type":"string","const":"0"},{"type":"string","const":"103308100"}],"title":"Timestampoflaststatechange"},"timestampOfLastEarnOut":{"anyOf":[{"type":"integer","minimum":1152921600000.0},{"type":"string","const":"1"}],"title":"Timestampoflastearnout"},"modelingPopulation":{"$ref":"#/components/schemas/ModelingPopulation"},"modelingGroup":{"type":"number","minimum":0.0,"title":"Modelinggroup"}},"type":"object","required":["participantId","enrollmentState","successfulRatingNeededToEarnIn","timestampOfLastStateChange","timestampOfLastEarnOut","modelingPopulation","modelingGroup"],"title":"UserEnrollment"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"XUser":{"properties":{"userId":{"type":"string","pattern":"^([0-9]{1,19}|)$","title":"Userid","description":"X ユーザーの ID"},"name":{"type":"string","minLength":1,"title":"Name","description":"X ユーザーのスクリーンネーム"},"profileImage":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"Profileimage","description":"X ユーザーのプロフィール画像の URL"},"followersCount":{"type":"integer","minimum":0.0,"title":"Followerscount","description":"X ユーザーのフォロワー数"},"followingCount":{"type":"integer","minimum":0.0,"title":"Followingcount","description":"X ユーザーのフォロー数"}},"type":"object","required":["userId","name","profileImage","followersCount","followingCount"],"title":"XUser"}}}}