Skip to main content
Glama
client.ts2.09 kB
import { HttpMethod, httpClient, HttpMessageBody, QueryParams } from '@activepieces/pieces-common'; import { PiecePropValueSchema } from '@activepieces/pieces-framework'; import { flowParserAuth } from './auth'; const BASE_URL = 'https://api.flowparser.one/v1'; export type FlowParserApiCallParams = { method: HttpMethod; path: string; queryParams?: Record<string, string | number | string[] | undefined>; body?: any; auth: PiecePropValueSchema<typeof flowParserAuth>; }; export async function flowParserApiCall<T extends HttpMessageBody>({ method, path, queryParams, body, auth, }: FlowParserApiCallParams): Promise<T> { const url = `${BASE_URL}${path}`; const headers: Record<string, string> = { flow_api_key: auth, }; if (body) { headers['Content-Type'] = 'application/json'; } const qs: QueryParams = {}; if (queryParams) { for (const [key, value] of Object.entries(queryParams)) { if (value !== null && value !== undefined) { qs[key] = String(value); } } } try { const response = await httpClient.sendRequest<T>({ method, url, headers, queryParams: qs, body, }); return response.body; } catch (error: any) { const statusCode = error.response?.status || error.status; const errorBody = error.response?.body || error.body; if (statusCode === 401 || statusCode === 403) { throw new Error('Authentication failed. Please check your API key.'); } if (statusCode === 429) { throw new Error('Rate limit exceeded. Please wait a moment and try again.'); } if (statusCode === 404) { throw new Error('Endpoint not found. Please check the API endpoint path.'); } if (statusCode >= 400 && statusCode < 500) { const errorMessage = errorBody?.message || errorBody?.error || error.message || 'Request failed'; throw new Error(`Request failed: ${errorMessage}`); } const originalMessage = error.message || String(error); throw new Error(`FlowParser API error: ${originalMessage}`); } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/activepieces/activepieces'

If you have feedback or need assistance with the MCP directory API, please join our Discord server