UNPKG

@neynar/nodejs-sdk

Version:

SDK to interact with Neynar APIs (https://docs.neynar.com/reference/quickstart)

518 lines (517 loc) 28.1 kB
/** * Neynar API * The Neynar API allows you to interact with the Farcaster protocol among other things. See the [Neynar docs](https://docs.neynar.com/reference) for more details. * * The version of the OpenAPI document: 3.115.0 * Contact: team@neynar.com * * 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, RawAxiosRequestConfig } from 'axios'; import { type RequestArgs, BaseAPI } from '../base'; import type { MarkNotificationsAsSeenReqBody } from '../models'; import type { NotificationsResponse } from '../models'; import type { OperationResponse } from '../models'; /** * NotificationsApi - axios parameter creator * @export */ export declare const NotificationsApiAxiosParamCreator: (configuration?: Configuration) => { /** * Returns a list of notifications for a specific FID. * @summary For user * @param {number} fid FID of the user you you want to fetch notifications for. The response will respect this user\&#39;s mutes and blocks. * @param {boolean} [xNeynarExperimental] Enables experimental features including filtering based on the Neynar score. See [docs](https://neynar.notion.site/Experimental-Features-1d2655195a8b80eb98b4d4ae7b76ae4a) for more details. * @param {Array<FetchAllNotificationsTypeEnum>} [type] Notification type to fetch. Comma separated values of follows, recasts, likes, mentions, replies. * @param {number} [limit] Number of results to fetch (Default: 15, Maximum: 25) * @param {string} [cursor] Pagination cursor. * @param {*} [options] Override http request option. * @throws {RequiredError} * @returns {Promise<NotificationsResponse>} A promise that resolves to a `NotificationsResponse` object * * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-all-notifications) * */ fetchAllNotifications: (fid: number, xNeynarExperimental?: boolean, type?: Array<FetchAllNotificationsTypeEnum>, limit?: number, cursor?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>; /** * Returns a list of notifications for a user in specific channels * @summary For user by channel * @param {number} fid FID of the user you you want to fetch notifications for. The response will respect this user\&#39;s mutes and blocks. * @param {string} channelIds Comma separated channel_ids (find list of all channels here - https://docs.neynar.com/reference/list-all-channels) * @param {boolean} [xNeynarExperimental] Enables experimental features including filtering based on the Neynar score. See [docs](https://neynar.notion.site/Experimental-Features-1d2655195a8b80eb98b4d4ae7b76ae4a) for more details. * @param {number} [limit] Number of results to fetch (Default: 15, Maximum: 25) * @param {string} [cursor] Pagination cursor. * @param {*} [options] Override http request option. * @throws {RequiredError} * @returns {Promise<NotificationsResponse>} A promise that resolves to a `NotificationsResponse` object * * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-channel-notifications-for-user) * */ fetchChannelNotificationsForUser: (fid: number, channelIds: string, xNeynarExperimental?: boolean, limit?: number, cursor?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>; /** * Returns a list of notifications for a user in specific parent_urls * @summary For user by parent_urls * @param {number} fid FID of the user you you want to fetch notifications for. The response will respect this user\&#39;s mutes and blocks. * @param {string} parentUrls Comma separated parent_urls * @param {boolean} [xNeynarExperimental] Enables experimental features including filtering based on the Neynar score. See [docs](https://neynar.notion.site/Experimental-Features-1d2655195a8b80eb98b4d4ae7b76ae4a) for more details. * @param {number} [limit] Number of results to fetch (Default: 15, Maximum: 25) * @param {string} [cursor] Pagination cursor. * @param {*} [options] Override http request option. * @throws {RequiredError} * @returns {Promise<NotificationsResponse>} A promise that resolves to a `NotificationsResponse` object * * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-notifications-by-parent-url-for-user) * */ fetchNotificationsByParentUrlForUser: (fid: number, parentUrls: string, xNeynarExperimental?: boolean, limit?: number, cursor?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>; /** * Mark notifications as seen. You can choose one of two authorization methods, either: 1. Provide a valid signer_uuid in the request body (Most common) 2. Provide a valid, signed \"Bearer\" token in the request\'s `Authorization` header similar to the approach described [here](https://docs.farcaster.xyz/reference/warpcast/api#authentication) * @summary Mark as seen * @param {MarkNotificationsAsSeenReqBody} markNotificationsAsSeenReqBody * @param {string} [authorization] Optional Bearer token for certain endpoints. The token format is described [here](https://docs.farcaster.xyz/reference/warpcast/api#authentication). * @param {*} [options] Override http request option. * @throws {RequiredError} * @returns {Promise<OperationResponse>} A promise that resolves to a `OperationResponse` object * * For more information, refer to the [API documentation](https://docs.neynar.com/reference/mark-notifications-as-seen) * */ markNotificationsAsSeen: (markNotificationsAsSeenReqBody: MarkNotificationsAsSeenReqBody, authorization?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>; }; /** * NotificationsApi - functional programming interface * @export */ export declare const NotificationsApiFp: (configuration?: Configuration) => { /** * Returns a list of notifications for a specific FID. * @summary For user * @param {number} fid FID of the user you you want to fetch notifications for. The response will respect this user\&#39;s mutes and blocks. * @param {boolean} [xNeynarExperimental] Enables experimental features including filtering based on the Neynar score. See [docs](https://neynar.notion.site/Experimental-Features-1d2655195a8b80eb98b4d4ae7b76ae4a) for more details. * @param {Array<FetchAllNotificationsTypeEnum>} [type] Notification type to fetch. Comma separated values of follows, recasts, likes, mentions, replies. * @param {number} [limit] Number of results to fetch (Default: 15, Maximum: 25) * @param {string} [cursor] Pagination cursor. * @param {*} [options] Override http request option. * @throws {RequiredError} * @returns {Promise<NotificationsResponse>} A promise that resolves to a `NotificationsResponse` object * * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-all-notifications) * */ fetchAllNotifications(fid: number, xNeynarExperimental?: boolean, type?: Array<FetchAllNotificationsTypeEnum>, limit?: number, cursor?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<NotificationsResponse>>; /** * Returns a list of notifications for a user in specific channels * @summary For user by channel * @param {number} fid FID of the user you you want to fetch notifications for. The response will respect this user\&#39;s mutes and blocks. * @param {string} channelIds Comma separated channel_ids (find list of all channels here - https://docs.neynar.com/reference/list-all-channels) * @param {boolean} [xNeynarExperimental] Enables experimental features including filtering based on the Neynar score. See [docs](https://neynar.notion.site/Experimental-Features-1d2655195a8b80eb98b4d4ae7b76ae4a) for more details. * @param {number} [limit] Number of results to fetch (Default: 15, Maximum: 25) * @param {string} [cursor] Pagination cursor. * @param {*} [options] Override http request option. * @throws {RequiredError} * @returns {Promise<NotificationsResponse>} A promise that resolves to a `NotificationsResponse` object * * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-channel-notifications-for-user) * */ fetchChannelNotificationsForUser(fid: number, channelIds: string, xNeynarExperimental?: boolean, limit?: number, cursor?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<NotificationsResponse>>; /** * Returns a list of notifications for a user in specific parent_urls * @summary For user by parent_urls * @param {number} fid FID of the user you you want to fetch notifications for. The response will respect this user\&#39;s mutes and blocks. * @param {string} parentUrls Comma separated parent_urls * @param {boolean} [xNeynarExperimental] Enables experimental features including filtering based on the Neynar score. See [docs](https://neynar.notion.site/Experimental-Features-1d2655195a8b80eb98b4d4ae7b76ae4a) for more details. * @param {number} [limit] Number of results to fetch (Default: 15, Maximum: 25) * @param {string} [cursor] Pagination cursor. * @param {*} [options] Override http request option. * @throws {RequiredError} * @returns {Promise<NotificationsResponse>} A promise that resolves to a `NotificationsResponse` object * * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-notifications-by-parent-url-for-user) * */ fetchNotificationsByParentUrlForUser(fid: number, parentUrls: string, xNeynarExperimental?: boolean, limit?: number, cursor?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<NotificationsResponse>>; /** * Mark notifications as seen. You can choose one of two authorization methods, either: 1. Provide a valid signer_uuid in the request body (Most common) 2. Provide a valid, signed \"Bearer\" token in the request\'s `Authorization` header similar to the approach described [here](https://docs.farcaster.xyz/reference/warpcast/api#authentication) * @summary Mark as seen * @param {MarkNotificationsAsSeenReqBody} markNotificationsAsSeenReqBody * @param {string} [authorization] Optional Bearer token for certain endpoints. The token format is described [here](https://docs.farcaster.xyz/reference/warpcast/api#authentication). * @param {*} [options] Override http request option. * @throws {RequiredError} * @returns {Promise<OperationResponse>} A promise that resolves to a `OperationResponse` object * * For more information, refer to the [API documentation](https://docs.neynar.com/reference/mark-notifications-as-seen) * */ markNotificationsAsSeen(markNotificationsAsSeenReqBody: MarkNotificationsAsSeenReqBody, authorization?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<OperationResponse>>; }; /** * NotificationsApi - factory interface * @export */ export declare const NotificationsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => { /** * Returns a list of notifications for a specific FID. * @summary For user * @param {NotificationsApiFetchAllNotificationsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @returns {Promise<NotificationsResponse>} A promise that resolves to a `NotificationsResponse` object * * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-all-notifications) * */ fetchAllNotifications(requestParameters: NotificationsApiFetchAllNotificationsRequest, options?: RawAxiosRequestConfig): AxiosPromise<NotificationsResponse>; /** * Returns a list of notifications for a user in specific channels * @summary For user by channel * @param {NotificationsApiFetchChannelNotificationsForUserRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @returns {Promise<NotificationsResponse>} A promise that resolves to a `NotificationsResponse` object * * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-channel-notifications-for-user) * */ fetchChannelNotificationsForUser(requestParameters: NotificationsApiFetchChannelNotificationsForUserRequest, options?: RawAxiosRequestConfig): AxiosPromise<NotificationsResponse>; /** * Returns a list of notifications for a user in specific parent_urls * @summary For user by parent_urls * @param {NotificationsApiFetchNotificationsByParentUrlForUserRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @returns {Promise<NotificationsResponse>} A promise that resolves to a `NotificationsResponse` object * * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-notifications-by-parent-url-for-user) * */ fetchNotificationsByParentUrlForUser(requestParameters: NotificationsApiFetchNotificationsByParentUrlForUserRequest, options?: RawAxiosRequestConfig): AxiosPromise<NotificationsResponse>; /** * Mark notifications as seen. You can choose one of two authorization methods, either: 1. Provide a valid signer_uuid in the request body (Most common) 2. Provide a valid, signed \"Bearer\" token in the request\'s `Authorization` header similar to the approach described [here](https://docs.farcaster.xyz/reference/warpcast/api#authentication) * @summary Mark as seen * @param {NotificationsApiMarkNotificationsAsSeenRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @returns {Promise<OperationResponse>} A promise that resolves to a `OperationResponse` object * * For more information, refer to the [API documentation](https://docs.neynar.com/reference/mark-notifications-as-seen) * */ markNotificationsAsSeen(requestParameters: NotificationsApiMarkNotificationsAsSeenRequest, options?: RawAxiosRequestConfig): AxiosPromise<OperationResponse>; }; /** * NotificationsApi - interface * @export * @interface NotificationsApi */ export interface NotificationsApiInterface { /** * Returns a list of notifications for a specific FID. * @summary For user * @param {NotificationsApiFetchAllNotificationsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof NotificationsApiInterface * @returns {Promise<NotificationsResponse>} A promise that resolves to a `NotificationsResponse` object * * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-all-notifications) * */ fetchAllNotifications(requestParameters: NotificationsApiFetchAllNotificationsRequest, options?: RawAxiosRequestConfig): AxiosPromise<NotificationsResponse>; /** * Returns a list of notifications for a user in specific channels * @summary For user by channel * @param {NotificationsApiFetchChannelNotificationsForUserRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof NotificationsApiInterface * @returns {Promise<NotificationsResponse>} A promise that resolves to a `NotificationsResponse` object * * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-channel-notifications-for-user) * */ fetchChannelNotificationsForUser(requestParameters: NotificationsApiFetchChannelNotificationsForUserRequest, options?: RawAxiosRequestConfig): AxiosPromise<NotificationsResponse>; /** * Returns a list of notifications for a user in specific parent_urls * @summary For user by parent_urls * @param {NotificationsApiFetchNotificationsByParentUrlForUserRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof NotificationsApiInterface * @returns {Promise<NotificationsResponse>} A promise that resolves to a `NotificationsResponse` object * * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-notifications-by-parent-url-for-user) * */ fetchNotificationsByParentUrlForUser(requestParameters: NotificationsApiFetchNotificationsByParentUrlForUserRequest, options?: RawAxiosRequestConfig): AxiosPromise<NotificationsResponse>; /** * Mark notifications as seen. You can choose one of two authorization methods, either: 1. Provide a valid signer_uuid in the request body (Most common) 2. Provide a valid, signed \"Bearer\" token in the request\'s `Authorization` header similar to the approach described [here](https://docs.farcaster.xyz/reference/warpcast/api#authentication) * @summary Mark as seen * @param {NotificationsApiMarkNotificationsAsSeenRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof NotificationsApiInterface * @returns {Promise<OperationResponse>} A promise that resolves to a `OperationResponse` object * * For more information, refer to the [API documentation](https://docs.neynar.com/reference/mark-notifications-as-seen) * */ markNotificationsAsSeen(requestParameters: NotificationsApiMarkNotificationsAsSeenRequest, options?: RawAxiosRequestConfig): AxiosPromise<OperationResponse>; } /** * Request parameters for fetchAllNotifications operation in NotificationsApi. * @export * @interface NotificationsApiFetchAllNotificationsRequest */ export interface NotificationsApiFetchAllNotificationsRequest { /** * FID of the user you you want to fetch notifications for. The response will respect this user\&#39;s mutes and blocks. * * * * @type {number} * @memberof NotificationsApiFetchAllNotifications */ readonly fid: number; /** * Enables experimental features including filtering based on the Neynar score. See [docs](https://neynar.notion.site/Experimental-Features-1d2655195a8b80eb98b4d4ae7b76ae4a) for more details. * * * @globalHeader * @type {boolean} * @memberof NotificationsApiFetchAllNotifications */ readonly xNeynarExperimental?: boolean; /** * Notification type to fetch. Comma separated values of follows, recasts, likes, mentions, replies. * * * * @type {Array<'follows' | 'recasts' | 'likes' | 'mentions' | 'replies' | 'quotes'>} * @memberof NotificationsApiFetchAllNotifications */ readonly type?: Array<FetchAllNotificationsTypeEnum>; /** * Number of results to fetch (Default: 15, Maximum: 25) * * * * @type {number} * @memberof NotificationsApiFetchAllNotifications */ readonly limit?: number; /** * Pagination cursor. * * * * @type {string} * @memberof NotificationsApiFetchAllNotifications */ readonly cursor?: string; } /** * Request parameters for fetchChannelNotificationsForUser operation in NotificationsApi. * @export * @interface NotificationsApiFetchChannelNotificationsForUserRequest */ export interface NotificationsApiFetchChannelNotificationsForUserRequest { /** * FID of the user you you want to fetch notifications for. The response will respect this user\&#39;s mutes and blocks. * * * * @type {number} * @memberof NotificationsApiFetchChannelNotificationsForUser */ readonly fid: number; /** * Comma separated channel_ids (find list of all channels here - https://docs.neynar.com/reference/list-all-channels) * * @commaSeparated * * @type {string} * @memberof NotificationsApiFetchChannelNotificationsForUser */ readonly channelIds: string; /** * Enables experimental features including filtering based on the Neynar score. See [docs](https://neynar.notion.site/Experimental-Features-1d2655195a8b80eb98b4d4ae7b76ae4a) for more details. * * * @globalHeader * @type {boolean} * @memberof NotificationsApiFetchChannelNotificationsForUser */ readonly xNeynarExperimental?: boolean; /** * Number of results to fetch (Default: 15, Maximum: 25) * * * * @type {number} * @memberof NotificationsApiFetchChannelNotificationsForUser */ readonly limit?: number; /** * Pagination cursor. * * * * @type {string} * @memberof NotificationsApiFetchChannelNotificationsForUser */ readonly cursor?: string; } /** * Request parameters for fetchNotificationsByParentUrlForUser operation in NotificationsApi. * @export * @interface NotificationsApiFetchNotificationsByParentUrlForUserRequest */ export interface NotificationsApiFetchNotificationsByParentUrlForUserRequest { /** * FID of the user you you want to fetch notifications for. The response will respect this user\&#39;s mutes and blocks. * * * * @type {number} * @memberof NotificationsApiFetchNotificationsByParentUrlForUser */ readonly fid: number; /** * Comma separated parent_urls * * @commaSeparated * * @type {string} * @memberof NotificationsApiFetchNotificationsByParentUrlForUser */ readonly parentUrls: string; /** * Enables experimental features including filtering based on the Neynar score. See [docs](https://neynar.notion.site/Experimental-Features-1d2655195a8b80eb98b4d4ae7b76ae4a) for more details. * * * @globalHeader * @type {boolean} * @memberof NotificationsApiFetchNotificationsByParentUrlForUser */ readonly xNeynarExperimental?: boolean; /** * Number of results to fetch (Default: 15, Maximum: 25) * * * * @type {number} * @memberof NotificationsApiFetchNotificationsByParentUrlForUser */ readonly limit?: number; /** * Pagination cursor. * * * * @type {string} * @memberof NotificationsApiFetchNotificationsByParentUrlForUser */ readonly cursor?: string; } /** * Request parameters for markNotificationsAsSeen operation in NotificationsApi. * @export * @interface NotificationsApiMarkNotificationsAsSeenRequest */ export interface NotificationsApiMarkNotificationsAsSeenRequest { /** * * * * * @type {MarkNotificationsAsSeenReqBody} * @memberof NotificationsApiMarkNotificationsAsSeen */ readonly markNotificationsAsSeenReqBody: MarkNotificationsAsSeenReqBody; /** * Optional Bearer token for certain endpoints. The token format is described [here](https://docs.farcaster.xyz/reference/warpcast/api#authentication). * * * @globalHeader * @type {string} * @memberof NotificationsApiMarkNotificationsAsSeen */ readonly authorization?: string; } /** * NotificationsApi - object-oriented interface * @export * @class NotificationsApi * @extends {BaseAPI} */ export declare class NotificationsApi extends BaseAPI implements NotificationsApiInterface { /** * Returns a list of notifications for a specific FID. * @summary For user * @param {NotificationsApiFetchAllNotificationsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof NotificationsApi * @returns {Promise<NotificationsResponse>} A promise that resolves to a `NotificationsResponse` object * * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-all-notifications) * */ fetchAllNotifications(requestParameters: NotificationsApiFetchAllNotificationsRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<NotificationsResponse, any, {}>>; /** * Returns a list of notifications for a user in specific channels * @summary For user by channel * @param {NotificationsApiFetchChannelNotificationsForUserRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof NotificationsApi * @returns {Promise<NotificationsResponse>} A promise that resolves to a `NotificationsResponse` object * * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-channel-notifications-for-user) * */ fetchChannelNotificationsForUser(requestParameters: NotificationsApiFetchChannelNotificationsForUserRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<NotificationsResponse, any, {}>>; /** * Returns a list of notifications for a user in specific parent_urls * @summary For user by parent_urls * @param {NotificationsApiFetchNotificationsByParentUrlForUserRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof NotificationsApi * @returns {Promise<NotificationsResponse>} A promise that resolves to a `NotificationsResponse` object * * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-notifications-by-parent-url-for-user) * */ fetchNotificationsByParentUrlForUser(requestParameters: NotificationsApiFetchNotificationsByParentUrlForUserRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<NotificationsResponse, any, {}>>; /** * Mark notifications as seen. You can choose one of two authorization methods, either: 1. Provide a valid signer_uuid in the request body (Most common) 2. Provide a valid, signed \"Bearer\" token in the request\'s `Authorization` header similar to the approach described [here](https://docs.farcaster.xyz/reference/warpcast/api#authentication) * @summary Mark as seen * @param {NotificationsApiMarkNotificationsAsSeenRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof NotificationsApi * @returns {Promise<OperationResponse>} A promise that resolves to a `OperationResponse` object * * For more information, refer to the [API documentation](https://docs.neynar.com/reference/mark-notifications-as-seen) * */ markNotificationsAsSeen(requestParameters: NotificationsApiMarkNotificationsAsSeenRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<OperationResponse, any, {}>>; } /** * @export */ export declare const FetchAllNotificationsTypeEnum: { readonly Follows: "follows"; readonly Recasts: "recasts"; readonly Likes: "likes"; readonly Mentions: "mentions"; readonly Replies: "replies"; readonly Quotes: "quotes"; }; export type FetchAllNotificationsTypeEnum = typeof FetchAllNotificationsTypeEnum[keyof typeof FetchAllNotificationsTypeEnum];