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 - Token with Email: Use FormUser tkn-{token},email:{email} to create/link virtual users by email - Token with Discord ID: Use FormUser tkn-{token},discord_id:{discord_id} to create/link virtual users by Discord ID - Token with JWT: Use FormUser tkn-{token},{jwt_token} for user identification with JWT tokens (legacy) - Personal Access Tokens: Use Bearer YOUR_TOKEN_HERE format for enhanced security

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for linking form submissions to specific individuals and tracking submissions across multiple reports from the same person. 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: "open" "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: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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
{
  • "issues": [
    ],
  • "pagination": {
    },
  • "project_id": 123
}

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: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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
{
  • "issues": [
    ],
  • "pagination": {
    },
  • "project_id": 0
}

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: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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: "open" "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]": "open",
  • "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"
}

[DEPRECATED] Set reporter email for a draft issue

DEPRECATED: Use set_contact_info instead. This endpoint is maintained for backward compatibility. Sets the reporter email for a draft issue. This creates a virtual user who will receive notifications about the issue. This endpoint now also supports discord_id parameter.

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

Accept header

Authorization
required
string
Example: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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
One of
email
required
string <email>

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

discord_id
string

The Discord ID of the reporter. Must be numeric.

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com",
  • "discord_id": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "issue_id": "string",
  • "reporter": {
    }
}

Set contact information for a draft issue

Sets contact information (email or Discord ID) for a draft issue reporter. This creates a virtual user who will receive notifications about the issue. This step is optional in the draft flow. Either email or discord_id must be provided.

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

Accept header

Authorization
required
string
Example: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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
One of
email
required
string <email>

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

discord_id
string

The Discord ID of the reporter. Must be numeric.

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com",
  • "discord_id": "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 open 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: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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

screenshot[name]
string

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

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: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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

video_clip[name]
string

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

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: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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.

draft
boolean

When set to true, creates the feature request in hidden (draft) status. Draft feature requests are not visible until published.

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: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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
{
  • "feature_requests": [
    ],
  • "pagination": {
    },
  • "sort": "top",
  • "project_id": 123,
  • "votes": 42,
  • "voted": false,
}

Set contact information for a draft feature request

Sets or updates the contact information (email or Discord ID) for a feature request. This is primarily used in the draft flow to capture user contact details. Either email or discord_id must be provided. This creates a virtual user who will receive notifications about the feature request.

path Parameters
project_id
required
string
id
required
string

The feature request ID or scoped ID

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

Accept header

Authorization
required
string
Example: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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
One of
email
required
string <email>

Email address of the user. Either email or discord_id is required.

discord_id
string

Discord user ID (numeric string). Either email or discord_id is required.

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com",
  • "discord_id": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "Contact information assigned successfully",
  • "feature_request_id": "1234",
  • "user": {
    }
}

Publish a draft feature request

Publishes a draft (hidden) feature request by changing its status from hidden to open. This makes the feature request visible to other users. Typically used at the end of the draft flow when the user completes their submission.

path Parameters
project_id
required
string
id
required
string

The feature request ID or scoped ID

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

Accept header

Authorization
required
string
Example: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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
}

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: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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.

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: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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.

ticket[reporter_email]
string <email>

Email address of the ticket reporter. Optional for authenticated users and Discord bot. Required for anonymous FormUser submissions (when auth header doesn't include email/discord_id). If provided, a virtual user will be created/found with this email. Form field takes precedence over auth header email.

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: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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 by default). Returns release details including label, description, download links, and metadata. By default, only published releases are returned. Use the show_drafts parameter (developers only) to include draft releases, or show_archived to include archived releases.

path Parameters
project_id
required
string
query Parameters
sort
string
Default: "asc"
Enum: "asc" "desc"

Sort order by creation date. asc for oldest first (default), desc for newest first.

show_drafts
string
Default: "false"
Enum: "true" "false"

Include draft releases in the response. Only project developers can view drafts. Set to true to show draft releases. This parameter is ignored for non-developers.

show_archived
string
Default: "false"
Enum: "true" "false"

Include archived releases in the response. Set to true to show archived releases.

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

Accept header

Authorization
required
string
Example: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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. By default, releases are created as published and trigger notifications to project members. Use release[status]=draft to create a draft release that can be edited before publishing.

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

Accept header

