CINXE.COM
Dive Marketplace - Access
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/12084922609e6532-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/22539d17f3707926-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/3eb4bb530f30483c-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/b1dca2a5d44fc7a4-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/c6d20a6ba91d97e6-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/5c361faaa4a8e693.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-43789b2e6d24d658.js"/><script src="/_next/static/chunks/fd9d1056-8ae5f8ae84a9e1ca.js" async=""></script><script src="/_next/static/chunks/472-8a871677be77d290.js" async=""></script><script src="/_next/static/chunks/main-app-703e8bd9ded479e2.js" async=""></script><script src="/_next/static/chunks/395-440304081f28889b.js" async=""></script><script src="/_next/static/chunks/609-411ee0408fc35a59.js" async=""></script><script src="/_next/static/chunks/643-9dcfbc9e05c9cdd0.js" async=""></script><script src="/_next/static/chunks/188-70359d683efe9612.js" async=""></script><script src="/_next/static/chunks/749-6c7e534489633b7c.js" async=""></script><script src="/_next/static/chunks/app/layout-226a7564fb119353.js" async=""></script><script src="/_next/static/chunks/326-5e7607cd588db589.js" async=""></script><script src="/_next/static/chunks/691-0fa3afd13045214b.js" async=""></script><script src="/_next/static/chunks/app/(authenticated)/layout-45fa957591c199e1.js" async=""></script><script src="/_next/static/chunks/37-9f40abd84ae39dda.js" async=""></script><script src="/_next/static/chunks/app/documentation/layout-e53ee05f37157e25.js" async=""></script><script async="" src="https://js.stripe.com/v3/pricing-table.js"></script><script src="/_next/static/chunks/890-e8608b5970e7e630.js" async=""></script><script src="/_next/static/chunks/app/documentation/page-7c8e82b64fa17ac6.js" async=""></script><link rel="preload" href="https://www.googletagmanager.com/gtm.js?id=GTM-WK69S77X" as="script"/><title>Dive Marketplace - Access</title><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="32x32"/><link rel="apple-touch-icon" href="/apple-icon.png?c4aeda5aae2a4698" type="image/png" sizes="192x192"/><meta name="next-size-adjust"/><script src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js" noModule=""></script><style data-emotion="css 0 1qei2j8 fubdgu 1cgn62j 15ug192 rvjeh2 70qvj9 1j9lfct wubf5g 17vuvug kx05hj qu6wpi e1o4wo 1gy5jg2 r6z5ec 1kfu8nn 18esm8n 7halv9 12vdn2q 18x6hc4 7632q7 259i0c 15bt6gt ozv6cb 1ryio59 1ivujmi 1grieqx 1dtnoyk 1g8z5tv pv36ak 18936vg 1811skr 177ryx 189dhzu 6ill7t 37ytmg 2hy9x3 10d65bq xg14da 10klw3m 15mzygo 12pgphf f72q80 10lxbkf 1qfz1kc 2fiiqj 722v25 1t0q38z 13d1arr 19gci77"> :host,:root,[data-theme]{--chakra-ring-inset:var(--chakra-empty,/*!*/ /*!*/);--chakra-ring-offset-width:0px;--chakra-ring-offset-color:#fff;--chakra-ring-color:rgba(66, 153, 225, 0.6);--chakra-ring-offset-shadow:0 0 #0000;--chakra-ring-shadow:0 0 #0000;--chakra-space-x-reverse:0;--chakra-space-y-reverse:0;--chakra-colors-transparent:transparent;--chakra-colors-current:currentColor;--chakra-colors-black:#000000;--chakra-colors-white:#FFFFFF;--chakra-colors-whiteAlpha-50:rgba(255, 255, 255, 0.04);--chakra-colors-whiteAlpha-100:rgba(255, 255, 255, 0.06);--chakra-colors-whiteAlpha-200:rgba(255, 255, 255, 0.08);--chakra-colors-whiteAlpha-300:rgba(255, 255, 255, 0.16);--chakra-colors-whiteAlpha-400:rgba(255, 255, 255, 0.24);--chakra-colors-whiteAlpha-500:rgba(255, 255, 255, 0.36);--chakra-colors-whiteAlpha-600:rgba(255, 255, 255, 0.48);--chakra-colors-whiteAlpha-700:rgba(255, 255, 255, 0.64);--chakra-colors-whiteAlpha-800:rgba(255, 255, 255, 0.80);--chakra-colors-whiteAlpha-900:rgba(255, 255, 255, 0.92);--chakra-colors-blackAlpha-50:rgba(0, 0, 0, 0.04);--chakra-colors-blackAlpha-100:rgba(0, 0, 0, 0.06);--chakra-colors-blackAlpha-200:rgba(0, 0, 0, 0.08);--chakra-colors-blackAlpha-300:rgba(0, 0, 0, 0.16);--chakra-colors-blackAlpha-400:rgba(0, 0, 0, 0.24);--chakra-colors-blackAlpha-500:rgba(0, 0, 0, 0.36);--chakra-colors-blackAlpha-600:rgba(0, 0, 0, 0.48);--chakra-colors-blackAlpha-700:rgba(0, 0, 0, 0.64);--chakra-colors-blackAlpha-800:rgba(0, 0, 0, 0.80);--chakra-colors-blackAlpha-900:rgba(0, 0, 0, 0.92);--chakra-colors-gray-50:#F5F5FA;--chakra-colors-gray-100:#EEEDF2;--chakra-colors-gray-200:#E5E4EB;--chakra-colors-gray-300:#D0D1DA;--chakra-colors-gray-400:#B9BAC6;--chakra-colors-gray-500:#9598A6;--chakra-colors-gray-600:#6E707C;--chakra-colors-gray-700:#4B4D55;--chakra-colors-gray-800:#323239;--chakra-colors-gray-900:#0A0A0A;--chakra-colors-red-50:#FFF5F5;--chakra-colors-red-100:#FED7D7;--chakra-colors-red-200:#FEB2B2;--chakra-colors-red-300:#FC8181;--chakra-colors-red-400:#F56565;--chakra-colors-red-500:#E53E3E;--chakra-colors-red-600:#C53030;--chakra-colors-red-700:#9B2C2C;--chakra-colors-red-800:#822727;--chakra-colors-red-900:#63171B;--chakra-colors-orange-50:#FFFAF0;--chakra-colors-orange-100:#FEEBC8;--chakra-colors-orange-200:#FBD38D;--chakra-colors-orange-300:#F6AD55;--chakra-colors-orange-400:#ED8936;--chakra-colors-orange-500:#DD6B20;--chakra-colors-orange-600:#C05621;--chakra-colors-orange-700:#9C4221;--chakra-colors-orange-800:#7B341E;--chakra-colors-orange-900:#652B19;--chakra-colors-yellow-50:#FFFFF0;--chakra-colors-yellow-100:#FEFCBF;--chakra-colors-yellow-200:#FAF089;--chakra-colors-yellow-300:#F6E05E;--chakra-colors-yellow-400:#ECC94B;--chakra-colors-yellow-500:#D69E2E;--chakra-colors-yellow-600:#B7791F;--chakra-colors-yellow-700:#975A16;--chakra-colors-yellow-800:#744210;--chakra-colors-yellow-900:#5F370E;--chakra-colors-green-50:#F0FFF4;--chakra-colors-green-100:#C6F6D5;--chakra-colors-green-200:#9AE6B4;--chakra-colors-green-300:#68D391;--chakra-colors-green-400:#48BB78;--chakra-colors-green-500:#38A169;--chakra-colors-green-600:#2F855A;--chakra-colors-green-700:#276749;--chakra-colors-green-800:#22543D;--chakra-colors-green-900:#1C4532;--chakra-colors-teal-50:#E6FFFA;--chakra-colors-teal-100:#B2F5EA;--chakra-colors-teal-200:#81E6D9;--chakra-colors-teal-300:#4FD1C5;--chakra-colors-teal-400:#38B2AC;--chakra-colors-teal-500:#319795;--chakra-colors-teal-600:#2C7A7B;--chakra-colors-teal-700:#285E61;--chakra-colors-teal-800:#234E52;--chakra-colors-teal-900:#1D4044;--chakra-colors-blue-50:#ebf8ff;--chakra-colors-blue-100:#bee3f8;--chakra-colors-blue-200:#90cdf4;--chakra-colors-blue-300:#63b3ed;--chakra-colors-blue-400:#4299e1;--chakra-colors-blue-500:#3182ce;--chakra-colors-blue-600:#2b6cb0;--chakra-colors-blue-700:#2c5282;--chakra-colors-blue-800:#2a4365;--chakra-colors-blue-900:#1A365D;--chakra-colors-cyan-50:#EDFDFD;--chakra-colors-cyan-100:#C4F1F9;--chakra-colors-cyan-200:#9DECF9;--chakra-colors-cyan-300:#76E4F7;--chakra-colors-cyan-400:#0BC5EA;--chakra-colors-cyan-500:#00B5D8;--chakra-colors-cyan-600:#00A3C4;--chakra-colors-cyan-700:#0987A0;--chakra-colors-cyan-800:#086F83;--chakra-colors-cyan-900:#065666;--chakra-colors-purple-50:#FAF5FF;--chakra-colors-purple-100:#E9D8FD;--chakra-colors-purple-200:#D6BCFA;--chakra-colors-purple-300:#B794F4;--chakra-colors-purple-400:#9F7AEA;--chakra-colors-purple-500:#805AD5;--chakra-colors-purple-600:#6B46C1;--chakra-colors-purple-700:#553C9A;--chakra-colors-purple-800:#44337A;--chakra-colors-purple-900:#322659;--chakra-colors-pink-50:#FFF5F7;--chakra-colors-pink-100:#FED7E2;--chakra-colors-pink-200:#FBB6CE;--chakra-colors-pink-300:#F687B3;--chakra-colors-pink-400:#ED64A6;--chakra-colors-pink-500:#D53F8C;--chakra-colors-pink-600:#B83280;--chakra-colors-pink-700:#97266D;--chakra-colors-pink-800:#702459;--chakra-colors-pink-900:#521B41;--chakra-colors-linkedin-50:#E8F4F9;--chakra-colors-linkedin-100:#CFEDFB;--chakra-colors-linkedin-200:#9BDAF3;--chakra-colors-linkedin-300:#68C7EC;--chakra-colors-linkedin-400:#34B3E4;--chakra-colors-linkedin-500:#00A0DC;--chakra-colors-linkedin-600:#008CC9;--chakra-colors-linkedin-700:#0077B5;--chakra-colors-linkedin-800:#005E93;--chakra-colors-linkedin-900:#004471;--chakra-colors-facebook-50:#E8F4F9;--chakra-colors-facebook-100:#D9DEE9;--chakra-colors-facebook-200:#B7C2DA;--chakra-colors-facebook-300:#6482C0;--chakra-colors-facebook-400:#4267B2;--chakra-colors-facebook-500:#385898;--chakra-colors-facebook-600:#314E89;--chakra-colors-facebook-700:#29487D;--chakra-colors-facebook-800:#223B67;--chakra-colors-facebook-900:#1E355B;--chakra-colors-messenger-50:#D0E6FF;--chakra-colors-messenger-100:#B9DAFF;--chakra-colors-messenger-200:#A2CDFF;--chakra-colors-messenger-300:#7AB8FF;--chakra-colors-messenger-400:#2E90FF;--chakra-colors-messenger-500:#0078FF;--chakra-colors-messenger-600:#0063D1;--chakra-colors-messenger-700:#0052AC;--chakra-colors-messenger-800:#003C7E;--chakra-colors-messenger-900:#002C5C;--chakra-colors-whatsapp-50:#dffeec;--chakra-colors-whatsapp-100:#b9f5d0;--chakra-colors-whatsapp-200:#90edb3;--chakra-colors-whatsapp-300:#65e495;--chakra-colors-whatsapp-400:#3cdd78;--chakra-colors-whatsapp-500:#22c35e;--chakra-colors-whatsapp-600:#179848;--chakra-colors-whatsapp-700:#0c6c33;--chakra-colors-whatsapp-800:#01421c;--chakra-colors-whatsapp-900:#001803;--chakra-colors-twitter-50:#E5F4FD;--chakra-colors-twitter-100:#C8E9FB;--chakra-colors-twitter-200:#A8DCFA;--chakra-colors-twitter-300:#83CDF7;--chakra-colors-twitter-400:#57BBF5;--chakra-colors-twitter-500:#1DA1F2;--chakra-colors-twitter-600:#1A94DA;--chakra-colors-twitter-700:#1681BF;--chakra-colors-twitter-800:#136B9E;--chakra-colors-twitter-900:#0D4D71;--chakra-colors-telegram-50:#E3F2F9;--chakra-colors-telegram-100:#C5E4F3;--chakra-colors-telegram-200:#A2D4EC;--chakra-colors-telegram-300:#7AC1E4;--chakra-colors-telegram-400:#47A9DA;--chakra-colors-telegram-500:#0088CC;--chakra-colors-telegram-600:#007AB8;--chakra-colors-telegram-700:#006BA1;--chakra-colors-telegram-800:#005885;--chakra-colors-telegram-900:#003F5E;--chakra-colors-brand-indigo-50:#F5F5FA;--chakra-colors-brand-indigo-100:#E6E6FF;--chakra-colors-brand-indigo-200:#D1D0FC;--chakra-colors-brand-indigo-300:#9A9AE2;--chakra-colors-brand-indigo-400:#7878CC;--chakra-colors-brand-indigo-500:#414192;--chakra-colors-brand-indigo-600:#33337D;--chakra-colors-brand-indigo-700:#2A2A6F;--chakra-colors-brand-indigo-800:#1E2057;--chakra-colors-brand-indigo-900:#121242;--chakra-colors-brand-gray-50:#F5F5FA;--chakra-colors-brand-gray-100:#EEEDF2;--chakra-colors-brand-gray-200:#E5E4EB;--chakra-colors-brand-gray-300:#D0D1DA;--chakra-colors-brand-gray-400:#B9BAC6;--chakra-colors-brand-gray-500:#9598A6;--chakra-colors-brand-gray-600:#6E707C;--chakra-colors-brand-gray-700:#4B4D55;--chakra-colors-brand-gray-800:#323239;--chakra-colors-brand-gray-900:#0A0A0A;--chakra-borders-none:0;--chakra-borders-1px:1px solid;--chakra-borders-2px:2px solid;--chakra-borders-4px:4px solid;--chakra-borders-8px:8px solid;--chakra-fonts-heading:'__satoshi_72dc65','__satoshi_Fallback_72dc65',Helvetica,Arial,sans-serif;--chakra-fonts-body:'__satoshi_72dc65','__satoshi_Fallback_72dc65',Helvetica,Arial,sans-serif;--chakra-fonts-mono:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--chakra-fontSizes-3xs:0.45rem;--chakra-fontSizes-2xs:0.625rem;--chakra-fontSizes-xs:0.75rem;--chakra-fontSizes-sm:0.875rem;--chakra-fontSizes-md:1rem;--chakra-fontSizes-lg:1.125rem;--chakra-fontSizes-xl:1.25rem;--chakra-fontSizes-2xl:1.5rem;--chakra-fontSizes-3xl:1.875rem;--chakra-fontSizes-4xl:2.25rem;--chakra-fontSizes-5xl:3rem;--chakra-fontSizes-6xl:3.75rem;--chakra-fontSizes-7xl:4.5rem;--chakra-fontSizes-8xl:6rem;--chakra-fontSizes-9xl:8rem;--chakra-fontWeights-hairline:100;--chakra-fontWeights-thin:200;--chakra-fontWeights-light:300;--chakra-fontWeights-normal:400;--chakra-fontWeights-medium:500;--chakra-fontWeights-semibold:500;--chakra-fontWeights-bold:700;--chakra-fontWeights-extrabold:800;--chakra-fontWeights-black:900;--chakra-letterSpacings-tighter:-0.05em;--chakra-letterSpacings-tight:-0.025em;--chakra-letterSpacings-normal:0;--chakra-letterSpacings-wide:0.025em;--chakra-letterSpacings-wider:0.05em;--chakra-letterSpacings-widest:0.1em;--chakra-lineHeights-3:.75rem;--chakra-lineHeights-4:1rem;--chakra-lineHeights-5:1.25rem;--chakra-lineHeights-6:1.5rem;--chakra-lineHeights-7:1.75rem;--chakra-lineHeights-8:2rem;--chakra-lineHeights-9:2.25rem;--chakra-lineHeights-10:2.5rem;--chakra-lineHeights-normal:normal;--chakra-lineHeights-none:1;--chakra-lineHeights-shorter:1.25;--chakra-lineHeights-short:1.375;--chakra-lineHeights-base:1.5;--chakra-lineHeights-tall:1.625;--chakra-lineHeights-taller:2;--chakra-radii-none:0;--chakra-radii-sm:0.125rem;--chakra-radii-base:0.25rem;--chakra-radii-md:0.375rem;--chakra-radii-lg:0.5rem;--chakra-radii-xl:0.75rem;--chakra-radii-2xl:1rem;--chakra-radii-3xl:1.5rem;--chakra-radii-full:9999px;--chakra-space-1:0.25rem;--chakra-space-2:0.5rem;--chakra-space-3:0.75rem;--chakra-space-4:1rem;--chakra-space-5:1.25rem;--chakra-space-6:1.5rem;--chakra-space-7:1.75rem;--chakra-space-8:2rem;--chakra-space-9:2.25rem;--chakra-space-10:2.5rem;--chakra-space-12:3rem;--chakra-space-14:3.5rem;--chakra-space-16:4rem;--chakra-space-20:5rem;--chakra-space-24:6rem;--chakra-space-28:7rem;--chakra-space-32:8rem;--chakra-space-36:9rem;--chakra-space-40:10rem;--chakra-space-44:11rem;--chakra-space-48:12rem;--chakra-space-52:13rem;--chakra-space-56:14rem;--chakra-space-60:15rem;--chakra-space-64:16rem;--chakra-space-72:18rem;--chakra-space-80:20rem;--chakra-space-96:24rem;--chakra-space-px:1px;--chakra-space-0-5:0.125rem;--chakra-space-1-5:0.375rem;--chakra-space-2-5:0.625rem;--chakra-space-3-5:0.875rem;--chakra-shadows-xs:0 0 0 1px rgba(0, 0, 0, 0.05);--chakra-shadows-sm:0 1px 2px 0 rgba(0, 0, 0, 0.05);--chakra-shadows-base:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);--chakra-shadows-md:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);--chakra-shadows-lg:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);--chakra-shadows-xl:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);--chakra-shadows-2xl:0 25px 50px -12px rgba(0, 0, 0, 0.25);--chakra-shadows-outline:0 0 0 3px rgba(66, 153, 225, 0.6);--chakra-shadows-inner:inset 0 2px 4px 0 rgba(0,0,0,0.06);--chakra-shadows-none:none;--chakra-shadows-dark-lg:rgba(0, 0, 0, 0.1) 0px 0px 0px 1px,rgba(0, 0, 0, 0.2) 0px 5px 10px,rgba(0, 0, 0, 0.4) 0px 15px 40px;--chakra-sizes-1:0.25rem;--chakra-sizes-2:0.5rem;--chakra-sizes-3:0.75rem;--chakra-sizes-4:1rem;--chakra-sizes-5:1.25rem;--chakra-sizes-6:1.5rem;--chakra-sizes-7:1.75rem;--chakra-sizes-8:2rem;--chakra-sizes-9:2.25rem;--chakra-sizes-10:2.5rem;--chakra-sizes-12:3rem;--chakra-sizes-14:3.5rem;--chakra-sizes-16:4rem;--chakra-sizes-20:5rem;--chakra-sizes-24:6rem;--chakra-sizes-28:7rem;--chakra-sizes-32:8rem;--chakra-sizes-36:9rem;--chakra-sizes-40:10rem;--chakra-sizes-44:11rem;--chakra-sizes-48:12rem;--chakra-sizes-52:13rem;--chakra-sizes-56:14rem;--chakra-sizes-60:15rem;--chakra-sizes-64:16rem;--chakra-sizes-72:18rem;--chakra-sizes-80:20rem;--chakra-sizes-96:24rem;--chakra-sizes-px:1px;--chakra-sizes-0-5:0.125rem;--chakra-sizes-1-5:0.375rem;--chakra-sizes-2-5:0.625rem;--chakra-sizes-3-5:0.875rem;--chakra-sizes-max:max-content;--chakra-sizes-min:min-content;--chakra-sizes-full:100%;--chakra-sizes-3xs:14rem;--chakra-sizes-2xs:16rem;--chakra-sizes-xs:20rem;--chakra-sizes-sm:24rem;--chakra-sizes-md:28rem;--chakra-sizes-lg:32rem;--chakra-sizes-xl:36rem;--chakra-sizes-2xl:42rem;--chakra-sizes-3xl:48rem;--chakra-sizes-4xl:56rem;--chakra-sizes-5xl:64rem;--chakra-sizes-6xl:72rem;--chakra-sizes-7xl:80rem;--chakra-sizes-8xl:90rem;--chakra-sizes-prose:60ch;--chakra-sizes-container-sm:640px;--chakra-sizes-container-md:768px;--chakra-sizes-container-lg:1024px;--chakra-sizes-container-xl:1280px;--chakra-zIndices-hide:-1;--chakra-zIndices-auto:auto;--chakra-zIndices-base:0;--chakra-zIndices-docked:10;--chakra-zIndices-dropdown:1000;--chakra-zIndices-sticky:1100;--chakra-zIndices-banner:1200;--chakra-zIndices-overlay:1300;--chakra-zIndices-modal:1400;--chakra-zIndices-popover:1500;--chakra-zIndices-skipLink:1600;--chakra-zIndices-toast:1700;--chakra-zIndices-tooltip:1800;--chakra-transition-property-common:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform;--chakra-transition-property-colors:background-color,border-color,color,fill,stroke;--chakra-transition-property-dimensions:width,height;--chakra-transition-property-position:left,right,top,bottom;--chakra-transition-property-background:background-color,background-image,background-position;--chakra-transition-easing-ease-in:cubic-bezier(0.4, 0, 1, 1);--chakra-transition-easing-ease-out:cubic-bezier(0, 0, 0.2, 1);--chakra-transition-easing-ease-in-out:cubic-bezier(0.4, 0, 0.2, 1);--chakra-transition-duration-ultra-fast:50ms;--chakra-transition-duration-faster:100ms;--chakra-transition-duration-fast:150ms;--chakra-transition-duration-normal:200ms;--chakra-transition-duration-slow:300ms;--chakra-transition-duration-slower:400ms;--chakra-transition-duration-ultra-slow:500ms;--chakra-blur-none:0;--chakra-blur-sm:4px;--chakra-blur-base:8px;--chakra-blur-md:12px;--chakra-blur-lg:16px;--chakra-blur-xl:24px;--chakra-blur-2xl:40px;--chakra-blur-3xl:64px;--chakra-breakpoints-base:0em;--chakra-breakpoints-sm:30em;--chakra-breakpoints-md:48em;--chakra-breakpoints-lg:62em;--chakra-breakpoints-xl:80em;--chakra-breakpoints-2xl:96em;}.chakra-ui-light :host:not([data-theme]),.chakra-ui-light :root:not([data-theme]),.chakra-ui-light [data-theme]:not([data-theme]),[data-theme=light] :host:not([data-theme]),[data-theme=light] :root:not([data-theme]),[data-theme=light] [data-theme]:not([data-theme]),:host[data-theme=light],:root[data-theme=light],[data-theme][data-theme=light]{--chakra-colors-chakra-body-text:var(--chakra-colors-gray-800);--chakra-colors-chakra-body-bg:var(--chakra-colors-white);--chakra-colors-chakra-border-color:var(--chakra-colors-gray-200);--chakra-colors-chakra-inverse-text:var(--chakra-colors-white);--chakra-colors-chakra-subtle-bg:var(--chakra-colors-gray-100);--chakra-colors-chakra-subtle-text:var(--chakra-colors-gray-600);--chakra-colors-chakra-placeholder-color:var(--chakra-colors-gray-500);}.chakra-ui-dark :host:not([data-theme]),.chakra-ui-dark :root:not([data-theme]),.chakra-ui-dark [data-theme]:not([data-theme]),[data-theme=dark] :host:not([data-theme]),[data-theme=dark] :root:not([data-theme]),[data-theme=dark] [data-theme]:not([data-theme]),:host[data-theme=dark],:root[data-theme=dark],[data-theme][data-theme=dark]{--chakra-colors-chakra-body-text:var(--chakra-colors-whiteAlpha-900);--chakra-colors-chakra-body-bg:var(--chakra-colors-gray-800);--chakra-colors-chakra-border-color:var(--chakra-colors-whiteAlpha-300);--chakra-colors-chakra-inverse-text:var(--chakra-colors-gray-800);--chakra-colors-chakra-subtle-bg:var(--chakra-colors-gray-700);--chakra-colors-chakra-subtle-text:var(--chakra-colors-gray-400);--chakra-colors-chakra-placeholder-color:var(--chakra-colors-whiteAlpha-400);} html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;touch-action:manipulation;}body{position:relative;min-height:100%;margin:0;font-feature-settings:"kern";}:where(*, *::before, *::after){border-width:0;border-style:solid;box-sizing:border-box;word-wrap:break-word;}main{display:block;}hr{border-top-width:1px;box-sizing:content-box;height:0;overflow:visible;}:where(pre, code, kbd,samp){font-family:SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1em;}a{background-color:transparent;color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit;}abbr[title]{border-bottom:none;-webkit-text-decoration:underline;text-decoration:underline;-webkit-text-decoration:underline dotted;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}:where(b, strong){font-weight:bold;}small{font-size:80%;}:where(sub,sup){font-size:75%;line-height:0;position:relative;vertical-align:baseline;}sub{bottom:-0.25em;}sup{top:-0.5em;}img{border-style:none;}:where(button, input, optgroup, select, textarea){font-family:inherit;font-size:100%;line-height:1.15;margin:0;}:where(button, input){overflow:visible;}:where(button, select){text-transform:none;}:where( button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner ){border-style:none;padding:0;}fieldset{padding:0.35em 0.75em 0.625em;}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline;}textarea{overflow:auto;}:where([type="checkbox"], [type="radio"]){box-sizing:border-box;padding:0;}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none!important;}input[type="number"]{-moz-appearance:textfield;}input[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}input[type="search"]::-webkit-search-decoration{-webkit-appearance:none!important;}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block;}summary{display:-webkit-box;display:-webkit-list-item;display:-ms-list-itembox;display:list-item;}template{display:none;}[hidden]{display:none!important;}:where( blockquote, dl, dd, h1, h2, h3, h4, h5, h6, hr, figure, p, pre ){margin:0;}button{background:transparent;padding:0;}fieldset{margin:0;padding:0;}:where(ol, ul){margin:0;padding:0;}textarea{resize:vertical;}:where(button, [role="button"]){cursor:pointer;}button::-moz-focus-inner{border:0!important;}table{border-collapse:collapse;}:where(h1, h2, h3, h4, h5, h6){font-size:inherit;font-weight:inherit;}:where(button, input, optgroup, select, textarea){padding:0;line-height:inherit;color:inherit;}:where(img, svg, video, canvas, audio, iframe, embed, object){display:block;}:where(img, video){max-width:100%;height:auto;}[data-js-focus-visible] :focus:not([data-focus-visible-added]):not( [data-focus-visible-disabled] ){outline:none;box-shadow:none;}select::-ms-expand{display:none;}:root,:host{--chakra-vh:100vh;}@supports (height: -webkit-fill-available){:root,:host{--chakra-vh:-webkit-fill-available;}}@supports (height: -moz-fill-available){:root,:host{--chakra-vh:-moz-fill-available;}}@supports (height: 100dvh){:root,:host{--chakra-vh:100dvh;}} body{font-family:var(--chakra-fonts-body);color:var(--chakra-colors-chakra-body-text);background:var(--chakra-colors-chakra-body-bg);transition-property:background-color;transition-duration:var(--chakra-transition-duration-normal);line-height:var(--chakra-lineHeights-base);}*::-webkit-input-placeholder{color:var(--chakra-colors-chakra-placeholder-color);}*::-moz-placeholder{color:var(--chakra-colors-chakra-placeholder-color);}*:-ms-input-placeholder{color:var(--chakra-colors-chakra-placeholder-color);}*::placeholder{color:var(--chakra-colors-chakra-placeholder-color);}*,*::before,::after{border-color:var(--chakra-colors-chakra-border-color);} .css-15ug192{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;top:0px;width:100%;padding-left:var(--chakra-space-6);padding-right:var(--chakra-space-2);padding-top:var(--chakra-space-2);}@media screen and (min-width: 48em){.css-15ug192{padding-left:var(--chakra-space-8);padding-right:var(--chakra-space-4);}} .css-rvjeh2{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;width:100%;display:none;}@media screen and (min-width: 48em){.css-rvjeh2{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}} .css-70qvj9{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;} .css-1j9lfct{margin-left:var(--chakra-space-10);} .css-wubf5g{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;white-space:nowrap;vertical-align:middle;outline:2px solid transparent;outline-offset:2px;line-height:1.2;border-radius:var(--chakra-radii-md);font-weight:var(--chakra-fontWeights-semibold);transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-normal);height:var(--chakra-sizes-10);min-width:var(--chakra-sizes-10);font-size:var(--chakra-fontSizes-md);-webkit-padding-start:var(--chakra-space-4);padding-inline-start:var(--chakra-space-4);-webkit-padding-end:var(--chakra-space-4);padding-inline-end:var(--chakra-space-4);color:var(--chakra-colors-gray-800);}.css-wubf5g:focus-visible,.css-wubf5g[data-focus-visible]{box-shadow:var(--chakra-shadows-outline);}.css-wubf5g:disabled,.css-wubf5g[disabled],.css-wubf5g[aria-disabled=true],.css-wubf5g[data-disabled]{opacity:0.4;cursor:not-allowed;box-shadow:var(--chakra-shadows-none);}.css-wubf5g:hover,.css-wubf5g[data-hover]{background:var(--chakra-colors-gray-100);}.css-wubf5g:hover:disabled,.css-wubf5g[data-hover]:disabled,.css-wubf5g:hover[disabled],.css-wubf5g[data-hover][disabled],.css-wubf5g:hover[aria-disabled=true],.css-wubf5g[data-hover][aria-disabled=true],.css-wubf5g:hover[data-disabled],.css-wubf5g[data-hover][data-disabled]{background:initial;}.css-wubf5g:active,.css-wubf5g[data-active]{background:var(--chakra-colors-gray-200);} .css-17vuvug{font-weight:500;font-size:14px;} .css-kx05hj{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;white-space:nowrap;vertical-align:middle;outline:2px solid transparent;outline-offset:2px;line-height:1.2;border-radius:var(--chakra-radii-md);font-weight:var(--chakra-fontWeights-semibold);transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-normal);height:var(--chakra-sizes-10);min-width:var(--chakra-sizes-10);font-size:var(--chakra-fontSizes-md);-webkit-padding-start:var(--chakra-space-4);padding-inline-start:var(--chakra-space-4);-webkit-padding-end:var(--chakra-space-4);padding-inline-end:var(--chakra-space-4);color:var(--chakra-colors-gray-800);margin-right:0.5rem;}.css-kx05hj:focus-visible,.css-kx05hj[data-focus-visible]{box-shadow:var(--chakra-shadows-outline);}.css-kx05hj:disabled,.css-kx05hj[disabled],.css-kx05hj[aria-disabled=true],.css-kx05hj[data-disabled]{opacity:0.4;cursor:not-allowed;box-shadow:var(--chakra-shadows-none);}.css-kx05hj:hover,.css-kx05hj[data-hover]{background:var(--chakra-colors-gray-100);}.css-kx05hj:hover:disabled,.css-kx05hj[data-hover]:disabled,.css-kx05hj:hover[disabled],.css-kx05hj[data-hover][disabled],.css-kx05hj:hover[aria-disabled=true],.css-kx05hj[data-hover][aria-disabled=true],.css-kx05hj:hover[data-disabled],.css-kx05hj[data-hover][data-disabled]{background:initial;}.css-kx05hj:active,.css-kx05hj[data-active]{background:var(--chakra-colors-gray-200);} .css-qu6wpi{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;white-space:nowrap;vertical-align:middle;outline:2px solid transparent;outline-offset:2px;line-height:1.2;border-radius:var(--chakra-radii-md);font-weight:var(--chakra-fontWeights-semibold);transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-normal);height:var(--chakra-sizes-10);min-width:var(--chakra-sizes-10);font-size:var(--chakra-fontSizes-md);-webkit-padding-start:var(--chakra-space-4);padding-inline-start:var(--chakra-space-4);-webkit-padding-end:var(--chakra-space-4);padding-inline-end:var(--chakra-space-4);background:var(--chakra-colors-brand-indigo-500);color:var(--chakra-colors-white);margin-right:0.5rem;}.css-qu6wpi:focus-visible,.css-qu6wpi[data-focus-visible]{box-shadow:var(--chakra-shadows-outline);}.css-qu6wpi:disabled,.css-qu6wpi[disabled],.css-qu6wpi[aria-disabled=true],.css-qu6wpi[data-disabled]{opacity:0.4;cursor:not-allowed;box-shadow:var(--chakra-shadows-none);}.css-qu6wpi:hover,.css-qu6wpi[data-hover]{background:var(--chakra-colors-brand-indigo-600);}.css-qu6wpi:hover:disabled,.css-qu6wpi[data-hover]:disabled,.css-qu6wpi:hover[disabled],.css-qu6wpi[data-hover][disabled],.css-qu6wpi:hover[aria-disabled=true],.css-qu6wpi[data-hover][aria-disabled=true],.css-qu6wpi:hover[data-disabled],.css-qu6wpi[data-hover][data-disabled]{background:var(--chakra-colors-brand-indigo-500);}.css-qu6wpi:active,.css-qu6wpi[data-active]{background:var(--chakra-colors-brand-indigo-700);} .css-e1o4wo{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}@media screen and (min-width: 48em){.css-e1o4wo{display:none;}} .css-1gy5jg2{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;white-space:nowrap;vertical-align:middle;outline:2px solid transparent;outline-offset:2px;line-height:1.2;border-radius:var(--chakra-radii-md);font-weight:var(--chakra-fontWeights-semibold);transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-normal);height:var(--chakra-sizes-10);min-width:var(--chakra-sizes-10);font-size:var(--chakra-fontSizes-md);-webkit-padding-start:var(--chakra-space-4);padding-inline-start:var(--chakra-space-4);-webkit-padding-end:var(--chakra-space-4);padding-inline-end:var(--chakra-space-4);color:var(--chakra-colors-gray-800);padding:0px;margin-right:var(--chakra-space-4);}.css-1gy5jg2:focus-visible,.css-1gy5jg2[data-focus-visible]{box-shadow:var(--chakra-shadows-outline);}.css-1gy5jg2:disabled,.css-1gy5jg2[disabled],.css-1gy5jg2[aria-disabled=true],.css-1gy5jg2[data-disabled]{opacity:0.4;cursor:not-allowed;box-shadow:var(--chakra-shadows-none);}.css-1gy5jg2:hover,.css-1gy5jg2[data-hover]{background:var(--chakra-colors-gray-100);}.css-1gy5jg2:hover:disabled,.css-1gy5jg2[data-hover]:disabled,.css-1gy5jg2:hover[disabled],.css-1gy5jg2[data-hover][disabled],.css-1gy5jg2:hover[aria-disabled=true],.css-1gy5jg2[data-hover][aria-disabled=true],.css-1gy5jg2:hover[data-disabled],.css-1gy5jg2[data-hover][data-disabled]{background:initial;}.css-1gy5jg2:active,.css-1gy5jg2[data-active]{background:var(--chakra-colors-gray-200);} .css-r6z5ec{z-index:1;} .css-1kfu8nn{outline:2px solid transparent;outline-offset:2px;--menu-bg:#fff;--menu-shadow:var(--chakra-shadows-sm);color:inherit;min-width:var(--chakra-sizes-3xs);padding-top:var(--chakra-space-2);padding-bottom:var(--chakra-space-2);z-index:1;border-radius:var(--chakra-radii-md);border-width:1px;background:var(--menu-bg);box-shadow:var(--menu-shadow);}.chakra-ui-dark .css-1kfu8nn:not([data-theme]),[data-theme=dark] .css-1kfu8nn:not([data-theme]),.css-1kfu8nn[data-theme=dark]{--menu-bg:var(--chakra-colors-gray-700);--menu-shadow:var(--chakra-shadows-dark-lg);} .css-18esm8n{-webkit-text-decoration:none;text-decoration:none;color:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:start;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;outline:2px solid transparent;outline-offset:2px;padding-top:var(--chakra-space-1-5);padding-bottom:var(--chakra-space-1-5);-webkit-padding-start:var(--chakra-space-3);padding-inline-start:var(--chakra-space-3);-webkit-padding-end:var(--chakra-space-3);padding-inline-end:var(--chakra-space-3);transition-property:var(--chakra-transition-property-background);transition-duration:var(--chakra-transition-duration-ultra-fast);transition-timing-function:var(--chakra-transition-easing-ease-in);background:var(--menu-bg);}.css-18esm8n:focus,.css-18esm8n[data-focus]{--menu-bg:var(--chakra-colors-gray-100);}.chakra-ui-dark .css-18esm8n:focus:not([data-theme]),.chakra-ui-dark .css-18esm8n[data-focus]:not([data-theme]),[data-theme=dark] .css-18esm8n:focus:not([data-theme]),[data-theme=dark] .css-18esm8n[data-focus]:not([data-theme]),.css-18esm8n:focus[data-theme=dark],.css-18esm8n[data-focus][data-theme=dark]{--menu-bg:var(--chakra-colors-whiteAlpha-100);}.css-18esm8n:active,.css-18esm8n[data-active]{--menu-bg:var(--chakra-colors-gray-200);}.chakra-ui-dark .css-18esm8n:active:not([data-theme]),.chakra-ui-dark .css-18esm8n[data-active]:not([data-theme]),[data-theme=dark] .css-18esm8n:active:not([data-theme]),[data-theme=dark] .css-18esm8n[data-active]:not([data-theme]),.css-18esm8n:active[data-theme=dark],.css-18esm8n[data-active][data-theme=dark]{--menu-bg:var(--chakra-colors-whiteAlpha-200);}.css-18esm8n[aria-expanded=true],.css-18esm8n[data-expanded]{--menu-bg:var(--chakra-colors-gray-100);}.chakra-ui-dark .css-18esm8n[aria-expanded=true]:not([data-theme]),.chakra-ui-dark .css-18esm8n[data-expanded]:not([data-theme]),[data-theme=dark] .css-18esm8n[aria-expanded=true]:not([data-theme]),[data-theme=dark] .css-18esm8n[data-expanded]:not([data-theme]),.css-18esm8n[aria-expanded=true][data-theme=dark],.css-18esm8n[data-expanded][data-theme=dark]{--menu-bg:var(--chakra-colors-whiteAlpha-100);}.css-18esm8n:disabled,.css-18esm8n[disabled],.css-18esm8n[aria-disabled=true],.css-18esm8n[data-disabled]{opacity:0.4;cursor:not-allowed;} .css-7halv9{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;font-size:0.8em;-webkit-margin-end:0.75rem;margin-inline-end:0.75rem;} .css-12vdn2q{border:0;border-bottom:1px solid;border-color:inherit;margin-top:var(--chakra-space-2);margin-bottom:var(--chakra-space-2);opacity:0.6;} .css-18x6hc4{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;gap:var(--chakra-space-4);margin-top:var(--chakra-space-10);padding-left:var(--chakra-space-2);padding-right:var(--chakra-space-10);}@media screen and (min-width: 48em){.css-18x6hc4{padding-left:var(--chakra-space-8);}} .css-7632q7{position:-webkit-sticky;position:sticky;top:0px;max-height:calc(100vh - 70px);overflow-y:auto;overflow-x:hidden;width:6%;min-width:1.6rem;scrollbar-width:none;-ms-overflow-style:none;}@media screen and (min-width: 48em){.css-7632q7{width:12%;min-width:9rem;}}.css-7632q7::-webkit-scrollbar{display:none;} .css-259i0c{display:block;}@media screen and (min-width: 48em){.css-259i0c{display:none;}} .css-15bt6gt{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;white-space:nowrap;vertical-align:middle;outline:2px solid transparent;outline-offset:2px;line-height:1.2;border-radius:var(--chakra-radii-md);font-weight:var(--chakra-fontWeights-semibold);transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-normal);height:var(--chakra-sizes-10);min-width:var(--chakra-sizes-10);font-size:var(--chakra-fontSizes-md);-webkit-padding-start:var(--chakra-space-4);padding-inline-start:var(--chakra-space-4);-webkit-padding-end:var(--chakra-space-4);padding-inline-end:var(--chakra-space-4);color:var(--chakra-colors-gray-800);padding:0px;}.css-15bt6gt:focus-visible,.css-15bt6gt[data-focus-visible]{box-shadow:var(--chakra-shadows-outline);}.css-15bt6gt:disabled,.css-15bt6gt[disabled],.css-15bt6gt[aria-disabled=true],.css-15bt6gt[data-disabled]{opacity:0.4;cursor:not-allowed;box-shadow:var(--chakra-shadows-none);}.css-15bt6gt:hover,.css-15bt6gt[data-hover]{background:var(--chakra-colors-gray-100);}.css-15bt6gt:hover:disabled,.css-15bt6gt[data-hover]:disabled,.css-15bt6gt:hover[disabled],.css-15bt6gt[data-hover][disabled],.css-15bt6gt:hover[aria-disabled=true],.css-15bt6gt[data-hover][aria-disabled=true],.css-15bt6gt:hover[data-disabled],.css-15bt6gt[data-hover][data-disabled]{background:initial;}.css-15bt6gt:active,.css-15bt6gt[data-active]{background:var(--chakra-colors-gray-200);} .css-ozv6cb{display:none;}@media screen and (min-width: 48em){.css-ozv6cb{display:block;}} .css-1ryio59{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--chakra-space-2);margin-top:var(--chakra-space-4);}@media screen and (min-width: 48em){.css-1ryio59{margin-top:0px;}} .css-1ivujmi{transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-fast);transition-timing-function:var(--chakra-transition-easing-ease-out);cursor:pointer;-webkit-text-decoration:none;text-decoration:none;outline:2px solid transparent;outline-offset:2px;color:inherit;font-size:var(--chakra-fontSizes-sm);}.css-1ivujmi:hover,.css-1ivujmi[data-hover]{-webkit-text-decoration:underline;text-decoration:underline;}.css-1ivujmi:focus-visible,.css-1ivujmi[data-focus-visible]{box-shadow:var(--chakra-shadows-outline);} .css-1grieqx{margin-bottom:var(--chakra-space-2);font-size:20px;}@media screen and (min-width: 48em){.css-1grieqx{font-size:14px;}} .css-1dtnoyk{position:relative;width:1px;} .css-1g8z5tv{opacity:0.6;border:0;border-color:inherit;border-style:solid;border-left-width:1px;height:100%;position:absolute;top:0px;bottom:0px;left:50%;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:1px;} .css-pv36ak{width:88%;-webkit-flex:1;-ms-flex:1;flex:1;overflow-y:auto;padding-bottom:var(--chakra-space-4);} .css-18936vg{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--chakra-space-8);} .css-1811skr{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--chakra-space-4);} .css-177ryx{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:stretch;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--chakra-space-4);}@media screen and (min-width: 48em){.css-177ryx{-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;gap:var(--chakra-space-8);}} .css-189dhzu{width:100%;}@media screen and (min-width: 48em){.css-189dhzu{width:50%;}} .css-6ill7t{font-family:var(--chakra-fonts-heading);line-height:1.33;font-size:24px;font-weight:500;margin-bottom:var(--chakra-space-4);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}@media screen and (min-width: 48em){.css-6ill7t{line-height:1.2;}} .css-37ytmg{margin-left:var(--chakra-space-2);color:var(--chakra-colors-gray-500);} .css-2hy9x3{line-height:2;} .css-10d65bq{color:var(--chakra-colors-blue-500);-webkit-text-decoration:underline;text-decoration:underline;} .css-xg14da{width:100%;margin-left:0px;margin-right:0px;overflow:hidden;}@media screen and (min-width: 48em){.css-xg14da{width:50%;margin-left:0px;margin-right:0px;}} .css-10klw3m{height:100%;} .css-15mzygo{list-style-type:decimal;-webkit-margin-start:1em;margin-inline-start:1em;padding-left:var(--chakra-space-4);padding-top:var(--chakra-space-2);padding-bottom:var(--chakra-space-2);line-height:1.75;}.css-15mzygo>*:not(style)~*:not(style){margin-top:var(--chakra-space-2);} .css-12pgphf{background:var(--chakra-colors-gray-100);padding:var(--chakra-space-1);border-radius:var(--chakra-radii-sm);font-family:var(--chakra-fonts-mono);} .css-f72q80{overflow-x:auto;width:100%;} .css-10lxbkf{border-radius:var(--chakra-radii-md);overflow:hidden;} .css-1qfz1kc{list-style-type:initial;-webkit-margin-start:1em;margin-inline-start:1em;padding-left:var(--chakra-space-4);padding-top:var(--chakra-space-2);padding-bottom:var(--chakra-space-2);line-height:1.75;}.css-1qfz1kc>*:not(style)~*:not(style){margin-top:var(--chakra-space-2);} .css-2fiiqj{font-family:var(--chakra-fonts-heading);line-height:1.33;font-weight:500;font-size:20px;margin-bottom:var(--chakra-space-2);}@media screen and (min-width: 48em){.css-2fiiqj{line-height:1.2;}} .css-722v25{font-weight:var(--chakra-fontWeights-bold);} .css-1t0q38z{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:stretch;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--chakra-space-4);}@media screen and (min-width: 48em){.css-1t0q38z{-webkit-align-items:stretch;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--chakra-space-4);}} .css-13d1arr{width:100%;}@media screen and (min-width: 48em){.css-13d1arr{width:90%;}} .css-19gci77{width:100%;margin-left:0px;margin-right:0px;overflow:hidden;}@media screen and (min-width: 48em){.css-19gci77{width:80%;margin-left:2rem;margin-right:auto;}}</style></head><body backgroundcolor="brand.gray.50"><script id="chakra-script">!(function(){try{var a=function(c){var v="(prefers-color-scheme: dark)",h=window.matchMedia(v).matches?"dark":"light",r=c==="system"?h:c,o=document.documentElement,s=document.body,l="chakra-ui-light",d="chakra-ui-dark",i=r==="dark";return s.classList.add(i?d:l),s.classList.remove(i?l:d),o.style.colorScheme=r,o.dataset.theme=r,r},n=a,m="light",e="chakra-ui-color-mode",t=localStorage.getItem(e);t?a(t):localStorage.setItem(e,a(m))}catch(a){}})();</script><header class="css-15ug192"><div class="css-rvjeh2"><div class="css-70qvj9"><img alt="Dive Marketplace home page" loading="lazy" width="106" height="20" decoding="async" data-nimg="1" style="color:transparent" src="/_next/static/media/diveaccess-black-color.40a32cb1.svg"/><div class="css-1j9lfct"><a data-active="" class="chakra-button css-wubf5g" href="#"><p class="chakra-text css-17vuvug">API Reference</p></a></div></div><div class="css-70qvj9"><a class="chakra-button css-kx05hj" href="/auth/sign-in"><p class="chakra-text css-17vuvug">Log in</p></a><a class="chakra-button css-qu6wpi" href="/auth/register"><p class="chakra-text css-17vuvug">Get started</p></a></div></div><div class="css-e1o4wo"><img alt="Dive Marketplace home page" loading="lazy" width="106" height="20" decoding="async" data-nimg="1" style="color:transparent" src="/_next/static/media/diveaccess-black-color.40a32cb1.svg"/><button type="button" class="chakra-button chakra-menu__menu-button css-1gy5jg2" aria-label="Options" id="menu-button-:R2l6mbqlaH1:" aria-expanded="false" aria-haspopup="menu" aria-controls="menu-list-:R2l6mbqlaH1:"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-align-justify" aria-hidden="true" focusable="false"><line x1="3" x2="21" y1="6" y2="6"></line><line x1="3" x2="21" y1="12" y2="12"></line><line x1="3" x2="21" y1="18" y2="18"></line></svg></button><div style="visibility:hidden;position:absolute;min-width:max-content;inset:0 auto auto 0" class="css-r6z5ec"><div class="chakra-menu__menu-list css-1kfu8nn" tabindex="-1" role="menu" id="menu-list-:R2l6mbqlaH1:" style="transform-origin:var(--popper-transform-origin);opacity:0;visibility:hidden;transform:scale(0.8) translateZ(0)" aria-orientation="vertical"><a type="button" id="menu-list-:R2l6mbqlaH1:-menuitem-:R3aml6mbqla:" role="menuitem" tabindex="0" class="chakra-menu__menuitem css-18esm8n" href="/auth/sign-in"><span class="chakra-menu__icon-wrapper css-7halv9"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-log-in chakra-menu__icon" focusable="false" aria-hidden="true"><path d="M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4"></path><polyline points="10 17 15 12 10 7"></polyline><line x1="15" x2="3" y1="12" y2="12"></line></svg></span><span style="pointer-events:none;flex:1"><p class="chakra-text css-17vuvug">Log in</p></span></a><a type="button" id="menu-list-:R2l6mbqlaH1:-menuitem-:R5aml6mbqla:" role="menuitem" tabindex="0" class="chakra-menu__menuitem css-18esm8n" href="/auth/register"><span class="chakra-menu__icon-wrapper css-7halv9"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-user-round chakra-menu__icon" focusable="false" aria-hidden="true"><path d="M18 20a6 6 0 0 0-12 0"></path><circle cx="12" cy="10" r="4"></circle><circle cx="12" cy="12" r="10"></circle></svg></span><span style="pointer-events:none;flex:1"><p class="chakra-text css-17vuvug">Get Started</p></span></a><hr aria-orientation="horizontal" class="chakra-menu__divider css-12vdn2q"/><a type="button" id="menu-list-:R2l6mbqlaH1:-menuitem-:R9aml6mbqla:" role="menuitem" tabindex="0" class="chakra-menu__menuitem css-18esm8n" href="mailto:marketplace@industrydive.com?subject=Support%20-%20API%20Access%20App"><span class="chakra-menu__icon-wrapper css-7halv9"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-mail chakra-menu__icon" focusable="false" aria-hidden="true"><rect width="20" height="16" x="2" y="4" rx="2"></rect><path d="m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"></path></svg></span><span style="pointer-events:none;flex:1"><p class="chakra-text css-17vuvug">Contact us</p></span></a></div></div></div></header><div class="chakra-stack css-18x6hc4"><div class="css-7632q7"><div class="css-259i0c"><button type="button" class="chakra-button css-15bt6gt" aria-label="Open documentation menu"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right" aria-hidden="true" focusable="false"><path d="m9 18 6-6-6-6"></path></svg></button></div><div class="css-ozv6cb"><div class="chakra-stack css-1ryio59"><a class="chakra-link css-1ivujmi" href="#introduction"><p class="chakra-text css-1grieqx">Introduction</p></a><a class="chakra-link css-1ivujmi" href="#quick-start"><p class="chakra-text css-1grieqx">Quick start</p></a><a class="chakra-link css-1ivujmi" href="#how-it-works"><p class="chakra-text css-1grieqx">How it works</p></a><a class="chakra-link css-1ivujmi" href="#base-url"><p class="chakra-text css-1grieqx">Base URL</p></a><a class="chakra-link css-1ivujmi" href="#authentication"><p class="chakra-text css-1grieqx">Authentication</p></a><a class="chakra-link css-1ivujmi" href="#making-requests"><p class="chakra-text css-1grieqx">Making Requests</p></a><a class="chakra-link css-1ivujmi" href="#example-response"><p class="chakra-text css-1grieqx">Example Response</p></a><a class="chakra-link css-1ivujmi" href="#openai-tool-use"><p class="chakra-text css-1grieqx">OpenAI Tool Use</p></a><a class="chakra-link css-1ivujmi" href="#claude-anthropic-tool-use"><p class="chakra-text css-1grieqx">Claude/Anthropic Tool Use</p></a></div></div></div><div class="css-1dtnoyk"><hr aria-orientation="vertical" class="chakra-divider css-1g8z5tv"/></div><div class="css-pv36ak"><div class="chakra-stack css-18936vg"><div class="chakra-stack css-1811skr" id="introduction"><div class="chakra-stack css-177ryx"><div class="css-189dhzu"><h3 class="chakra-heading css-6ill7t">Introduction<a href="#introduction" class="css-37ytmg"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3><p class="chakra-text css-2hy9x3" node="[object Object]">Welcome to the DiveAccess API documentation. This API allows you to retrieve <a class="chakra-text css-10d65bq" target="_blank" rel="noopener noreferrer" href="https://industrydive.com">Industry Dive</a> articles based on various search parameters. It's designed to work with Large Language Models (LLMs) via <a class="chakra-text css-10d65bq" target="_blank" rel="noopener noreferrer" href="https://en.wikipedia.org/wiki/Retrieval-augmented_generation">Retrieval Augmented Generation (RAG)</a>, enhancing the capabilities of AI models with up-to-date, high-quality and domain-specific content.</p></div><div class="css-xg14da"><div class="css-10klw3m"></div></div></div></div><div class="chakra-stack css-1811skr" id="quick-start"><div class="chakra-stack css-177ryx"><div class="css-189dhzu"><h3 class="chakra-heading css-6ill7t">Quick start<a href="#quick-start" class="css-37ytmg"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3><p class="chakra-text css-2hy9x3" node="[object Object]">Follow these steps to get up and running with the DiveAccess API.</p> <ol role="list" node="[object Object]" class="css-15mzygo"><li node="[object Object]" class="css-0">Create an account or log in to retrieve your <span class="chakra-text css-12pgphf">access_key</span> which acts as your API Secret Key.</li><li node="[object Object]" class="css-0">Authenticate your requests by adding your key as a URL query parameter.</li><li node="[object Object]" class="css-0">Optionally add a URL encoded query string, for example: <span class="chakra-text css-12pgphf">query=artificial%20intelligence</span></li><li node="[object Object]" class="css-0">Make a <span class="chakra-text css-12pgphf">GET</span> request to the base URL with query parameters added.</li></ol> <p class="chakra-text css-2hy9x3" node="[object Object]">A list of Industry Dive article objects will be returned in JSON format.</p></div><div class="css-xg14da"><div class="css-f72q80"><div class="css-10lxbkf"><pre style="color:white;font-family:Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;font-size:14px;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;padding:16px;margin:0;overflow:auto;background:#011627"><code class="language-bash" style="color:#d6deeb;font-family:Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;font-size:1em;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none"><span class="token" style="color:rgb(130, 170, 255)">curl</span><span> -X GET </span><span class="token" style="color:rgb(173, 219, 103)">"https://api.diveaccess.com/articles?access_key=YOUR_ACCESS_KEY&query=artificial%20intelligence"</span></code></pre></div></div></div></div></div><div class="chakra-stack css-1811skr" id="how-it-works"><div class="chakra-stack css-177ryx"><div class="css-189dhzu"><h3 class="chakra-heading css-6ill7t">How it works<a href="#how-it-works" class="css-37ytmg"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3><p class="chakra-text css-2hy9x3" node="[object Object]"><a class="chakra-text css-10d65bq" target="_blank" rel="noopener noreferrer" href="https://industrydive.com">Industry Dive</a> is a leading business journalism company that provides in-depth, industry-specific news and analysis. Through the DiveAccess API, you will have the ability to fetch articles from Industry Dive publications including <a class="chakra-text css-10d65bq" target="_blank" rel="noopener noreferrer" href="https://retaildive.com">Retail Dive</a>, <a class="chakra-text css-10d65bq" target="_blank" rel="noopener noreferrer" href="https://fooddive.com">Food Dive</a>, <a class="chakra-text css-10d65bq" target="_blank" rel="noopener noreferrer" href="https://marketingdive.com">Marketing Dive</a>, <a class="chakra-text css-10d65bq" target="_blank" rel="noopener noreferrer" href="https://ciodive.com">CIO Dive</a> and many more. A full list of Industry Dive's 37 publications can be found <a class="chakra-text css-10d65bq" target="_blank" rel="noopener noreferrer" href="https://industrydive.com/publications">here</a>.聽</p> <p class="chakra-text css-2hy9x3" node="[object Object]">聽</p> <p class="chakra-text css-2hy9x3" node="[object Object]">Each published article is indexed in Elasticsearch and ordered by date. A call to the API base URL without any parameters will return the 10 most recent articles published across all publications. Adding the <span class="chakra-text css-12pgphf">query</span> parameter will perform a keyword index search on Industry Dive's content and return the most relevant articles for that query, ordered by date.</p></div><div class="css-xg14da"><div class="css-10klw3m"></div></div></div></div><div class="chakra-stack css-1811skr" id="base-url"><div class="chakra-stack css-177ryx"><div class="css-189dhzu"><h3 class="chakra-heading css-6ill7t">Base URL<a href="#base-url" class="css-37ytmg"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3><p class="chakra-text css-2hy9x3" node="[object Object]">The base URL is the same for all requests. Only <span class="chakra-text css-12pgphf">GET</span> requests are supported.</p></div><div class="css-xg14da"><div class="css-f72q80"><div class="css-10lxbkf"><pre style="color:white;font-family:Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;font-size:14px;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;padding:16px;margin:0;overflow:auto;background:#011627"><code class="language-bash" style="color:#d6deeb;font-family:Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;font-size:1em;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none"><span>https://api.diveaccess.com/articles</span></code></pre></div></div></div></div></div><div class="chakra-stack css-1811skr" id="authentication"><div class="chakra-stack css-177ryx"><div class="css-189dhzu"><h3 class="chakra-heading css-6ill7t">Authentication<a href="#authentication" class="css-37ytmg"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3><p class="chakra-text css-2hy9x3" node="[object Object]">Authenticating requests is easy. Simply add your <span class="chakra-text css-12pgphf">access_key</span> as a query parameter to the base URL. We recommend using a secrets manager to store your key securely.</p></div><div class="css-xg14da"><div class="css-f72q80"><div class="css-10lxbkf"><pre style="color:white;font-family:Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;font-size:14px;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;padding:16px;margin:0;overflow:auto;background:#011627"><code class="language-bash" style="color:#d6deeb;font-family:Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;font-size:1em;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none"><span>https://api.diveaccess.com/articles?access_key</span><span class="token" style="color:rgb(127, 219, 202)">=</span><span>YOUR_ACCESS_KEY</span></code></pre></div></div></div></div></div><div class="chakra-stack css-1811skr" id="making-requests"><div class="chakra-stack css-177ryx"><div class="css-189dhzu"><h3 class="chakra-heading css-6ill7t">Making Requests<a href="#making-requests" class="css-37ytmg"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3><p class="chakra-text css-2hy9x3" node="[object Object]">The DiveAccess API supports various query parameters to refine your search. None of the parameters are required.</p> <ul role="list" node="[object Object]" class="css-1qfz1kc"><li node="[object Object]" class="css-0"><span class="chakra-text css-12pgphf">query</span>: A URL-encoded search term (e.g., <span class="chakra-text css-12pgphf">artificial%20intelligence</span>)</li><li node="[object Object]" class="css-0"><span class="chakra-text css-12pgphf">from_date</span>: Start date for the article search (format: YYYY-MM-DD). The default is 30 days ago.</li><li node="[object Object]" class="css-0"><span class="chakra-text css-12pgphf">to_date</span>: End date for the article search (format: YYYY-MM-DD). The default is today.</li></ul> <p class="chakra-text css-2hy9x3" node="[object Object]">Responses are returned in JSON format, containing an array of article objects. Each object includes properties such as title, publication, date, and content.</p> <p class="chakra-text css-2hy9x3" node="[object Object]">聽</p> <p class="chakra-text css-2hy9x3" node="[object Object]"><em>We have additional query parameter support available and will be adding these capabilities to paid plans in the near future.</em></p></div><div class="css-xg14da"><div class="css-f72q80"><div class="css-10lxbkf"><pre style="color:white;font-family:Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;font-size:14px;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;padding:16px;margin:0;overflow:auto;background:#011627"><code class="language-python" style="color:#d6deeb;font-family:Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;font-size:1em;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none"><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:2.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">1</span><span class="token" style="color:rgb(127, 219, 202)">import</span><span> requests </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:2.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">2</span> <span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:2.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">3</span><span>BASE_URL </span><span class="token" style="color:rgb(127, 219, 202)">=</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"https://api.diveaccess.com/articles"</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:2.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">4</span><span>ACCESS_KEY </span><span class="token" style="color:rgb(127, 219, 202)">=</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"YOUR_ACCESS_KEY_HERE"</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:2.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">5</span> <span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:2.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">6</span><span>params </span><span class="token" style="color:rgb(127, 219, 202)">=</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">{</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:2.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">7</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"access_key"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> ACCESS_KEY</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:2.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">8</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"query"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"artificial intelligence"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:2.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">9</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"from_date"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"2023-01-01"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:2.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">10</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"to_date"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"2023-12-31"</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:2.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">11</span><span></span><span class="token" style="color:rgb(199, 146, 234)">}</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:2.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">12</span> <span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:2.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">13</span><span>response </span><span class="token" style="color:rgb(127, 219, 202)">=</span><span> requests</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span>get</span><span class="token" style="color:rgb(199, 146, 234)">(</span><span>BASE_URL</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> params</span><span class="token" style="color:rgb(127, 219, 202)">=</span><span>params</span><span class="token" style="color:rgb(199, 146, 234)">)</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:2.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">14</span> <span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:2.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">15</span><span></span><span class="token" style="color:rgb(127, 219, 202)">if</span><span> response</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span>status_code </span><span class="token" style="color:rgb(127, 219, 202)">==</span><span> </span><span class="token" style="color:rgb(247, 140, 108)">200</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:2.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">16</span><span> data </span><span class="token" style="color:rgb(127, 219, 202)">=</span><span> response</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span>json</span><span class="token" style="color:rgb(199, 146, 234)">(</span><span class="token" style="color:rgb(199, 146, 234)">)</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:2.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">17</span><span> </span><span class="token" style="color:rgb(127, 219, 202)">print</span><span class="token" style="color:rgb(199, 146, 234)">(</span><span>data</span><span class="token" style="color:rgb(199, 146, 234)">)</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:2.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">18</span><span></span><span class="token" style="color:rgb(127, 219, 202)">else</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:2.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">19</span><span> </span><span class="token" style="color:rgb(127, 219, 202)">print</span><span class="token" style="color:rgb(199, 146, 234)">(</span><span class="token string-interpolation" style="color:rgb(173, 219, 103)">f"Error: </span><span class="token string-interpolation interpolation" style="color:rgb(199, 146, 234)">{</span><span class="token string-interpolation interpolation">response</span><span class="token string-interpolation interpolation" style="color:rgb(199, 146, 234)">.</span><span class="token string-interpolation interpolation">status_code</span><span class="token string-interpolation interpolation" style="color:rgb(199, 146, 234)">}</span><span class="token string-interpolation" style="color:rgb(173, 219, 103)">, </span><span class="token string-interpolation interpolation" style="color:rgb(199, 146, 234)">{</span><span class="token string-interpolation interpolation">response</span><span class="token string-interpolation interpolation" style="color:rgb(199, 146, 234)">.</span><span class="token string-interpolation interpolation">text</span><span class="token string-interpolation interpolation" style="color:rgb(199, 146, 234)">}</span><span class="token string-interpolation" style="color:rgb(173, 219, 103)">"</span><span class="token" style="color:rgb(199, 146, 234)">)</span></code></pre></div></div></div></div></div><div class="chakra-stack css-1811skr" id="example-response"><div class="chakra-stack css-177ryx"><div class="css-189dhzu"><h3 class="chakra-heading css-6ill7t">Example Response<a href="#example-response" class="css-37ytmg"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3><p class="chakra-text css-2hy9x3" node="[object Object]">Below is an example of the JSON response you will receive from the DiveAccess API. The response contains two main parts: <span class="chakra-text css-12pgphf">num_found</span> and <span class="chakra-text css-12pgphf">article_set</span>.</p> <ul role="list" node="[object Object]" class="css-1qfz1kc"><li node="[object Object]" class="css-0"><span class="chakra-text css-12pgphf">num_found</span>: The total number of articles that match your query criteria. We plan to enable access for iterating through the entirety of this list for paid subscribers in the future.</li><li node="[object Object]" class="css-0"><span class="chakra-text css-12pgphf">article_set</span>: An array of article objects, each containing detailed information about a single article.</li></ul> <p class="chakra-text css-2hy9x3" node="[object Object]">Each article object in the <span class="chakra-text css-12pgphf">article_set</span> includes the following key information:</p> <ul role="list" node="[object Object]" class="css-1qfz1kc"><li node="[object Object]" class="css-0"><span class="chakra-text css-12pgphf">category</span>: The top level category of the article as indicated by <a class="chakra-text css-10d65bq" target="_blank" rel="noopener noreferrer" href="https://cloud.google.com/natural-language/docs/categories">Google NLP categorization</a>.</li><li node="[object Object]" class="css-0"><span class="chakra-text css-12pgphf">topics</span>: The mid-level category of the article as indicated by <a class="chakra-text css-10d65bq" target="_blank" rel="noopener noreferrer" href="https://cloud.google.com/natural-language/docs/categories">Google NLP categorization</a>.</li><li node="[object Object]" class="css-0"><span class="chakra-text css-12pgphf">byline</span>: The author's name as it appears in the article.</li><li node="[object Object]" class="css-0"><span class="chakra-text css-12pgphf">description</span>: The HTML content of the article in its entirety.</li><li node="[object Object]" class="css-0"><span class="chakra-text css-12pgphf">title</span>: The title of the article.</li><li node="[object Object]" class="css-0"><span class="chakra-text css-12pgphf">created_at</span> and <span class="chakra-text css-12pgphf">published_at</span>: Timestamps for when the article was ingested by our system and published, respectively.</li><li node="[object Object]" class="css-0"><span class="chakra-text css-12pgphf">author_set</span>: Detailed information about the article's author(s).</li><li node="[object Object]" class="css-0"><span class="chakra-text css-12pgphf">licensed</span>: Indicates if the article is licensed for use in RAG.</li><li node="[object Object]" class="css-0"><span class="chakra-text css-12pgphf">link</span>: The original URL of the article.</li><li node="[object Object]" class="css-0"><span class="chakra-text css-12pgphf">publisher</span> and <span class="chakra-text css-12pgphf">source</span>: Information about the publisher and the specific publication.</li><li node="[object Object]" class="css-0"><span class="chakra-text css-12pgphf">guid</span>: A unique identifier for the article.</li><li node="[object Object]" class="css-0"><span class="chakra-text css-12pgphf">image_set</span>: An array of images associated with the article (empty in this example).</li><li node="[object Object]" class="css-0"><span class="chakra-text css-12pgphf">metadata</span>: Additional metadata including tags and meta features about the article including wordcount which can be used to estimate tokens.聽</li></ul> <p class="chakra-text css-2hy9x3" node="[object Object]">聽</p> <h3 class="chakra-heading css-2fiiqj" node="[object Object]">Response Codes</h3> <ul role="list" node="[object Object]" class="css-1qfz1kc"><li node="[object Object]" class="css-0"><strong class="chakra-text css-722v25" node="[object Object]">200 OK</strong>: The request was successful, and the response contains the requested data.</li><li node="[object Object]" class="css-0"><strong class="chakra-text css-722v25" node="[object Object]">401 Unauthorized</strong>: The request lacks valid authentication credentials. Check your <span class="chakra-text css-12pgphf">access_key</span>.</li><li node="[object Object]" class="css-0"><strong class="chakra-text css-722v25" node="[object Object]">429 Too Many Requests</strong>: You have exceeded the number of API calls in your plan. Upgrade to a paid plan for higher limits.</li><li node="[object Object]" class="css-0"><strong class="chakra-text css-722v25" node="[object Object]">500 Internal Server Error</strong>: The server encountered an unexpected condition that prevented it from fulfilling the request. If this persists, please contact support.</li></ul></div><div class="css-xg14da"><div class="css-f72q80"><div class="css-10lxbkf"><pre style="color:white;font-family:Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;font-size:14px;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;padding:16px;margin:0;overflow:auto;background:#011627"><code class="language-json" style="color:#d6deeb;font-family:Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;font-size:1em;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none"><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">1</span><span class="token" style="color:rgb(199, 146, 234)">{</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">2</span><span> </span><span class="token" style="color:rgb(128, 203, 196)">"num_found"</span><span class="token" style="color:rgb(127, 219, 202)">:</span><span> </span><span class="token" style="color:rgb(247, 140, 108)">772</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">3</span><span> </span><span class="token" style="color:rgb(128, 203, 196)">"article_set"</span><span class="token" style="color:rgb(127, 219, 202)">:</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">[</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">4</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">{</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">5</span><span> </span><span class="token" style="color:rgb(128, 203, 196)">"category"</span><span class="token" style="color:rgb(127, 219, 202)">:</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">{</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">6</span><span> </span><span class="token" style="color:rgb(128, 203, 196)">"name"</span><span class="token" style="color:rgb(127, 219, 202)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"Business"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">7</span><span> </span><span class="token" style="color:rgb(128, 203, 196)">"dashed_name"</span><span class="token" style="color:rgb(127, 219, 202)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"business"</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">8</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">}</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">9</span><span> </span><span class="token" style="color:rgb(128, 203, 196)">"topics"</span><span class="token" style="color:rgb(127, 219, 202)">:</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">[</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">10</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">{</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">11</span><span> </span><span class="token" style="color:rgb(128, 203, 196)">"guid"</span><span class="token" style="color:rgb(127, 219, 202)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"abcdefg123456"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">12</span><span> </span><span class="token" style="color:rgb(128, 203, 196)">"name"</span><span class="token" style="color:rgb(127, 219, 202)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"corporate events"</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">13</span><span> </span><span class="token" style="color:rgb(128, 203, 196)">"dashed_name"</span><span class="token" style="color:rgb(127, 219, 202)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"corporate-events"</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">14</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">}</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">15</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">]</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">16</span><span> </span><span class="token" style="color:rgb(128, 203, 196)">"byline"</span><span class="token" style="color:rgb(127, 219, 202)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"Luke Skywalker"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">17</span><span> </span><span class="token" style="color:rgb(128, 203, 196)">"description"</span><span class="token" style="color:rgb(127, 219, 202)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"<h1>Senate approves PTO</h1><p>The Galactic Senate has approved a new bill requiring all employers in the Core Worlds to provide paid time off for Jedi training.</p>"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">18</span><span> </span><span class="token" style="color:rgb(128, 203, 196)">"title"</span><span class="token" style="color:rgb(127, 219, 202)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"Coruscant Employers Must Now Provide Paid Leave for Jedi Training"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">19</span><span> </span><span class="token" style="color:rgb(128, 203, 196)">"created_at"</span><span class="token" style="color:rgb(127, 219, 202)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"2023-11-27 21:17:01"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">20</span><span> </span><span class="token" style="color:rgb(128, 203, 196)">"author_set"</span><span class="token" style="color:rgb(127, 219, 202)">:</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">[</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">21</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">{</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">22</span><span> </span><span class="token" style="color:rgb(128, 203, 196)">"guid"</span><span class="token" style="color:rgb(127, 219, 202)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"b92eba1674b0d77b86f46f37604f0123"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">23</span><span> </span><span class="token" style="color:rgb(128, 203, 196)">"first_name"</span><span class="token" style="color:rgb(127, 219, 202)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"Luke"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">24</span><span> </span><span class="token" style="color:rgb(128, 203, 196)">"last_name"</span><span class="token" style="color:rgb(127, 219, 202)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"Skywalker"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">25</span><span> </span><span class="token" style="color:rgb(128, 203, 196)">"name"</span><span class="token" style="color:rgb(127, 219, 202)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"Luke Skywalker"</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">26</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">}</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">27</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">]</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">28</span><span> </span><span class="token" style="color:rgb(128, 203, 196)">"licensed"</span><span class="token" style="color:rgb(127, 219, 202)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"True"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">29</span><span> </span><span class="token" style="color:rgb(128, 203, 196)">"link"</span><span class="token" style="color:rgb(127, 219, 202)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"https://www.retaildive.com/news/sephora-exits-korea/710823/"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">30</span><span> </span><span class="token" style="color:rgb(128, 203, 196)">"published_at"</span><span class="token" style="color:rgb(127, 219, 202)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"2023-11-27 20:59:05"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">31</span><span> </span><span class="token" style="color:rgb(128, 203, 196)">"score"</span><span class="token" style="color:rgb(127, 219, 202)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"1.0"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">32</span><span> </span><span class="token" style="color:rgb(128, 203, 196)">"publisher"</span><span class="token" style="color:rgb(127, 219, 202)">:</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">{</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">33</span><span> </span><span class="token" style="color:rgb(128, 203, 196)">"name"</span><span class="token" style="color:rgb(127, 219, 202)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"Industry Dive"</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">34</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">}</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">35</span><span> </span><span class="token" style="color:rgb(128, 203, 196)">"source"</span><span class="token" style="color:rgb(127, 219, 202)">:</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">{</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">36</span><span> </span><span class="token" style="color:rgb(128, 203, 196)">"name"</span><span class="token" style="color:rgb(127, 219, 202)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"Retail Dive"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">37</span><span> </span><span class="token" style="color:rgb(128, 203, 196)">"website"</span><span class="token" style="color:rgb(127, 219, 202)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"https://www.retaildive.com/"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">38</span><span> </span><span class="token" style="color:rgb(128, 203, 196)">"state"</span><span class="token" style="color:rgb(127, 219, 202)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"IL"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">39</span><span> </span><span class="token" style="color:rgb(128, 203, 196)">"country"</span><span class="token" style="color:rgb(127, 219, 202)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"US"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">40</span><span> </span><span class="token" style="color:rgb(128, 203, 196)">"guid"</span><span class="token" style="color:rgb(127, 219, 202)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"38aa2cd3e7a7cd6bc96d88cc8bbdl123"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">41</span><span> </span><span class="token" style="color:rgb(128, 203, 196)">"thumbnail"</span><span class="token" style="color:rgb(127, 219, 202)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"http://www.google.com/s2/favicons?domain=www.industrydive.com"</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">42</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">}</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">43</span><span> </span><span class="token" style="color:rgb(128, 203, 196)">"guid"</span><span class="token" style="color:rgb(127, 219, 202)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"4e2427ec8d6a11ee9fb802420a0e1234"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">44</span><span> </span><span class="token" style="color:rgb(128, 203, 196)">"image_set"</span><span class="token" style="color:rgb(127, 219, 202)">:</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">[</span><span class="token" style="color:rgb(199, 146, 234)">]</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">45</span><span> </span><span class="token" style="color:rgb(128, 203, 196)">"metadata"</span><span class="token" style="color:rgb(127, 219, 202)">:</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">{</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">46</span><span> </span><span class="token" style="color:rgb(128, 203, 196)">"tags"</span><span class="token" style="color:rgb(127, 219, 202)">:</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">[</span><span class="token" style="color:rgb(173, 219, 103)">"retail"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"business"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"employment"</span><span class="token" style="color:rgb(199, 146, 234)">]</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">47</span><span> </span><span class="token" style="color:rgb(128, 203, 196)">"extracted_features"</span><span class="token" style="color:rgb(127, 219, 202)">:</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">{</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">48</span><span> </span><span class="token" style="color:rgb(128, 203, 196)">"article_description_wordcount"</span><span class="token" style="color:rgb(127, 219, 202)">:</span><span> </span><span class="token" style="color:rgb(247, 140, 108)">1230</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">49</span><span> </span><span class="token" style="color:rgb(128, 203, 196)">"article_title_wordcount"</span><span class="token" style="color:rgb(127, 219, 202)">:</span><span> </span><span class="token" style="color:rgb(247, 140, 108)">11</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">50</span><span> </span><span class="token" style="color:rgb(128, 203, 196)">"article_inline_image_count"</span><span class="token" style="color:rgb(127, 219, 202)">:</span><span> </span><span class="token" style="color:rgb(247, 140, 108)">0</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">51</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">}</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">52</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">}</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">53</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">}</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">54</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">]</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">55</span><span></span><span class="token" style="color:rgb(199, 146, 234)">}</span></code></pre></div></div></div></div></div><div class="chakra-stack css-1811skr" id="openai-tool-use"><div class="chakra-stack css-1t0q38z"><div class="css-13d1arr"><h3 class="chakra-heading css-6ill7t">OpenAI Tool Use<a href="#openai-tool-use" class="css-37ytmg"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3><p class="chakra-text css-2hy9x3" node="[object Object]">The DiveAccess API can be seamlessly integrated with OpenAI's function calling feature to significantly enhance your AI model's capabilities. This integration allows your model to dynamically fetch and incorporate up-to-date, industry-specific information into its responses. Key benefits of this integration include real-time access to the latest industry news and trends with guaranteed high-quality content. This example demonstrates how to use the DiveAccess API as a tool for retrieving relevant articles based on user queries. We'll walk through the process of:</p> <ol role="list" node="[object Object]" class="css-15mzygo"><li node="[object Object]" class="css-0">Setting up the necessary functions and API calls</li><li node="[object Object]" class="css-0">Defining the tool (function) for OpenAI to use</li><li node="[object Object]" class="css-0">Making the initial API call to OpenAI</li><li node="[object Object]" class="css-0">Handling the tool call and fetching articles from the DiveAccess API</li><li node="[object Object]" class="css-0">Making a second API call to OpenAI with the retrieved information</li></ol> <p class="chakra-text css-2hy9x3" node="[object Object]">By following this example, you'll be able to create a powerful AI assistant that can provide informed responses on various industry topics, backed by the latest articles from Industry Dive publications.</p></div><div class="css-19gci77"><div class="css-f72q80"><div class="css-10lxbkf"><pre style="color:white;font-family:Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;font-size:14px;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;padding:16px;margin:0;overflow:auto;background:#011627"><code class="language-python" style="color:#d6deeb;font-family:Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;font-size:1em;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none"><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">1</span><span class="token" style="color:rgb(127, 219, 202)">from</span><span> openai </span><span class="token" style="color:rgb(127, 219, 202)">import</span><span> OpenAI </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">2</span><span></span><span class="token" style="color:rgb(127, 219, 202)">import</span><span> requests </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">3</span><span></span><span class="token" style="color:rgb(127, 219, 202)">import</span><span> json </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">4</span> <span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">5</span><span>client </span><span class="token" style="color:rgb(127, 219, 202)">=</span><span> OpenAI</span><span class="token" style="color:rgb(199, 146, 234)">(</span><span class="token" style="color:rgb(199, 146, 234)">)</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">6</span><span>BASE_URL </span><span class="token" style="color:rgb(127, 219, 202)">=</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"https://api.diveaccess.com/articles"</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">7</span><span>ACCESS_KEY </span><span class="token" style="color:rgb(127, 219, 202)">=</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"YOUR_ACCESS_KEY_HERE"</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">8</span> <span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">9</span><span></span><span class="token" style="color:rgb(127, 219, 202)">def</span><span> </span><span class="token" style="color:rgb(130, 170, 255)">get_articles</span><span class="token" style="color:rgb(199, 146, 234)">(</span><span>query</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> from_date</span><span class="token" style="color:rgb(127, 219, 202)">=</span><span class="token" style="color:rgb(255, 88, 116)">None</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> to_date</span><span class="token" style="color:rgb(127, 219, 202)">=</span><span class="token" style="color:rgb(255, 88, 116)">None</span><span class="token" style="color:rgb(199, 146, 234)">)</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">10</span><span> </span><span class="token triple-quoted-string" style="color:rgb(173, 219, 103)">""" </span><span class="token triple-quoted-string" style="color:rgb(173, 219, 103)"><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">11</span> Fetch articles from the DiveAccess API based on the given query and optional date range. </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">12</span><span class="token triple-quoted-string" style="color:rgb(173, 219, 103)"> """</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">13</span><span> params </span><span class="token" style="color:rgb(127, 219, 202)">=</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">{</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">14</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"access_key"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> ACCESS_KEY</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">15</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"query"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> query</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">16</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">}</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">17</span><span> </span><span class="token" style="color:rgb(127, 219, 202)">if</span><span> from_date</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">18</span><span> params</span><span class="token" style="color:rgb(199, 146, 234)">[</span><span class="token" style="color:rgb(173, 219, 103)">"from_date"</span><span class="token" style="color:rgb(199, 146, 234)">]</span><span> </span><span class="token" style="color:rgb(127, 219, 202)">=</span><span> from_date </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">19</span><span> </span><span class="token" style="color:rgb(127, 219, 202)">if</span><span> to_date</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">20</span><span> params</span><span class="token" style="color:rgb(199, 146, 234)">[</span><span class="token" style="color:rgb(173, 219, 103)">"to_date"</span><span class="token" style="color:rgb(199, 146, 234)">]</span><span> </span><span class="token" style="color:rgb(127, 219, 202)">=</span><span> to_date </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">21</span> <span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">22</span><span> response </span><span class="token" style="color:rgb(127, 219, 202)">=</span><span> requests</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span>get</span><span class="token" style="color:rgb(199, 146, 234)">(</span><span>BASE_URL</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> params</span><span class="token" style="color:rgb(127, 219, 202)">=</span><span>params</span><span class="token" style="color:rgb(199, 146, 234)">)</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">23</span><span> </span><span class="token" style="color:rgb(127, 219, 202)">if</span><span> response</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span>status_code </span><span class="token" style="color:rgb(127, 219, 202)">==</span><span> </span><span class="token" style="color:rgb(247, 140, 108)">200</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">24</span><span> </span><span class="token" style="color:rgb(127, 219, 202)">return</span><span> json</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span>dumps</span><span class="token" style="color:rgb(199, 146, 234)">(</span><span>response</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span>json</span><span class="token" style="color:rgb(199, 146, 234)">(</span><span class="token" style="color:rgb(199, 146, 234)">)</span><span class="token" style="color:rgb(199, 146, 234)">)</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">25</span><span> </span><span class="token" style="color:rgb(127, 219, 202)">else</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">26</span><span> </span><span class="token" style="color:rgb(127, 219, 202)">return</span><span> json</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span>dumps</span><span class="token" style="color:rgb(199, 146, 234)">(</span><span class="token" style="color:rgb(199, 146, 234)">{</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">27</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"error"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token string-interpolation" style="color:rgb(173, 219, 103)">f"Error: </span><span class="token string-interpolation interpolation" style="color:rgb(199, 146, 234)">{</span><span class="token string-interpolation interpolation">response</span><span class="token string-interpolation interpolation" style="color:rgb(199, 146, 234)">.</span><span class="token string-interpolation interpolation">status_code</span><span class="token string-interpolation interpolation" style="color:rgb(199, 146, 234)">}</span><span class="token string-interpolation" style="color:rgb(173, 219, 103)">, </span><span class="token string-interpolation interpolation" style="color:rgb(199, 146, 234)">{</span><span class="token string-interpolation interpolation">response</span><span class="token string-interpolation interpolation" style="color:rgb(199, 146, 234)">.</span><span class="token string-interpolation interpolation">text</span><span class="token string-interpolation interpolation" style="color:rgb(199, 146, 234)">}</span><span class="token string-interpolation" style="color:rgb(173, 219, 103)">"</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">28</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">}</span><span class="token" style="color:rgb(199, 146, 234)">)</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">29</span> <span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">30</span><span>tools </span><span class="token" style="color:rgb(127, 219, 202)">=</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">[</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">31</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">{</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">32</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"type"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"function"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">33</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"function"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">{</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">34</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"name"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"get_articles"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">35</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"description"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"Get articles from Industry Dive publications based on keywords extracted from user input. "</span><span> </span><span class="token" style="color:rgb(127, 219, 202)">+</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">36</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"Tool will return a list of articles. "</span><span> </span><span class="token" style="color:rgb(127, 219, 202)">+</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">37</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"Should be used when the message indicates the need for information about a specific topic."</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">38</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"parameters"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">{</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">39</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"type"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"object"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">40</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"properties"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">{</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">41</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"query"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">{</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">42</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"type"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"string"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">43</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"description"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"The search query for articles extracted from the user message."</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">44</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">}</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">45</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"from_date"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">{</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">46</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"type"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"string"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">47</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"description"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"Start date for article search (YYYY-MM-DD)."</span><span> </span><span class="token" style="color:rgb(127, 219, 202)">+</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">48</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"The default is 30 days ago. Only include when a specific time frame is necessary."</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">49</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">}</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">50</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"to_date"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">{</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">51</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"type"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"string"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">52</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"description"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"End date for article search (YYYY-MM-DD)."</span><span> </span><span class="token" style="color:rgb(127, 219, 202)">+</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">53</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"The default is today. Only include when a specific time frame is necessary."</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">54</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">}</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">55</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">}</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">56</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"required"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">[</span><span class="token" style="color:rgb(173, 219, 103)">"query"</span><span class="token" style="color:rgb(199, 146, 234)">]</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">57</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">}</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">58</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">}</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">59</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">}</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">60</span><span></span><span class="token" style="color:rgb(199, 146, 234)">]</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">61</span> <span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">62</span><span></span><span class="token" style="color:rgb(127, 219, 202)">def</span><span> </span><span class="token" style="color:rgb(130, 170, 255)">run_conversation</span><span class="token" style="color:rgb(199, 146, 234)">(</span><span class="token" style="color:rgb(199, 146, 234)">)</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">63</span><span> prompt </span><span class="token" style="color:rgb(127, 219, 202)">=</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">(</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">64</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"What are the latest developments in artificial intelligence? "</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">65</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"Include sources and links where applicable."</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">66</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">)</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">67</span><span> messages </span><span class="token" style="color:rgb(127, 219, 202)">=</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">[</span><span class="token" style="color:rgb(199, 146, 234)">{</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">68</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"role"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"user"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">69</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"content"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> prompt </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">70</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">}</span><span class="token" style="color:rgb(199, 146, 234)">]</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">71</span> <span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">72</span><span> response </span><span class="token" style="color:rgb(127, 219, 202)">=</span><span> client</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span>chat</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span>completions</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span>create</span><span class="token" style="color:rgb(199, 146, 234)">(</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">73</span><span> model</span><span class="token" style="color:rgb(127, 219, 202)">=</span><span class="token" style="color:rgb(173, 219, 103)">"gpt-4o"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">74</span><span> messages</span><span class="token" style="color:rgb(127, 219, 202)">=</span><span>messages</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">75</span><span> tools</span><span class="token" style="color:rgb(127, 219, 202)">=</span><span>tools</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">76</span><span> tool_choice</span><span class="token" style="color:rgb(127, 219, 202)">=</span><span class="token" style="color:rgb(173, 219, 103)">"auto"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">77</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">)</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">78</span><span> response_message </span><span class="token" style="color:rgb(127, 219, 202)">=</span><span> response</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span>choices</span><span class="token" style="color:rgb(199, 146, 234)">[</span><span class="token" style="color:rgb(247, 140, 108)">0</span><span class="token" style="color:rgb(199, 146, 234)">]</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span>message </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">79</span><span> tool_calls </span><span class="token" style="color:rgb(127, 219, 202)">=</span><span> response_message</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span>tool_calls </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">80</span> <span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">81</span><span> </span><span class="token" style="color:rgb(127, 219, 202)">if</span><span> tool_calls</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">82</span><span> messages</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span>append</span><span class="token" style="color:rgb(199, 146, 234)">(</span><span>response_message</span><span class="token" style="color:rgb(199, 146, 234)">)</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">83</span><span> </span><span class="token" style="color:rgb(127, 219, 202)">for</span><span> tool_call </span><span class="token" style="color:rgb(127, 219, 202)">in</span><span> tool_calls</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">84</span><span> function_name </span><span class="token" style="color:rgb(127, 219, 202)">=</span><span> tool_call</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span>function</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span>name </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">85</span><span> function_args </span><span class="token" style="color:rgb(127, 219, 202)">=</span><span> json</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span>loads</span><span class="token" style="color:rgb(199, 146, 234)">(</span><span>tool_call</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span>function</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span>arguments</span><span class="token" style="color:rgb(199, 146, 234)">)</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">86</span><span> function_response </span><span class="token" style="color:rgb(127, 219, 202)">=</span><span> get_articles</span><span class="token" style="color:rgb(199, 146, 234)">(</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">87</span><span> query</span><span class="token" style="color:rgb(127, 219, 202)">=</span><span>function_args</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span>get</span><span class="token" style="color:rgb(199, 146, 234)">(</span><span class="token" style="color:rgb(173, 219, 103)">"query"</span><span class="token" style="color:rgb(199, 146, 234)">)</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">88</span><span> from_date</span><span class="token" style="color:rgb(127, 219, 202)">=</span><span>function_args</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span>get</span><span class="token" style="color:rgb(199, 146, 234)">(</span><span class="token" style="color:rgb(173, 219, 103)">"from_date"</span><span class="token" style="color:rgb(199, 146, 234)">)</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">89</span><span> to_date</span><span class="token" style="color:rgb(127, 219, 202)">=</span><span>function_args</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span>get</span><span class="token" style="color:rgb(199, 146, 234)">(</span><span class="token" style="color:rgb(173, 219, 103)">"to_date"</span><span class="token" style="color:rgb(199, 146, 234)">)</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">90</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">)</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">91</span><span> messages</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span>append</span><span class="token" style="color:rgb(199, 146, 234)">(</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">92</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">{</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">93</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"tool_call_id"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> tool_call</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span class="token" style="color:rgb(130, 170, 255)">id</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">94</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"role"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"tool"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">95</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"name"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> function_name</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">96</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"content"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> function_response</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">97</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">}</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">98</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">)</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">99</span> <span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">100</span><span> second_response </span><span class="token" style="color:rgb(127, 219, 202)">=</span><span> client</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span>chat</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span>completions</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span>create</span><span class="token" style="color:rgb(199, 146, 234)">(</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">101</span><span> model</span><span class="token" style="color:rgb(127, 219, 202)">=</span><span class="token" style="color:rgb(173, 219, 103)">"gpt-4o"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">102</span><span> messages</span><span class="token" style="color:rgb(127, 219, 202)">=</span><span>messages</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">103</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">)</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">104</span> <span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">105</span><span> </span><span class="token" style="color:rgb(127, 219, 202)">return</span><span> second_response </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">106</span><span> </span><span class="token" style="color:rgb(127, 219, 202)">else</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">107</span><span> </span><span class="token" style="color:rgb(127, 219, 202)">return</span><span> response </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">108</span> <span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">109</span><span></span><span class="token" style="color:rgb(127, 219, 202)">print</span><span class="token" style="color:rgb(199, 146, 234)">(</span><span>run_conversation</span><span class="token" style="color:rgb(199, 146, 234)">(</span><span class="token" style="color:rgb(199, 146, 234)">)</span><span class="token" style="color:rgb(199, 146, 234)">)</span></code></pre></div></div></div></div></div><div class="chakra-stack css-1811skr" id="claude-anthropic-tool-use"><div class="chakra-stack css-1t0q38z"><div class="css-13d1arr"><h3 class="chakra-heading css-6ill7t">Claude/Anthropic Tool Use<a href="#claude-anthropic-tool-use" class="css-37ytmg"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3><p class="chakra-text css-2hy9x3" node="[object Object]">The DiveAccess API can be seamlessly integrated with Anthropic's Claude AI model using its function calling feature. This integration allows Claude to dynamically fetch and incorporate up-to-date, industry-specific information into its responses. Key benefits of this integration include real-time access to the latest industry news and trends with guaranteed high-quality content. This example demonstrates how to use the DiveAccess API as a tool for retrieving relevant articles based on user queries with Claude. We'll walk through the process of:</p> <ol role="list" node="[object Object]" class="css-15mzygo"><li node="[object Object]" class="css-0">Setting up the necessary functions and API calls</li><li node="[object Object]" class="css-0">Defining the tool (function) for Claude to use</li><li node="[object Object]" class="css-0">Making the initial API call to Claude</li><li node="[object Object]" class="css-0">Handling the tool call and fetching articles from the DiveAccess API</li><li node="[object Object]" class="css-0">Making a second API call to Claude with the retrieved information</li></ol> <p class="chakra-text css-2hy9x3" node="[object Object]">By following this example, you'll be able to create a powerful AI assistant that can provide informed responses on various industry topics, backed by the latest articles from Industry Dive publications.</p></div><div class="css-19gci77"><div class="css-f72q80"><div class="css-10lxbkf"><pre style="color:white;font-family:Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;font-size:14px;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;padding:16px;margin:0;overflow:auto;background:#011627"><code class="language-python" style="color:#d6deeb;font-family:Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;font-size:1em;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none"><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">1</span><span class="token" style="color:rgb(127, 219, 202)">import</span><span> anthropic </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">2</span><span></span><span class="token" style="color:rgb(127, 219, 202)">import</span><span> requests </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">3</span><span></span><span class="token" style="color:rgb(127, 219, 202)">import</span><span> json </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">4</span> <span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">5</span><span>client </span><span class="token" style="color:rgb(127, 219, 202)">=</span><span> anthropic</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span>Anthropic</span><span class="token" style="color:rgb(199, 146, 234)">(</span><span class="token" style="color:rgb(199, 146, 234)">)</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">6</span><span>BASE_URL </span><span class="token" style="color:rgb(127, 219, 202)">=</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"https://api.diveaccess.com/articles"</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">7</span><span>ACCESS_KEY </span><span class="token" style="color:rgb(127, 219, 202)">=</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"YOUR_ACCESS_KEY_HERE"</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">8</span> <span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">9</span><span></span><span class="token" style="color:rgb(127, 219, 202)">def</span><span> </span><span class="token" style="color:rgb(130, 170, 255)">get_articles</span><span class="token" style="color:rgb(199, 146, 234)">(</span><span>query</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> from_date</span><span class="token" style="color:rgb(127, 219, 202)">=</span><span class="token" style="color:rgb(255, 88, 116)">None</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> to_date</span><span class="token" style="color:rgb(127, 219, 202)">=</span><span class="token" style="color:rgb(255, 88, 116)">None</span><span class="token" style="color:rgb(199, 146, 234)">)</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">10</span><span> </span><span class="token triple-quoted-string" style="color:rgb(173, 219, 103)">""" </span><span class="token triple-quoted-string" style="color:rgb(173, 219, 103)"><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">11</span> Fetch articles from the DiveAccess API based on the given query and optional date range </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">12</span><span class="token triple-quoted-string" style="color:rgb(173, 219, 103)"> """</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">13</span><span> params </span><span class="token" style="color:rgb(127, 219, 202)">=</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">{</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">14</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"access_key"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> ACCESS_KEY</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">15</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"query"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> query</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">16</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">}</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">17</span><span> </span><span class="token" style="color:rgb(127, 219, 202)">if</span><span> from_date</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">18</span><span> params</span><span class="token" style="color:rgb(199, 146, 234)">[</span><span class="token" style="color:rgb(173, 219, 103)">"from_date"</span><span class="token" style="color:rgb(199, 146, 234)">]</span><span> </span><span class="token" style="color:rgb(127, 219, 202)">=</span><span> from_date </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">19</span><span> </span><span class="token" style="color:rgb(127, 219, 202)">if</span><span> to_date</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">20</span><span> params</span><span class="token" style="color:rgb(199, 146, 234)">[</span><span class="token" style="color:rgb(173, 219, 103)">"to_date"</span><span class="token" style="color:rgb(199, 146, 234)">]</span><span> </span><span class="token" style="color:rgb(127, 219, 202)">=</span><span> to_date </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">21</span> <span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">22</span><span> response </span><span class="token" style="color:rgb(127, 219, 202)">=</span><span> requests</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span>get</span><span class="token" style="color:rgb(199, 146, 234)">(</span><span>BASE_URL</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> params</span><span class="token" style="color:rgb(127, 219, 202)">=</span><span>params</span><span class="token" style="color:rgb(199, 146, 234)">)</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">23</span><span> </span><span class="token" style="color:rgb(127, 219, 202)">if</span><span> response</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span>status_code </span><span class="token" style="color:rgb(127, 219, 202)">==</span><span> </span><span class="token" style="color:rgb(247, 140, 108)">200</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">24</span><span> </span><span class="token" style="color:rgb(127, 219, 202)">return</span><span> response</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span>json</span><span class="token" style="color:rgb(199, 146, 234)">(</span><span class="token" style="color:rgb(199, 146, 234)">)</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">25</span><span> </span><span class="token" style="color:rgb(127, 219, 202)">else</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">26</span><span> </span><span class="token" style="color:rgb(127, 219, 202)">return</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">{</span><span class="token" style="color:rgb(173, 219, 103)">"error"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token string-interpolation" style="color:rgb(173, 219, 103)">f"Error: </span><span class="token string-interpolation interpolation" style="color:rgb(199, 146, 234)">{</span><span class="token string-interpolation interpolation">response</span><span class="token string-interpolation interpolation" style="color:rgb(199, 146, 234)">.</span><span class="token string-interpolation interpolation">status_code</span><span class="token string-interpolation interpolation" style="color:rgb(199, 146, 234)">}</span><span class="token string-interpolation" style="color:rgb(173, 219, 103)">, </span><span class="token string-interpolation interpolation" style="color:rgb(199, 146, 234)">{</span><span class="token string-interpolation interpolation">response</span><span class="token string-interpolation interpolation" style="color:rgb(199, 146, 234)">.</span><span class="token string-interpolation interpolation">text</span><span class="token string-interpolation interpolation" style="color:rgb(199, 146, 234)">}</span><span class="token string-interpolation" style="color:rgb(173, 219, 103)">"</span><span class="token" style="color:rgb(199, 146, 234)">}</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">27</span> <span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">28</span><span>tools </span><span class="token" style="color:rgb(127, 219, 202)">=</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">[</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">29</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">{</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">30</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"name"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"get_articles"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">31</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"description"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"Get articles from Industry Dive publications based on keywords extracted from user input. "</span><span> </span><span class="token" style="color:rgb(127, 219, 202)">+</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">32</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"Tool will return a list of articles. "</span><span> </span><span class="token" style="color:rgb(127, 219, 202)">+</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">33</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"Should be used when the message indicates the need for information about a specific topic."</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">34</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"input_schema"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">{</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">35</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"type"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"object"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">36</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"properties"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">{</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">37</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"query"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">{</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">38</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"type"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"string"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">39</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"description"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"The search query for articles extracted from the user message."</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">40</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">}</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">41</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"from_date"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">{</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">42</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"type"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"string"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">43</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"description"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"Start date for article search (YYYY-MM-DD)."</span><span> </span><span class="token" style="color:rgb(127, 219, 202)">+</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">44</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"The default is 30 days ago. Only include when a specific time frame is necessary."</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">45</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">}</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">46</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"to_date"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">{</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">47</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"type"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"string"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">48</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"description"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"End date for article search (YYYY-MM-DD)."</span><span> </span><span class="token" style="color:rgb(127, 219, 202)">+</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">49</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"The default is today. Only include when a specific time frame is necessary."</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">50</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">}</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">51</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">}</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">52</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"required"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">[</span><span class="token" style="color:rgb(173, 219, 103)">"query"</span><span class="token" style="color:rgb(199, 146, 234)">]</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">53</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">}</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">54</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">}</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">55</span><span></span><span class="token" style="color:rgb(199, 146, 234)">]</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">56</span> <span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">57</span><span></span><span class="token" style="color:rgb(127, 219, 202)">def</span><span> </span><span class="token" style="color:rgb(130, 170, 255)">run_conversation</span><span class="token" style="color:rgb(199, 146, 234)">(</span><span class="token" style="color:rgb(199, 146, 234)">)</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">58</span><span> prompt </span><span class="token" style="color:rgb(127, 219, 202)">=</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">(</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">59</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"What are the latest developments in artificial intelligence? "</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">60</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"Include sources and links where applicable."</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">61</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">)</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">62</span> <span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">63</span><span> </span><span class="token" style="color:rgb(99, 119, 119);font-style:italic"># First API call to get tool use</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">64</span><span> response </span><span class="token" style="color:rgb(127, 219, 202)">=</span><span> client</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span>messages</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span>create</span><span class="token" style="color:rgb(199, 146, 234)">(</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">65</span><span> model</span><span class="token" style="color:rgb(127, 219, 202)">=</span><span class="token" style="color:rgb(173, 219, 103)">"claude-3-5-sonnet-20240620"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">66</span><span> max_tokens</span><span class="token" style="color:rgb(127, 219, 202)">=</span><span class="token" style="color:rgb(247, 140, 108)">1024</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">67</span><span> tools</span><span class="token" style="color:rgb(127, 219, 202)">=</span><span>tools</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">68</span><span> messages</span><span class="token" style="color:rgb(127, 219, 202)">=</span><span class="token" style="color:rgb(199, 146, 234)">[</span><span class="token" style="color:rgb(199, 146, 234)">{</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">69</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"role"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"user"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">70</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"content"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> prompt </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">71</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">}</span><span class="token" style="color:rgb(199, 146, 234)">]</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">72</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">)</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">73</span> <span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">74</span><span> </span><span class="token" style="color:rgb(99, 119, 119);font-style:italic"># Check if the model used the tool</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">75</span><span> tool_use </span><span class="token" style="color:rgb(127, 219, 202)">=</span><span> </span><span class="token" style="color:rgb(130, 170, 255)">next</span><span class="token" style="color:rgb(199, 146, 234)">(</span><span class="token" style="color:rgb(199, 146, 234)">(</span><span>content </span><span class="token" style="color:rgb(127, 219, 202)">for</span><span> content </span><span class="token" style="color:rgb(127, 219, 202)">in</span><span> response</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span>content </span><span class="token" style="color:rgb(127, 219, 202)">if</span><span> content</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span class="token" style="color:rgb(130, 170, 255)">type</span><span> </span><span class="token" style="color:rgb(127, 219, 202)">==</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"tool_use"</span><span class="token" style="color:rgb(199, 146, 234)">)</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="token" style="color:rgb(255, 88, 116)">None</span><span class="token" style="color:rgb(199, 146, 234)">)</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">76</span> <span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">77</span><span> </span><span class="token" style="color:rgb(127, 219, 202)">if</span><span> tool_use</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">78</span><span> </span><span class="token" style="color:rgb(99, 119, 119);font-style:italic"># If tool was used, fetch articles and make a second API call</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">79</span><span> articles </span><span class="token" style="color:rgb(127, 219, 202)">=</span><span> get_articles</span><span class="token" style="color:rgb(199, 146, 234)">(</span><span class="token" style="color:rgb(127, 219, 202)">**</span><span>tool_use</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span class="token" style="color:rgb(130, 170, 255)">input</span><span class="token" style="color:rgb(199, 146, 234)">)</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">80</span> <span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">81</span><span> second_response </span><span class="token" style="color:rgb(127, 219, 202)">=</span><span> client</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span>messages</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span>create</span><span class="token" style="color:rgb(199, 146, 234)">(</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">82</span><span> model</span><span class="token" style="color:rgb(127, 219, 202)">=</span><span class="token" style="color:rgb(173, 219, 103)">"claude-3-5-sonnet-20240620"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">83</span><span> max_tokens</span><span class="token" style="color:rgb(127, 219, 202)">=</span><span class="token" style="color:rgb(247, 140, 108)">1024</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">84</span><span> tools</span><span class="token" style="color:rgb(127, 219, 202)">=</span><span>tools</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">85</span><span> messages</span><span class="token" style="color:rgb(127, 219, 202)">=</span><span class="token" style="color:rgb(199, 146, 234)">[</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">86</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">{</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">87</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"role"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"user"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">88</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"content"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> prompt </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">89</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">}</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">90</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">{</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">91</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"role"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"assistant"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">92</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"content"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> response</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span>content </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">93</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">}</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">94</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">{</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">95</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"role"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"user"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">96</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"content"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">[</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">97</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">{</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">98</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"type"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"tool_result"</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">99</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"tool_use_id"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> tool_use</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span class="token" style="color:rgb(130, 170, 255)">id</span><span class="token" style="color:rgb(199, 146, 234)">,</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">100</span><span> </span><span class="token" style="color:rgb(173, 219, 103)">"content"</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> json</span><span class="token" style="color:rgb(199, 146, 234)">.</span><span>dumps</span><span class="token" style="color:rgb(199, 146, 234)">(</span><span>articles</span><span class="token" style="color:rgb(199, 146, 234)">)</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">101</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">}</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">102</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">]</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">103</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">}</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">104</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">]</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">105</span><span> </span><span class="token" style="color:rgb(199, 146, 234)">)</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">106</span> <span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">107</span><span> </span><span class="token" style="color:rgb(127, 219, 202)">return</span><span> second_response </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">108</span> <span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">109</span><span> </span><span class="token" style="color:rgb(127, 219, 202)">else</span><span class="token" style="color:rgb(199, 146, 234)">:</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">110</span><span> </span><span class="token" style="color:rgb(99, 119, 119);font-style:italic"># If no tool was used, return the first response</span><span> </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">111</span><span> </span><span class="token" style="color:rgb(127, 219, 202)">return</span><span> response </span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">112</span> <span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:3.25em;padding-right:1em;text-align:right;user-select:none;color:rgb(99, 119, 119);font-style:italic">113</span><span></span><span class="token" style="color:rgb(127, 219, 202)">print</span><span class="token" style="color:rgb(199, 146, 234)">(</span><span>run_conversation</span><span class="token" style="color:rgb(199, 146, 234)">(</span><span class="token" style="color:rgb(199, 146, 234)">)</span><span class="token" style="color:rgb(199, 146, 234)">)</span></code></pre></div></div></div></div></div></div></div></div><span></span><span id="__chakra_env" hidden=""></span><script src="/_next/static/chunks/webpack-43789b2e6d24d658.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/media/12084922609e6532-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n2:HL[\"/_next/static/media/22539d17f3707926-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n3:HL[\"/_next/static/media/3eb4bb530f30483c-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n4:HL[\"/_next/static/media/b1dca2a5d44fc7a4-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n5:HL[\"/_next/static/media/c6d20a6ba91d97e6-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n6:HL[\"/"])</script><script>self.__next_f.push([1,"_next/static/css/5c361faaa4a8e693.css\",\"style\"]\n0:\"$L7\"\n"])</script><script>self.__next_f.push([1,"8:I[33728,[],\"\"]\na:I[29928,[],\"\"]\nb:I[66927,[\"395\",\"static/chunks/395-440304081f28889b.js\",\"609\",\"static/chunks/609-411ee0408fc35a59.js\",\"643\",\"static/chunks/643-9dcfbc9e05c9cdd0.js\",\"188\",\"static/chunks/188-70359d683efe9612.js\",\"749\",\"static/chunks/749-6c7e534489633b7c.js\",\"185\",\"static/chunks/app/layout-226a7564fb119353.js\"],\"GoogleTagManager\"]\nc:I[64414,[\"395\",\"static/chunks/395-440304081f28889b.js\",\"609\",\"static/chunks/609-411ee0408fc35a59.js\",\"326\",\"static/chunks/326-5e7607cd588db589.js\",\"643\",\"static/"])</script><script>self.__next_f.push([1,"chunks/643-9dcfbc9e05c9cdd0.js\",\"188\",\"static/chunks/188-70359d683efe9612.js\",\"749\",\"static/chunks/749-6c7e534489633b7c.js\",\"691\",\"static/chunks/691-0fa3afd13045214b.js\",\"760\",\"static/chunks/app/(authenticated)/layout-45fa957591c199e1.js\"],\"ColorModeScript\"]\nd:I[11637,[\"395\",\"static/chunks/395-440304081f28889b.js\",\"609\",\"static/chunks/609-411ee0408fc35a59.js\",\"643\",\"static/chunks/643-9dcfbc9e05c9cdd0.js\",\"188\",\"static/chunks/188-70359d683efe9612.js\",\"749\",\"static/chunks/749-6c7e534489633b7c.js\",\"185\",\"stati"])</script><script>self.__next_f.push([1,"c/chunks/app/layout-226a7564fb119353.js\"],\"\"]\ne:I[56954,[],\"\"]\nf:I[7264,[],\"\"]\n"])</script><script>self.__next_f.push([1,"7:[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/5c361faaa4a8e693.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"$L8\",null,{\"buildId\":\"06Fo-Os9rcuQd8MGfH565\",\"assetPrefix\":\"\",\"initialCanonicalUrl\":\"/documentation\",\"initialTree\":[\"\",{\"children\":[\"documentation\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialHead\":[false,\"$L9\"],\"globalErrorComponent\":\"$a\",\"children\":[null,[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"script\",null,{\"async\":true,\"src\":\"https://js.stripe.com/v3/pricing-table.js\"}],[\"$\",\"$Lb\",null,{\"gtmId\":\"GTM-WK69S77X\"}]]}],[\"$\",\"body\",null,{\"backgroundcolor\":\"brand.gray.50\",\"children\":[[\"$\",\"$Lc\",null,{}],[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"$Le\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"loading\":\"$undefined\",\"loadingStyles\":\"$undefined\",\"hasLoading\":false,\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"template\":[\"$\",\"$Lf\",null,{}],\"templateStyles\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[],\"childProp\":{\"current\":[null,\"$L10\",null],\"segment\":\"documentation\"},\"styles\":[]}]}]]}]]}],null]}]]\n"])</script><script>self.__next_f.push([1,"11:I[99608,[\"395\",\"static/chunks/395-440304081f28889b.js\",\"609\",\"static/chunks/609-411ee0408fc35a59.js\",\"326\",\"static/chunks/326-5e7607cd588db589.js\",\"643\",\"static/chunks/643-9dcfbc9e05c9cdd0.js\",\"188\",\"static/chunks/188-70359d683efe9612.js\",\"749\",\"static/chunks/749-6c7e534489633b7c.js\",\"691\",\"static/chunks/691-0fa3afd13045214b.js\",\"37\",\"static/chunks/37-9f40abd84ae39dda.js\",\"647\",\"static/chunks/app/documentation/layout-e53ee05f37157e25.js\"],\"Flex\"]\n12:I[63410,[\"395\",\"static/chunks/395-440304081f28889b.js\","])</script><script>self.__next_f.push([1,"\"609\",\"static/chunks/609-411ee0408fc35a59.js\",\"326\",\"static/chunks/326-5e7607cd588db589.js\",\"643\",\"static/chunks/643-9dcfbc9e05c9cdd0.js\",\"188\",\"static/chunks/188-70359d683efe9612.js\",\"749\",\"static/chunks/749-6c7e534489633b7c.js\",\"691\",\"static/chunks/691-0fa3afd13045214b.js\",\"37\",\"static/chunks/37-9f40abd84ae39dda.js\",\"647\",\"static/chunks/app/documentation/layout-e53ee05f37157e25.js\"],\"\"]\n13:I[65514,[\"395\",\"static/chunks/395-440304081f28889b.js\",\"609\",\"static/chunks/609-411ee0408fc35a59.js\",\"326\",\"static/ch"])</script><script>self.__next_f.push([1,"unks/326-5e7607cd588db589.js\",\"643\",\"static/chunks/643-9dcfbc9e05c9cdd0.js\",\"188\",\"static/chunks/188-70359d683efe9612.js\",\"749\",\"static/chunks/749-6c7e534489633b7c.js\",\"691\",\"static/chunks/691-0fa3afd13045214b.js\",\"37\",\"static/chunks/37-9f40abd84ae39dda.js\",\"647\",\"static/chunks/app/documentation/layout-e53ee05f37157e25.js\"],\"\"]\n"])</script><script>self.__next_f.push([1,"10:[[\"$\",\"$L11\",null,{\"as\":\"header\",\"top\":0,\"width\":\"100%\",\"pl\":{\"base\":6,\"md\":8},\"pr\":{\"base\":2,\"md\":4},\"pt\":2,\"align\":\"center\",\"justify\":\"space-between\",\"children\":[[\"$\",\"$L12\",null,{}],[\"$\",\"$L13\",null,{}]]}],[\"$\",\"$Le\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"documentation\",\"children\"],\"loading\":\"$undefined\",\"loadingStyles\":\"$undefined\",\"hasLoading\":false,\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"template\":[\"$\",\"$Lf\",null,{}],\"templateStyles\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\",\"childProp\":{\"current\":[\"$L14\",\"$L15\",null],\"segment\":\"__PAGE__\"},\"styles\":[]}]]\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"1\",{\"children\":\"Dive Marketplace - Access\"}],[\"$\",\"meta\",\"2\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\",\"type\":\"image/x-icon\",\"sizes\":\"32x32\"}],[\"$\",\"link\",\"4\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-icon.png?c4aeda5aae2a4698\",\"type\":\"image/png\",\"sizes\":\"192x192\"}],[\"$\",\"meta\",\"5\",{\"name\":\"next-size-adjust\"}]]\n"])</script><script>self.__next_f.push([1,"16:I[99608,[\"395\",\"static/chunks/395-440304081f28889b.js\",\"609\",\"static/chunks/609-411ee0408fc35a59.js\",\"326\",\"static/chunks/326-5e7607cd588db589.js\",\"643\",\"static/chunks/643-9dcfbc9e05c9cdd0.js\",\"188\",\"static/chunks/188-70359d683efe9612.js\",\"749\",\"static/chunks/749-6c7e534489633b7c.js\",\"691\",\"static/chunks/691-0fa3afd13045214b.js\",\"37\",\"static/chunks/37-9f40abd84ae39dda.js\",\"647\",\"static/chunks/app/documentation/layout-e53ee05f37157e25.js\"],\"Stack\"]\n17:I[99608,[\"395\",\"static/chunks/395-440304081f28889b.js\""])</script><script>self.__next_f.push([1,",\"609\",\"static/chunks/609-411ee0408fc35a59.js\",\"326\",\"static/chunks/326-5e7607cd588db589.js\",\"643\",\"static/chunks/643-9dcfbc9e05c9cdd0.js\",\"188\",\"static/chunks/188-70359d683efe9612.js\",\"749\",\"static/chunks/749-6c7e534489633b7c.js\",\"691\",\"static/chunks/691-0fa3afd13045214b.js\",\"37\",\"static/chunks/37-9f40abd84ae39dda.js\",\"647\",\"static/chunks/app/documentation/layout-e53ee05f37157e25.js\"],\"Box\"]\n18:I[73754,[\"395\",\"static/chunks/395-440304081f28889b.js\",\"609\",\"static/chunks/609-411ee0408fc35a59.js\",\"326\",\"stati"])</script><script>self.__next_f.push([1,"c/chunks/326-5e7607cd588db589.js\",\"643\",\"static/chunks/643-9dcfbc9e05c9cdd0.js\",\"188\",\"static/chunks/188-70359d683efe9612.js\",\"890\",\"static/chunks/890-e8608b5970e7e630.js\",\"154\",\"static/chunks/app/documentation/page-7c8e82b64fa17ac6.js\"],\"\"]\n19:I[99608,[\"395\",\"static/chunks/395-440304081f28889b.js\",\"609\",\"static/chunks/609-411ee0408fc35a59.js\",\"326\",\"static/chunks/326-5e7607cd588db589.js\",\"643\",\"static/chunks/643-9dcfbc9e05c9cdd0.js\",\"188\",\"static/chunks/188-70359d683efe9612.js\",\"749\",\"static/chunks/749-6c7"])</script><script>self.__next_f.push([1,"e534489633b7c.js\",\"691\",\"static/chunks/691-0fa3afd13045214b.js\",\"37\",\"static/chunks/37-9f40abd84ae39dda.js\",\"647\",\"static/chunks/app/documentation/layout-e53ee05f37157e25.js\"],\"Divider\"]\n1a:I[99608,[\"395\",\"static/chunks/395-440304081f28889b.js\",\"609\",\"static/chunks/609-411ee0408fc35a59.js\",\"326\",\"static/chunks/326-5e7607cd588db589.js\",\"643\",\"static/chunks/643-9dcfbc9e05c9cdd0.js\",\"188\",\"static/chunks/188-70359d683efe9612.js\",\"749\",\"static/chunks/749-6c7e534489633b7c.js\",\"691\",\"static/chunks/691-0fa3afd13045"])</script><script>self.__next_f.push([1,"214b.js\",\"37\",\"static/chunks/37-9f40abd84ae39dda.js\",\"647\",\"static/chunks/app/documentation/layout-e53ee05f37157e25.js\"],\"Heading\"]\n1b:I[53579,[\"395\",\"static/chunks/395-440304081f28889b.js\",\"609\",\"static/chunks/609-411ee0408fc35a59.js\",\"326\",\"static/chunks/326-5e7607cd588db589.js\",\"643\",\"static/chunks/643-9dcfbc9e05c9cdd0.js\",\"188\",\"static/chunks/188-70359d683efe9612.js\",\"890\",\"static/chunks/890-e8608b5970e7e630.js\",\"154\",\"static/chunks/app/documentation/page-7c8e82b64fa17ac6.js\"],\"\"]\n1c:I[48768,[\"395\",\"sta"])</script><script>self.__next_f.push([1,"tic/chunks/395-440304081f28889b.js\",\"609\",\"static/chunks/609-411ee0408fc35a59.js\",\"326\",\"static/chunks/326-5e7607cd588db589.js\",\"643\",\"static/chunks/643-9dcfbc9e05c9cdd0.js\",\"188\",\"static/chunks/188-70359d683efe9612.js\",\"890\",\"static/chunks/890-e8608b5970e7e630.js\",\"154\",\"static/chunks/app/documentation/page-7c8e82b64fa17ac6.js\"],\"\"]\n1d:T88c,"])</script><script>self.__next_f.push([1,"Below is an example of the JSON response you will receive from the DiveAccess API. The response contains two main parts: `num_found` and `article_set`.\n\n- `num_found`: The total number of articles that match your query criteria. We plan to enable access for iterating through the entirety of this list for paid subscribers in the future.\n- `article_set`: An array of article objects, each containing detailed information about a single article.\n\nEach article object in the `article_set` includes the following key information:\n\n- `category`: The top level category of the article as indicated by [Google NLP categorization](https://cloud.google.com/natural-language/docs/categories).\n- `topics`: The mid-level category of the article as indicated by [Google NLP categorization](https://cloud.google.com/natural-language/docs/categories).\n- `byline`: The author's name as it appears in the article.\n- `description`: The HTML content of the article in its entirety.\n- `title`: The title of the article.\n- `created_at` and `published_at`: Timestamps for when the article was ingested by our system and published, respectively.\n- `author_set`: Detailed information about the article's author(s).\n- `licensed`: Indicates if the article is licensed for use in RAG.\n- `link`: The original URL of the article.\n- `publisher` and `source`: Information about the publisher and the specific publication.\n- `guid`: A unique identifier for the article.\n- `image_set`: An array of images associated with the article (empty in this example).\n- `metadata`: Additional metadata including tags and meta features about the article including wordcount which can be used to estimate tokens.\u0026nbsp;\n\n\u0026nbsp;\n\n### Response Codes\n\n- **200 OK**: The request was successful, and the response contains the requested data.\n- **401 Unauthorized**: The request lacks valid authentication credentials. Check your `access_key`.\n- **429 Too Many Requests**: You have exceeded the number of API calls in your plan. Upgrade to a paid plan for higher limits.\n- **500 Internal Server Error**: The server encountered an unexpected condition that prevented it from fulfilling the request. If this persists, please contact support."])</script><script>self.__next_f.push([1,"1e:T6bd,"])</script><script>self.__next_f.push([1,"{\n \"num_found\": 772,\n \"article_set\": [\n {\n \"category\": {\n \"name\": \"Business\",\n \"dashed_name\": \"business\"\n },\n \"topics\": [\n {\n \"guid\": \"abcdefg123456\",\n \"name\": \"corporate events\"\n \"dashed_name\": \"corporate-events\"\n }\n ],\n \"byline\": \"Luke Skywalker\",\n \"description\": \"\u003ch1\u003eSenate approves PTO\u003c/h1\u003e\u003cp\u003eThe Galactic Senate has approved a new bill requiring all employers in the Core Worlds to provide paid time off for Jedi training.\u003c/p\u003e\",\n \"title\": \"Coruscant Employers Must Now Provide Paid Leave for Jedi Training\",\n \"created_at\": \"2023-11-27 21:17:01\",\n \"author_set\": [\n {\n \"guid\": \"b92eba1674b0d77b86f46f37604f0123\",\n \"first_name\": \"Luke\",\n \"last_name\": \"Skywalker\",\n \"name\": \"Luke Skywalker\"\n }\n ],\n \"licensed\": \"True\",\n \"link\": \"https://www.retaildive.com/news/sephora-exits-korea/710823/\",\n \"published_at\": \"2023-11-27 20:59:05\",\n \"score\": \"1.0\",\n \"publisher\": {\n \"name\": \"Industry Dive\"\n },\n \"source\": {\n \"name\": \"Retail Dive\",\n \"website\": \"https://www.retaildive.com/\",\n \"state\": \"IL\",\n \"country\": \"US\",\n \"guid\": \"38aa2cd3e7a7cd6bc96d88cc8bbdl123\",\n \"thumbnail\": \"http://www.google.com/s2/favicons?domain=www.industrydive.com\"\n },\n \"guid\": \"4e2427ec8d6a11ee9fb802420a0e1234\",\n \"image_set\": [],\n \"metadata\": {\n \"tags\": [\"retail\", \"business\", \"employment\"],\n \"extracted_features\": {\n \"article_description_wordcount\": 1230,\n \"article_title_wordcount\": 11,\n \"article_inline_image_count\": 0\n }\n }\n }\n ]\n}"])</script><script>self.__next_f.push([1,"1f:T41f,"])</script><script>self.__next_f.push([1,"The DiveAccess API can be seamlessly integrated with OpenAI's function calling feature to significantly enhance your AI model's capabilities. This integration allows your model to dynamically fetch and incorporate up-to-date, industry-specific information into its responses.\nKey benefits of this integration include real-time access to the latest industry news and trends with guaranteed high-quality content.\nThis example demonstrates how to use the DiveAccess API as a tool for retrieving relevant articles based on user queries. We'll walk through the process of:\n1. Setting up the necessary functions and API calls\n2. Defining the tool (function) for OpenAI to use\n3. Making the initial API call to OpenAI\n4. Handling the tool call and fetching articles from the DiveAccess API\n5. Making a second API call to OpenAI with the retrieved information\n\nBy following this example, you'll be able to create a powerful AI assistant that can provide informed responses on various industry topics, backed by the latest articles from Industry Dive publications."])</script><script>self.__next_f.push([1,"20:Te07,"])</script><script>self.__next_f.push([1,"from openai import OpenAI\nimport requests\nimport json\n\nclient = OpenAI()\nBASE_URL = \"https://api.diveaccess.com/articles\"\nACCESS_KEY = \"YOUR_ACCESS_KEY_HERE\"\n\ndef get_articles(query, from_date=None, to_date=None):\n \"\"\"\n Fetch articles from the DiveAccess API based on the given query and optional date range.\n \"\"\"\n params = {\n \"access_key\": ACCESS_KEY,\n \"query\": query,\n }\n if from_date:\n params[\"from_date\"] = from_date\n if to_date:\n params[\"to_date\"] = to_date\n\n response = requests.get(BASE_URL, params=params)\n if response.status_code == 200:\n return json.dumps(response.json())\n else:\n return json.dumps({\n \"error\": f\"Error: {response.status_code}, {response.text}\"\n })\n\ntools = [\n {\n \"type\": \"function\",\n \"function\": {\n \"name\": \"get_articles\",\n \"description\": \"Get articles from Industry Dive publications based on keywords extracted from user input. \" +\n \"Tool will return a list of articles. \" +\n \"Should be used when the message indicates the need for information about a specific topic.\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"query\": {\n \"type\": \"string\",\n \"description\": \"The search query for articles extracted from the user message.\"\n },\n \"from_date\": {\n \"type\": \"string\",\n \"description\": \"Start date for article search (YYYY-MM-DD).\" +\n \"The default is 30 days ago. Only include when a specific time frame is necessary.\",\n },\n \"to_date\": {\n \"type\": \"string\",\n \"description\": \"End date for article search (YYYY-MM-DD).\" +\n \"The default is today. Only include when a specific time frame is necessary.\",\n },\n },\n \"required\": [\"query\"],\n },\n },\n }\n]\n\ndef run_conversation():\n prompt = (\n \"What are the latest developments in artificial intelligence? \"\n \"Include sources and links where applicable.\"\n )\n messages = [{\n \"role\": \"user\",\n \"content\": prompt\n }]\n\n response = client.chat.completions.create(\n model=\"gpt-4o\",\n messages=messages,\n tools=tools,\n tool_choice=\"auto\",\n )\n response_message = response.choices[0].message\n tool_calls = response_message.tool_calls\n\n if tool_calls:\n messages.append(response_message)\n for tool_call in tool_calls:\n function_name = tool_call.function.name\n function_args = json.loads(tool_call.function.arguments)\n function_response = get_articles(\n query=function_args.get(\"query\"),\n from_date=function_args.get(\"from_date\"),\n to_date=function_args.get(\"to_date\"),\n )\n messages.append(\n {\n \"tool_call_id\": tool_call.id,\n \"role\": \"tool\",\n \"name\": function_name,\n \"content\": function_response,\n }\n )\n\n second_response = client.chat.completions.create(\n model=\"gpt-4o\",\n messages=messages,\n )\n\n return second_response\n else:\n return response\n\nprint(run_conversation())"])</script><script>self.__next_f.push([1,"21:T40e,"])</script><script>self.__next_f.push([1,"The DiveAccess API can be seamlessly integrated with Anthropic's Claude AI model using its function calling feature. This integration allows Claude to dynamically fetch and incorporate up-to-date, industry-specific information into its responses.\nKey benefits of this integration include real-time access to the latest industry news and trends with guaranteed high-quality content.\nThis example demonstrates how to use the DiveAccess API as a tool for retrieving relevant articles based on user queries with Claude. We'll walk through the process of:\n1. Setting up the necessary functions and API calls\n2. Defining the tool (function) for Claude to use\n3. Making the initial API call to Claude\n4. Handling the tool call and fetching articles from the DiveAccess API\n5. Making a second API call to Claude with the retrieved information\n\nBy following this example, you'll be able to create a powerful AI assistant that can provide informed responses on various industry topics, backed by the latest articles from Industry Dive publications."])</script><script>self.__next_f.push([1,"22:Te21,"])</script><script>self.__next_f.push([1,"import anthropic\nimport requests\nimport json\n\nclient = anthropic.Anthropic()\nBASE_URL = \"https://api.diveaccess.com/articles\"\nACCESS_KEY = \"YOUR_ACCESS_KEY_HERE\"\n\ndef get_articles(query, from_date=None, to_date=None):\n \"\"\"\n Fetch articles from the DiveAccess API based on the given query and optional date range\n \"\"\"\n params = {\n \"access_key\": ACCESS_KEY,\n \"query\": query,\n }\n if from_date:\n params[\"from_date\"] = from_date\n if to_date:\n params[\"to_date\"] = to_date\n\n response = requests.get(BASE_URL, params=params)\n if response.status_code == 200:\n return response.json()\n else:\n return {\"error\": f\"Error: {response.status_code}, {response.text}\"}\n\ntools = [\n {\n \"name\": \"get_articles\",\n \"description\": \"Get articles from Industry Dive publications based on keywords extracted from user input. \" +\n \"Tool will return a list of articles. \" +\n \"Should be used when the message indicates the need for information about a specific topic.\",\n \"input_schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"query\": {\n \"type\": \"string\",\n \"description\": \"The search query for articles extracted from the user message.\",\n },\n \"from_date\": {\n \"type\": \"string\",\n \"description\": \"Start date for article search (YYYY-MM-DD).\" +\n \"The default is 30 days ago. Only include when a specific time frame is necessary.\",\n },\n \"to_date\": {\n \"type\": \"string\",\n \"description\": \"End date for article search (YYYY-MM-DD).\" +\n \"The default is today. Only include when a specific time frame is necessary.\",\n },\n },\n \"required\": [\"query\"]\n }\n }\n]\n\ndef run_conversation():\n prompt = (\n \"What are the latest developments in artificial intelligence? \"\n \"Include sources and links where applicable.\"\n )\n\n # First API call to get tool use\n response = client.messages.create(\n model=\"claude-3-5-sonnet-20240620\",\n max_tokens=1024,\n tools=tools,\n messages=[{\n \"role\": \"user\",\n \"content\": prompt\n }]\n )\n\n # Check if the model used the tool\n tool_use = next((content for content in response.content if content.type == \"tool_use\"), None)\n\n if tool_use:\n # If tool was used, fetch articles and make a second API call\n articles = get_articles(**tool_use.input)\n\n second_response = client.messages.create(\n model=\"claude-3-5-sonnet-20240620\",\n max_tokens=1024,\n tools=tools,\n messages=[\n {\n \"role\": \"user\",\n \"content\": prompt\n },\n {\n \"role\": \"assistant\",\n \"content\": response.content\n },\n {\n \"role\": \"user\",\n \"content\": [\n {\n \"type\": \"tool_result\",\n \"tool_use_id\": tool_use.id,\n \"content\": json.dumps(articles)\n }\n ]\n }\n ]\n )\n\n return second_response\n\n else:\n # If no tool was used, return the first response\n return response\n\nprint(run_conversation())"])</script><script>self.__next_f.push([1,"15:[\"$\",\"$L16\",null,{\"mt\":10,\"spacing\":4,\"direction\":\"row\",\"pl\":{\"base\":\"2\",\"md\":\"8\"},\"pr\":10,\"children\":[[\"$\",\"$L17\",null,{\"position\":\"sticky\",\"top\":\"0\",\"maxHeight\":\"calc(100vh - 70px)\",\"overflowY\":\"auto\",\"overflowX\":\"hidden\",\"width\":{\"base\":\"6%\",\"md\":\"12%\"},\"minWidth\":{\"base\":\"1.6rem\",\"md\":\"9rem\"},\"sx\":{\"\u0026::-webkit-scrollbar\":{\"display\":\"none\"},\"scrollbarWidth\":\"none\",\"-ms-overflow-style\":\"none\"},\"children\":[\"$\",\"$L18\",null,{}]}],[\"$\",\"$L17\",null,{\"position\":\"relative\",\"width\":\"1px\",\"children\":[\"$\",\"$L19\",null,{\"orientation\":\"vertical\",\"position\":\"absolute\",\"top\":\"0\",\"bottom\":\"0\",\"left\":\"50%\",\"transform\":\"translateX(-50%)\",\"width\":\"1px\"}]}],[\"$\",\"$L17\",null,{\"width\":\"88%\",\"flex\":\"1\",\"overflowY\":\"auto\",\"pb\":4,\"children\":[\"$\",\"$L16\",null,{\"spacing\":8,\"direction\":\"column\",\"children\":[[\"$\",\"$L16\",null,{\"spacing\":4,\"direction\":\"column\",\"id\":\"introduction\",\"children\":[\"$\",\"$L16\",null,{\"spacing\":{\"base\":4,\"md\":8},\"direction\":{\"base\":\"column\",\"md\":\"row\"},\"alignItems\":{\"base\":\"stretch\",\"md\":\"flex-start\"},\"children\":[[\"$\",\"$L17\",null,{\"width\":{\"base\":\"100%\",\"md\":\"50%\"},\"children\":[[\"$\",\"$L1a\",null,{\"as\":\"h3\",\"fontSize\":24,\"fontWeight\":500,\"mb\":4,\"display\":\"flex\",\"alignItems\":\"center\",\"children\":[\"Introduction\",[\"$\",\"$L17\",null,{\"as\":\"a\",\"href\":\"#introduction\",\"ml\":2,\"color\":\"gray.500\",\"children\":[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":15,\"height\":15,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-link\",\"children\":[[\"$\",\"path\",\"1cjeqo\",{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",\"19qd67\",{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}],\"$undefined\"]}]}]]}],[\"$\",\"$L1b\",null,{\"content\":\"Welcome to the DiveAccess API documentation. This API allows you to retrieve [Industry Dive](https://industrydive.com) articles based on various search parameters. It's designed to work with Large Language Models (LLMs) via [Retrieval Augmented Generation (RAG)](https://en.wikipedia.org/wiki/Retrieval-augmented_generation), enhancing the capabilities of AI models with up-to-date, high-quality and domain-specific content.\"}]]}],[\"$\",\"$L17\",null,{\"width\":{\"base\":\"100%\",\"md\":\"50%\"},\"ml\":{\"base\":\"0\",\"md\":\"0\"},\"mr\":{\"base\":\"0\",\"md\":\"0\"},\"overflow\":\"hidden\",\"children\":[\"$\",\"$L17\",null,{\"height\":\"100%\"}]}]]}]}],[\"$\",\"$L16\",null,{\"spacing\":4,\"direction\":\"column\",\"id\":\"quick-start\",\"children\":[\"$\",\"$L16\",null,{\"spacing\":{\"base\":4,\"md\":8},\"direction\":{\"base\":\"column\",\"md\":\"row\"},\"alignItems\":{\"base\":\"stretch\",\"md\":\"flex-start\"},\"children\":[[\"$\",\"$L17\",null,{\"width\":{\"base\":\"100%\",\"md\":\"50%\"},\"children\":[[\"$\",\"$L1a\",null,{\"as\":\"h3\",\"fontSize\":24,\"fontWeight\":500,\"mb\":4,\"display\":\"flex\",\"alignItems\":\"center\",\"children\":[\"Quick start\",[\"$\",\"$L17\",null,{\"as\":\"a\",\"href\":\"#quick-start\",\"ml\":2,\"color\":\"gray.500\",\"children\":[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":15,\"height\":15,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-link\",\"children\":[[\"$\",\"path\",\"1cjeqo\",{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",\"19qd67\",{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}],\"$undefined\"]}]}]]}],[\"$\",\"$L1b\",null,{\"content\":\"Follow these steps to get up and running with the DiveAccess API.\\n\\n1. Create an account or log in to retrieve your `access_key` which acts as your API Secret Key.\\n1. Authenticate your requests by adding your key as a URL query parameter.\\n1. Optionally add a URL encoded query string, for example: `query=artificial%20intelligence`\\n1. Make a `GET` request to the base URL with query parameters added.\\n\\nA list of Industry Dive article objects will be returned in JSON format.\"}]]}],[\"$\",\"$L17\",null,{\"width\":{\"base\":\"100%\",\"md\":\"50%\"},\"ml\":{\"base\":\"0\",\"md\":\"0\"},\"mr\":{\"base\":\"0\",\"md\":\"0\"},\"overflow\":\"hidden\",\"children\":[\"$\",\"$L17\",null,{\"overflowX\":\"auto\",\"width\":\"100%\",\"children\":[\"$\",\"$L1c\",null,{\"code\":\"curl -X GET \\\"https://api.diveaccess.com/articles?access_key=YOUR_ACCESS_KEY\u0026query=artificial%20intelligence\\\"\",\"language\":\"bash\",\"showLineNumbers\":false}]}]}]]}]}],[\"$\",\"$L16\",null,{\"spacing\":4,\"direction\":\"column\",\"id\":\"how-it-works\",\"children\":[\"$\",\"$L16\",null,{\"spacing\":{\"base\":4,\"md\":8},\"direction\":{\"base\":\"column\",\"md\":\"row\"},\"alignItems\":{\"base\":\"stretch\",\"md\":\"flex-start\"},\"children\":[[\"$\",\"$L17\",null,{\"width\":{\"base\":\"100%\",\"md\":\"50%\"},\"children\":[[\"$\",\"$L1a\",null,{\"as\":\"h3\",\"fontSize\":24,\"fontWeight\":500,\"mb\":4,\"display\":\"flex\",\"alignItems\":\"center\",\"children\":[\"How it works\",[\"$\",\"$L17\",null,{\"as\":\"a\",\"href\":\"#how-it-works\",\"ml\":2,\"color\":\"gray.500\",\"children\":[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":15,\"height\":15,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-link\",\"children\":[[\"$\",\"path\",\"1cjeqo\",{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",\"19qd67\",{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}],\"$undefined\"]}]}]]}],[\"$\",\"$L1b\",null,{\"content\":\"[Industry Dive](https://industrydive.com) is a leading business journalism company that provides in-depth, industry-specific news and analysis. Through the DiveAccess API, you will have the ability to fetch articles from Industry Dive publications including [Retail Dive](https://retaildive.com), [Food Dive](https://fooddive.com), [Marketing Dive](https://marketingdive.com), [CIO Dive](https://ciodive.com) and many more. A full list of Industry Dive's 37 publications can be found [here](https://industrydive.com/publications).\u0026nbsp;\\n\\n\u0026nbsp;\\n\\nEach published article is indexed in Elasticsearch and ordered by date. A call to the API base URL without any parameters will return the 10 most recent articles published across all publications. Adding the `query` parameter will perform a keyword index search on Industry Dive's content and return the most relevant articles for that query, ordered by date.\"}]]}],[\"$\",\"$L17\",null,{\"width\":{\"base\":\"100%\",\"md\":\"50%\"},\"ml\":{\"base\":\"0\",\"md\":\"0\"},\"mr\":{\"base\":\"0\",\"md\":\"0\"},\"overflow\":\"hidden\",\"children\":[\"$\",\"$L17\",null,{\"height\":\"100%\"}]}]]}]}],[\"$\",\"$L16\",null,{\"spacing\":4,\"direction\":\"column\",\"id\":\"base-url\",\"children\":[\"$\",\"$L16\",null,{\"spacing\":{\"base\":4,\"md\":8},\"direction\":{\"base\":\"column\",\"md\":\"row\"},\"alignItems\":{\"base\":\"stretch\",\"md\":\"flex-start\"},\"children\":[[\"$\",\"$L17\",null,{\"width\":{\"base\":\"100%\",\"md\":\"50%\"},\"children\":[[\"$\",\"$L1a\",null,{\"as\":\"h3\",\"fontSize\":24,\"fontWeight\":500,\"mb\":4,\"display\":\"flex\",\"alignItems\":\"center\",\"children\":[\"Base URL\",[\"$\",\"$L17\",null,{\"as\":\"a\",\"href\":\"#base-url\",\"ml\":2,\"color\":\"gray.500\",\"children\":[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":15,\"height\":15,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-link\",\"children\":[[\"$\",\"path\",\"1cjeqo\",{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",\"19qd67\",{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}],\"$undefined\"]}]}]]}],[\"$\",\"$L1b\",null,{\"content\":\"The base URL is the same for all requests. Only `GET` requests are supported.\"}]]}],[\"$\",\"$L17\",null,{\"width\":{\"base\":\"100%\",\"md\":\"50%\"},\"ml\":{\"base\":\"0\",\"md\":\"0\"},\"mr\":{\"base\":\"0\",\"md\":\"0\"},\"overflow\":\"hidden\",\"children\":[\"$\",\"$L17\",null,{\"overflowX\":\"auto\",\"width\":\"100%\",\"children\":[\"$\",\"$L1c\",null,{\"code\":\"https://api.diveaccess.com/articles\",\"language\":\"bash\",\"showLineNumbers\":false}]}]}]]}]}],[\"$\",\"$L16\",null,{\"spacing\":4,\"direction\":\"column\",\"id\":\"authentication\",\"children\":[\"$\",\"$L16\",null,{\"spacing\":{\"base\":4,\"md\":8},\"direction\":{\"base\":\"column\",\"md\":\"row\"},\"alignItems\":{\"base\":\"stretch\",\"md\":\"flex-start\"},\"children\":[[\"$\",\"$L17\",null,{\"width\":{\"base\":\"100%\",\"md\":\"50%\"},\"children\":[[\"$\",\"$L1a\",null,{\"as\":\"h3\",\"fontSize\":24,\"fontWeight\":500,\"mb\":4,\"display\":\"flex\",\"alignItems\":\"center\",\"children\":[\"Authentication\",[\"$\",\"$L17\",null,{\"as\":\"a\",\"href\":\"#authentication\",\"ml\":2,\"color\":\"gray.500\",\"children\":[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":15,\"height\":15,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-link\",\"children\":[[\"$\",\"path\",\"1cjeqo\",{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",\"19qd67\",{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}],\"$undefined\"]}]}]]}],[\"$\",\"$L1b\",null,{\"content\":\"Authenticating requests is easy. Simply add your `access_key` as a query parameter to the base URL. We recommend using a secrets manager to store your key securely.\"}]]}],[\"$\",\"$L17\",null,{\"width\":{\"base\":\"100%\",\"md\":\"50%\"},\"ml\":{\"base\":\"0\",\"md\":\"0\"},\"mr\":{\"base\":\"0\",\"md\":\"0\"},\"overflow\":\"hidden\",\"children\":[\"$\",\"$L17\",null,{\"overflowX\":\"auto\",\"width\":\"100%\",\"children\":[\"$\",\"$L1c\",null,{\"code\":\"https://api.diveaccess.com/articles?access_key=YOUR_ACCESS_KEY\",\"language\":\"bash\",\"showLineNumbers\":false}]}]}]]}]}],[\"$\",\"$L16\",null,{\"spacing\":4,\"direction\":\"column\",\"id\":\"making-requests\",\"children\":[\"$\",\"$L16\",null,{\"spacing\":{\"base\":4,\"md\":8},\"direction\":{\"base\":\"column\",\"md\":\"row\"},\"alignItems\":{\"base\":\"stretch\",\"md\":\"flex-start\"},\"children\":[[\"$\",\"$L17\",null,{\"width\":{\"base\":\"100%\",\"md\":\"50%\"},\"children\":[[\"$\",\"$L1a\",null,{\"as\":\"h3\",\"fontSize\":24,\"fontWeight\":500,\"mb\":4,\"display\":\"flex\",\"alignItems\":\"center\",\"children\":[\"Making Requests\",[\"$\",\"$L17\",null,{\"as\":\"a\",\"href\":\"#making-requests\",\"ml\":2,\"color\":\"gray.500\",\"children\":[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":15,\"height\":15,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-link\",\"children\":[[\"$\",\"path\",\"1cjeqo\",{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",\"19qd67\",{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}],\"$undefined\"]}]}]]}],[\"$\",\"$L1b\",null,{\"content\":\"The DiveAccess API supports various query parameters to refine your search. None of the parameters are required.\\n\\n- `query`: A URL-encoded search term (e.g., `artificial%20intelligence`)\\n- `from_date`: Start date for the article search (format: YYYY-MM-DD). The default is 30 days ago.\\n- `to_date`: End date for the article search (format: YYYY-MM-DD). The default is today.\\n\\nResponses are returned in JSON format, containing an array of article objects. Each object includes properties such as title, publication, date, and content.\\n\\n\u0026nbsp;\\n\\n*We have additional query parameter support available and will be adding these capabilities to paid plans in the near future.*\\n\"}]]}],[\"$\",\"$L17\",null,{\"width\":{\"base\":\"100%\",\"md\":\"50%\"},\"ml\":{\"base\":\"0\",\"md\":\"0\"},\"mr\":{\"base\":\"0\",\"md\":\"0\"},\"overflow\":\"hidden\",\"children\":[\"$\",\"$L17\",null,{\"overflowX\":\"auto\",\"width\":\"100%\",\"children\":[\"$\",\"$L1c\",null,{\"code\":\"import requests\\n\\nBASE_URL = \\\"https://api.diveaccess.com/articles\\\"\\nACCESS_KEY = \\\"YOUR_ACCESS_KEY_HERE\\\"\\n\\nparams = {\\n \\\"access_key\\\": ACCESS_KEY,\\n \\\"query\\\": \\\"artificial intelligence\\\",\\n \\\"from_date\\\": \\\"2023-01-01\\\",\\n \\\"to_date\\\": \\\"2023-12-31\\\"\\n}\\n\\nresponse = requests.get(BASE_URL, params=params)\\n\\nif response.status_code == 200:\\n data = response.json()\\n print(data)\\nelse:\\n print(f\\\"Error: {response.status_code}, {response.text}\\\")\",\"language\":\"python\",\"showLineNumbers\":true}]}]}]]}]}],[\"$\",\"$L16\",null,{\"spacing\":4,\"direction\":\"column\",\"id\":\"example-response\",\"children\":[\"$\",\"$L16\",null,{\"spacing\":{\"base\":4,\"md\":8},\"direction\":{\"base\":\"column\",\"md\":\"row\"},\"alignItems\":{\"base\":\"stretch\",\"md\":\"flex-start\"},\"children\":[[\"$\",\"$L17\",null,{\"width\":{\"base\":\"100%\",\"md\":\"50%\"},\"children\":[[\"$\",\"$L1a\",null,{\"as\":\"h3\",\"fontSize\":24,\"fontWeight\":500,\"mb\":4,\"display\":\"flex\",\"alignItems\":\"center\",\"children\":[\"Example Response\",[\"$\",\"$L17\",null,{\"as\":\"a\",\"href\":\"#example-response\",\"ml\":2,\"color\":\"gray.500\",\"children\":[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":15,\"height\":15,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-link\",\"children\":[[\"$\",\"path\",\"1cjeqo\",{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",\"19qd67\",{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}],\"$undefined\"]}]}]]}],[\"$\",\"$L1b\",null,{\"content\":\"$1d\"}]]}],[\"$\",\"$L17\",null,{\"width\":{\"base\":\"100%\",\"md\":\"50%\"},\"ml\":{\"base\":\"0\",\"md\":\"0\"},\"mr\":{\"base\":\"0\",\"md\":\"0\"},\"overflow\":\"hidden\",\"children\":[\"$\",\"$L17\",null,{\"overflowX\":\"auto\",\"width\":\"100%\",\"children\":[\"$\",\"$L1c\",null,{\"code\":\"$1e\",\"language\":\"json\",\"showLineNumbers\":true}]}]}]]}]}],[\"$\",\"$L16\",null,{\"spacing\":4,\"direction\":\"column\",\"id\":\"openai-tool-use\",\"children\":[\"$\",\"$L16\",null,{\"spacing\":{\"base\":4,\"md\":4},\"direction\":{\"base\":\"column\",\"md\":\"column\"},\"alignItems\":{\"base\":\"stretch\",\"md\":\"stretch\"},\"children\":[[\"$\",\"$L17\",null,{\"width\":{\"base\":\"100%\",\"md\":\"90%\"},\"children\":[[\"$\",\"$L1a\",null,{\"as\":\"h3\",\"fontSize\":24,\"fontWeight\":500,\"mb\":4,\"display\":\"flex\",\"alignItems\":\"center\",\"children\":[\"OpenAI Tool Use\",[\"$\",\"$L17\",null,{\"as\":\"a\",\"href\":\"#openai-tool-use\",\"ml\":2,\"color\":\"gray.500\",\"children\":[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":15,\"height\":15,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-link\",\"children\":[[\"$\",\"path\",\"1cjeqo\",{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",\"19qd67\",{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}],\"$undefined\"]}]}]]}],[\"$\",\"$L1b\",null,{\"content\":\"$1f\"}]]}],[\"$\",\"$L17\",null,{\"width\":{\"base\":\"100%\",\"md\":\"80%\"},\"ml\":{\"base\":\"0\",\"md\":\"2rem\"},\"mr\":{\"base\":\"0\",\"md\":\"auto\"},\"overflow\":\"hidden\",\"children\":[\"$\",\"$L17\",null,{\"overflowX\":\"auto\",\"width\":\"100%\",\"children\":[\"$\",\"$L1c\",null,{\"code\":\"$20\",\"language\":\"python\",\"showLineNumbers\":true}]}]}]]}]}],[\"$\",\"$L16\",null,{\"spacing\":4,\"direction\":\"column\",\"id\":\"claude-anthropic-tool-use\",\"children\":[\"$\",\"$L16\",null,{\"spacing\":{\"base\":4,\"md\":4},\"direction\":{\"base\":\"column\",\"md\":\"column\"},\"alignItems\":{\"base\":\"stretch\",\"md\":\"stretch\"},\"children\":[[\"$\",\"$L17\",null,{\"width\":{\"base\":\"100%\",\"md\":\"90%\"},\"children\":[[\"$\",\"$L1a\",null,{\"as\":\"h3\",\"fontSize\":24,\"fontWeight\":500,\"mb\":4,\"display\":\"flex\",\"alignItems\":\"center\",\"children\":[\"Claude/Anthropic Tool Use\",[\"$\",\"$L17\",null,{\"as\":\"a\",\"href\":\"#claude-anthropic-tool-use\",\"ml\":2,\"color\":\"gray.500\",\"children\":[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":15,\"height\":15,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-link\",\"children\":[[\"$\",\"path\",\"1cjeqo\",{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",\"19qd67\",{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}],\"$undefined\"]}]}]]}],[\"$\",\"$L1b\",null,{\"content\":\"$21\"}]]}],[\"$\",\"$L17\",null,{\"width\":{\"base\":\"100%\",\"md\":\"80%\"},\"ml\":{\"base\":\"0\",\"md\":\"2rem\"},\"mr\":{\"base\":\"0\",\"md\":\"auto\"},\"overflow\":\"hidden\",\"children\":[\"$\",\"$L17\",null,{\"overflowX\":\"auto\",\"width\":\"100%\",\"children\":[\"$\",\"$L1c\",null,{\"code\":\"$22\",\"language\":\"python\",\"showLineNumbers\":true}]}]}]]}]}]]}]}]]}]\n"])</script><script>self.__next_f.push([1,"14:null\n"])</script></body></html><style data-emotion="css 0 1qei2j8 fubdgu 1cgn62j 15ug192 rvjeh2 70qvj9 1j9lfct wubf5g 17vuvug kx05hj qu6wpi e1o4wo 1gy5jg2 r6z5ec 1kfu8nn 18esm8n 7halv9 12vdn2q 18x6hc4 7632q7 259i0c 15bt6gt ozv6cb 1ryio59 1ivujmi 1grieqx 1dtnoyk 1g8z5tv pv36ak 18936vg 1811skr 177ryx 189dhzu 6ill7t 37ytmg 2hy9x3 10d65bq xg14da 10klw3m 15mzygo 12pgphf f72q80 10lxbkf 1qfz1kc 2fiiqj 722v25 1t0q38z 13d1arr 19gci77"> :host,:root,[data-theme]{--chakra-ring-inset:var(--chakra-empty,/*!*/ /*!*/);--chakra-ring-offset-width:0px;--chakra-ring-offset-color:#fff;--chakra-ring-color:rgba(66, 153, 225, 0.6);--chakra-ring-offset-shadow:0 0 #0000;--chakra-ring-shadow:0 0 #0000;--chakra-space-x-reverse:0;--chakra-space-y-reverse:0;--chakra-colors-transparent:transparent;--chakra-colors-current:currentColor;--chakra-colors-black:#000000;--chakra-colors-white:#FFFFFF;--chakra-colors-whiteAlpha-50:rgba(255, 255, 255, 0.04);--chakra-colors-whiteAlpha-100:rgba(255, 255, 255, 0.06);--chakra-colors-whiteAlpha-200:rgba(255, 255, 255, 0.08);--chakra-colors-whiteAlpha-300:rgba(255, 255, 255, 0.16);--chakra-colors-whiteAlpha-400:rgba(255, 255, 255, 0.24);--chakra-colors-whiteAlpha-500:rgba(255, 255, 255, 0.36);--chakra-colors-whiteAlpha-600:rgba(255, 255, 255, 0.48);--chakra-colors-whiteAlpha-700:rgba(255, 255, 255, 0.64);--chakra-colors-whiteAlpha-800:rgba(255, 255, 255, 0.80);--chakra-colors-whiteAlpha-900:rgba(255, 255, 255, 0.92);--chakra-colors-blackAlpha-50:rgba(0, 0, 0, 0.04);--chakra-colors-blackAlpha-100:rgba(0, 0, 0, 0.06);--chakra-colors-blackAlpha-200:rgba(0, 0, 0, 0.08);--chakra-colors-blackAlpha-300:rgba(0, 0, 0, 0.16);--chakra-colors-blackAlpha-400:rgba(0, 0, 0, 0.24);--chakra-colors-blackAlpha-500:rgba(0, 0, 0, 0.36);--chakra-colors-blackAlpha-600:rgba(0, 0, 0, 0.48);--chakra-colors-blackAlpha-700:rgba(0, 0, 0, 0.64);--chakra-colors-blackAlpha-800:rgba(0, 0, 0, 0.80);--chakra-colors-blackAlpha-900:rgba(0, 0, 0, 0.92);--chakra-colors-gray-50:#F5F5FA;--chakra-colors-gray-100:#EEEDF2;--chakra-colors-gray-200:#E5E4EB;--chakra-colors-gray-300:#D0D1DA;--chakra-colors-gray-400:#B9BAC6;--chakra-colors-gray-500:#9598A6;--chakra-colors-gray-600:#6E707C;--chakra-colors-gray-700:#4B4D55;--chakra-colors-gray-800:#323239;--chakra-colors-gray-900:#0A0A0A;--chakra-colors-red-50:#FFF5F5;--chakra-colors-red-100:#FED7D7;--chakra-colors-red-200:#FEB2B2;--chakra-colors-red-300:#FC8181;--chakra-colors-red-400:#F56565;--chakra-colors-red-500:#E53E3E;--chakra-colors-red-600:#C53030;--chakra-colors-red-700:#9B2C2C;--chakra-colors-red-800:#822727;--chakra-colors-red-900:#63171B;--chakra-colors-orange-50:#FFFAF0;--chakra-colors-orange-100:#FEEBC8;--chakra-colors-orange-200:#FBD38D;--chakra-colors-orange-300:#F6AD55;--chakra-colors-orange-400:#ED8936;--chakra-colors-orange-500:#DD6B20;--chakra-colors-orange-600:#C05621;--chakra-colors-orange-700:#9C4221;--chakra-colors-orange-800:#7B341E;--chakra-colors-orange-900:#652B19;--chakra-colors-yellow-50:#FFFFF0;--chakra-colors-yellow-100:#FEFCBF;--chakra-colors-yellow-200:#FAF089;--chakra-colors-yellow-300:#F6E05E;--chakra-colors-yellow-400:#ECC94B;--chakra-colors-yellow-500:#D69E2E;--chakra-colors-yellow-600:#B7791F;--chakra-colors-yellow-700:#975A16;--chakra-colors-yellow-800:#744210;--chakra-colors-yellow-900:#5F370E;--chakra-colors-green-50:#F0FFF4;--chakra-colors-green-100:#C6F6D5;--chakra-colors-green-200:#9AE6B4;--chakra-colors-green-300:#68D391;--chakra-colors-green-400:#48BB78;--chakra-colors-green-500:#38A169;--chakra-colors-green-600:#2F855A;--chakra-colors-green-700:#276749;--chakra-colors-green-800:#22543D;--chakra-colors-green-900:#1C4532;--chakra-colors-teal-50:#E6FFFA;--chakra-colors-teal-100:#B2F5EA;--chakra-colors-teal-200:#81E6D9;--chakra-colors-teal-300:#4FD1C5;--chakra-colors-teal-400:#38B2AC;--chakra-colors-teal-500:#319795;--chakra-colors-teal-600:#2C7A7B;--chakra-colors-teal-700:#285E61;--chakra-colors-teal-800:#234E52;--chakra-colors-teal-900:#1D4044;--chakra-colors-blue-50:#ebf8ff;--chakra-colors-blue-100:#bee3f8;--chakra-colors-blue-200:#90cdf4;--chakra-colors-blue-300:#63b3ed;--chakra-colors-blue-400:#4299e1;--chakra-colors-blue-500:#3182ce;--chakra-colors-blue-600:#2b6cb0;--chakra-colors-blue-700:#2c5282;--chakra-colors-blue-800:#2a4365;--chakra-colors-blue-900:#1A365D;--chakra-colors-cyan-50:#EDFDFD;--chakra-colors-cyan-100:#C4F1F9;--chakra-colors-cyan-200:#9DECF9;--chakra-colors-cyan-300:#76E4F7;--chakra-colors-cyan-400:#0BC5EA;--chakra-colors-cyan-500:#00B5D8;--chakra-colors-cyan-600:#00A3C4;--chakra-colors-cyan-700:#0987A0;--chakra-colors-cyan-800:#086F83;--chakra-colors-cyan-900:#065666;--chakra-colors-purple-50:#FAF5FF;--chakra-colors-purple-100:#E9D8FD;--chakra-colors-purple-200:#D6BCFA;--chakra-colors-purple-300:#B794F4;--chakra-colors-purple-400:#9F7AEA;--chakra-colors-purple-500:#805AD5;--chakra-colors-purple-600:#6B46C1;--chakra-colors-purple-700:#553C9A;--chakra-colors-purple-800:#44337A;--chakra-colors-purple-900:#322659;--chakra-colors-pink-50:#FFF5F7;--chakra-colors-pink-100:#FED7E2;--chakra-colors-pink-200:#FBB6CE;--chakra-colors-pink-300:#F687B3;--chakra-colors-pink-400:#ED64A6;--chakra-colors-pink-500:#D53F8C;--chakra-colors-pink-600:#B83280;--chakra-colors-pink-700:#97266D;--chakra-colors-pink-800:#702459;--chakra-colors-pink-900:#521B41;--chakra-colors-linkedin-50:#E8F4F9;--chakra-colors-linkedin-100:#CFEDFB;--chakra-colors-linkedin-200:#9BDAF3;--chakra-colors-linkedin-300:#68C7EC;--chakra-colors-linkedin-400:#34B3E4;--chakra-colors-linkedin-500:#00A0DC;--chakra-colors-linkedin-600:#008CC9;--chakra-colors-linkedin-700:#0077B5;--chakra-colors-linkedin-800:#005E93;--chakra-colors-linkedin-900:#004471;--chakra-colors-facebook-50:#E8F4F9;--chakra-colors-facebook-100:#D9DEE9;--chakra-colors-facebook-200:#B7C2DA;--chakra-colors-facebook-300:#6482C0;--chakra-colors-facebook-400:#4267B2;--chakra-colors-facebook-500:#385898;--chakra-colors-facebook-600:#314E89;--chakra-colors-facebook-700:#29487D;--chakra-colors-facebook-800:#223B67;--chakra-colors-facebook-900:#1E355B;--chakra-colors-messenger-50:#D0E6FF;--chakra-colors-messenger-100:#B9DAFF;--chakra-colors-messenger-200:#A2CDFF;--chakra-colors-messenger-300:#7AB8FF;--chakra-colors-messenger-400:#2E90FF;--chakra-colors-messenger-500:#0078FF;--chakra-colors-messenger-600:#0063D1;--chakra-colors-messenger-700:#0052AC;--chakra-colors-messenger-800:#003C7E;--chakra-colors-messenger-900:#002C5C;--chakra-colors-whatsapp-50:#dffeec;--chakra-colors-whatsapp-100:#b9f5d0;--chakra-colors-whatsapp-200:#90edb3;--chakra-colors-whatsapp-300:#65e495;--chakra-colors-whatsapp-400:#3cdd78;--chakra-colors-whatsapp-500:#22c35e;--chakra-colors-whatsapp-600:#179848;--chakra-colors-whatsapp-700:#0c6c33;--chakra-colors-whatsapp-800:#01421c;--chakra-colors-whatsapp-900:#001803;--chakra-colors-twitter-50:#E5F4FD;--chakra-colors-twitter-100:#C8E9FB;--chakra-colors-twitter-200:#A8DCFA;--chakra-colors-twitter-300:#83CDF7;--chakra-colors-twitter-400:#57BBF5;--chakra-colors-twitter-500:#1DA1F2;--chakra-colors-twitter-600:#1A94DA;--chakra-colors-twitter-700:#1681BF;--chakra-colors-twitter-800:#136B9E;--chakra-colors-twitter-900:#0D4D71;--chakra-colors-telegram-50:#E3F2F9;--chakra-colors-telegram-100:#C5E4F3;--chakra-colors-telegram-200:#A2D4EC;--chakra-colors-telegram-300:#7AC1E4;--chakra-colors-telegram-400:#47A9DA;--chakra-colors-telegram-500:#0088CC;--chakra-colors-telegram-600:#007AB8;--chakra-colors-telegram-700:#006BA1;--chakra-colors-telegram-800:#005885;--chakra-colors-telegram-900:#003F5E;--chakra-colors-brand-indigo-50:#F5F5FA;--chakra-colors-brand-indigo-100:#E6E6FF;--chakra-colors-brand-indigo-200:#D1D0FC;--chakra-colors-brand-indigo-300:#9A9AE2;--chakra-colors-brand-indigo-400:#7878CC;--chakra-colors-brand-indigo-500:#414192;--chakra-colors-brand-indigo-600:#33337D;--chakra-colors-brand-indigo-700:#2A2A6F;--chakra-colors-brand-indigo-800:#1E2057;--chakra-colors-brand-indigo-900:#121242;--chakra-colors-brand-gray-50:#F5F5FA;--chakra-colors-brand-gray-100:#EEEDF2;--chakra-colors-brand-gray-200:#E5E4EB;--chakra-colors-brand-gray-300:#D0D1DA;--chakra-colors-brand-gray-400:#B9BAC6;--chakra-colors-brand-gray-500:#9598A6;--chakra-colors-brand-gray-600:#6E707C;--chakra-colors-brand-gray-700:#4B4D55;--chakra-colors-brand-gray-800:#323239;--chakra-colors-brand-gray-900:#0A0A0A;--chakra-borders-none:0;--chakra-borders-1px:1px solid;--chakra-borders-2px:2px solid;--chakra-borders-4px:4px solid;--chakra-borders-8px:8px solid;--chakra-fonts-heading:'__satoshi_72dc65','__satoshi_Fallback_72dc65',Helvetica,Arial,sans-serif;--chakra-fonts-body:'__satoshi_72dc65','__satoshi_Fallback_72dc65',Helvetica,Arial,sans-serif;--chakra-fonts-mono:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--chakra-fontSizes-3xs:0.45rem;--chakra-fontSizes-2xs:0.625rem;--chakra-fontSizes-xs:0.75rem;--chakra-fontSizes-sm:0.875rem;--chakra-fontSizes-md:1rem;--chakra-fontSizes-lg:1.125rem;--chakra-fontSizes-xl:1.25rem;--chakra-fontSizes-2xl:1.5rem;--chakra-fontSizes-3xl:1.875rem;--chakra-fontSizes-4xl:2.25rem;--chakra-fontSizes-5xl:3rem;--chakra-fontSizes-6xl:3.75rem;--chakra-fontSizes-7xl:4.5rem;--chakra-fontSizes-8xl:6rem;--chakra-fontSizes-9xl:8rem;--chakra-fontWeights-hairline:100;--chakra-fontWeights-thin:200;--chakra-fontWeights-light:300;--chakra-fontWeights-normal:400;--chakra-fontWeights-medium:500;--chakra-fontWeights-semibold:500;--chakra-fontWeights-bold:700;--chakra-fontWeights-extrabold:800;--chakra-fontWeights-black:900;--chakra-letterSpacings-tighter:-0.05em;--chakra-letterSpacings-tight:-0.025em;--chakra-letterSpacings-normal:0;--chakra-letterSpacings-wide:0.025em;--chakra-letterSpacings-wider:0.05em;--chakra-letterSpacings-widest:0.1em;--chakra-lineHeights-3:.75rem;--chakra-lineHeights-4:1rem;--chakra-lineHeights-5:1.25rem;--chakra-lineHeights-6:1.5rem;--chakra-lineHeights-7:1.75rem;--chakra-lineHeights-8:2rem;--chakra-lineHeights-9:2.25rem;--chakra-lineHeights-10:2.5rem;--chakra-lineHeights-normal:normal;--chakra-lineHeights-none:1;--chakra-lineHeights-shorter:1.25;--chakra-lineHeights-short:1.375;--chakra-lineHeights-base:1.5;--chakra-lineHeights-tall:1.625;--chakra-lineHeights-taller:2;--chakra-radii-none:0;--chakra-radii-sm:0.125rem;--chakra-radii-base:0.25rem;--chakra-radii-md:0.375rem;--chakra-radii-lg:0.5rem;--chakra-radii-xl:0.75rem;--chakra-radii-2xl:1rem;--chakra-radii-3xl:1.5rem;--chakra-radii-full:9999px;--chakra-space-1:0.25rem;--chakra-space-2:0.5rem;--chakra-space-3:0.75rem;--chakra-space-4:1rem;--chakra-space-5:1.25rem;--chakra-space-6:1.5rem;--chakra-space-7:1.75rem;--chakra-space-8:2rem;--chakra-space-9:2.25rem;--chakra-space-10:2.5rem;--chakra-space-12:3rem;--chakra-space-14:3.5rem;--chakra-space-16:4rem;--chakra-space-20:5rem;--chakra-space-24:6rem;--chakra-space-28:7rem;--chakra-space-32:8rem;--chakra-space-36:9rem;--chakra-space-40:10rem;--chakra-space-44:11rem;--chakra-space-48:12rem;--chakra-space-52:13rem;--chakra-space-56:14rem;--chakra-space-60:15rem;--chakra-space-64:16rem;--chakra-space-72:18rem;--chakra-space-80:20rem;--chakra-space-96:24rem;--chakra-space-px:1px;--chakra-space-0-5:0.125rem;--chakra-space-1-5:0.375rem;--chakra-space-2-5:0.625rem;--chakra-space-3-5:0.875rem;--chakra-shadows-xs:0 0 0 1px rgba(0, 0, 0, 0.05);--chakra-shadows-sm:0 1px 2px 0 rgba(0, 0, 0, 0.05);--chakra-shadows-base:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);--chakra-shadows-md:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);--chakra-shadows-lg:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);--chakra-shadows-xl:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);--chakra-shadows-2xl:0 25px 50px -12px rgba(0, 0, 0, 0.25);--chakra-shadows-outline:0 0 0 3px rgba(66, 153, 225, 0.6);--chakra-shadows-inner:inset 0 2px 4px 0 rgba(0,0,0,0.06);--chakra-shadows-none:none;--chakra-shadows-dark-lg:rgba(0, 0, 0, 0.1) 0px 0px 0px 1px,rgba(0, 0, 0, 0.2) 0px 5px 10px,rgba(0, 0, 0, 0.4) 0px 15px 40px;--chakra-sizes-1:0.25rem;--chakra-sizes-2:0.5rem;--chakra-sizes-3:0.75rem;--chakra-sizes-4:1rem;--chakra-sizes-5:1.25rem;--chakra-sizes-6:1.5rem;--chakra-sizes-7:1.75rem;--chakra-sizes-8:2rem;--chakra-sizes-9:2.25rem;--chakra-sizes-10:2.5rem;--chakra-sizes-12:3rem;--chakra-sizes-14:3.5rem;--chakra-sizes-16:4rem;--chakra-sizes-20:5rem;--chakra-sizes-24:6rem;--chakra-sizes-28:7rem;--chakra-sizes-32:8rem;--chakra-sizes-36:9rem;--chakra-sizes-40:10rem;--chakra-sizes-44:11rem;--chakra-sizes-48:12rem;--chakra-sizes-52:13rem;--chakra-sizes-56:14rem;--chakra-sizes-60:15rem;--chakra-sizes-64:16rem;--chakra-sizes-72:18rem;--chakra-sizes-80:20rem;--chakra-sizes-96:24rem;--chakra-sizes-px:1px;--chakra-sizes-0-5:0.125rem;--chakra-sizes-1-5:0.375rem;--chakra-sizes-2-5:0.625rem;--chakra-sizes-3-5:0.875rem;--chakra-sizes-max:max-content;--chakra-sizes-min:min-content;--chakra-sizes-full:100%;--chakra-sizes-3xs:14rem;--chakra-sizes-2xs:16rem;--chakra-sizes-xs:20rem;--chakra-sizes-sm:24rem;--chakra-sizes-md:28rem;--chakra-sizes-lg:32rem;--chakra-sizes-xl:36rem;--chakra-sizes-2xl:42rem;--chakra-sizes-3xl:48rem;--chakra-sizes-4xl:56rem;--chakra-sizes-5xl:64rem;--chakra-sizes-6xl:72rem;--chakra-sizes-7xl:80rem;--chakra-sizes-8xl:90rem;--chakra-sizes-prose:60ch;--chakra-sizes-container-sm:640px;--chakra-sizes-container-md:768px;--chakra-sizes-container-lg:1024px;--chakra-sizes-container-xl:1280px;--chakra-zIndices-hide:-1;--chakra-zIndices-auto:auto;--chakra-zIndices-base:0;--chakra-zIndices-docked:10;--chakra-zIndices-dropdown:1000;--chakra-zIndices-sticky:1100;--chakra-zIndices-banner:1200;--chakra-zIndices-overlay:1300;--chakra-zIndices-modal:1400;--chakra-zIndices-popover:1500;--chakra-zIndices-skipLink:1600;--chakra-zIndices-toast:1700;--chakra-zIndices-tooltip:1800;--chakra-transition-property-common:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform;--chakra-transition-property-colors:background-color,border-color,color,fill,stroke;--chakra-transition-property-dimensions:width,height;--chakra-transition-property-position:left,right,top,bottom;--chakra-transition-property-background:background-color,background-image,background-position;--chakra-transition-easing-ease-in:cubic-bezier(0.4, 0, 1, 1);--chakra-transition-easing-ease-out:cubic-bezier(0, 0, 0.2, 1);--chakra-transition-easing-ease-in-out:cubic-bezier(0.4, 0, 0.2, 1);--chakra-transition-duration-ultra-fast:50ms;--chakra-transition-duration-faster:100ms;--chakra-transition-duration-fast:150ms;--chakra-transition-duration-normal:200ms;--chakra-transition-duration-slow:300ms;--chakra-transition-duration-slower:400ms;--chakra-transition-duration-ultra-slow:500ms;--chakra-blur-none:0;--chakra-blur-sm:4px;--chakra-blur-base:8px;--chakra-blur-md:12px;--chakra-blur-lg:16px;--chakra-blur-xl:24px;--chakra-blur-2xl:40px;--chakra-blur-3xl:64px;--chakra-breakpoints-base:0em;--chakra-breakpoints-sm:30em;--chakra-breakpoints-md:48em;--chakra-breakpoints-lg:62em;--chakra-breakpoints-xl:80em;--chakra-breakpoints-2xl:96em;}.chakra-ui-light :host:not([data-theme]),.chakra-ui-light :root:not([data-theme]),.chakra-ui-light [data-theme]:not([data-theme]),[data-theme=light] :host:not([data-theme]),[data-theme=light] :root:not([data-theme]),[data-theme=light] [data-theme]:not([data-theme]),:host[data-theme=light],:root[data-theme=light],[data-theme][data-theme=light]{--chakra-colors-chakra-body-text:var(--chakra-colors-gray-800);--chakra-colors-chakra-body-bg:var(--chakra-colors-white);--chakra-colors-chakra-border-color:var(--chakra-colors-gray-200);--chakra-colors-chakra-inverse-text:var(--chakra-colors-white);--chakra-colors-chakra-subtle-bg:var(--chakra-colors-gray-100);--chakra-colors-chakra-subtle-text:var(--chakra-colors-gray-600);--chakra-colors-chakra-placeholder-color:var(--chakra-colors-gray-500);}.chakra-ui-dark :host:not([data-theme]),.chakra-ui-dark :root:not([data-theme]),.chakra-ui-dark [data-theme]:not([data-theme]),[data-theme=dark] :host:not([data-theme]),[data-theme=dark] :root:not([data-theme]),[data-theme=dark] [data-theme]:not([data-theme]),:host[data-theme=dark],:root[data-theme=dark],[data-theme][data-theme=dark]{--chakra-colors-chakra-body-text:var(--chakra-colors-whiteAlpha-900);--chakra-colors-chakra-body-bg:var(--chakra-colors-gray-800);--chakra-colors-chakra-border-color:var(--chakra-colors-whiteAlpha-300);--chakra-colors-chakra-inverse-text:var(--chakra-colors-gray-800);--chakra-colors-chakra-subtle-bg:var(--chakra-colors-gray-700);--chakra-colors-chakra-subtle-text:var(--chakra-colors-gray-400);--chakra-colors-chakra-placeholder-color:var(--chakra-colors-whiteAlpha-400);} html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;touch-action:manipulation;}body{position:relative;min-height:100%;margin:0;font-feature-settings:"kern";}:where(*, *::before, *::after){border-width:0;border-style:solid;box-sizing:border-box;word-wrap:break-word;}main{display:block;}hr{border-top-width:1px;box-sizing:content-box;height:0;overflow:visible;}:where(pre, code, kbd,samp){font-family:SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1em;}a{background-color:transparent;color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit;}abbr[title]{border-bottom:none;-webkit-text-decoration:underline;text-decoration:underline;-webkit-text-decoration:underline dotted;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}:where(b, strong){font-weight:bold;}small{font-size:80%;}:where(sub,sup){font-size:75%;line-height:0;position:relative;vertical-align:baseline;}sub{bottom:-0.25em;}sup{top:-0.5em;}img{border-style:none;}:where(button, input, optgroup, select, textarea){font-family:inherit;font-size:100%;line-height:1.15;margin:0;}:where(button, input){overflow:visible;}:where(button, select){text-transform:none;}:where( button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner ){border-style:none;padding:0;}fieldset{padding:0.35em 0.75em 0.625em;}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline;}textarea{overflow:auto;}:where([type="checkbox"], [type="radio"]){box-sizing:border-box;padding:0;}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none!important;}input[type="number"]{-moz-appearance:textfield;}input[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}input[type="search"]::-webkit-search-decoration{-webkit-appearance:none!important;}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block;}summary{display:-webkit-box;display:-webkit-list-item;display:-ms-list-itembox;display:list-item;}template{display:none;}[hidden]{display:none!important;}:where( blockquote, dl, dd, h1, h2, h3, h4, h5, h6, hr, figure, p, pre ){margin:0;}button{background:transparent;padding:0;}fieldset{margin:0;padding:0;}:where(ol, ul){margin:0;padding:0;}textarea{resize:vertical;}:where(button, [role="button"]){cursor:pointer;}button::-moz-focus-inner{border:0!important;}table{border-collapse:collapse;}:where(h1, h2, h3, h4, h5, h6){font-size:inherit;font-weight:inherit;}:where(button, input, optgroup, select, textarea){padding:0;line-height:inherit;color:inherit;}:where(img, svg, video, canvas, audio, iframe, embed, object){display:block;}:where(img, video){max-width:100%;height:auto;}[data-js-focus-visible] :focus:not([data-focus-visible-added]):not( [data-focus-visible-disabled] ){outline:none;box-shadow:none;}select::-ms-expand{display:none;}:root,:host{--chakra-vh:100vh;}@supports (height: -webkit-fill-available){:root,:host{--chakra-vh:-webkit-fill-available;}}@supports (height: -moz-fill-available){:root,:host{--chakra-vh:-moz-fill-available;}}@supports (height: 100dvh){:root,:host{--chakra-vh:100dvh;}} body{font-family:var(--chakra-fonts-body);color:var(--chakra-colors-chakra-body-text);background:var(--chakra-colors-chakra-body-bg);transition-property:background-color;transition-duration:var(--chakra-transition-duration-normal);line-height:var(--chakra-lineHeights-base);}*::-webkit-input-placeholder{color:var(--chakra-colors-chakra-placeholder-color);}*::-moz-placeholder{color:var(--chakra-colors-chakra-placeholder-color);}*:-ms-input-placeholder{color:var(--chakra-colors-chakra-placeholder-color);}*::placeholder{color:var(--chakra-colors-chakra-placeholder-color);}*,*::before,::after{border-color:var(--chakra-colors-chakra-border-color);} .css-15ug192{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;top:0px;width:100%;padding-left:var(--chakra-space-6);padding-right:var(--chakra-space-2);padding-top:var(--chakra-space-2);}@media screen and (min-width: 48em){.css-15ug192{padding-left:var(--chakra-space-8);padding-right:var(--chakra-space-4);}} .css-rvjeh2{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;width:100%;display:none;}@media screen and (min-width: 48em){.css-rvjeh2{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}} .css-70qvj9{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;} .css-1j9lfct{margin-left:var(--chakra-space-10);} .css-wubf5g{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;white-space:nowrap;vertical-align:middle;outline:2px solid transparent;outline-offset:2px;line-height:1.2;border-radius:var(--chakra-radii-md);font-weight:var(--chakra-fontWeights-semibold);transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-normal);height:var(--chakra-sizes-10);min-width:var(--chakra-sizes-10);font-size:var(--chakra-fontSizes-md);-webkit-padding-start:var(--chakra-space-4);padding-inline-start:var(--chakra-space-4);-webkit-padding-end:var(--chakra-space-4);padding-inline-end:var(--chakra-space-4);color:var(--chakra-colors-gray-800);}.css-wubf5g:focus-visible,.css-wubf5g[data-focus-visible]{box-shadow:var(--chakra-shadows-outline);}.css-wubf5g:disabled,.css-wubf5g[disabled],.css-wubf5g[aria-disabled=true],.css-wubf5g[data-disabled]{opacity:0.4;cursor:not-allowed;box-shadow:var(--chakra-shadows-none);}.css-wubf5g:hover,.css-wubf5g[data-hover]{background:var(--chakra-colors-gray-100);}.css-wubf5g:hover:disabled,.css-wubf5g[data-hover]:disabled,.css-wubf5g:hover[disabled],.css-wubf5g[data-hover][disabled],.css-wubf5g:hover[aria-disabled=true],.css-wubf5g[data-hover][aria-disabled=true],.css-wubf5g:hover[data-disabled],.css-wubf5g[data-hover][data-disabled]{background:initial;}.css-wubf5g:active,.css-wubf5g[data-active]{background:var(--chakra-colors-gray-200);} .css-17vuvug{font-weight:500;font-size:14px;} .css-kx05hj{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;white-space:nowrap;vertical-align:middle;outline:2px solid transparent;outline-offset:2px;line-height:1.2;border-radius:var(--chakra-radii-md);font-weight:var(--chakra-fontWeights-semibold);transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-normal);height:var(--chakra-sizes-10);min-width:var(--chakra-sizes-10);font-size:var(--chakra-fontSizes-md);-webkit-padding-start:var(--chakra-space-4);padding-inline-start:var(--chakra-space-4);-webkit-padding-end:var(--chakra-space-4);padding-inline-end:var(--chakra-space-4);color:var(--chakra-colors-gray-800);margin-right:0.5rem;}.css-kx05hj:focus-visible,.css-kx05hj[data-focus-visible]{box-shadow:var(--chakra-shadows-outline);}.css-kx05hj:disabled,.css-kx05hj[disabled],.css-kx05hj[aria-disabled=true],.css-kx05hj[data-disabled]{opacity:0.4;cursor:not-allowed;box-shadow:var(--chakra-shadows-none);}.css-kx05hj:hover,.css-kx05hj[data-hover]{background:var(--chakra-colors-gray-100);}.css-kx05hj:hover:disabled,.css-kx05hj[data-hover]:disabled,.css-kx05hj:hover[disabled],.css-kx05hj[data-hover][disabled],.css-kx05hj:hover[aria-disabled=true],.css-kx05hj[data-hover][aria-disabled=true],.css-kx05hj:hover[data-disabled],.css-kx05hj[data-hover][data-disabled]{background:initial;}.css-kx05hj:active,.css-kx05hj[data-active]{background:var(--chakra-colors-gray-200);} .css-qu6wpi{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;white-space:nowrap;vertical-align:middle;outline:2px solid transparent;outline-offset:2px;line-height:1.2;border-radius:var(--chakra-radii-md);font-weight:var(--chakra-fontWeights-semibold);transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-normal);height:var(--chakra-sizes-10);min-width:var(--chakra-sizes-10);font-size:var(--chakra-fontSizes-md);-webkit-padding-start:var(--chakra-space-4);padding-inline-start:var(--chakra-space-4);-webkit-padding-end:var(--chakra-space-4);padding-inline-end:var(--chakra-space-4);background:var(--chakra-colors-brand-indigo-500);color:var(--chakra-colors-white);margin-right:0.5rem;}.css-qu6wpi:focus-visible,.css-qu6wpi[data-focus-visible]{box-shadow:var(--chakra-shadows-outline);}.css-qu6wpi:disabled,.css-qu6wpi[disabled],.css-qu6wpi[aria-disabled=true],.css-qu6wpi[data-disabled]{opacity:0.4;cursor:not-allowed;box-shadow:var(--chakra-shadows-none);}.css-qu6wpi:hover,.css-qu6wpi[data-hover]{background:var(--chakra-colors-brand-indigo-600);}.css-qu6wpi:hover:disabled,.css-qu6wpi[data-hover]:disabled,.css-qu6wpi:hover[disabled],.css-qu6wpi[data-hover][disabled],.css-qu6wpi:hover[aria-disabled=true],.css-qu6wpi[data-hover][aria-disabled=true],.css-qu6wpi:hover[data-disabled],.css-qu6wpi[data-hover][data-disabled]{background:var(--chakra-colors-brand-indigo-500);}.css-qu6wpi:active,.css-qu6wpi[data-active]{background:var(--chakra-colors-brand-indigo-700);} .css-e1o4wo{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}@media screen and (min-width: 48em){.css-e1o4wo{display:none;}} .css-1gy5jg2{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;white-space:nowrap;vertical-align:middle;outline:2px solid transparent;outline-offset:2px;line-height:1.2;border-radius:var(--chakra-radii-md);font-weight:var(--chakra-fontWeights-semibold);transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-normal);height:var(--chakra-sizes-10);min-width:var(--chakra-sizes-10);font-size:var(--chakra-fontSizes-md);-webkit-padding-start:var(--chakra-space-4);padding-inline-start:var(--chakra-space-4);-webkit-padding-end:var(--chakra-space-4);padding-inline-end:var(--chakra-space-4);color:var(--chakra-colors-gray-800);padding:0px;margin-right:var(--chakra-space-4);}.css-1gy5jg2:focus-visible,.css-1gy5jg2[data-focus-visible]{box-shadow:var(--chakra-shadows-outline);}.css-1gy5jg2:disabled,.css-1gy5jg2[disabled],.css-1gy5jg2[aria-disabled=true],.css-1gy5jg2[data-disabled]{opacity:0.4;cursor:not-allowed;box-shadow:var(--chakra-shadows-none);}.css-1gy5jg2:hover,.css-1gy5jg2[data-hover]{background:var(--chakra-colors-gray-100);}.css-1gy5jg2:hover:disabled,.css-1gy5jg2[data-hover]:disabled,.css-1gy5jg2:hover[disabled],.css-1gy5jg2[data-hover][disabled],.css-1gy5jg2:hover[aria-disabled=true],.css-1gy5jg2[data-hover][aria-disabled=true],.css-1gy5jg2:hover[data-disabled],.css-1gy5jg2[data-hover][data-disabled]{background:initial;}.css-1gy5jg2:active,.css-1gy5jg2[data-active]{background:var(--chakra-colors-gray-200);} .css-r6z5ec{z-index:1;} .css-1kfu8nn{outline:2px solid transparent;outline-offset:2px;--menu-bg:#fff;--menu-shadow:var(--chakra-shadows-sm);color:inherit;min-width:var(--chakra-sizes-3xs);padding-top:var(--chakra-space-2);padding-bottom:var(--chakra-space-2);z-index:1;border-radius:var(--chakra-radii-md);border-width:1px;background:var(--menu-bg);box-shadow:var(--menu-shadow);}.chakra-ui-dark .css-1kfu8nn:not([data-theme]),[data-theme=dark] .css-1kfu8nn:not([data-theme]),.css-1kfu8nn[data-theme=dark]{--menu-bg:var(--chakra-colors-gray-700);--menu-shadow:var(--chakra-shadows-dark-lg);} .css-18esm8n{-webkit-text-decoration:none;text-decoration:none;color:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:start;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;outline:2px solid transparent;outline-offset:2px;padding-top:var(--chakra-space-1-5);padding-bottom:var(--chakra-space-1-5);-webkit-padding-start:var(--chakra-space-3);padding-inline-start:var(--chakra-space-3);-webkit-padding-end:var(--chakra-space-3);padding-inline-end:var(--chakra-space-3);transition-property:var(--chakra-transition-property-background);transition-duration:var(--chakra-transition-duration-ultra-fast);transition-timing-function:var(--chakra-transition-easing-ease-in);background:var(--menu-bg);}.css-18esm8n:focus,.css-18esm8n[data-focus]{--menu-bg:var(--chakra-colors-gray-100);}.chakra-ui-dark .css-18esm8n:focus:not([data-theme]),.chakra-ui-dark .css-18esm8n[data-focus]:not([data-theme]),[data-theme=dark] .css-18esm8n:focus:not([data-theme]),[data-theme=dark] .css-18esm8n[data-focus]:not([data-theme]),.css-18esm8n:focus[data-theme=dark],.css-18esm8n[data-focus][data-theme=dark]{--menu-bg:var(--chakra-colors-whiteAlpha-100);}.css-18esm8n:active,.css-18esm8n[data-active]{--menu-bg:var(--chakra-colors-gray-200);}.chakra-ui-dark .css-18esm8n:active:not([data-theme]),.chakra-ui-dark .css-18esm8n[data-active]:not([data-theme]),[data-theme=dark] .css-18esm8n:active:not([data-theme]),[data-theme=dark] .css-18esm8n[data-active]:not([data-theme]),.css-18esm8n:active[data-theme=dark],.css-18esm8n[data-active][data-theme=dark]{--menu-bg:var(--chakra-colors-whiteAlpha-200);}.css-18esm8n[aria-expanded=true],.css-18esm8n[data-expanded]{--menu-bg:var(--chakra-colors-gray-100);}.chakra-ui-dark .css-18esm8n[aria-expanded=true]:not([data-theme]),.chakra-ui-dark .css-18esm8n[data-expanded]:not([data-theme]),[data-theme=dark] .css-18esm8n[aria-expanded=true]:not([data-theme]),[data-theme=dark] .css-18esm8n[data-expanded]:not([data-theme]),.css-18esm8n[aria-expanded=true][data-theme=dark],.css-18esm8n[data-expanded][data-theme=dark]{--menu-bg:var(--chakra-colors-whiteAlpha-100);}.css-18esm8n:disabled,.css-18esm8n[disabled],.css-18esm8n[aria-disabled=true],.css-18esm8n[data-disabled]{opacity:0.4;cursor:not-allowed;} .css-7halv9{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;font-size:0.8em;-webkit-margin-end:0.75rem;margin-inline-end:0.75rem;} .css-12vdn2q{border:0;border-bottom:1px solid;border-color:inherit;margin-top:var(--chakra-space-2);margin-bottom:var(--chakra-space-2);opacity:0.6;} .css-18x6hc4{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;gap:var(--chakra-space-4);margin-top:var(--chakra-space-10);padding-left:var(--chakra-space-2);padding-right:var(--chakra-space-10);}@media screen and (min-width: 48em){.css-18x6hc4{padding-left:var(--chakra-space-8);}} .css-7632q7{position:-webkit-sticky;position:sticky;top:0px;max-height:calc(100vh - 70px);overflow-y:auto;overflow-x:hidden;width:6%;min-width:1.6rem;scrollbar-width:none;-ms-overflow-style:none;}@media screen and (min-width: 48em){.css-7632q7{width:12%;min-width:9rem;}}.css-7632q7::-webkit-scrollbar{display:none;} .css-259i0c{display:block;}@media screen and (min-width: 48em){.css-259i0c{display:none;}} .css-15bt6gt{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;white-space:nowrap;vertical-align:middle;outline:2px solid transparent;outline-offset:2px;line-height:1.2;border-radius:var(--chakra-radii-md);font-weight:var(--chakra-fontWeights-semibold);transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-normal);height:var(--chakra-sizes-10);min-width:var(--chakra-sizes-10);font-size:var(--chakra-fontSizes-md);-webkit-padding-start:var(--chakra-space-4);padding-inline-start:var(--chakra-space-4);-webkit-padding-end:var(--chakra-space-4);padding-inline-end:var(--chakra-space-4);color:var(--chakra-colors-gray-800);padding:0px;}.css-15bt6gt:focus-visible,.css-15bt6gt[data-focus-visible]{box-shadow:var(--chakra-shadows-outline);}.css-15bt6gt:disabled,.css-15bt6gt[disabled],.css-15bt6gt[aria-disabled=true],.css-15bt6gt[data-disabled]{opacity:0.4;cursor:not-allowed;box-shadow:var(--chakra-shadows-none);}.css-15bt6gt:hover,.css-15bt6gt[data-hover]{background:var(--chakra-colors-gray-100);}.css-15bt6gt:hover:disabled,.css-15bt6gt[data-hover]:disabled,.css-15bt6gt:hover[disabled],.css-15bt6gt[data-hover][disabled],.css-15bt6gt:hover[aria-disabled=true],.css-15bt6gt[data-hover][aria-disabled=true],.css-15bt6gt:hover[data-disabled],.css-15bt6gt[data-hover][data-disabled]{background:initial;}.css-15bt6gt:active,.css-15bt6gt[data-active]{background:var(--chakra-colors-gray-200);} .css-ozv6cb{display:none;}@media screen and (min-width: 48em){.css-ozv6cb{display:block;}} .css-1ryio59{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--chakra-space-2);margin-top:var(--chakra-space-4);}@media screen and (min-width: 48em){.css-1ryio59{margin-top:0px;}} .css-1ivujmi{transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-fast);transition-timing-function:var(--chakra-transition-easing-ease-out);cursor:pointer;-webkit-text-decoration:none;text-decoration:none;outline:2px solid transparent;outline-offset:2px;color:inherit;font-size:var(--chakra-fontSizes-sm);}.css-1ivujmi:hover,.css-1ivujmi[data-hover]{-webkit-text-decoration:underline;text-decoration:underline;}.css-1ivujmi:focus-visible,.css-1ivujmi[data-focus-visible]{box-shadow:var(--chakra-shadows-outline);} .css-1grieqx{margin-bottom:var(--chakra-space-2);font-size:20px;}@media screen and (min-width: 48em){.css-1grieqx{font-size:14px;}} .css-1dtnoyk{position:relative;width:1px;} .css-1g8z5tv{opacity:0.6;border:0;border-color:inherit;border-style:solid;border-left-width:1px;height:100%;position:absolute;top:0px;bottom:0px;left:50%;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:1px;} .css-pv36ak{width:88%;-webkit-flex:1;-ms-flex:1;flex:1;overflow-y:auto;padding-bottom:var(--chakra-space-4);} .css-18936vg{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--chakra-space-8);} .css-1811skr{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--chakra-space-4);} .css-177ryx{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:stretch;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--chakra-space-4);}@media screen and (min-width: 48em){.css-177ryx{-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;gap:var(--chakra-space-8);}} .css-189dhzu{width:100%;}@media screen and (min-width: 48em){.css-189dhzu{width:50%;}} .css-6ill7t{font-family:var(--chakra-fonts-heading);line-height:1.33;font-size:24px;font-weight:500;margin-bottom:var(--chakra-space-4);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}@media screen and (min-width: 48em){.css-6ill7t{line-height:1.2;}} .css-37ytmg{margin-left:var(--chakra-space-2);color:var(--chakra-colors-gray-500);} .css-2hy9x3{line-height:2;} .css-10d65bq{color:var(--chakra-colors-blue-500);-webkit-text-decoration:underline;text-decoration:underline;} .css-xg14da{width:100%;margin-left:0px;margin-right:0px;overflow:hidden;}@media screen and (min-width: 48em){.css-xg14da{width:50%;margin-left:0px;margin-right:0px;}} .css-10klw3m{height:100%;} .css-15mzygo{list-style-type:decimal;-webkit-margin-start:1em;margin-inline-start:1em;padding-left:var(--chakra-space-4);padding-top:var(--chakra-space-2);padding-bottom:var(--chakra-space-2);line-height:1.75;}.css-15mzygo>*:not(style)~*:not(style){margin-top:var(--chakra-space-2);} .css-12pgphf{background:var(--chakra-colors-gray-100);padding:var(--chakra-space-1);border-radius:var(--chakra-radii-sm);font-family:var(--chakra-fonts-mono);} .css-f72q80{overflow-x:auto;width:100%;} .css-10lxbkf{border-radius:var(--chakra-radii-md);overflow:hidden;} .css-1qfz1kc{list-style-type:initial;-webkit-margin-start:1em;margin-inline-start:1em;padding-left:var(--chakra-space-4);padding-top:var(--chakra-space-2);padding-bottom:var(--chakra-space-2);line-height:1.75;}.css-1qfz1kc>*:not(style)~*:not(style){margin-top:var(--chakra-space-2);} .css-2fiiqj{font-family:var(--chakra-fonts-heading);line-height:1.33;font-weight:500;font-size:20px;margin-bottom:var(--chakra-space-2);}@media screen and (min-width: 48em){.css-2fiiqj{line-height:1.2;}} .css-722v25{font-weight:var(--chakra-fontWeights-bold);} .css-1t0q38z{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:stretch;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--chakra-space-4);}@media screen and (min-width: 48em){.css-1t0q38z{-webkit-align-items:stretch;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--chakra-space-4);}} .css-13d1arr{width:100%;}@media screen and (min-width: 48em){.css-13d1arr{width:90%;}} .css-19gci77{width:100%;margin-left:0px;margin-right:0px;overflow:hidden;}@media screen and (min-width: 48em){.css-19gci77{width:80%;margin-left:2rem;margin-right:auto;}}</style>