# BirdXplorer v1 API Document
:::info
## What are Community Notes?
![help-rate-this-note-expanded](https://hackmd.io/_uploads/rym-Gq3FA.png)
Community Notes are a feature on **X**, former Twitter, which enable users to add notes on any possibly misleading post. If enough contributors rate a note as helpful, the note will be shown to every users who see the post. Anyone can sign up to become a Community Notes contributor.
You can know more about Community Notes by reading [this article](https://help.x.com/en/using-x/community-notes) on X's Help Center.
:::
:::success
Great news! Now BirdXplorer has a new website with better UI. Try it out: https://disinfo-fto.vercel.app/?url=
:::
BirdXplorer aims to help people obtain data about Community Notes, including information of the note's author, the posts that the note is attached, the note itself, and explore topics that often contains misleading posts
For now the tool is still an ongoing project, but you can already try it out [here](https://birdxplorer.onrender.com/docs)!
BirdXplorer currently have 5 functions. Click the blue line of each function to see details. Then you can click **Try it out** to see if there is any parameter to insert when executing.
## Ping
**Parameters**: None.
**Response**: If the BirdXplorer server is online and working, and there is no Internet connection problems, you should receive a response `pong`.
## Get User Enrollment By Participant ID
:::info
`participantId`: A Community Notes-specific user identifier of the user who authored the note. This is a permanent id, which remains stable even if the user changes their username/handle. You can find more details about the participant ID and enrollment sate in [this article](https://communitynotes.x.com/guide/en/under-the-hood/download-data).
:::
**Parameter**: A participant ID, which is a string that is 64 characters long and consists only of uppercase hexadecimal digits (0-9 and A-F).
**Response**: A successful response contains the enrollment state metadata of the user with the specified participant ID:
- `participantId`
- `enrollmentState`: The enrollment state decides a user's permitted actions on the Community Notes system. The states are: `newUser`, `earnedIn`, `atRisk`, `earnedOutAcknowledged`, `earnedOutNoAcknowledge`.
- `successfulRatingNeededToEarnIn`: The target Rating Impact a user has to reach to earn the ability to write notes. Here "earned in/out" refers to whether the contributor has earned the writing ability on the Community Notes system.
- `timestampOfLastStateChange`: The most recent user enrollment state change.
- `timestampOfLastEarnOut`: The most recent time the user earned-out. If the user never earned out, its value will be 1.
- `modelingPopulation`: Indicates which modeling population the user is, and therefore which models will score the user's ratings. Value: `CORE`, `EXPANSION`.
- `modelingGroup`: The ID of the user's modeling group (used for group model scorers). Value: 0-13.
## Get Topics
**Parameters**: None.
**Response**: A list of different topics of Community Notes. You can also see the metadata of a topic, including `topicId`, `label` and `referenceCount`.
## Get Notes
::: info
It is okay to insert only a line of information.
You can convert the UTC time into UNIX timestamp by [third-party package](https://www.unixtimestamp.com/) and find notes id by clicking notes detail, the ID will appear in the right below.
:::
**Parameters**:
* `note_ids`: A 19 digits ID of a note.
* `created_at_from`: The start of the time range in which the notes are created. UNIX timestamp.
* `created_at_to`: The end of the time range in which the notes are created. UNIX timestamp.
* `topic_ids`: Specify a topic to which the notes belongs.
* `post_ids`: An atmost-19-digit ID of a post.
* `language`: Specify the language of notes.
**Response**: A list of notes and their metadata, including `noteId`, `postId`, `language`, `topics`, `summary`, and `createdAt`.
## Get Posts
**Parameters**: `post_id`, `created_at_start`, `created_at_end`. You can specify the pagination by picking specific value of `offset` and `limit`, which affects the number of posts in the response.
**Response**: A list of posts and their metadata, including `postId`, `xUserId`, `userId`, `name`, `profileImage`, `followersCount`, `followingCount`, `mediaDetails`, `createdAt`, `likeCount`, `repostCount`, and `impressionCount`. Also if the total number of posts of your search is greater than the `limit`, the reponse would also contain