AuthTestResponse

type AuthTestResponse = {
  message: string;
};

ContainsCIDResponse

type ContainsCIDResponse = {
  containsCid: boolean;
  cid: string | null;
};

ContentType

type ContentType =
  | "application/json"
  | "application/xml"
  | "text/plain"
  | "text/html"
  | "text/css"
  | "text/javascript"
  | "application/javascript"
  | "image/jpeg"
  | "image/png"
  | "image/gif"
  | "image/svg+xml"
  | "audio/mpeg"
  | "audio/ogg"
  | "video/mp4"
  | "application/pdf"
  | "application/octet-stream"
  | string
  | null;

DataEndponts

type DataEndponts = {
  pinList?: boolean;
  userPinnedDataTotal?: boolean;
};

Endpoints

type Endpoints = {
  data?: DataEndponts;
  pinning?: PinningEndpoints;
};

FileObject

type FileObject = {
  name: string;
  size: number;
  type: string;
  lastModified: number;
  arrayBuffer: () => Promise<ArrayBuffer>;
};

GatewayAnalyticsQuery

type GatewayAnalyticsQuery = {
  gateway_domain: string;
  start_date: string;
  end_date: string;
  cid?: string;
  file_name?: string;
  user_agent?: string;
  country?: string;
  region?: string;
  referer?: string;
  limit?: number;
  sort_order?: "asc" | "desc";
};

GetCIDResponse

type GetCIDResponse = {
  data?: JSON | string | Blob | null;
  contentType: ContentType;
};

GetGroupOptions

type GetGroupOptions = {
  groupId: string;
};

GroupCIDOptions

type GroupCIDOptions = {
  groupId: string;
  cids: string[];
};

GroupOptions

type GroupOptions = {
  name: string;
};

GroupQueryOptions

type GroupQueryOptions = {
  nameContains?: string;
  offset?: number;
  limit?: number;
};

GroupResponseItem

type GroupResponseItem = {
  id: string;
  user_id: string;
  name: string;
  updatedAt: string;
  createdAt: string;
};

JsonBody

type JsonBody = Record<string, unknown>;

KeyListItem

type KeyListItem = {
  id: string;
  name: string;
  key: string;
  secret: string;
  max_uses: number;
  uses: number;
  user_id: string;
  scopes: KeyScopes;
  revoked: boolean;
  createdAt: string;
  updatedAt: string;
};

KeyListQuery

type KeyListQuery = {
  revoked?: boolean;
  limitedUse?: boolean;
  exhausted?: boolean;
  name?: string;
  offset?: number;
};

KeyListResponse

type KeyListResponse = {
  keys: KeyListItem[];
  count: number;
};

KeyOptions

type KeyOptions = {
  keyName: string;
  permissions: KeyPermissions;
  maxUses?: number;
};

KeyPermissions

type KeyPermissions = {
  admin?: boolean;
  endpoints?: Endpoints;
};

KeyResponse

type KeyResponse = {
  JWT: string;
  pinata_api_key: string;
  pinata_api_secret: string;
};

KeyScopes

type KeyScopes = {
  endpoints: {
    pinning: {
      pinFileToIPFS: boolean;
      pinJSONToIPFS: boolean;
    };
  };
  admin: boolean;
};

OptimizeImageOptions

type OptimizeImageOptions = {
  width?: number;
  height?: number;
  dpr?: number;
  fit?: "scaleDown" | "contain" | "cover" | "crop" | "pad";
  gravity?: "auto" | "side" | string;
  quality?: number;
  format?: "auto" | "webp";
  animation?: boolean;
  sharpen?: number;
  onError?: boolean;
  metadata?: "keep" | "copyright" | "none";
};

PinByCIDResponse

type PinByCIDResponse = {
  id: string;
  ipfsHash: string;
  status: "prechecking" | "retrieving";
  name: string;
  updated?: boolean;
};

PinataConfig

type PinataConfig = {
  pinataJwt: string | undefined;
  pinataGateway?: string;
  pinataGatewayKey?: string;
  customHeaders?: Record<string, string>;
  endpointUrl?: string;
};

PinataMetadata

type PinataMetadata = {
  name?: string;
  keyValues?: Record<string, string | number>;
};

PinataMetadataUpdate

type PinataMetadataUpdate = {
  cid: string;
  name?: string;
  keyValues?: Record<string, string | number>;
};

PinJobItem

type PinJobItem = {
  id: string;
  ipfs_pin_hash: string;
  date_queued: string;
  name: string;
  status: string;
  keyvalues: any;
  host_nodes: string[];
  pin_policy: {
    regions: {
      id: string;
      desiredReplicationCount: number;
    }[];
    version: number;
  };
};

