Skip to main content
Glama

mcp-google-sheets

client.ts1.92 kB
import { httpClient, HttpMethod, HttpRequest } from "@activepieces/pieces-common"; export const emailOctopusApiUrl = 'https://api.emailoctopus.com'; export interface EmailOctopusListDetails extends EmailOctopusList { fields: { tag: string; type: 'text' | 'number' | 'date'|'choice_single'|'choice_multiple' label: string; choices:string[] }[]; } export class EmailOctopusClient { constructor(private apiKey: string) {} async makeRequest<T>(method: HttpMethod, url: string, body?: object): Promise<T> { const request: HttpRequest<object> = { method, url: `${emailOctopusApiUrl}${url}`, body: body, headers: { "Accept": "application/json", "Content-Type": "application/json", "Authorization":`Bearer ${this.apiKey}` }, }; const { body: responseBody } = await httpClient.sendRequest<T>(request); return responseBody; } async getLists(): Promise<EmailOctopusList[]> { const response = await this.makeRequest<{ data: EmailOctopusList[] }>( HttpMethod.GET, '/lists' ); return response.data; } async getList(listId: string): Promise<EmailOctopusListDetails> { return await this.makeRequest<EmailOctopusListDetails>( HttpMethod.GET, `/lists/${listId}` ); } async getCampaigns(): Promise<EmailOctopusCampaign[]> { const response = await this.makeRequest<{ data: EmailOctopusCampaign[] }>( HttpMethod.GET, '/campaigns' ); return response.data; } } export interface EmailOctopusList { id: string; name: string; created_at: string; } export interface EmailOctopusCampaign { id: string; name: string; status: string; created_at: string; }

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