BetaHub API (1.2)

Download OpenAPI specification:

This is the official BetaHub API documentation. All the API requests should be either equipped with an Content-Type: application/json or end with .json extension, e.g. https://app.betahub.io/projects.json.

Authentication

The API supports multiple authentication methods: - Anonymous access: Use FormUser anonymous for public operations - Token-based access: Use FormUser tkn-{token} for authenticated operations - Personal Access Tokens: Use Bearer YOUR_TOKEN_HERE format for enhanced security Personal Access Tokens provide secure authentication for API integrations, automated scripts, and CI/CD pipelines. You can create and manage them in your account settings at Profile → Personal Access Tokens. For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens

projects

List issues for a project

Retrieves a list of issues for the specified project. The response includes issue details such as ID, title, description, status, priority, and associated metadata.

path Parameters
project_id
required
string
query Parameters
page
integer

Page number for pagination (default: 1)

per_page
integer

Number of issues per page (default: 20, max: 100)

status
string
Enum: "new" "in_progress" "resolved" "closed"

Filter issues by status

priority
string
Enum: "low" "medium" "high" "critical"

Filter issues by priority

header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Responses

Response samples

Content type
application/json
{
  • "issues": [
    ],
  • "pagination": {
    }
}

Creates a new issue

Creates a new issue for a project. Issues can be created in a draft mode, which allows for a step-by-step creation process.

Draft Mode Flow: 1. Create an issue with draft=true to keep it hidden (returns a JWT token in the 'token' field) 2. Optionally upload media files (screenshots, videos, log files) using the respective endpoints with the JWT token 3. Optionally set reporter email using the set_reporter_email endpoint 4. Publish the issue using the publish endpoint to make it visible

IMPORTANT NOTES: - Issue IDs in URLs must be prefixed with 'g-' (e.g., /issues/g-12345 not /issues/12345) - JWT token is returned as 'token' (not 'api_token') and is only generated when using FormUser authentication - Use Bearer {jwt_token} for subsequent API calls after issue creation - Token is valid for 1 hour from issue creation

path Parameters
project_id
required
string
header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Request Body schema: application/x-www-form-urlencoded
required
issue[title]
string

Title of the issue. If not provided, a GenAI will be used to generate a title.

issue[description]
required
string

Description of the issue.

issue[unformatted_steps_to_reproduce]
string

Steps to reproduce the issue. A GenAI will be used to format the steps into array.

issue[release_id]
string

ID of the release associated with this issue. If neither release_id nor release_label is provided, the latest release will be used.

issue[release_label]
string

Label for a release to associate with this issue. If the label exists, that release will be used; otherwise, a new release will be created (requires authorization token with create_release permission).

issue[source]
string

Optional source identifier for tracking where the issue was created from (e.g., "api", "discord", "dashboard"). Defaults to "dashboard" when created via web interface.

issue[debug_trace]
object

Optional structured debug information with severity-labeled steps. Maximum size 128KB. Expected format: {"steps": [{"severity": "info|warning|danger", "description": "text"}]}

draft
boolean

When set to true, the issue will be created in a hidden state for step-by-step completion. Default is false.

Responses

Response samples

Content type
application/json
Example
{
  • "issue[title]": "App crashes on login screen",
  • "issue[description]": "When attempting to login, the app crashes after entering credentials.",
  • "issue[unformatted_steps_to_reproduce]": "1. Open the app\n2. Enter login credentials\n3. Press login",
  • "draft": true
}

Search issues (bugs)

Searches for issues (bug reports) within a project. Uses full-text search powered by Meilisearch to find matching issues based on the query string. Returns matching titles for autocomplete functionality or full issue objects for detailed results. Note: Search is performed across all issues in the project, then filtered by visibility permissions. The search includes issue titles and descriptions.

path Parameters
project_id
required
string
query Parameters
query
required
string

The search query string to match against issue titles and descriptions

skip_ids
string

Comma-separated list of issue IDs to exclude from results

partial
string
Enum: "true" "false"

When set to 'true', returns limited results optimized for autocomplete (max 4 results)

scoped_id
string

Instead of searching, find a specific issue by its scoped ID (e.g., "123" or "g-456")

header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Responses

Response samples

Content type
application/json
Example
[
  • "App crashes on login screen",
  • "Memory leak in multiplayer mode",
  • "Controller input not recognized"
]

Search issues (bugs)

Alternative POST method for searching issues. Accepts the same parameters as the GET method but allows for longer search queries that might exceed URL length limits.

path Parameters
project_id
required
string
header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Request Body schema: application/x-www-form-urlencoded
required
query
required
string

The search query string to match against issue titles and descriptions

skip_ids
string

Comma-separated list of issue IDs to exclude from results

partial
string
Enum: "true" "false"

When set to 'true', returns limited results optimized for autocomplete (max 4 results)

scoped_id
string

