List idea portals

GET /api/v3/idea_portals

Request conventions

API key or OAuth2 access token. See Authentication.

Use your account domain and token in copied requests. Request values and conditional fields must satisfy your account’s validation rules.

URL settings

The part before .aha.io. Leave blank to use the example domain.

Number of records per page (default 25, max 200)

Opaque cursor from a previous response to fetch the next page

Fields

Choose fields to return, filter, or sort. Expand a field for examples and associated fields. Collections can only be returned on the top-level resource, not inside an associated resource.

Default response fields are returned until you select specific fields.

Add and edit filters and sorting in field details. Examples illustrate the response shape, not matching records.

FieldTypeReturned by defaultSortableSupported filters

Unique record ID.

integerYesYes
eqnot_eqgtgteltlteinnot_inbetweenemptynot_empty

URL to view the record in Aha!

stringYesNoNone

API URL for the record.

stringYesNoNone

External URL for the idea portal.

stringNoNoNone

Name of the record.

stringYesYes
eqnot_eqcontainsstarts_withinnot_inemptynot_empty

Subtitle of the idea portal.

stringNoYes
eqnot_eqcontainsstarts_withinnot_inemptynot_empty

Access level of the idea portal.

stringNoYes
eqnot_eqinnot_inemptynot_empty

Whether the idea portal is enabled.

booleanNoYes
eq

Custom domain of the idea portal.

stringNoYes
eqnot_eqcontainsstarts_withinnot_inemptynot_empty

Company name of the idea portal.

stringNoYes
eqnot_eqcontainsstarts_withinnot_inemptynot_empty

Reply-to email address for the idea portal.

stringNoYes
eqnot_eqcontainsstarts_withinnot_inemptynot_empty

Date and time when the record was created.

date-timeNoYes
eqgtgteltltebetweenemptynot_empty

Date and time when the record was last updated.

date-timeNoYes
eqgtgteltltebetweenemptynot_empty

Projects associated with the idea portal. Omitted by default. Request the field for inline records with default sub-fields, or choose sub-fields (e.g., ?fields=projects[default]). Capped at 25 records. Only available on the top-level resource.

CollectionNoNo
emptynot_empty

Whether spam check is enabled for the idea portal.

booleanNoYes
eq

Whether search engine crawlers can index the idea portal.

booleanNoYes
eq

Logo URL for the idea portal.

stringNoNoNone

Favicon URL for the idea portal.

stringNoNoNone

Email logo URL for the idea portal.

stringNoNoNone

Display style of the idea portal.

stringNoYes
eqnot_eqinnot_inemptynot_empty

Custom CSS for the idea portal.

stringNoNoNone

Custom JavaScript for the idea portal.

stringNoNoNone

Custom header of the idea portal.

stringNoNoNone

Custom footer of the idea portal.

stringNoNoNone

Color branding for the idea portal.

PortalBrandingNoNoNone

Whether comment visibility is enabled for the idea portal.

booleanNoYes
eq

Whether comment mentions is enabled for the idea portal.

booleanNoYes
eq

Whether comment likes is enabled for the idea portal.

booleanNoYes
eq

Whether organization feedback is enabled for the idea portal.

booleanNoYes
eq

Whether records from any workspace can be promoted to the idea portal.

booleanNoYes
eq

Whether ideas are restricted in the idea portal.

booleanNoYes
eq

Whether AI category suggestions are enabled for the idea portal.

booleanNoNoNone

Default idea visibility for Aha! users in the idea portal.

stringNoYes
eqnot_eqinnot_inemptynot_empty

Default idea visibility for employees in the idea portal.

stringNoYes
eqnot_eqinnot_inemptynot_empty

Default idea visibility for portal users in the idea portal.

stringNoYes
eqnot_eqinnot_inemptynot_empty

Default comment visibility for Aha! users in the idea portal.

stringNoYes
eqnot_eqinnot_inemptynot_empty

Default comment visibility for employees in the idea portal.

stringNoYes
eqnot_eqinnot_inemptynot_empty

Default comment visibility for portal users in the idea portal.

stringNoYes
eqnot_eqinnot_inemptynot_empty

Whether proxy voting is enabled for the idea portal.

booleanNoYes
eq

Whether all proxy votes are enabled for the idea portal.

booleanNoYes
eq

Whether proxy votes are enabled for organization feedback.

booleanNoYes
eq

Maximum endorsements a user can add across the idea portal.

integerNoYes
eqnot_eqgtgteltlteinnot_inbetweenemptynot_empty

Maximum endorsements a user can add to one idea.

integerNoYes
eqnot_eqgtgteltlteinnot_inbetweenemptynot_empty

Whether organization counts are shown in the idea portal.

booleanNoYes
eq

Whether email is enabled for the idea portal.

booleanNoNoNone

Whether weekly email is enabled for the idea portal.

booleanNoYes
eq

Whether idea portal users are unsubscribed by default.

booleanNoYes
eq

Summary email frequency of the idea portal.

stringNoNoNone

ID of the outbound email domain used by the idea portal.

stringNoNoNone

Branding for idea portal emails.

EmailBrandingNoNoNone

Default locale of the idea portal.

stringNoYes
eqnot_eqinnot_inemptynot_empty

Enabled locales of the idea portal.

arrayNoNoNone

Employee email patterns of the idea portal.

stringNoNoNone

Self registration email patterns of the idea portal.

stringNoNoNone

Whether user names are hidden in the idea portal.

booleanNoYes
eq

Whether portal users can view all other portal user names.

booleanNoYes
eq

Whether consent is enabled for the idea portal.

booleanNoYes
eq

Consent label of the idea portal.

stringNoNoNone

Whether IP address restrictions are ignored for the idea portal.

booleanNoYes
eq

Whether Aha! users must sign in to access the idea portal.

booleanNoYes
eq

Whether simple authentication is enabled for the idea portal.

booleanNoYes
eq

Search matches the start of a field path and includes matching associations’ subfields. Use a dotted path to search within a specific association.

Query syntax

Return selected fields with a comma-separated fields parameter, or add a field to the defaults with fields=default,{field}. Expand an association above for its supported subfields and selection examples.

Filter with filter.{operator}[{field}]=value. Multiple filters combine with AND. Use comma-separated values for in and not_in, two inclusive bounds for between, and true for empty and not_empty.

Sort with sort.asc={field} or sort.desc={field}. Explicit sorting limits results to 1,000 records. Omit sorting to retrieve all results in descending ID order.

Set the page size with per_page. Follow pagination.next_url while pagination.has_more is true.

Filter operators

eq equals; not_eq does not equal; contains contains text; starts_with starts with text (both case-insensitive).

gt greater than; gte greater than or equal; lt less than; lte less than or equal.

in matches any listed value; not_in excludes listed values; between matches an inclusive range; empty and not_empty check for an absent or present value.

See field selection, filtering, and pagination and sorting limits for details.

Response statuses

Error shape for 400, 401, 403

Type: object

error

Type: object

Required properties: status, code, message, request_id.

status

Type: integer

code

Type: string

message

Type: string

request_id

Type: string

Response envelope and pagination

records: array of records. Fields are documented above.

pagination

Type: object

Required properties: has_more.

has_more

Type: boolean

next_cursor

Type: string or null

next_url

Type: string or null (uri)

truncated

Type: boolean

truncated_message

Type: string

Download the complete OpenAPI specification

© 2026 Aha! Labs Inc. • All rights reserved