Authorization
required
string
Example: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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
release[status]
string
Default: "published"
Enum: "draft" "published"

The publication status for the release. Set to draft to create a draft release that is only visible to developers and does not trigger notifications. Set to published (default) to publish immediately and notify project members.

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. Draft releases are only visible to project developers.

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

Accept header

Authorization
required
string
Example: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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 only published release of a project - archive it instead. Cannot delete a release that has issues assigned. 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: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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
{}

Publish a draft release

Publishes a draft release, making it visible to all project members and sending notifications. This is an idempotent operation - calling it on an already published release returns success without changes.

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

Accept header

Authorization
required
string
Example: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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": "rel-123abc",
  • "label": "v1.0.0",
  • "summary": "Initial release",
  • "description": "First stable version",
  • "status": "published",
  • "active": true,
  • "release_type": "regular",
  • "created_at": "2024-10-03T12:34:56Z",
  • "updated_at": "2024-10-03T15:20:30Z",
  • "download_links": [ ],
  • "attachments_count": 0,
}

Archive a release

Archives a release, hiding it from testers and release selection forms. Cannot archive the only published release - at least one published release must remain. Use /restore to bring an archived release back.

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

Accept header

Authorization
required
string
Example: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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": "rel-123abc",
  • "label": "v0.9.0",
  • "summary": "Beta release",
  • "description": "Old beta version",
  • "status": "archived",
  • "active": false,
  • "release_type": "regular",
  • "created_at": "2024-09-01T12:34:56Z",
  • "updated_at": "2024-10-03T15:20:30Z",
  • "download_links": [ ],
  • "attachments_count": 0,
}

Restore an archived release

Restores an archived release back to published status, making it visible to testers and available in release selection forms again.

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

Accept header

Authorization
required
string
Example: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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": "rel-123abc",
  • "label": "v0.9.0",
  • "summary": "Beta release",
  • "description": "Old beta version",
  • "status": "published",
  • "active": true,
  • "release_type": "regular",
  • "created_at": "2024-09-01T12:34:56Z",
  • "updated_at": "2024-10-03T15:20:30Z",
  • "download_links": [ ],
  • "attachments_count": 0,
}

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: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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
{
  • "issues": [
    ],
  • "pagination": {
    },
  • "project_id": 123
}

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: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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
{
  • "issues": [
    ],
  • "pagination": {
    },
  • "project_id": 0
}

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

name
string

Optional display name for the screenshot file

Responses

Request samples

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

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

name
string

Optional display name for the screenshot file

Responses

Request samples

Content type
application/json
{
  • "blob_signed_id": "string",
  • "name": "Player Death Screenshot"
}

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

name
string

Optional display name for the video clip file

Responses

Request samples

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

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

name
string

Optional display name for the video clip file

Responses

Request samples

Content type
application/json
{
  • "blob_signed_id": "string",
  • "name": "Boss Fight Gameplay"
}

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: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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
{
  • "feature_requests": [
    ],
  • "pagination": {
    },
  • "sort": "top",
  • "project_id": 123,
  • "votes": 42,
  • "voted": false,
}

Set contact information for a draft feature request

Sets or updates the contact information (email or Discord ID) for a feature request. This is primarily used in the draft flow to capture user contact details. Either email or discord_id must be provided. This creates a virtual user who will receive notifications about the feature request.

path Parameters
project_id
required
string
id
required
string

The feature request ID or scoped ID

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

Accept header

Authorization
required
string
Example: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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
One of
email
required
string <email>

Email address of the user. Either email or discord_id is required.

discord_id
string

Discord user ID (numeric string). Either email or discord_id is required.

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com",
  • "discord_id": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "Contact information assigned successfully",
  • "feature_request_id": "1234",
  • "user": {
    }
}

Publish a draft feature request

Publishes a draft (hidden) feature request by changing its status from hidden to open. This makes the feature request visible to other users. Typically used at the end of the draft flow when the user completes their submission.

path Parameters
project_id
required
string
id
required
string

The feature request ID or scoped ID

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

Accept header

Authorization
required
string
Example: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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
}

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: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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.

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: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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.

ticket[reporter_email]
string <email>