Instead of searching, find a specific issue by its scoped ID

Responses

Response samples

Content type
application/json
Example
[ ]

Update an existing issue

Updates an existing issue with new information. Only certain fields can be updated, and the user must have appropriate permissions to modify the issue.

path Parameters
project_id
required
string
issue_id
required
string
header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Request Body schema: application/json
required
issue[title]
string

Updated title of the issue

issue[description]
string

Updated description of the issue

issue[status]
string
Enum: "new" "in_progress" "resolved" "closed"

Updated status of the issue

issue[priority]
string
Enum: "low" "medium" "high" "critical"

Updated priority of the issue

issue[assigned_to_id]
string

ID of the user to assign the issue to

issue[unformatted_steps_to_reproduce]
string

Updated steps to reproduce the issue

issue[release_id]
string

ID of the release to associate with the issue

Responses

Request samples

Content type
application/json
{
  • "issue[title]": "string",
  • "issue[description]": "string",
  • "issue[status]": "new",
  • "issue[priority]": "low",
  • "issue[assigned_to_id]": "string",
  • "issue[unformatted_steps_to_reproduce]": "string",
  • "issue[release_id]": "string"
}

Response samples

Content type
application/json
Example
{
  • "issue[title]": "Updated: App crashes on login screen",
  • "issue[description]": "Updated description with more details about the crash.",
  • "issue[status]": "in_progress",
  • "issue[priority]": "critical"
}

Set reporter email for a draft issue

Sets the reporter email for a draft issue. This creates a virtual user who will receive notifications about the issue. This step is optional in the draft flow.

path Parameters
project_id
required
string
issue_id
required
string
header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Request Body schema: application/json
required
email
required
string

The email address of the reporter. Must be a valid email format.

Responses

Request samples

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

Response samples

Content type
application/json
Example
{
  • "email": "reporter@example.com"
}

Publish a draft issue

Publishes a draft issue, changing its status from hidden to new and making it visible. This is the final step in the draft flow.

path Parameters
project_id
required
string
issue_id
required
string
header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Request Body schema: application/json
optional
email_my_report
boolean

When set to true, an email will be sent to the reporter (if a valid email was set). Default is false.

Responses

Request samples

Content type
application/json
{
  • "email_my_report": true
}

Response samples

Content type
application/json
Example
{
  • "email_my_report": true
}

Request additional details from issue reporter

Sends a request to the issue reporter asking for additional information such as reproduction steps, screenshots, video clips, log files, or device information. This creates a notification for the reporter and adds the requester as a watcher.

path Parameters
project_id
required
string
issue_id
required
string
header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Request Body schema: application/json
required
what
required
string
Enum: "steps" "screenshot" "video" "logs" "device"

The type of additional information being requested from the reporter

comment
string

Optional comment or message to include with the request

Responses

Request samples

Content type
application/json
{
  • "what": "steps",
  • "comment": "string"
}

Response samples

Content type
application/json
Example
{
  • "what": "steps",
  • "comment": "Could you please provide detailed steps to reproduce this issue?"
}

Upload a screenshot for an issue

path Parameters
project_id
required
string
issue_id
required
string
header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Request Body schema: multipart/form-data
required
screenshot[image]
string <binary>

The screenshot image file

Responses

Response samples

Content type
application/json
Example
{
  • "screenshot[image]": "(binary data representing an image)"
}

Upload a log file for an issue

path Parameters
project_id
required
string
issue_id
required
string
header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Request Body schema: multipart/form-data
required
log_file[file]
required
string <binary>

The log file

log_file[name]
string

The name of the log file. If set, the file will be saved with this name.

Responses

Response samples

Content type
application/json
Example
{
  • "log_file[file]": "(binary data representing a log file)",
  • "log_file[name]": "app.log"
}

Upload a video clip for an issue

path Parameters
project_id
required
string
issue_id
required
string
header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Request Body schema: multipart/form-data
required
video_clip[video]
string <binary>

The video clip file

Responses

Response samples

Content type
application/json
Example
{
  • "video_clip[video]": "(binary data representing a video file)"
}

Creates a new playtime session

This endpoint is used to create a new playtime session for a project. The playtime session is used to track the user's playtime in the project. You can pass any key=value tag pairs in the request body to associate with the playtime session. For instance, you can pass playtime_session[platform]=ios to associate the playtime session with the iOS platform. The returned is a uuid that can be used to update the playtime session using the PUT endpoint.

path Parameters
project_id
required
string
header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Request Body schema: application/json
required
playtime_session[tags]
required
string

Key-value pairs to associate with the playtime session.

Responses

Request samples

Content type
application/json
{
  • "playtime_session[tags]": "string"
}

Response samples

Content type
application/json
Example
{
  • "playtime_session[tags]": "platform=ios"
}

Updates a playtime session