PinJobQuery

type PinJobQuery = {
  sort?: "ASC" | "DSC";
  status?:
    | "prechecking"
    | "retrieving"
    | "expired"
    | "over_free_limit"
    | "over_max_size"
    | "invalid_object"
    | "bad_host_node";
  ipfs_pin_hash?: string;
  limit?: number;
  offset?: number;
};

PinJobResponse

type PinJobResponse = {
  rows: PinJobItem[];
};

PinListItem

type PinListItem = {
  id: string;
  ipfs_pin_hash: string;
  size: number;
  user_id: string;
  date_pinned: string;
  date_unpinned: string | null;
  metadata: {
    name: string | null;
    keyvalues: {
      [key: string]: any;
    } | null;
  };
  regions: {
    regionId: string;
    currentReplicationCount: number;
    desiredReplicationCount: number;
  }[];
  mime_type: string;
  number_of_files: number;
};

PinListQuery

type PinListQuery = {
  cid?: string;
  pinStart?: string;
  pinEnd?: string;
  pinSizeMin?: number;
  pinSizeMax?: number;
  pageLimit?: number;
  pageOffset?: number;
  name?: string;
  groupId?: string;
  key?: string;
  value?: string | number;
  operator?:
    | "gt"
    | "gte"
    | "lt"
    | "lte"
    | "ne"
    | "eq"
    | "between"
    | "notBetween"
    | "like"
    | "notLike"
    | "iLike"
    | "notILike"
    | "regexp"
    | "iRegexp";
};

PinListResponse

type PinListResponse = {
  rows: PinListItem[];
};

PinningEndpoints

type PinningEndpoints = {
  hashMetadata?: boolean;
  hashPinPolicy?: boolean;
  pinByHash?: boolean;
  pinFileToIPFS?: boolean;
  pinJSONToIPFS?: boolean;
  pinJobs?: boolean;
  unpin?: boolean;
  userPinPolicy?: boolean;
};

PinResponse

type PinResponse = {
  IpfsHash: string;
  PinSize: number;
  Timestamp: string;
  isDuplicate?: boolean;
};

RevokeKeyResponse

type RevokeKeyResponse = {
  key: string;
  status: string;
};

SignatureOptions

type SignatureOptions = {
  cid: string;
  signature: string;
};

SignatureResponse

type SignatureResponse = {
  cid: string;
  signature: string;
};

SwapCidOptions

type SwapCidOptions = {
  cid: string;
  swapCid: string;
};

SwapCidResponse

type SwapCidResponse = {
  mappedCid: string;
  createdAt: string;
};

SwapHistoryOptions

type SwapHistoryOptions = {
  cid: string;
  domain: string;
};

TimeIntervalGatewayAnalyticsQuery

type TimeIntervalGatewayAnalyticsQuery = GatewayAnalyticsQuery & {
  sort_by?: "requests" | "bandwidth";
  date_interval: "day" | "week";
};

TimeIntervalGatewayAnalyticsResponse

type TimeIntervalGatewayAnalyticsResponse = {
  total_requests: number;
  total_bandwidth: number;
  time_periods: TimePeriodItem[];
};

TimePeriodItem

type TimePeriodItem = {
  period_start_time: string;
  requests: number;
  bandwidth: number;
};

TopGatewayAnalyticsItem

type TopGatewayAnalyticsItem = {
  value: string;
  requests: number;
  bandwidth: number;
};

TopGatewayAnalyticsQuery

type TopGatewayAnalyticsQuery = GatewayAnalyticsQuery & {
  sort_by: "requests" | "bandwidth";
  attribute:
    | "cid"
    | "country"
    | "region"
    | "user_agent"
    | "referer"
    | "file_name";
};

UnpinResponse

type UnpinResponse = {
  hash: string;
  status: string;
};

UpdateGroupOptions

type UpdateGroupOptions = {
  name: string;
  groupId: string;
};

UploadCIDOptions

type UploadCIDOptions = {
  metadata?: PinataMetadata;
  peerAddresses?: string[];
  keys?: string;
  groupId?: string;
};

UploadOptions

type UploadOptions = {
  metadata?: PinataMetadata;
  pinType?: "async" | "sync" | "cidOnly";
  keys?: string;
  groupId?: string;
  cidVersion?: 0 | 1;
};

UserPinnedDataResponse

type UserPinnedDataResponse = {
  pin_count: number;
  pin_size_total: number;
  pin_size_with_replications_total: number;
};