Val Town Code SearchReturn to Val Town

API Access

You can access search results via JSON API by adding format=json to your query:

https://codesearch.val.run/$%7Bart_info.art.src%7D?q=api&page=1422&format=json

For typeahead suggestions, use the /typeahead endpoint:

https://codesearch.val.run/typeahead?q=api

Returns an array of strings in format "username" or "username/projectName"

Found 18279 results for "api"(7240ms)

honoOpenaiREADME.md1 match

@wizos•Updated 6 months ago
3The app is set up so you can easily have a conversation between two people. The app will translate between the two selected languages, in each voice, as the speakers talk.
4
5Add your OpenAI API Key, and make sure to open in a separate window for Mic to work.

honoOpenaimain.tsx4 matches

@wizos•Updated 6 months ago
6
7const app = new Hono();
8const openai = new OpenAI(Deno.env.get("OPENAI_API_KEY_VOICE"));
9
10class TranscriptionService {
19 return transcription;
20 } catch (error) {
21 console.error("OpenAI API error:", error);
22 throw error;
23 }
423 return c.text(translation);
424 } catch (error) {
425 console.error("OpenAI API error:", error);
426 return c.text("Error occurred during translation", 500);
427 }
450 });
451 } catch (error) {
452 console.error("OpenAI API error:", error);
453 return c.text("Error occurred during speech generation", 500);
454 }

sendNotificationREADME.md1 match