This endpoint is used to update a playtime session for a project. The playtime session is used to track the user's playtime in the project. Use the playtime session ID returned from the POST endpoint to update the playtime session. Call this endpoint no longer than every 5 minutes to update the playtime session.

path Parameters
project_id
required
string
playtime_session_id
required
string
header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Responses

Response samples

Content type
application/json
{
  • "id": "1234abc"
}

Creates a new feature request

path Parameters
project_id
required
string
header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Request Body schema: application/x-www-form-urlencoded
required
feature_request[description]
required
string

Description of the feature request.

feature_request[title]
string

Title of the feature request. Only available for project developers or admins.

user[discord_id]
string

Discord ID of the user creating the feature request. Only used when authenticated as a Discord bot.

user[discord_username]
string

Discord username of the user creating the feature request. Only used when authenticated as a Discord bot.

user[discord_discriminator]
string

Discord discriminator of the user creating the feature request. Only used when authenticated as a Discord bot.

Responses

Response samples

Content type
application/json
Example
{
  • "feature_request[description]": "Add a dark mode to the app",
  • "user[discord_id]": "123456789",
  • "user[discord_username]": "username",
  • "user[discord_discriminator]": "1234"
}

Search feature requests (suggestions)

Searches for feature requests (also known as suggestions) within a project. Uses full-text search powered by Meilisearch to find matching feature requests based on the query string. Returns matching titles for autocomplete functionality or full feature request objects for detailed results. Note: Only searches among publicly visible, active feature requests (excludes pending moderation, rejected, muted, duplicate, and split requests).

path Parameters
project_id
required
string
query Parameters
query
required
string

The search query string to match against feature request titles and descriptions

skip_ids
string

Comma-separated list of feature request IDs to exclude from results

partial
string
Enum: "true" "false"

When set to 'true', returns limited results optimized for autocomplete (max 4 results)

scoped_id
string

Instead of searching, find a specific feature request by its scoped ID (e.g., "123" or "fr-456")

header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Responses

Response samples

Content type
application/json
Example
[
  • "Add dark mode support",
  • "Implement multiplayer functionality",
  • "Add controller remapping"
]

Search support tickets

Searches for support tickets within a project using a simple query string. Returns matching tickets with basic information (id and title) for autocomplete functionality. Uses ILIKE pattern matching on title and description fields. Results are limited to 10 tickets and filtered based on user permissions.

path Parameters
project_id
required
string
query Parameters
query
required
string

The search query string to match against ticket titles and descriptions

header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Creates a new support ticket

Creates a new support ticket for a project. Support tickets are used for customer support, help requests, and technical assistance.

Authentication Support: - Discord Bot: Can create tickets on behalf of Discord users by providing discord_id, discord_username, and discord_discriminator - Authenticated Users: Tickets are created with current_user as reporter - Anonymous Users: On public projects, creates a virtual user automatically

Attachments: Tickets can include file attachments (images, documents, logs) using multipart/form-data. Multiple files can be attached by providing the attachments parameter multiple times.

path Parameters
project_id
required
string
header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Request Body schema: multipart/form-data
required
ticket[description]
required
string

Description of the support ticket. Required.

ticket[title]
string

Title of the ticket. If not provided, will be auto-generated from description.

ticket[priority]
string
Enum: "low" "medium" "high" "critical"

Priority level. Defaults to 'low'.

ticket[attachments][]
Array of strings <binary> [ items <binary > ]

File attachments (images, documents, logs, etc.). Can be provided multiple times for multiple files.

user[discord_id]
string

Discord ID of the user creating the ticket. Only used when authenticated as a Discord bot.

user[discord_username]
string

Discord username. Only used when authenticated as a Discord bot.

user[discord_discriminator]
string

Discord discriminator. Only used when authenticated as a Discord bot.

Responses

Response samples

Content type
application/json
Example
{
  • "ticket[description]": "I need help resetting my password",
  • "ticket[priority]": "high"
}

Get support ticket details

Retrieves detailed information about a specific support ticket, including all attachments, status, priority, and assignment information.

path Parameters
project_id
required
string
id
required
string

The ticket ID. Can be a numeric ID or scoped ID format.

header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Responses

Response samples

Content type
application/json
{
  • "id": "123",
  • "title": "Password reset assistance needed",
  • "description": "I need help resetting my password",
  • "status": "open",
  • "priority": "high",
  • "created_at": "2024-10-06T10:00:00Z",
  • "updated_at": "2024-10-06T10:30:00Z",
  • "reporter": {
    },
  • "assigned_to": {
    },
  • "attachments": []
}

Update an existing support ticket

Updates an existing support ticket with new information. This endpoint supports comprehensive ticket management including:

Supported Operations: - Update ticket fields (title, description, status, priority, assignment) - Add new attachments - Upload new files to the ticket - Remove existing attachments - Delete specific attachments by ID - Perform both add and remove operations in a single request