Email address of the ticket reporter. Optional for authenticated users and Discord bot. Required for anonymous FormUser submissions (when auth header doesn't include email/discord_id). If provided, a virtual user will be created/found with this email. Form field takes precedence over auth header email.

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: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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 by default). Returns release details including label, description, download links, and metadata. By default, only published releases are returned. Use the show_drafts parameter (developers only) to include draft releases, or show_archived to include archived releases.

path Parameters
project_id
required
string
query Parameters
sort
string
Default: "asc"
Enum: "asc" "desc"

Sort order by creation date. asc for oldest first (default), desc for newest first.

show_drafts
string
Default: "false"
Enum: "true" "false"

Include draft releases in the response. Only project developers can view drafts. Set to true to show draft releases. This parameter is ignored for non-developers.

show_archived
string
Default: "false"
Enum: "true" "false"

Include archived releases in the response. Set to true to show archived releases.

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

Accept header

Authorization
required
string
Example: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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. By default, releases are created as published and trigger notifications to project members. Use release[status]=draft to create a draft release that can be edited before publishing.

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

Accept header

Authorization
required
string
Example: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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
release[status]
string
Default: "published"
Enum: "draft" "published"

The publication status for the release. Set to draft to create a draft release that is only visible to developers and does not trigger notifications. Set to published (default) to publish immediately and notify project members.

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. Draft releases are only visible to project developers.

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

Accept header

Authorization
required
string
Example: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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 only published release of a project - archive it instead. Cannot delete a release that has issues assigned. 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: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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
{}

Publish a draft release

Publishes a draft release, making it visible to all project members and sending notifications. This is an idempotent operation - calling it on an already published release returns success without changes.

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

Accept header

Authorization
required
string
Example: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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": "rel-123abc",
  • "label": "v1.0.0",
  • "summary": "Initial release",
  • "description": "First stable version",
  • "status": "published",
  • "active": true,
  • "release_type": "regular",
  • "created_at": "2024-10-03T12:34:56Z",
  • "updated_at": "2024-10-03T15:20:30Z",
  • "download_links": [ ],
  • "attachments_count": 0,
}

Archive a release

Archives a release, hiding it from testers and release selection forms. Cannot archive the only published release - at least one published release must remain. Use /restore to bring an archived release back.

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

Accept header

Authorization
required
string
Example: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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": "rel-123abc",
  • "label": "v0.9.0",
  • "summary": "Beta release",
  • "description": "Old beta version",
  • "status": "archived",
  • "active": false,
  • "release_type": "regular",
  • "created_at": "2024-09-01T12:34:56Z",
  • "updated_at": "2024-10-03T15:20:30Z",
  • "download_links": [ ],
  • "attachments_count": 0,
}

Restore an archived release

Restores an archived release back to published status, making it visible to testers and available in release selection forms again.

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

Accept header

Authorization
required
string
Example: FormUser tkn-abc123,email:user@example.com

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. Token with Email: FormUser tkn-{token},email:{email} - creates/links virtual user by email 4. Token with Discord ID: FormUser tkn-{token},discord_id:{discord_id} - creates/links virtual user by Discord ID 5. Token with JWT: FormUser tkn-{token},{jwt_token} - user identification with JWT token (legacy) 6. Personal Access Tokens: Bearer YOUR_TOKEN_HERE - recommended for API integrations

Virtual User Creation

When using email: or discord_id: formats with FormUser tokens, the system automatically creates or reuses virtual users. Virtual users are accounts created on-the-fly for form submissions without requiring full user registration. This is useful for:

  • Linking form submissions to specific individuals by email or Discord ID - Tracking submissions across multiple reports from the same person - Creating user profiles without sign-up workflows

Virtual users created this way are marked as virtual accounts and work across Issues, Feature Requests, and Support Tickets.

Validation Rules:

  • email: format must match RFC 5322 email format. Invalid emails will fall back to anonymous access. - discord_id: format must be numeric (digits only). Invalid discord_ids will fall back to anonymous access. - Invalid identifiers do not cause HTTP errors; they fall back to anonymous authentication for graceful degradation.

Personal Access Tokens

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": "rel-123abc",
  • "label": "v0.9.0",
  • "summary": "Beta release",
  • "description": "Old beta version",
  • "status": "published",
  • "active": true,
  • "release_type": "regular",
  • "created_at": "2024-09-01T12:34:56Z",
  • "updated_at": "2024-10-03T15:20:30Z",
  • "download_links": [ ],
  • "attachments_count": 0,
}