V1::AppsController#v2_facets (AppTypesenseSearch.facets):
+ * returns { data: { category_name: [...], auth_type: [...] } }.
*/
- public SyncPagingIterableV1::AppsController#v2_facets (AppTypesenseSearch.facets):
+ * returns { data: { category_name: [...], auth_type: [...] } }.
*/
- public SyncPagingIterableapp_abc123) or name_slug (e.g. github).
+ * If the value starts with app_ it is treated as a hashid and matched against
+ * the document id field; otherwise it is matched against name_slug.
*/
- public GetAppResponse retrieve(String appId) {
+ public AppResponse retrieve(String appId) {
return this.rawClient.retrieve(appId).body();
}
/**
- * Get detailed information about a specific app by ID or name slug
+ * Looks up a single app by hashid (e.g. app_abc123) or name_slug (e.g. github).
+ * If the value starts with app_ it is treated as a hashid and matched against
+ * the document id field; otherwise it is matched against name_slug.
*/
- public GetAppResponse retrieve(String appId, RequestOptions requestOptions) {
+ public AppResponse retrieve(String appId, RequestOptions requestOptions) {
return this.rawClient.retrieve(appId, requestOptions).body();
}
}
diff --git a/src/main/java/com/pipedream/api/resources/apps/AsyncAppsClient.java b/src/main/java/com/pipedream/api/resources/apps/AsyncAppsClient.java
index 65257a4..37312f2 100644
--- a/src/main/java/com/pipedream/api/resources/apps/AsyncAppsClient.java
+++ b/src/main/java/com/pipedream/api/resources/apps/AsyncAppsClient.java
@@ -7,8 +7,9 @@
import com.pipedream.api.core.RequestOptions;
import com.pipedream.api.core.pagination.SyncPagingIterable;
import com.pipedream.api.resources.apps.requests.AppsListRequest;
-import com.pipedream.api.types.App;
-import com.pipedream.api.types.GetAppResponse;
+import com.pipedream.api.types.AppDocument;
+import com.pipedream.api.types.AppResponse;
+import com.pipedream.api.types.FacetsResponse;
import java.util.concurrent.CompletableFuture;
public class AsyncAppsClient {
@@ -28,45 +29,54 @@ public AsyncRawAppsClient withRawResponse() {
return this.rawClient;
}
- /**
- * Retrieve all available apps with optional filtering and sorting
- */
- public CompletableFutureV1::AppsController#v2_facets (AppTypesenseSearch.facets):
+ * returns { data: { category_name: [...], auth_type: [...] } }.
*/
- public CompletableFutureV1::AppsController#v2_facets (AppTypesenseSearch.facets):
+ * returns { data: { category_name: [...], auth_type: [...] } }.
*/
- public CompletableFutureapp_abc123) or name_slug (e.g. github).
+ * If the value starts with app_ it is treated as a hashid and matched against
+ * the document id field; otherwise it is matched against name_slug.
*/
- public CompletableFutureapp_abc123) or name_slug (e.g. github).
+ * If the value starts with app_ it is treated as a hashid and matched against
+ * the document id field; otherwise it is matched against name_slug.
*/
- public CompletableFutureV1::AppsController#v2_facets (AppTypesenseSearch.facets):
+ * returns { data: { category_name: [...], auth_type: [...] } }.
+ */
+ public CompletableFutureV1::AppsController#v2_facets (AppTypesenseSearch.facets):
+ * returns { data: { category_name: [...], auth_type: [...] } }.
+ */
+ public CompletableFutureapp_abc123) or name_slug (e.g. github).
+ * If the value starts with app_ it is treated as a hashid and matched against
+ * the document id field; otherwise it is matched against name_slug.
*/
- public CompletableFutureapp_abc123) or name_slug (e.g. github).
+ * If the value starts with app_ it is treated as a hashid and matched against
+ * the document id field; otherwise it is matched against name_slug.
*/
- public CompletableFutureV1::AppsController#v2_facets (AppTypesenseSearch.facets):
+ * returns { data: { category_name: [...], auth_type: [...] } }.
+ */
+ public BaseClientHttpResponseV1::AppsController#v2_facets (AppTypesenseSearch.facets):
+ * returns { data: { category_name: [...], auth_type: [...] } }.
+ */
+ public BaseClientHttpResponseapp_abc123) or name_slug (e.g. github).
+ * If the value starts with app_ it is treated as a hashid and matched against
+ * the document id field; otherwise it is matched against name_slug.
*/
- public BaseClientHttpResponseapp_abc123) or name_slug (e.g. github).
+ * If the value starts with app_ it is treated as a hashid and matched against
+ * the document id field; otherwise it is matched against name_slug.
*/
- public BaseClientHttpResponsepage_info.end_cursor (see [PageInfo]).
*/
@JsonProperty("after")
public Optionalpage_info.start_cursor.
*/
@JsonProperty("before")
public Optionalbefore/after cursor is supplied (the cursor contract takes
+ * precedence); values < 1 are clamped to 1. Echoed back as page_info.page.
*/
- @JsonProperty("q")
- public Optionalname, name_slug,
+ * featured_weight. Defaults to name_slug. Invalid values → 400.
*/
@JsonProperty("sort_key")
- public Optionalasc or desc. Defaults to asc. Invalid values → 400.
*/
@JsonProperty("sort_direction")
- public Optionalcategory_ids param. A single value — real-world clients don't send
+ * multiple category_ids, so multiple keys are not supported.
*/
- @JsonProperty("has_components")
- public OptionalV1::AppsController#having_components:
+ * the param's presence selects the filter and its boolean value picks the
+ * direction (false/0/f/off/empty → apps without, anything else →
+ * apps with). has_components means "has actions or triggers". Only the
+ * first present of has_components > has_actions > has_triggers applies.
*/
+ @JsonProperty("has_components")
+ public OptionalPublishedComponentTypesenseSearch.app_slugs_for_owner_keys here, and
+ * we haven't ported that. Returns 501 when set.
+ */
+ @JsonProperty("has_private_components")
+ public OptionalOnly return apps in these categories
- */ - @JsonSetter(value = "category_ids", nulls = Nulls.SKIP) - public Builder categoryIds(OptionalThe cursor to start from for pagination
+ *Opaque cursor naming the next page, from a prior response's
+ * page_info.end_cursor (see [PageInfo]).
The cursor to end before for pagination
+ *Opaque cursor naming the previous page, from a prior response's
+ * page_info.start_cursor.
The maximum number of results to return
+ *1-based page number for built-in page-based pagination. Used only when no
+ * before/after cursor is supplied (the cursor contract takes
+ * precedence); values < 1 are clamped to 1. Echoed back as page_info.page.
A search query to filter the apps
+ *Field to sort by, mirroring v1: one of name, name_slug,
+ * featured_weight. Defaults to name_slug. Invalid values → 400.
The key to sort the apps by
+ *Sort direction, asc or desc. Defaults to asc. Invalid values → 400.
The direction to sort the apps
+ *AppCategory hashid (appcat_*) to filter by, mirroring the v1 apps
+ * category_ids param. A single value — real-world clients don't send
+ * multiple category_ids, so multiple keys are not supported.
Only return apps that have components (actions or triggers)
+ *Component filters, mirroring Rails V1::AppsController#having_components:
+ * the param's presence selects the filter and its boolean value picks the
+ * direction (false/0/f/off/empty → apps without, anything else →
+ * apps with). has_components means "has actions or triggers". Only the
+ * first present of has_components > has_actions > has_triggers applies.
Only return apps that have actions
- */ @JsonSetter(value = "has_actions", nulls = Nulls.SKIP) - public Builder hasActions(OptionalOnly return apps that have triggers
- */ @JsonSetter(value = "has_triggers", nulls = Nulls.SKIP) - public Builder hasTriggers(OptionalNot supported yet in the Rust port — Rails uses
+ * PublishedComponentTypesenseSearch.app_slugs_for_owner_keys here, and
+ * we haven't ported that. Returns 501 when set.
Developer Tools).
+ */
+ @JsonProperty("category_name")
+ public Optionalnormalize_app_doc restores the key), hence required — matching
+ * v1, which emits the key with a null value.
+ */
+ @JsonProperty("custom_fields_json")
+ public Optional"" when the app has none (never null).
+ */
+ @JsonProperty("description")
+ public String getDescription() {
+ return description;
+ }
+
+ /**
+ * @return Sort weight; higher sorts first.
+ */
+ @JsonProperty("featured_weight")
+ public long getFeaturedWeight() {
+ return featuredWeight;
+ }
+
+ /**
+ * @return Whether the app has any actions.
+ */
+ @JsonProperty("has_actions")
+ public boolean getHasActions() {
+ return hasActions;
+ }
+
+ /**
+ * @return Whether the app has any triggers (sources).
+ */
+ @JsonProperty("has_triggers")
+ public boolean getHasTriggers() {
+ return hasTriggers;
+ }
+
+ /**
+ * @return App hashid (e.g. app_abc123).
+ */
+ @JsonProperty("id")
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * @return Logo URL.
+ */
+ @JsonProperty("img_src")
+ public String getImgSrc() {
+ return imgSrc;
+ }
+
+ @JsonProperty("name")
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * @return URL-safe identifier (e.g. github).
+ */
+ @JsonProperty("name_slug")
+ public String getNameSlug() {
+ return nameSlug;
+ }
+
+ /**
+ * @return Named subsets of the app's OAuth scopes. Empty for apps that define none.
+ */
+ @JsonProperty("scope_profiles")
+ public ListShort description; "" when the app has none (never null).
Sort weight; higher sorts first.
+ */ + HasActionsStage featuredWeight(long featuredWeight); + } + + public interface HasActionsStage { + /** + *Whether the app has any actions.
+ */ + HasTriggersStage hasActions(boolean hasActions); + } + + public interface HasTriggersStage { + /** + *Whether the app has any triggers (sources).
+ */ + IdStage hasTriggers(boolean hasTriggers); + } + + public interface IdStage { + /** + *App hashid (e.g. app_abc123).
Logo URL.
+ */ + NameStage imgSrc(@NotNull String imgSrc); + } + + public interface NameStage { + NameSlugStage name(@NotNull String name); + } + + public interface NameSlugStage { + /** + *URL-safe identifier (e.g. github).
Category names associated with the app.
+ */ + _FinalStage categories(ListHuman-readable category name (e.g. Developer Tools).
JSON string of the app's custom fields; null when it defines none. Always
+ * present (normalize_app_doc restores the key), hence required — matching
+ * v1, which emits the key with a null value.
Named subsets of the app's OAuth scopes. Empty for apps that define none.
+ */ + _FinalStage scopeProfiles(ListShort description; "" when the app has none (never null).
Short description; "" when the app has none (never null).
Sort weight; higher sorts first.
+ *Sort weight; higher sorts first.
+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + @JsonSetter("featured_weight") + public HasActionsStage featuredWeight(long featuredWeight) { + this.featuredWeight = featuredWeight; + return this; + } + + /** + *Whether the app has any actions.
+ *Whether the app has any actions.
+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + @JsonSetter("has_actions") + public HasTriggersStage hasActions(boolean hasActions) { + this.hasActions = hasActions; + return this; + } + + /** + *Whether the app has any triggers (sources).
+ *Whether the app has any triggers (sources).
+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + @JsonSetter("has_triggers") + public IdStage hasTriggers(boolean hasTriggers) { + this.hasTriggers = hasTriggers; + return this; + } + + /** + *App hashid (e.g. app_abc123).
App hashid (e.g. app_abc123).
Logo URL.
+ *Logo URL.
+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + @JsonSetter("img_src") + public NameStage imgSrc(@NotNull String imgSrc) { + this.imgSrc = Objects.requireNonNull(imgSrc, "imgSrc must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("name") + public NameSlugStage name(@NotNull String name) { + this.name = Objects.requireNonNull(name, "name must not be null"); + return this; + } + + /** + *URL-safe identifier (e.g. github).
URL-safe identifier (e.g. github).
Named subsets of the app's OAuth scopes. Empty for apps that define none.
+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage addAllScopeProfiles(ListNamed subsets of the app's OAuth scopes. Empty for apps that define none.
+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage addScopeProfiles(ScopeProfile scopeProfiles) { + this.scopeProfiles.add(scopeProfiles); + return this; + } + + /** + *Named subsets of the app's OAuth scopes. Empty for apps that define none.
+ */ + @java.lang.Override + @JsonSetter(value = "scope_profiles", nulls = Nulls.SKIP) + public _FinalStage scopeProfiles(ListJSON string of the app's custom fields; null when it defines none. Always
+ * present (normalize_app_doc restores the key), hence required — matching
+ * v1, which emits the key with a null value.
JSON string of the app's custom fields; null when it defines none. Always
+ * present (normalize_app_doc restores the key), hence required — matching
+ * v1, which emits the key with a null value.
Human-readable category name (e.g. Developer Tools).
Human-readable category name (e.g. Developer Tools).
Category names associated with the app.
+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage addAllCategories(ListCategory names associated with the app.
+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage addCategories(String categories) { + this.categories.add(categories); + return this; + } + + /** + *Category names associated with the app.
+ */ + @java.lang.Override + @JsonSetter(value = "categories", nulls = Nulls.SKIP) + public _FinalStage categories(List