Attachment Management: This endpoint was recently enhanced to support full attachment management via JSON API. You can now: - Add multiple new attachments using multipart/form-data or file upload - Remove specific attachments by providing their IDs - Combine both operations in a single update request

Status Transitions: When a ticket is assigned for the first time (or reassignment occurs) and its status is "new", it automatically transitions to "open" status.

path Parameters
project_id
required
string
id
required
string

The ticket ID. Can be a numeric ID or scoped ID format.

header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Request Body schema: multipart/form-data
required
ticket[title]
string

Updated title

ticket[description]
string

Updated description

ticket[status]
string
Enum: "new" "open" "pending" "solved" "closed"

Updated status

ticket[priority]
string
Enum: "low" "medium" "high" "critical"

Updated priority

ticket[assigned_to_id]
string

ID of user to assign the ticket to

ticket[attachments][]
Array of strings <binary> [ items <binary > ]

New file attachments to add. Can be provided multiple times for multiple files.

ticket[remove_attachment_ids][]
Array of strings

IDs of existing attachments to remove. Can be provided multiple times for multiple IDs.

Responses

Response samples

Content type
application/json
Example
{
  • "ticket[status]": "solved",
  • "ticket[description]": "Issue resolved - password reset email sent"
}

Export game facts for a project

Retrieves comprehensive game facts data for a project in JSON format. Game facts include information about the game's mechanics, technical specifications, target audience, platforms, glossary terms, and other project-specific details that help with AI-powered issue categorization and context understanding.

path Parameters
project_id
required
string
header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Responses

Response samples

Content type
application/json
{
  • "description": "A fantasy RPG set in a magical world",
  • "genre": "Action RPG",
  • "target_audience": "Teen",
  • "platforms": [
    ],
  • "core_mechanics": {
    },
  • "technical_specifications": {
    },
  • "glossary": {
    },
  • "project": {
    },
  • "meta": {
    }
}

Update or import game facts for a project

Updates game facts for a project with new JSON data. This endpoint can be used to programmatically import game facts from external sources or update specific sections of the game facts. If no game facts exist for the project, new ones will be created. All validation rules apply, including field length limits and required nested structures.

path Parameters
project_id
required
string
header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Request Body schema: application/json
required
object (GameFactRequest)

Responses

Request samples

Content type
application/json
{
  • "game_fact": {
    }
}

Response samples

Content type
application/json
{
  • "description": "Updated game description",
  • "genre": "Action RPG",
  • "target_audience": "Teen",
  • "platforms": [
    ],
  • "core_mechanics": {
    },
  • "project": {
    },
  • "meta": {
    }
}

List releases for a project

Retrieves a list of releases for the specified project, ordered by creation date (oldest first). Returns release details including label, description, download links, and metadata.

path Parameters
project_id
required
string
header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Responses

Response samples

Content type
application/json
[]

Create a new release

Creates a new release for a project. Releases contain download links, attachments, and metadata about a version of the project. Automatically triggers notifications to project members.

path Parameters
project_id
required
string
header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Request Body schema: multipart/form-data
required
release[label]
required
string

Version label for the release (e.g., "v1.0.0")

release[summary]
string

Brief summary of the release

release[description]
string

Detailed description of the release changes

release[send_images_separately]
boolean

Whether to send attachment images separately in notifications

release[attachments]
Array of strings <binary> [ items <binary > ]

File attachments for the release

Array of objects

Responses

Response samples

Content type
application/json
Example
{
  • "release[label]": "v1.1.0",
  • "release[summary]": "Bug fixes and improvements",
  • "release[description]": "This release includes several bug fixes and performance improvements.",
  • "release[download_links_attributes]": []
}

Get details of a specific release

Retrieves detailed information about a specific release, including all download links, attachments, and metadata.

path Parameters
project_id
required
string
release_id
required
string
header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Responses

Response samples

Content type
application/json
{}

Update an existing release

Updates an existing release with new information. Download links and attachments are handled separately from the main release data.

path Parameters
project_id
required
string
release_id
required
string
header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Request Body schema: application/json
required
release[label]
string

Updated version label

release[summary]
string

Updated summary

release[description]
string

Updated description

release[send_images_separately]
boolean

Whether to send attachment images separately

Array of objects
release[remove_attachments]
Array of strings

IDs of attachments to remove

release[attachments]
Array of strings <binary> [ items <binary > ]

New attachments to add

Responses

Request samples

Content type
application/json
{
  • "release[label]": "string",
  • "release[summary]": "string",
  • "release[description]": "string",
  • "release[send_images_separately]": true,
  • "release[download_links_attributes]": [
    ],
  • "release[remove_attachments]": [
    ],
  • "release[attachments]": [
    ]
}

Response samples

Content type
application/json
Example
{
  • "release[label]": "v1.0.1",
  • "release[summary]": "Hotfix release",
  • "release[description]": "Critical bug fixes for v1.0.0"
}

