diff --git a/package.json b/package.json index f3254794..4f03ae9e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@neynar/nodejs-sdk", - "version": "1.3.2", + "version": "1.4.0", "description": "SDK to interact with Neynar APIs (https://docs.neynar.com/)", "main": "./build/index.js", "types": "./build/index.d.ts", diff --git a/src/neynar-api/neynar-api-client.ts b/src/neynar-api/neynar-api-client.ts index d153588e..06f8db27 100644 --- a/src/neynar-api/neynar-api-client.ts +++ b/src/neynar-api/neynar-api-client.ts @@ -24,6 +24,8 @@ import { StorageAllocationsResponse, StorageUsageResponse, SignerStatusEnum, + ChannelResponse, + ChannelListResponse, } from "./v2/openapi-farcaster"; import { @@ -1060,6 +1062,7 @@ export class NeynarAPIClient { * @param {Object} [options] - Optional parameters for the cast. * @param {Array} [options.embeds] - An array of embeds to be included in the cast. * @param {string} [options.replyTo] - The URL or hash of the parent cast if this is a reply. + * @param {string} [options.channelId] - Channel ID of the channel where the cast is to be posted. e.g. neynar, farcaster, warpcast. * * @returns {Promise} A promise that resolves to a `PostCastResponseCast` object, * representing the published cast. @@ -1081,7 +1084,7 @@ export class NeynarAPIClient { public async publishCast( signerUuid: string, text: string, - options?: { embeds?: EmbeddedCast[]; replyTo?: string } + options?: { embeds?: EmbeddedCast[]; replyTo?: string; channelId?: string } ): Promise { return await this.clients.v2.publishCast(signerUuid, text, options); } @@ -1339,6 +1342,69 @@ export class NeynarAPIClient { ); } + // ------------ Channel ------------ + + /** + * Retrieves details of a specific channel based on its ID. This method is essential for + * obtaining comprehensive information about a channel, including its attributes and metadata. + * + * @param {string} id - The ID of the channel being queried. + * + * @returns {Promise} A promise that resolves to a `ChannelResponse` object, + * containing detailed information about the specified channel. + * + * @example + * // Example: Retrieve details of a channel by its ID + * client.lookupChannel('neynar').then(response => { + * console.log('Channel Details:', response); + * }); + * + * For more information, refer to the [Neynar documentation](https://docs.neynar.com/reference/channel-details). + */ + public async lookupChannel(id: string): Promise { + return await this.clients.v2.lookupChannel(id); + } + + /** + * Retrieves a list of all channels, including their details. This method is particularly useful for + * obtaining a comprehensive overview of all available channels on the platform. + * + * @returns {Promise} A promise that resolves to an `ChannelListResponse` object, + * containing a list of all channels along with their respective details. + * + * @example + * // Example: Retrieve a list of all channels + * client.fetchAllChannels().then(response => { + * console.log('All Channels:', response); + * }); + * + * For more information, refer to the [Neynar documentation](https://docs.neynar.com/reference/list-all-channels). + */ + public async fetchAllChannels(): Promise { + return await this.clients.v2.fetchAllChannels(); + } + + /** + * Searches for channels based on their ID or name. This method is useful for locating specific + * channels on the platform using search queries. + * + * @param {string} q - The query string used for searching channels, which can be a channel ID or name. + * + * @returns {Promise} A promise that resolves to a `ChannelListResponse` object, + * containing a list of channels that match the search criteria. + * + * @example + * // Example: Search for channels using a query string + * client.searchChannels('ux').then(response => { + * console.log('Search Results:', response); + * }); + * + * For more information, refer to the [Neynar documentation](https://docs.neynar.com/reference/search-channels). + */ + public async searchChannels(q: string): Promise { + return await this.clients.v2.searchChannels(q); + } + // ------------ Follows ------------ /** diff --git a/src/neynar-api/v2/client.ts b/src/neynar-api/v2/client.ts index 7ff92de9..4693d148 100644 --- a/src/neynar-api/v2/client.ts +++ b/src/neynar-api/v2/client.ts @@ -33,6 +33,9 @@ import { StorageApi, StorageAllocationsResponse, StorageUsageResponse, + ChannelApi, + ChannelResponse, + ChannelListResponse, } from "./openapi-farcaster"; import axios, { AxiosError, AxiosInstance } from "axios"; import { silentLogger, Logger } from "../common/logger"; @@ -52,6 +55,7 @@ export class NeynarV2APIClient { reaction: ReactionApi; feed: FeedApi; notifications: NotificationsApi; + channel: ChannelApi; follows: FollowsApi; storage: StorageApi; nft: NFTApi; @@ -111,6 +115,7 @@ export class NeynarV2APIClient { reaction: new ReactionApi(config, undefined, axiosInstance), feed: new FeedApi(config, undefined, axiosInstance), notifications: new NotificationsApi(config, undefined, axiosInstance), + channel: new ChannelApi(config, undefined, axiosInstance), follows: new FollowsApi(config, undefined, axiosInstance), storage: new StorageApi(config, undefined, axiosInstance), nft: new NFTApi(config, undefined, axiosInstance), @@ -581,6 +586,7 @@ export class NeynarV2APIClient { * @param {Object} [options] - Optional parameters for the cast. * @param {Array} [options.embeds] - An array of embeds to be included in the cast. * @param {string} [options.replyTo] - The URL or hash of the parent cast if this is a reply. + * @param {string} [options.channelId] - Channel ID of the channel where the cast is to be posted. e.g. neynar, farcaster, warpcast. * * @returns {Promise} A promise that resolves to a `PostCastResponseCast` object, * representing the published cast. @@ -602,13 +608,14 @@ export class NeynarV2APIClient { public async publishCast( signerUuid: string, text: string, - options?: { embeds?: EmbeddedCast[]; replyTo?: string } + options?: { embeds?: EmbeddedCast[]; replyTo?: string; channelId?: string } ): Promise { const postCastReqBody = { signer_uuid: signerUuid, text: text, embeds: options?.embeds, parent: options?.replyTo, + channel_id: options?.channelId, }; const response = await this.apis.cast.postCast( this.apiKey, @@ -928,6 +935,72 @@ export class NeynarV2APIClient { return response.data; } + // ------------ Channel ------------ + + /** + * Retrieves details of a specific channel based on its ID. This method is essential for + * obtaining comprehensive information about a channel, including its attributes and metadata. + * + * @param {string} id - The ID of the channel being queried. + * + * @returns {Promise} A promise that resolves to a `ChannelResponse` object, + * containing detailed information about the specified channel. + * + * @example + * // Example: Retrieve details of a channel by its ID + * client.lookupChannel('neynar').then(response => { + * console.log('Channel Details:', response); + * }); + * + * For more information, refer to the [Neynar documentation](https://docs.neynar.com/reference/channel-details). + */ + public async lookupChannel(id: string): Promise { + const response = await this.apis.channel.channelDetails(this.apiKey, id); + return response.data; + } + + /** + * Retrieves a list of all channels, including their details. This method is particularly useful for + * obtaining a comprehensive overview of all available channels on the platform. + * + * @returns {Promise} A promise that resolves to an `ChannelListResponse` object, + * containing a list of all channels along with their respective details. + * + * @example + * // Example: Retrieve a list of all channels + * client.fetchAllChannels().then(response => { + * console.log('All Channels:', response); + * }); + * + * For more information, refer to the [Neynar documentation](https://docs.neynar.com/reference/list-all-channels). + */ + public async fetchAllChannels(): Promise { + const response = await this.apis.channel.listAllChannels(this.apiKey); + return response.data; + } + + /** + * Searches for channels based on their ID or name. This method is useful for locating specific + * channels on the platform using search queries. + * + * @param {string} q - The query string used for searching channels, which can be a channel ID or name. + * + * @returns {Promise} A promise that resolves to a `ChannelListResponse` object, + * containing a list of channels that match the search criteria. + * + * @example + * // Example: Search for channels using a query string + * client.searchChannels('ux').then(response => { + * console.log('Search Results:', response); + * }); + * + * For more information, refer to the [Neynar documentation](https://docs.neynar.com/reference/search-channels). + */ + public async searchChannels(q: string): Promise { + const response = await this.apis.channel.searchChannels(this.apiKey, q); + return response.data; + } + // ------------ Follows ------------ /** diff --git a/src/neynar-api/v2/openapi-farcaster/.openapi-generator/FILES b/src/neynar-api/v2/openapi-farcaster/.openapi-generator/FILES index 8573a2ce..5872c6ff 100644 --- a/src/neynar-api/v2/openapi-farcaster/.openapi-generator/FILES +++ b/src/neynar-api/v2/openapi-farcaster/.openapi-generator/FILES @@ -3,6 +3,7 @@ .openapi-generator-ignore api.ts apis/cast-api.ts +apis/channel-api.ts apis/feed-api.ts apis/follows-api.ts apis/notifications-api.ts @@ -32,6 +33,9 @@ models/cast-with-interactions.ts models/cast.ts models/casts-response-result.ts models/casts-response.ts +models/channel-list-response.ts +models/channel-response.ts +models/channel.ts models/dehydrated-follower.ts models/delete-cast-req-body.ts models/embed-cast-id.ts diff --git a/src/neynar-api/v2/openapi-farcaster/api.ts b/src/neynar-api/v2/openapi-farcaster/api.ts index 08e15808..58650b6f 100644 --- a/src/neynar-api/v2/openapi-farcaster/api.ts +++ b/src/neynar-api/v2/openapi-farcaster/api.ts @@ -15,6 +15,7 @@ export * from './apis/cast-api'; +export * from './apis/channel-api'; export * from './apis/feed-api'; export * from './apis/follows-api'; export * from './apis/notifications-api'; diff --git a/src/neynar-api/v2/openapi-farcaster/apis/channel-api.ts b/src/neynar-api/v2/openapi-farcaster/apis/channel-api.ts new file mode 100644 index 00000000..5c20abab --- /dev/null +++ b/src/neynar-api/v2/openapi-farcaster/apis/channel-api.ts @@ -0,0 +1,295 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Farcaster API V2 + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 2.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import type { Configuration } from '../configuration'; +import type { AxiosPromise, AxiosInstance, AxiosRequestConfig } from 'axios'; +import globalAxios from 'axios'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +// @ts-ignore +import { ChannelListResponse } from '../models'; +// @ts-ignore +import { ChannelResponse } from '../models'; +// @ts-ignore +import { ErrorRes } from '../models'; +/** + * ChannelApi - axios parameter creator + * @export + */ +export const ChannelApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * Returns details of a channel + * @summary Retrieve channel details by id + * @param {string} apiKey API key required for authentication. + * @param {string} id Channel ID for the channel being queried + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + channelDetails: async (apiKey: string, id: string, options: AxiosRequestConfig = {}): Promise => { + // verify required parameter 'apiKey' is not null or undefined + assertParamExists('channelDetails', 'apiKey', apiKey) + // verify required parameter 'id' is not null or undefined + assertParamExists('channelDetails', 'id', id) + const localVarPath = `/farcaster/channel`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + if (id !== undefined) { + localVarQueryParameter['id'] = id; + } + + if (apiKey != null) { + localVarHeaderParameter['api_key'] = String(apiKey); + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Returns a list of all channels with their details + * @summary Retrieve all channels with their details + * @param {string} apiKey API key required for authentication. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + listAllChannels: async (apiKey: string, options: AxiosRequestConfig = {}): Promise => { + // verify required parameter 'apiKey' is not null or undefined + assertParamExists('listAllChannels', 'apiKey', apiKey) + const localVarPath = `/farcaster/channel/list`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + if (apiKey != null) { + localVarHeaderParameter['api_key'] = String(apiKey); + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Returns a list of channels based on id or name + * @summary Search for channels based on id or name + * @param {string} apiKey API key required for authentication. + * @param {string} q Channel ID or name for the channel being queried + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + searchChannels: async (apiKey: string, q: string, options: AxiosRequestConfig = {}): Promise => { + // verify required parameter 'apiKey' is not null or undefined + assertParamExists('searchChannels', 'apiKey', apiKey) + // verify required parameter 'q' is not null or undefined + assertParamExists('searchChannels', 'q', q) + const localVarPath = `/farcaster/channel/search`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + if (q !== undefined) { + localVarQueryParameter['q'] = q; + } + + if (apiKey != null) { + localVarHeaderParameter['api_key'] = String(apiKey); + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * ChannelApi - functional programming interface + * @export + */ +export const ChannelApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = ChannelApiAxiosParamCreator(configuration) + return { + /** + * Returns details of a channel + * @summary Retrieve channel details by id + * @param {string} apiKey API key required for authentication. + * @param {string} id Channel ID for the channel being queried + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async channelDetails(apiKey: string, id: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.channelDetails(apiKey, id, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * Returns a list of all channels with their details + * @summary Retrieve all channels with their details + * @param {string} apiKey API key required for authentication. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async listAllChannels(apiKey: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.listAllChannels(apiKey, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * Returns a list of channels based on id or name + * @summary Search for channels based on id or name + * @param {string} apiKey API key required for authentication. + * @param {string} q Channel ID or name for the channel being queried + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async searchChannels(apiKey: string, q: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.searchChannels(apiKey, q, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * ChannelApi - factory interface + * @export + */ +export const ChannelApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = ChannelApiFp(configuration) + return { + /** + * Returns details of a channel + * @summary Retrieve channel details by id + * @param {string} apiKey API key required for authentication. + * @param {string} id Channel ID for the channel being queried + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + channelDetails(apiKey: string, id: string, options?: any): AxiosPromise { + return localVarFp.channelDetails(apiKey, id, options).then((request) => request(axios, basePath)); + }, + /** + * Returns a list of all channels with their details + * @summary Retrieve all channels with their details + * @param {string} apiKey API key required for authentication. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + listAllChannels(apiKey: string, options?: any): AxiosPromise { + return localVarFp.listAllChannels(apiKey, options).then((request) => request(axios, basePath)); + }, + /** + * Returns a list of channels based on id or name + * @summary Search for channels based on id or name + * @param {string} apiKey API key required for authentication. + * @param {string} q Channel ID or name for the channel being queried + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + searchChannels(apiKey: string, q: string, options?: any): AxiosPromise { + return localVarFp.searchChannels(apiKey, q, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * ChannelApi - object-oriented interface + * @export + * @class ChannelApi + * @extends {BaseAPI} + */ +export class ChannelApi extends BaseAPI { + /** + * Returns details of a channel + * @summary Retrieve channel details by id + * @param {string} apiKey API key required for authentication. + * @param {string} id Channel ID for the channel being queried + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ChannelApi + */ + public channelDetails(apiKey: string, id: string, options?: AxiosRequestConfig) { + return ChannelApiFp(this.configuration).channelDetails(apiKey, id, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Returns a list of all channels with their details + * @summary Retrieve all channels with their details + * @param {string} apiKey API key required for authentication. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ChannelApi + */ + public listAllChannels(apiKey: string, options?: AxiosRequestConfig) { + return ChannelApiFp(this.configuration).listAllChannels(apiKey, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Returns a list of channels based on id or name + * @summary Search for channels based on id or name + * @param {string} apiKey API key required for authentication. + * @param {string} q Channel ID or name for the channel being queried + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ChannelApi + */ + public searchChannels(apiKey: string, q: string, options?: AxiosRequestConfig) { + return ChannelApiFp(this.configuration).searchChannels(apiKey, q, options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/neynar-api/v2/openapi-farcaster/models/channel-list-response.ts b/src/neynar-api/v2/openapi-farcaster/models/channel-list-response.ts new file mode 100644 index 00000000..df026eb4 --- /dev/null +++ b/src/neynar-api/v2/openapi-farcaster/models/channel-list-response.ts @@ -0,0 +1,33 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Farcaster API V2 + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 2.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import { Channel } from './channel'; + +/** + * + * @export + * @interface ChannelListResponse + */ +export interface ChannelListResponse { + /** + * + * @type {Array} + * @memberof ChannelListResponse + */ + 'channels': Array; +} + diff --git a/src/neynar-api/v2/openapi-farcaster/models/channel-response.ts b/src/neynar-api/v2/openapi-farcaster/models/channel-response.ts new file mode 100644 index 00000000..d3020ae8 --- /dev/null +++ b/src/neynar-api/v2/openapi-farcaster/models/channel-response.ts @@ -0,0 +1,33 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Farcaster API V2 + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 2.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import { Channel } from './channel'; + +/** + * + * @export + * @interface ChannelResponse + */ +export interface ChannelResponse { + /** + * + * @type {Channel} + * @memberof ChannelResponse + */ + 'channel': Channel; +} + diff --git a/src/neynar-api/v2/openapi-farcaster/models/channel.ts b/src/neynar-api/v2/openapi-farcaster/models/channel.ts new file mode 100644 index 00000000..ea47921a --- /dev/null +++ b/src/neynar-api/v2/openapi-farcaster/models/channel.ts @@ -0,0 +1,82 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Farcaster API V2 + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 2.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import { User } from './user'; + +/** + * + * @export + * @interface Channel + */ +export interface Channel { + /** + * + * @type {string} + * @memberof Channel + */ + 'id': string; + /** + * + * @type {string} + * @memberof Channel + */ + 'url': string; + /** + * + * @type {string} + * @memberof Channel + */ + 'name'?: string; + /** + * + * @type {string} + * @memberof Channel + */ + 'description'?: string; + /** + * + * @type {string} + * @memberof Channel + */ + 'object': ChannelObjectEnum; + /** + * Epoch timestamp in seconds. + * @type {number} + * @memberof Channel + */ + 'created_at'?: number; + /** + * + * @type {string} + * @memberof Channel + */ + 'image_url'?: string; + /** + * + * @type {User} + * @memberof Channel + */ + 'lead'?: User; +} + +export const ChannelObjectEnum = { + Channel: 'channel' +} as const; + +export type ChannelObjectEnum = typeof ChannelObjectEnum[keyof typeof ChannelObjectEnum]; + + diff --git a/src/neynar-api/v2/openapi-farcaster/models/index.ts b/src/neynar-api/v2/openapi-farcaster/models/index.ts index 04dd1906..59df7b73 100644 --- a/src/neynar-api/v2/openapi-farcaster/models/index.ts +++ b/src/neynar-api/v2/openapi-farcaster/models/index.ts @@ -15,6 +15,9 @@ export * from './cast-with-interactions-reactions'; export * from './cast-with-interactions-replies'; export * from './casts-response'; export * from './casts-response-result'; +export * from './channel'; +export * from './channel-list-response'; +export * from './channel-response'; export * from './dehydrated-follower'; export * from './delete-cast-req-body'; export * from './embed-cast-id'; diff --git a/src/neynar-api/v2/openapi-farcaster/models/post-cast-req-body.ts b/src/neynar-api/v2/openapi-farcaster/models/post-cast-req-body.ts index 3b1d9620..5a0b2b9e 100644 --- a/src/neynar-api/v2/openapi-farcaster/models/post-cast-req-body.ts +++ b/src/neynar-api/v2/openapi-farcaster/models/post-cast-req-body.ts @@ -47,5 +47,11 @@ export interface PostCastReqBody { * @memberof PostCastReqBody */ 'parent'?: string; + /** + * Channel ID of the channel where the cast is to be posted. e.g. neynar, farcaster, warpcast + * @type {string} + * @memberof PostCastReqBody + */ + 'channel_id'?: string; } diff --git a/src/oas b/src/oas index 60e416a9..f00d2901 160000 --- a/src/oas +++ b/src/oas @@ -1 +1 @@ -Subproject commit 60e416a9df0b9000576621f1c3191589b35c89dd +Subproject commit f00d290173ee0d909dbea1e7a2c0a44eadf4d06a