@vansite/ts-sharetribe-flex-sdk
Version:
This is a TypeScript SDK for Sharetribe Flex API. It reduces the complexity of the API and provides a more user-friendly interface.
59 lines (58 loc) • 2.02 kB
TypeScript
/**
* @fileoverview Client for the Sharetribe Integration API.
*
* This is the main entry point for server-side or trusted integrations.
* It provides access to all privileged endpoints: availability exceptions, events,
* image uploads, stock management, transactions, users, and more.
*
* Requires a client secret for authentication.
*
* @example
* const sdk = new IntegrationSdk({
* clientId: "abc123",
* clientSecret: "super-secret",
* baseUrl: "https://api.sharetribe.com"
* });
*
* // Query recent events
* const { data: events } = await sdk.integration.events.query({
* createdAtStart: "2025-01-01T00:00:00Z"
* });
*/
import type { AxiosInstance } from "axios";
import IntegrationSdk from "../../integrationSdk";
import AvailabilityExceptions from "./AvailabilityExceptions";
import Events from "./Events";
import Images from "./Images";
import Listings from "./Listings";
import Marketplace from "./Marketplace";
import Stock from "./Stock";
import StockAdjustments from "./StockAdjustments";
import StockReservations from "./StockReservations";
import Transactions from "./Transactions";
import Users from "./Users";
/**
* Integration API client
*/
declare class IntegrationApi {
/** Axios instance with auth headers */
readonly axios: AxiosInstance;
/** Base URL for all Integration API endpoints */
readonly endpoint: string;
/** Default headers (includes Authorization) */
readonly headers: Record<string, string>;
/** Most endpoints require authentication */
readonly authRequired = true;
readonly availabilityExceptions: AvailabilityExceptions;
readonly events: Events;
readonly images: Images;
readonly listings: Listings;
readonly marketplace: Marketplace;
readonly stock: Stock;
readonly stockAdjustments: StockAdjustments;
readonly stockReservations: StockReservations;
readonly transactions: Transactions;
readonly users: Users;
constructor(sdk: IntegrationSdk);
}
export default IntegrationApi;