Delete a release

Deletes a release from the project. Cannot delete the last remaining release of a project. All associated download links and attachments are also removed.

path Parameters
project_id
required
string
release_id
required
string
header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "Release was successfully deleted."
}

Get download information or redirect to download

Provides download information for a release. If a platform parameter is provided, tracks the download and redirects to the actual download URL. Otherwise, returns download information for all available platforms.

path Parameters
project_id
required
string
release_id
required
string
query Parameters
platform
string

Platform to download (e.g., "windows", "macos", "linux"). If provided, redirects to download URL.

header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Responses

Response samples

Content type
application/json
{}

issues

Search issues (bugs)

Searches for issues (bug reports) within a project. Uses full-text search powered by Meilisearch to find matching issues based on the query string. Returns matching titles for autocomplete functionality or full issue objects for detailed results. Note: Search is performed across all issues in the project, then filtered by visibility permissions. The search includes issue titles and descriptions.

path Parameters
project_id
required
string
query Parameters
query
required
string

The search query string to match against issue titles and descriptions

skip_ids
string

Comma-separated list of issue IDs to exclude from results

partial
string
Enum: "true" "false"

When set to 'true', returns limited results optimized for autocomplete (max 4 results)

scoped_id
string

Instead of searching, find a specific issue by its scoped ID (e.g., "123" or "g-456")

header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Responses

Response samples

Content type
application/json
Example
[
  • "App crashes on login screen",
  • "Memory leak in multiplayer mode",
  • "Controller input not recognized"
]

Search issues (bugs)

Alternative POST method for searching issues. Accepts the same parameters as the GET method but allows for longer search queries that might exceed URL length limits.

path Parameters
project_id
required
string
header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Request Body schema: application/x-www-form-urlencoded
required
query
required
string

The search query string to match against issue titles and descriptions

skip_ids
string

Comma-separated list of issue IDs to exclude from results

partial
string
Enum: "true" "false"

When set to 'true', returns limited results optimized for autocomplete (max 4 results)

scoped_id
string

Instead of searching, find a specific issue by its scoped ID

Responses

Response samples

Content type
application/json
Example
[ ]

Screenshots

Get presigned URL for direct screenshot upload

Request a presigned URL for uploading a screenshot directly to S3. This is the first step of the two-step direct upload process.

path Parameters
project_id
required
string
issue_id
required
string
header Parameters
Authorization
string
Example: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

API token for accessing draft issues or performing direct uploads. Can be a JWT token returned from issue creation in draft mode, or other valid authorization tokens. Format: "Bearer TOKEN" or "FormUser tkn-TOKEN"

Request Body schema: application/json
required
filename
required
string

Name of the file to upload

byte_size
required
integer

Size of the file in bytes

checksum
required
string

Base64-encoded MD5 checksum of the file

content_type
required
string
Enum: "image/png" "image/jpeg" "image/jpg"

MIME type of the file

Responses

Request samples

Content type
application/json
{
  • "filename": "screenshot.png",
  • "byte_size": 1048576,
  • "checksum": "1B2M2Y8AsgTpgAmY7PhCfg==",
  • "content_type": "image/png"
}

Response samples

Content type
application/json
{
  • "blob_signed_id": "string",
  • "direct_upload_url": "http://example.com",
  • "headers": {
    },
  • "blob_id": 0
}

Confirm screenshot upload completion

Confirm that the file has been uploaded to S3 and attach it to the issue. This is the second step of the two-step direct upload process.

path Parameters
project_id
required
string
issue_id
required
string
header Parameters
Authorization
string
Example: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

API token for accessing draft issues or performing direct uploads. Can be a JWT token returned from issue creation in draft mode, or other valid authorization tokens. Format: "Bearer TOKEN" or "FormUser tkn-TOKEN"

Request Body schema: application/json
required
blob_signed_id
required
string

Signed ID of the blob received from presigned_upload

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "status": "string",
  • "description": "string",
  • "issue_id": "string",
  • "image_url": "http://example.com"
}

Log Files

Get presigned URL for direct log file upload

Request a presigned URL for uploading a log file directly to S3. This is the first step of the two-step direct upload process.

path Parameters
project_id
required
string
issue_id
required
string
header Parameters
Authorization
string
Example: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

API token for accessing draft issues or performing direct uploads. Can be a JWT token returned from issue creation in draft mode, or other valid authorization tokens. Format: "Bearer TOKEN" or "FormUser tkn-TOKEN"

Request Body schema: application/json
required
filename
required
string

Name of the log file to upload

byte_size
required
integer

Size of the file in bytes

checksum
required
string

Base64-encoded MD5 checksum of the file

content_type
required
string
Enum: "text/plain" "text/log" "application/octet-stream" "text/x-log"

MIME type of the log file

name
string

Optional display name for the log file

Responses

Request samples