@wizos•Updated 6 months ago
1# Push Notification Sender
2
3This val can be used in other vals to send notifications to a segment using [OneSignal's REST API](https://documentation.onesignal.com/reference/create-notification)
4
5This is really handy if you want to send push notifications to your phone without building a native app! I built a barebones React PWA that asks for a password then loads the OneSignal Web SDK that I deployed to [Netlify](https://www.netlify.com/) for free. OneSignal has [easy to follow docs](https://documentation.onesignal.com/docs/web-sdk-setup) so you can build this functionality into a React, Angular, Vue app or even Wordpress! Then [install the PWA](https://www.bitcot.com/how-to-install-a-pwa-to-your-device/) on your platform of choice and you're off to the races!

sendNotificationmain.tsx1 match

@wizos•Updated 6 months ago
6const defaultSegment = [Deno.env.get("DEFAULT_ONESIGNAL_SEGMENT")];
7
8const onesignalURL = "https://onesignal.com/api/v1/notifications";
9
10/**

perseveringAmaranthChipmunkmain.tsx1 match

@dnakhooda•Updated 6 months ago
4async function fetchRandomJoke() {
5 const response = await fetch(
6 "https://official-joke-api.appspot.com/random_joke",
7 );
8 return response.json();

uploadImagemain.tsx1 match

@ajsol•Updated 6 months ago
24}
25async function getUploadURL(): Promise<string> {
26 const data = await (await fetch("https://www.val.town/api/trpc/generateImageUploadUrl", {
27 "headers": {
28 "content-type": "application/json",

sanguineAquaReptileREADME.md1 match

@stevekrouse•Updated 6 months ago
11[![](https://stevekrouse-button.web.val.run/Install)](https://www.val.town/v/stevekrouse/blob_admin_app/fork)
12
13It uses [basic authentication](https://www.val.town/v/pomdtr/basicAuth) with your [Val Town API Token](https://www.val.town/settings/api) as the password (leave the username field blank).
14
15# TODO

affableMagentaPlanarianmain.tsx4 matches

@willthereader•Updated 6 months ago
397 intervalId = setInterval(async () => {
398 try {
399 const response = await fetch("/api/progress");
400 if (!response.ok) {
401 throw new Error(`HTTP error! status: ${response.status}`);
429 setBrokenLinks([]);
430 try {
431 const response = await fetch("/api/check-links", {
432 method: "POST",
433 headers: {
602 const url = new URL(request.url);
603
604 if (url.pathname === "/api/progress" && request.method === "GET") {
605 const now = new Date();
606 if (lastProgressUpdate && currentProgress) {
631 }
632
633 if (url.pathname === "/api/check-links" && request.method === "POST") {
634 let requestBody;
635 try {

iiif44tuREADME.md5 matches

@sammeltassen•Updated 6 months ago
1[IIIF Presentation API](https://iiif.io/api/presentation/3.0/) for [4TU.ResearchData](https://data.4tu.nl/).
2
3URL scheme:
16Todo:
17
18- Add more metadata from the Djehuty API response.
19
20Limitations:
21
22- This is a temporary workaround until the Presentation API is implemented as part of Djehuty
23- Only images are currently supported (not video/audio)
24- The val needs to do some API requests before producing the manifest and doesn't cache responses
25
26Credits:
27
28- Image API implementation by Roel Janssen of 4TU.ResearchData. The source code can be found [here](https://github.com/4TUResearchData/djehuty)
29- [IIIF Builder](https://github.com/IIIF-Commons/iiif-builder) by Stephen Fraser

gptmemorymain.tsx32 matches

@toowired•Updated 6 months ago
1import * as uuid from "https://deno.land/std/uuid/mod.ts";
2import { blob } from "https://esm.town/v/std/blob";
3import { getPolicy } from "https://esm.town/v/xkonti/memoryApiPolicy";
4import { Hono } from "npm:hono@3";
5
6export const handleMemoryApiRequest = async (
7 req: Request,
8 apiName: string,
9 contactEmail: string,
10 lastPolicyUpdate: string,
11 blobKeyPrefix: string,
12 apiKeyPrefix: string,
13) => {
14 // ==== HELPERS ====
51
52 const verifyRequest = (c): { memoriesKey: string; error: any } => {
53 // Verify API key coming as a Bearer header
54 const authHeader = c.req.headers.get("Authorization");
55 if (!authHeader || !authHeader.startsWith("Basic ")) {
67 return { memoriesKey: "", error: c.text("Forbidden", 403) };
68 }
69 const expectedKey = Deno.env.get(apiKeyPrefix + key) ?? null;
70 if (token !== expectedKey) {
71 console.error("Invalid API KEY header");
72 return { memoriesKey: "", error: c.text("Forbidden", 403) };
73 }
75 };
76
77 // API
78
79 const app = new Hono();
405 // PRIVACY POLICY
406 app.get("/privacy", async (c) => {
407 const policy = getPolicy(apiName, contactEmail, lastPolicyUpdate);
408 c.header("Content-Type", "text/html");
409 return c.html(policy);
410 });
411
412 app.get("/openapi", async (c) => {
413 const specification = `
414{
415 "openapi": "3.1.0",
416 "info": {
417 "title": "Memories and Conversations API",
418 "description": "API for managing and storing long-term memories, AI conversations, and file attachments.",
419 "version": "1.2.0"
420 },
421 "servers": [
422 {
423 "url": "<APIURL>"
424 }
425 ],
434 },
435 "401": {
436 "description": "Unauthorized - Missing or invalid API key."
437 },
438 "403": {
439 "description": "Forbidden - Invalid API key."
440 }
441 },
468 },
469 "401": {
470 "description": "Unauthorized - Missing or invalid API key."
471 },
472 "403": {
473 "description": "Forbidden - Invalid API key."
474 }
475 },
524 },
525 "401": {
526 "description": "Unauthorized - Missing or invalid API key."
527 },
528 "403": {
529 "description": "Forbidden - Invalid API key."
530 }
531 },
571 },
572 "401": {
573 "description": "Unauthorized - Missing or invalid API key."
574 },
575 "403": {
576 "description": "Forbidden - Invalid API key."
577 }
578 },
602 },
603 "401": {
604 "description": "Unauthorized - Missing or invalid API key."
605 },
606 "403": {
607 "description": "Forbidden - Invalid API key."
608 },
609 "404": {
641 },
642 "401": {
643 "description": "Unauthorized - Missing or invalid API key."
644 },
645 "403": {
646 "description": "Forbidden - Invalid API key."
647 }
648 },
674 },
675 "401": {
676 "description": "Unauthorized - Missing or invalid API key."
677 },
678 "403": {
679 "description": "Forbidden - Invalid API key."
680 },
681 "404": {
728 },
729 "401": {
730 "description": "Unauthorized - Missing or invalid API key."
731 },
732 "403": {
733 "description": "Forbidden - Invalid API key."
734 },
735 "404": {
781 },
782 "401": {
783 "description": "Unauthorized - Missing or invalid API key."
784 },
785 "403": {
786 "description": "Forbidden - Invalid API key."
787 },
788 "404": {

github-api1 file match

@cricks_unmixed4u•Updated 10 hours ago

beeminder-api4 file matches

@cricks_unmixed4u•Updated 11 hours ago
snartapi
apiry