Data Schemas

Metadata

Artiva platform metadata currently conforms to the following schema.

type Navigation = {
  label: string;
  url: string;
  secondary: boolean;
};

type Tag = {
  name: string;
  color: string;
  slug: string;
  description: string;
  image_url: string;
};

type CustomProperty = {
  type: "boolean" | "text" | "select" | "color" | "image";
  options?: string[];
  default?: any;
  group?: "homepage" | "post";
};

type Platform = {
  title: string;
  description: string;
  logo?: string;
  icon?: string;
  themeURL?: string;
  accent_color?: string;
  cover_image?: string;
  codeinjection_head?: string;
  codeinjection_foot?: string;
  navigation?: Navigation[];
  tags?: Tag[];
  timezone?: string;
  locale?: string;
  meta_title?: string;
  meta_description?: string;
  twitter_image?: string;
  twitter_title?: string;
  twitter_description?: string;
  og_image?: string;
  og_title?: string;
  og_description?: string;
  url?: string;
  custom: {
    [key: string]: CustomProperty;
  };
};

Post

Artiva post data conforms to the following schema

type ChainIdentifier = "ETHEREUM" | "POLYGON";

type NFTIdentifier = {
  chain: ChainIdentifier;
  contractAddress: string;
  tokenId: string;
};

type NFTContractIdentifier = {
  chain: ChainIdentifier;
  contractAddress: string;
};

type PostContent = NFTIdentifier | NFTContractIdentifier;

enum PostTypeEnum {
  NFT = "nft",
  NFT_CONTRACT = "nftContract",
}

type Post = {
  id: string;
  content: PostContent;
  type: PostTypeEnum;
  tags?: string[];
};

Last updated