Content type
application/json
{
  • "filename": "application.log",
  • "byte_size": 2048000,
  • "checksum": "1B2M2Y8AsgTpgAmY7PhCfg==",
  • "content_type": "text/plain",
  • "name": "Debug Log"
}

Response samples

Content type
application/json
{
  • "blob_signed_id": "string",
  • "direct_upload_url": "http://example.com",
  • "headers": {
    },
  • "blob_id": 0
}

Confirm log file upload completion

Confirm that the log file has been uploaded to S3 and attach it to the issue. This is the second step of the two-step direct upload process.

path Parameters
project_id
required
string
issue_id
required
string
header Parameters
Authorization
string
Example: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

API token for accessing draft issues or performing direct uploads. Can be a JWT token returned from issue creation in draft mode, or other valid authorization tokens. Format: "Bearer TOKEN" or "FormUser tkn-TOKEN"

Request Body schema: application/json
required
blob_signed_id
required
string

Signed ID of the blob received from presigned_upload

name
string

Optional display name for the log file

Responses

Request samples

Content type
application/json
{
  • "blob_signed_id": "string",
  • "name": "Debug Log"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "issue_id": "string",
  • "name": "string",
  • "filename": "string",
  • "file_url": "http://example.com"
}

Video Clips

Get presigned URL for direct video clip upload

Request a presigned URL for uploading a video clip directly to S3. This is the first step of the two-step direct upload process.

path Parameters
project_id
required
string
issue_id
required
string
header Parameters
Authorization
string
Example: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

API token for accessing draft issues or performing direct uploads. Can be a JWT token returned from issue creation in draft mode, or other valid authorization tokens. Format: "Bearer TOKEN" or "FormUser tkn-TOKEN"

Request Body schema: application/json
required
filename
required
string

Name of the video file to upload

byte_size
required
integer

Size of the file in bytes

checksum
required
string

Base64-encoded MD5 checksum of the file

content_type
required
string
Enum: "video/mp4" "video/quicktime" "video/webm" "video/avi" "video/mov"

MIME type of the video file

Responses

Request samples

Content type
application/json
{
  • "filename": "gameplay.mp4",
  • "byte_size": 52428800,
  • "checksum": "1B2M2Y8AsgTpgAmY7PhCfg==",
  • "content_type": "video/mp4"
}

Response samples

Content type
application/json
{
  • "blob_signed_id": "string",
  • "direct_upload_url": "http://example.com",
  • "headers": {
    },
  • "blob_id": 0
}

Confirm video clip upload completion

Confirm that the video file has been uploaded to S3 and attach it to the issue. This is the second step of the two-step direct upload process.

path Parameters
project_id
required
string
issue_id
required
string
header Parameters
Authorization
string
Example: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

API token for accessing draft issues or performing direct uploads. Can be a JWT token returned from issue creation in draft mode, or other valid authorization tokens. Format: "Bearer TOKEN" or "FormUser tkn-TOKEN"

Request Body schema: application/json
required
blob_signed_id
required
string

Signed ID of the blob received from presigned_upload

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "id": "string",
  • "issue_id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "processing": true,
  • "processed": true,
  • "failed": true,
  • "video_url": "http://example.com"
}

playtime_sessions

Creates a new playtime session

This endpoint is used to create a new playtime session for a project. The playtime session is used to track the user's playtime in the project. You can pass any key=value tag pairs in the request body to associate with the playtime session. For instance, you can pass playtime_session[platform]=ios to associate the playtime session with the iOS platform. The returned is a uuid that can be used to update the playtime session using the PUT endpoint.

path Parameters
project_id
required
string
header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Request Body schema: application/json
required
playtime_session[tags]
required
string

Key-value pairs to associate with the playtime session.

Responses

Request samples

Content type
application/json
{
  • "playtime_session[tags]": "string"
}

Response samples

Content type
application/json
Example
{
  • "playtime_session[tags]": "platform=ios"
}

Updates a playtime session

This endpoint is used to update a playtime session for a project. The playtime session is used to track the user's playtime in the project. Use the playtime session ID returned from the POST endpoint to update the playtime session. Call this endpoint no longer than every 5 minutes to update the playtime session.

path Parameters
project_id
required
string
playtime_session_id
required
string
header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Responses

Response samples

Content type
application/json
{
  • "id": "1234abc"
}

feature_requests

Search feature requests (suggestions)

Searches for feature requests (also known as suggestions) within a project. Uses full-text search powered by Meilisearch to find matching feature requests based on the query string. Returns matching titles for autocomplete functionality or full feature request objects for detailed results. Note: Only searches among publicly visible, active feature requests (excludes pending moderation, rejected, muted, duplicate, and split requests).

path Parameters
project_id
required
string
query Parameters
query
required
string

The search query string to match against feature request titles and descriptions

skip_ids
string

Comma-separated list of feature request IDs to exclude from results

