Busabase
OpenAPI Reference

Community

Community forum categories, posts, and replies.

GET
/api/v1/community/categories

Authorization

bearerAuth
AuthorizationBearer <token>

API key authentication. Get your API key from the dashboard.

In: header

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/v1/community/categories"
{  "items": [    {      "id": "string",      "slug": "string",      "kind": "question",      "name": "string",      "description": "string",      "showVotes": true,      "sortOrder": 0,      "postCount": 0,      "viewerCanPost": true    }  ]}
GET
/api/v1/community/posts

Authorization

bearerAuth
AuthorizationBearer <token>

API key authentication. Get your API key from the dashboard.

In: header

Query Parameters

category?string
lang?string
sort?string
Default"active"

Value in

  • "latest"
  • "active"
  • "top"
unanswered?boolean
Defaultfalse
q?string
limit?integer
Range1 <= value <= 50
Default20
offset?integer
Range0 <= value <= 9007199254740991
Default0

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/v1/community/posts"
{  "items": [    {      "id": "string",      "categorySlug": "string",      "categoryName": "string",      "categoryShowVotes": true,      "kind": "question",      "title": "string",      "slug": "string",      "url": "string",      "body": "string",      "bodyText": "string",      "excerpt": "string",      "lang": "string",      "author": {        "id": "string",        "name": "string",        "image": "string",        "isStaff": true      },      "replyCount": 0,      "likeCount": 0,      "viewCount": 0,      "likedByMe": true,      "isPinned": true,      "isLocked": true,      "isSolved": true,      "acceptedReplyId": "string",      "featureStatus": "collecting",      "indexable": true,      "isEdited": true,      "status": "published",      "createdAt": "string",      "updatedAt": "string",      "lastActivityAt": "string"    }  ],  "total": 0,  "hasMore": true,  "languageFallbackApplied": false}
POST
/api/v1/community/posts

Authorization

bearerAuth
AuthorizationBearer <token>

API key authentication. Get your API key from the dashboard.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/v1/community/posts" \  -H "Content-Type: application/json" \  -d '{    "category": "string",    "title": "string",    "body": "stringstri",    "lang": "string"  }'
{  "id": "string",  "categorySlug": "string",  "categoryName": "string",  "categoryShowVotes": true,  "kind": "question",  "title": "string",  "slug": "string",  "url": "string",  "body": "string",  "bodyText": "string",  "excerpt": "string",  "lang": "string",  "author": {    "id": "string",    "name": "string",    "image": "string",    "isStaff": true  },  "replyCount": 0,  "likeCount": 0,  "viewCount": 0,  "likedByMe": true,  "isPinned": true,  "isLocked": true,  "isSolved": true,  "acceptedReplyId": "string",  "featureStatus": "collecting",  "indexable": true,  "isEdited": true,  "status": "published",  "createdAt": "string",  "updatedAt": "string",  "lastActivityAt": "string"}
GET
/api/v1/community/posts/{slug}

Authorization

bearerAuth
AuthorizationBearer <token>

API key authentication. Get your API key from the dashboard.

In: header

Path Parameters

slug*string

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/v1/community/posts/string"
{  "id": "string",  "categorySlug": "string",  "categoryName": "string",  "categoryShowVotes": true,  "kind": "question",  "title": "string",  "slug": "string",  "url": "string",  "body": "string",  "bodyText": "string",  "excerpt": "string",  "lang": "string",  "author": {    "id": "string",    "name": "string",    "image": "string",    "isStaff": true  },  "replyCount": 0,  "likeCount": 0,  "viewCount": 0,  "likedByMe": true,  "isPinned": true,  "isLocked": true,  "isSolved": true,  "acceptedReplyId": "string",  "featureStatus": "collecting",  "indexable": true,  "isEdited": true,  "status": "published",  "createdAt": "string",  "updatedAt": "string",  "lastActivityAt": "string",  "replies": [    {      "id": "string",      "postId": "string",      "author": {        "id": "string",        "name": "string",        "image": "string",        "isStaff": true      },      "body": "string",      "bodyText": "string",      "quotedReplyId": "string",      "likeCount": 0,      "likedByMe": true,      "isAccepted": true,      "isEdited": true,      "status": "published",      "createdAt": "string",      "updatedAt": "string"    }  ],  "acceptedReply": {    "id": "string",    "postId": "string",    "author": {      "id": "string",      "name": "string",      "image": "string",      "isStaff": true    },    "body": "string",    "bodyText": "string",    "quotedReplyId": "string",    "likeCount": 0,    "likedByMe": true,    "isAccepted": true,    "isEdited": true,    "status": "published",    "createdAt": "string",    "updatedAt": "string"  }}
POST
/api/v1/community/posts/{postId}/replies

Authorization

bearerAuth
AuthorizationBearer <token>

API key authentication. Get your API key from the dashboard.

In: header

Path Parameters

postId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/v1/community/posts/string/replies" \  -H "Content-Type: application/json" \  -d '{    "body": "string"  }'
{  "id": "string",  "postId": "string",  "author": {    "id": "string",    "name": "string",    "image": "string",    "isStaff": true  },  "body": "string",  "bodyText": "string",  "quotedReplyId": "string",  "likeCount": 0,  "likedByMe": true,  "isAccepted": true,  "isEdited": true,  "status": "published",  "createdAt": "string",  "updatedAt": "string"}