partial
string
Enum: "true" "false"

When set to 'true', returns limited results optimized for autocomplete (max 4 results)

scoped_id
string

Instead of searching, find a specific feature request by its scoped ID (e.g., "123" or "fr-456")

header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Responses

Response samples

Content type
application/json
Example
[
  • "Add dark mode support",
  • "Implement multiplayer functionality",
  • "Add controller remapping"
]

tickets

Search support tickets

Searches for support tickets within a project using a simple query string. Returns matching tickets with basic information (id and title) for autocomplete functionality. Uses ILIKE pattern matching on title and description fields. Results are limited to 10 tickets and filtered based on user permissions.

path Parameters
project_id
required
string
query Parameters
query
required
string

The search query string to match against ticket titles and descriptions

header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Creates a new support ticket

Creates a new support ticket for a project. Support tickets are used for customer support, help requests, and technical assistance.

Authentication Support: - Discord Bot: Can create tickets on behalf of Discord users by providing discord_id, discord_username, and discord_discriminator - Authenticated Users: Tickets are created with current_user as reporter - Anonymous Users: On public projects, creates a virtual user automatically

Attachments: Tickets can include file attachments (images, documents, logs) using multipart/form-data. Multiple files can be attached by providing the attachments parameter multiple times.

path Parameters
project_id
required
string
header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Request Body schema: multipart/form-data
required
ticket[description]
required
string

Description of the support ticket. Required.

ticket[title]
string

Title of the ticket. If not provided, will be auto-generated from description.

ticket[priority]
string
Enum: "low" "medium" "high" "critical"

Priority level. Defaults to 'low'.

ticket[attachments][]
Array of strings <binary> [ items <binary > ]

File attachments (images, documents, logs, etc.). Can be provided multiple times for multiple files.

user[discord_id]
string

Discord ID of the user creating the ticket. Only used when authenticated as a Discord bot.

user[discord_username]
string

Discord username. Only used when authenticated as a Discord bot.

user[discord_discriminator]
string

Discord discriminator. Only used when authenticated as a Discord bot.

Responses

Response samples

Content type
application/json
Example
{
  • "ticket[description]": "I need help resetting my password",
  • "ticket[priority]": "high"
}

Get support ticket details

Retrieves detailed information about a specific support ticket, including all attachments, status, priority, and assignment information.

path Parameters
project_id
required
string
id
required
string

The ticket ID. Can be a numeric ID or scoped ID format.

header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Responses

Response samples

Content type
application/json
{
  • "id": "123",
  • "title": "Password reset assistance needed",
  • "description": "I need help resetting my password",
  • "status": "open",
  • "priority": "high",
  • "created_at": "2024-10-06T10:00:00Z",
  • "updated_at": "2024-10-06T10:30:00Z",
  • "reporter": {
    },
  • "assigned_to": {
    },
  • "attachments": []
}

Update an existing support ticket

Updates an existing support ticket with new information. This endpoint supports comprehensive ticket management including:

Supported Operations: - Update ticket fields (title, description, status, priority, assignment) - Add new attachments - Upload new files to the ticket - Remove existing attachments - Delete specific attachments by ID - Perform both add and remove operations in a single request

Attachment Management: This endpoint was recently enhanced to support full attachment management via JSON API. You can now: - Add multiple new attachments using multipart/form-data or file upload - Remove specific attachments by providing their IDs - Combine both operations in a single update request

Status Transitions: When a ticket is assigned for the first time (or reassignment occurs) and its status is "new", it automatically transitions to "open" status.

path Parameters
project_id
required
string
id
required
string

The ticket ID. Can be a numeric ID or scoped ID format.

header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Request Body schema: multipart/form-data
required
ticket[title]
string

Updated title

ticket[description]
string

Updated description

ticket[status]
string
Enum: "new" "open" "pending" "solved" "closed"

Updated status

ticket[priority]
string
Enum: "low" "medium" "high" "critical"

Updated priority

ticket[assigned_to_id]
string

ID of user to assign the ticket to

ticket[attachments][]
Array of strings <binary> [ items <binary > ]

New file attachments to add. Can be provided multiple times for multiple files.

ticket[remove_attachment_ids][]
Array of strings

IDs of existing attachments to remove. Can be provided multiple times for multiple IDs.

Responses

Response samples

Content type
application/json
Example
{
  • "ticket[status]": "solved",
  • "ticket[description]": "Issue resolved - password reset email sent"
}

game_facts

Export game facts for a project

Retrieves comprehensive game facts data for a project in JSON format. Game facts include information about the game's mechanics, technical specifications, target audience, platforms, glossary terms, and other project-specific details that help with AI-powered issue categorization and context understanding.

path Parameters
project_id
required
string
header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Responses

Response samples

Content type
application/json
{
  • "description": "A fantasy RPG set in a magical world",
  • "genre": "Action RPG",
  • "target_audience": "Teen",
  • "platforms": [
    ],
  • "core_mechanics": {
    },
  • "technical_specifications": {
    },
  • "glossary": {
    },
  • "project": {
    },
  • "meta": {
    }
}

Update or import game facts for a project

Updates game facts for a project with new JSON data. This endpoint can be used to programmatically import game facts from external sources or update specific sections of the game facts. If no game facts exist for the project, new ones will be created. All validation rules apply, including field length limits and required nested structures.

path Parameters
project_id
required
string
header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Request Body schema: application/json
required
object (GameFactRequest)

Responses

Request samples

Content type
application/json
{
  • "game_fact": {
    }
}

Response samples

Content type
application/json
{
  • "description": "Updated game description",
  • "genre": "Action RPG",
  • "target_audience": "Teen",
  • "platforms": [
    ],
  • "core_mechanics": {
    },
  • "project": {
    },
  • "meta": {
    }
}

releases

List releases for a project

Retrieves a list of releases for the specified project, ordered by creation date (oldest first). Returns release details including label, description, download links, and metadata.

path Parameters
project_id
required
string
header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Responses

Response samples

Content type
application/json
[]

Create a new release

Creates a new release for a project. Releases contain download links, attachments, and metadata about a version of the project. Automatically triggers notifications to project members.

path Parameters
project_id
required
string
header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Request Body schema: multipart/form-data
required
release[label]
required
string

Version label for the release (e.g., "v1.0.0")

release[summary]
string

Brief summary of the release

release[description]
string

Detailed description of the release changes

release[send_images_separately]
boolean

Whether to send attachment images separately in notifications

release[attachments]
Array of strings <binary> [ items <binary > ]

File attachments for the release

Array of objects

Responses

Response samples

Content type
application/json
Example
{
  • "release[label]": "v1.1.0",
  • "release[summary]": "Bug fixes and improvements",
  • "release[description]": "This release includes several bug fixes and performance improvements.",
  • "release[download_links_attributes]": []
}

Get details of a specific release

Retrieves detailed information about a specific release, including all download links, attachments, and metadata.

path Parameters
project_id
required
string
release_id
required
string
header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Responses

Response samples

Content type
application/json
{}

Update an existing release

Updates an existing release with new information. Download links and attachments are handled separately from the main release data.

path Parameters
project_id
required
string
release_id
required
string
header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Request Body schema: application/json
required
release[label]
string

Updated version label

release[summary]
string

Updated summary

release[description]
string

Updated description

release[send_images_separately]
boolean

Whether to send attachment images separately

Array of objects
release[remove_attachments]
Array of strings

IDs of attachments to remove

release[attachments]
Array of strings <binary> [ items <binary > ]

New attachments to add

Responses

Request samples

Content type
application/json
{
  • "release[label]": "string",
  • "release[summary]": "string",
  • "release[description]": "string",
  • "release[send_images_separately]": true,
  • "release[download_links_attributes]": [
    ],
  • "release[remove_attachments]": [
    ],
  • "release[attachments]": [
    ]
}

Response samples

Content type
application/json
Example
{
  • "release[label]": "v1.0.1",
  • "release[summary]": "Hotfix release",
  • "release[description]": "Critical bug fixes for v1.0.0"
}

Delete a release

Deletes a release from the project. Cannot delete the last remaining release of a project. All associated download links and attachments are also removed.

path Parameters
project_id
required
string
release_id
required
string
header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "Release was successfully deleted."
}

Get download information or redirect to download

Provides download information for a release. If a platform parameter is provided, tracks the download and redirects to the actual download URL. Otherwise, returns download information for all available platforms.

path Parameters
project_id
required
string
release_id
required
string
query Parameters
platform
string

Platform to download (e.g., "windows", "macos", "linux"). If provided, redirects to download URL.

header Parameters
Accept
required
string
Value: "application/json"

Accept header

Authorization
required
string
Example: Bearer YOUR_PERSONAL_ACCESS_TOKEN_HERE

Authorization header for API access. Supports multiple authentication methods:

  1. Anonymous access: FormUser anonymous - for public operations 2. Token-based access: FormUser tkn-{token} - for authenticated operations with legacy tokens 3. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations Personal Access Tokens provide enhanced security and can be created and managed in your account settings. They are ideal for API integrations, automated scripts, and CI/CD pipelines. Tokens can have different permissions, including: - can_create_bug_report: Allows creating bug reports - can_create_feature_request: Allows creating feature requests - can_read_release_list: Allows listing releases - can_create_release: Allows creating new releases dynamically via release_label - can_update_issue: Allows updating existing issues - can_list_issues: Allows listing project issues For more information about Personal Access Tokens, see: https://betahub.io/docs/account/#personal-access-tokens
BetaHub-Project-ID
required
string

BetaHub project ID, the same as the project_id

Responses

Response samples

Content type
application/json
{}