If you are not sure if the website you would like to visit is secure, you can verify it here. Enter the website address of the page and see parts of its content and the thumbnail images on this site. None (if any) dangerous scripts on the referenced page will be executed. Additionally, if the selected site contains subpages, you can verify it (review) in batches containing 5 pages.
favicon.ico: nitric.io/docs/apis - APIs | Nitric Documentation.

site address: nitric.io/docs/apis redirected to: nitric.io/docs/apis

site title: APIs Nitric Documentation

Our opinion (on Saturday 18 July 2026 19:19:48 UTC):

GREEN status (no comments) - no comments
After content analysis of this website we propose the following hashtags:



Meta tags:
description=Building HTTP APIs with Nitric;

Headings (most frequently used words):

api, middleware, custom, level, apis, security, resource, get, started, build, deploy, languages, reference, misc, creating, routing, defining, domains, descriptions, serving, from, multiple, files, cloud, service, mapping, request, context, authentication, authorization, override, route, aws, domain, prerequisites, using, the, same, name, importing, an, existing, parameters, http, status, and, headers,

Text of the page (most frequently used words):
api (98), the (70), route (34), nitric (32), apis (30), for (30), #security (27), get (24), and (24), can (23), you (22), ctx (22), from (21), file (21), bucket (19), secret (18), middleware (17), copied (17), copy (17), aws (16), your (16), import (16), dart (16), python (16), name (16), this (15), services (15), typescript (15), javascript (15), sql (15), delete (15), async (14), websocket (14), cloud (13), custom (13), routes (13), const (12), that (12), overview (12), domains (11), with (11), key (11), post (11), put (11), queue (11), topic (11), job (11), resource (10), using (10), res (10), each (9), set (9), accountsapi (9), sdk (9), hosted (9), will (9), level (9), requests (9), schedule (9), schedules (9), storage (9), secrets (9), value (9), stores (9), multiple (8), provider (8), here (8), are (8), all (8), dns (8), domain (8), planets (8), galaxyapi (8), queues (8), topics (8), service (7), files (7), google (7), azure (7), zone (7), read (7), create (7), status (7), handler (7), write (7), definition (7), object (7), websockets (7), batch (7), patch (7), default (6), resources (6), example (6), access (6), allows (6), validate (6), headers (6), req (6), http (6), parameters (6), version (6), when (5), same (5), configuration (5), add (5), defined (5), every (5), next (5), perform (5), requirements (5), https (5), databases (5), websites (5), github (4), support (4), page (4), used (4), logic (4), project (4), methods (4), subdomain (4), required (4), provide (4), customers (4), customersapi (4), called (4), request (4), return (4), which (4), response (4), override (4), top (4), apply (4), auth0 (4), defaultsecurityrule (4), oidcrule (4), authentication (4), context (4), send (4), dequeue (4), enqueue (4), subscribe (4), publish (4), keys (4), submit (4), search (4), guides (3), foundations (3), serving (3), routing (3), have (3), below (3), accounts (3), common (3), declare (3), projects (3), how (3), records (3), supported (3), not (3), configuring (3), their (3), use (3), any (3), type (3), steps (3), deployed (3), need (3), description (3), target (3), test (3), com (3), configured (3), only (3), getallcustomers (3), handlers (3), incoming (3), user (3), individual (3), available (3), scopes (3), issuer (3), audiences (3), define (3), automatically (3), development (3), json (3), path (3), named (3), close (3), cron (3), connectionstring (3), latest (3), follow (2), contributions (2), 2026 (2), edit (2), mapping (2), descriptions (2), defining (2), creating (2), orgs (2), two (2), users (2), one (2), while (2), reusing (2), errors (2), due (2), location (2), referenced (2), since (2), unique (2), different (2), paths (2), choose (2), might (2), single (2), serve (2), more (2), few (2), would (2), public (2), zones (2), documentation (2), making (2), once (2), done (2), provided (2), click (2), setup (2), prerequisites (2), its (2), southeast (2), region (2), prod (2), yaml (2), stack (2), like (2), deploy (2), currently (2), logrequest (2), content (2), body (2), languages (2), look (2), parameter (2), chain (2), other (2), applied (2), also (2), responses (2), planet (2), selectively (2), own (2), rules (2), main (2), secureapi (2), dev (2), abc123 (2), applying (2), authorization (2), definitions (2), they (2), those (2), includes (2), jwt (2), reject (2), enforced (2), local (2), application (2), include (2), providers (2), alderaan (2), 301 (2), provides (2), getplanet (2), params (2), callbacks (2), createplanet (2), getplanetlist (2), moon (2), architecture (2), deployment (2), getuploadurl (2), getdownloadurl (2), exists (2), messaging (2), docs (2), youtube, join, our, discord, server, inc, last, updated, jan, open, issue, feedback, comes, deploying, find, export, index, enhanced, useful, lead, typos, complex, reason, often, preferable, shared, into, needed, importing, existing, calling, times, returns, time, allowing, names, across, locations, simply, scoped, granularity, suites, small, serves, larger, combine, visual, learner, video, walks, through, propagation, take, seconds, hours, nature, was, but, about, suggests, inactive, able, direct, then, wait, changes, propagate, now, configure, enter, select, left, navigation, navigate, console, general, follows, following, assigned, predefined, specify, these, successfully, meet, deployments, inline, await, header, 400, function, most, functions, nearly, identical, except, additional, providing, them, intercept, operations, logging, decoration, exception, handling, many, tasks, behavior, several, composed, cascading, outgoing, customsecurityrule, require, scope, secured, remove, unsecured, increase, decrease, specific, requirement, previously, securitydefinition, depth, tutorial, integration, guide, rule, authorize, addition, based, again, entire, don, describes, kind, authenticate, allow, later, defines, securitydefinitions, unauthenticated, unauthorized, gateway, before, invoking, code, serverless, environments, reduces, costs, limiting, load, unwanted, malicious, oidc, compatible, such, cognito, fusionauth, org, debris, redirect, properties, codes, dynamic, extract, denoted, colon, prefix, string, values, collected, included, under, turn, convenient, reading, writing, bodies, well, auto, extracted, gives, everything, convention, typically, 201, depending, language, either, passed, decorators, handles, method, declaring, match, callback, matching, objects, space, station, far, away, galaxy, needs, new, interested, provisioning, found, has, built, web, apps, applications, including, faq, examples, misc, containers, env, vars, config, preview, features, cli, reference, sqldatabase, uploadurl, downloadurl, listfiles, accessversion, newroute, newwebsocket, newschedule, newtopic, newbucket, newsqldatabase, newsecret, newqueue, newkv, newjob, newapi, connection_string, upload_url, download_url, node, install, docker, adding, types, extension, mappings, terraform, pulumi, hpc, build, infrastructure, why, quick, start, installation, started, introduction,


Text of the page (random words):
ts websites storage key value stores sql databases async messaging secrets deploy overview pulumi overview aws google cloud azure terraform overview aws google cloud azure service mappings aws apis batch schedules websockets websites storage key value stores sql databases topics queues secrets azure apis schedules websites storage key value stores sql databases topics queues secrets google cloud apis batch schedules websites storage key value stores sql databases topics queues secrets custom overview provider extension custom providers adding resource types install with docker languages overview node js overview apis api api get api post api put api delete api patch api route api route all api route get api route post api route put api route delete api route patch batch job job handler job submit http http key value stores kv kv get kv set kv delete kv keys topics topic topic publish topic subscribe queues queue queue enqueue queue dequeue secrets secret secret put secret version secret latest secret version access storage bucket bucket on bucket file bucket files file exists file read file write file delete file getdownloadurl file getuploadurl sql sql sql connectionstring schedules schedule schedule every schedule cron websockets websocket websocket on websocket send websocket close python overview apis api api get api post api put api delete api patch api methods api all batch job job handler job submit key value stores kv kv get kv set kv delete kv keys topics topic topic publish topic subscribe queues queue queue enqueue queue dequeue secrets secret secret put secret version secret latest secret version access storage bucket bucket on bucket file bucket files file read file write file delete file download_url file upload_url sql sql sql connection_string schedules schedule websockets websocket websocket on websocket send go overview resources newapi newjob newkv newqueue newsecret newsqldatabase newbucket newtopic newschedule newwebsocket apis api get api post api put api delete api patch api newroute api route all api route get api route post api route put api route delete api route patch batch job handler job submit key value stores kv get kv set kv delete kv keys topics topic publish topic subscribe queues queue enqueue queue dequeue secrets secret put secret accessversion secret access storage bucket on bucket listfiles bucket read bucket write bucket delete bucket downloadurl bucket uploadurl sql sqldatabase connectionstring schedules schedule every schedule cron websockets websocket on websocket send websocket close dart overview apis api api all api get api post api put api delete api patch api route api route all api route get api route post api route put api route delete api route patch batch job job handler job submit key value stores kv kv get kv set kv delete kv keys topics topic topic publish topic subscribe queues queue queue enqueue queue dequeue secrets secret secret put secret version secret latest secret version access storage bucket bucket on bucket file bucket files file exists file read file write file delete file getdownloadurl file getuploadurl sql sql sql connectionstring schedules schedule schedule every schedule cron websockets websocket websocket on websocket send websocket close reference cli preview features other config env vars custom service containers misc examples faq contributions support apis nitric has built in support for web apps and http api development the api resource allows you to create apis in your applications including routing middleware and request handlers if you re interested in the architecture provisioning or deployment steps they can be found here creating apis nitric allows you define named apis each with their own routes middleware handlers and security here s an example of how to create a new api with nitric javascript typescript python go dart copy copied import api from nitric sdk each api needs a unique name const galaxyapi api far away galaxy api galaxyapi get moon async req res res body that s no moon it s a space station routing you can define routes and handler services for incoming requests using methods on your api objects for example you can declare a route that handles post requests using the post method when declaring routes you provide the path to match and a callback that will serve as the handler for matching requests depending on the language sdk callbacks are either passed as parameters or defined using decorators javascript typescript python go dart copy copied import getplanetlist createplanet from planets galaxyapi get planets async ctx ctx res json getplanetlist galaxyapi post planets async ctx createplanet ctx req json ctx res status 201 request context nitric provides callbacks with a single context object that gives you everything you need to read requests and write responses by convention this object is typically named ctx the context object includes a request req and response res which in turn provide convenient methods for reading and writing bodies as well as auto extracted parameters and http headers parameters the path string used to declare routes can include named parameters the values collected from those parameters are automatically included in the context object under ctx req params path parameters are denoted by a colon prefix javascript typescript python go dart copy copied import getplanet from planets create a dynamic route and extract the parameter name galaxyapi get planets name async ctx const name ctx req params ctx res json getplanet name http status and headers the response object provides status and headers properties you can use to return http status codes and headers javascript typescript python go dart copy copied return a redirect response using status 301 galaxyapi get planets alderaan async ctx ctx res status 301 ctx res headers location https example org debris alderaan api security apis can include security definitions for oidc compatible providers such as auth0 fusionauth and aws cognito applying security at the api allows aws google cloud and azure to reject unauthenticated or unauthorized requests at the api gateway before invoking your application code in serverless environments this reduces costs by limiting application load from unwanted or malicious requests security rules are currently not enforced when using nitric for local development authentication apis can be configured to automatically authenticate and allow or reject incoming requests a securitydefinitions object can be provided which defines the authentication requirements that can later be enforced by the api the security definition describes the kind of authentication to perform and the configuration required to perform it for a jwt this configuration includes the jwt issuer and audiences security definitions only define available security requirements for an api they don t automatically apply those requirements once a security definition is available it can be applied to the entire api or selectively to individual routes javascript typescript python go dart copy copied import api oidcrule from nitric sdk const defaultsecurityrule oidcrule name default audiences https test security definition issuer https dev abc123 us auth0 com const secureapi api main apply the security definition to all routes in this api security defaultsecurityrule authorization in addition to authentication nitric apis can also be configured to perform authorization based on scopes again this can be done at the top level of the api or on individual routes add the required scopes to the security object when applying a security definition javascript typescript python go dart copy copied import api oidcrule from nitric sdk const defaultsecurityrule oidcrule name default audiences https test security definition issuer https dev abc123 us auth0 com const secureapi api main apply the security definition to all routes in this api add scopes to the rule to authorize security defaultsecurityrule user read for an in depth tutorial look at the auth0 integration guide override api level security individual routes can have their own security rules which apply any available securitydefinition the requirement defined on routes override any requirements previously set at the top level of the api this allows you to selectively increase or decrease the security requirements for specific routes javascript typescript python go dart copy copied galaxyapi get planets unsecured planet async ctx override top level security to remove security from this route security galaxyapi post planets secured planet async ctx override top level security to require user write scope to access security customsecurityrule user write defining middleware behavior that s common to several apis or routes can be applied using middleware multiple middleware can also be composed to create a cascading set of steps to perform on incoming requests or outgoing responses in most of nitric s supported languages middleware functions look nearly identical to handlers except for an additional parameter called next which is the next middleware or handler to be called in the chain by providing each middleware the next middleware in the chain it allows them to intercept requests response and errors to perform operations like logging decoration exception handling and many other common tasks javascript typescript python go dart copy copied async function validate ctx next if ctx req headers content type ctx res status 400 ctx res body header content type is required return ctx return await next ctx api level middleware middleware defined at the api level will be called on every request to every route javascript typescript python go dart copy copied import api from nitric sdk import validate logrequest from middleware const customersapi api customers middleware logrequest validate route level middleware middleware defined at the route level will only be called for that route javascript typescript python go dart copy copied import api from nitric sdk import validate from middleware const customersapi api customers const getallcustomers ctx inline using get customersapi get customers validate getallcustomers using route customersapi route customers get validate getallcustomers custom domains custom domains are currently only supported for aws deployments by default apis deployed by nitric will be assigned a domain by the target cloud provider if you would like to deploy apis with predefined custom domains you can specify the custom domains for each api in your project s stack files for these domains to be successfully configured you will need to meet the prerequisites defined for each cloud provider below aws azure google cloud nitric prod yaml copy copied provider nitric aws 1 1 0 region ap southeast 2 add a key for configuring apis apis target an api by its nitric name my api name provide domains to be used for the api domains test example com custom descriptions by default apis will not be deployed with a description you can add a description using the following configuration in your stack file aws azure google cloud nitric prod yaml copy copied provider nitric aws 1 12 4 region ap southeast 2 add a key for configuring apis apis target an api by its nitric name my api name provide domains to be used for the api description an aws api aws custom domain prerequisites to support custom domains with apis deployed to aws your domain or subdomain will need to be setup as a hosted zone in route 53 the general steps to setup a hosted zone in route 53 are as follows navigate to route 53 in the aws console select hosted zones from the left navigation click create hosted zone enter your domain name and choose the public hosted zone type click create hosted zone you will now be provided with a set of ns dns records to configure in the dns provider for your domain create the required dns records then wait for the dns changes to propagate once this is done you will be able to use the hosted zone domain or any direct subdomain with your nitric apis you can read more about how aws suggests configuring hosted zones in their documentation on making route 53 the dns service for a domain that s in use or making route 53 the dns service for an inactive domain if the hosted zone was nitric io nitric io or api nitric io would be supported for apis but not public api nitric io since that is a subdomain of a subdomain dns propagation of the ns records can take a few seconds to a few hours due to the nature of dns if you re more of a visual learner below is a video that walks through how to set up your custom domains serving from multiple files nitric apis are scoped to the project and can be referenced from multiple services this allows you to choose the granularity of services that suites your project for small projects you might have a single service that serves all routes while in larger projects multiple services might combine to serve paths and methods for your api using the same resource name since resource names are unique across each nitric project you can access a resource in multiple locations by simply reusing it s name here s an example of services in different files serving different paths on the same api javascript typescript python go dart services one js copy copied import api from nitric sdk const accountsapi api accounts accountsapi get users id async your logic here javascript typescript python go dart services two js copy copied import api from nitric sdk const accountsapi api accounts accountsapi get orgs id async your logic here calling api multiple times with the same name returns the same api resource each time allowing it to be referenced in multiple services importing an existing resource while reusing a name is useful it can lead to errors due to typos or when the configuration of the resource is complex for this reason it s often preferable to declare the resource in a shared location and import it into the services as needed here is the same example enhanced to import a common api resource javascript typescript python go dart resources index js copy copied import api from nitric sdk export const accountsapi api accounts javascript typescript python go dart services one js copy copied import accountsapi from resources accountsapi get users id async your logic here javascript typescript python go dart services two js copy copied import accountsapi from resources accountsapi get orgs id async your logic here cloud service mapping each cloud provider comes with a set of default services used when deploying resources you can find the default services for each cloud provider below aws azure google cloud edit this page on github have feedback on this page open github issue last updated on jan 5 2026 on this page creating apis routing api security defining middleware custom domains custom descriptions serving from multiple files cloud service mapping edit this page on github 2026 nitric inc contributions support foundation...
Thumbnail images (randomly selected): * Images may be subject to copyright.GREEN status (no comments)

    No Images


    Verified site has: 286 subpage(s). Do you want to verify them? Verify pages:

    1-5 6-10 11-15 16-20 21-25 26-30 31-35 36-40 41-45 46-50
    51-55 56-60 61-65 66-70 71-75 76-80 81-85 86-90 91-95 96-100
    101-105 106-110 111-115 116-120 121-125 126-130 131-135 136-140 141-145 146-150
    151-155 156-160 161-165 166-170 171-175 176-180 181-185 186-190 191-195 196-200
    201-205 206-210 211-215 216-220 221-225 226-230 231-235 236-240 241-245 246-250
    251-255 256-260 261-265 266-270 271-275 276-280 281-285 286-286


    Top 50 hastags from of all verified websites.

    Supplementary Information (add-on for SEO geeks)*- See more on header.verify-www.com

    Header

    HTTP/1.0 308 Permanent Redirect
    Content-Type text/plain
    Location htt????/nitric.io/docs/apis
    Refresh 0;url=htt????/nitric.io/docs/apis
    server Vercel
    HTTP/2 200
    access-control-allow-origin *
    age 166780
    cache-control public, max-age=0, must-revalidate
    content-disposition inline
    content-encoding gzip
    content-security-policy default-src self nitric.io *.nitric.io; connect-src self nitric.io *.nitric.io algolianet.com *.algolianet.com *.algolia.net api.hsforms.com api.github.com *.usefathom.com cdn.jsdelivr.net raw.githubusercontent.com lighter.codehike.org ; script-src self nitric.io *.nitric.io unsafe-inline usefathom.com *.usefathom.com unsafe-eval ; style-src self nitric.io *.nitric.io unsafe-inline fonts.googleapis.com data:; frame-src self nitric.io *.nitric.io www.youtube-nocookie.com; img-src self nitric.io *.nitric.io usefathom.com *.usefathom.com *.githubusercontent.com github.com data:; font-src self nitric.io *.nitric.io fonts.gstatic.com; frame-ancestors none
    content-type text/html; charset=utf-8
    date Sat, 18 Jul 2026 19:19:47 GMT
    etag W/ 318c66fc8b4d6aca7debb9279441acca
    server Vercel
    strict-transport-security max-age=63072000; includeSubDomains; preload
    vary RSC, Next-Router-State-Tree, Next-Router-Prefetch
    x-frame-options SAMEORIGIN
    x-matched-path /apis
    x-robots-tag all
    x-vercel-cache HIT
    x-vercel-id cdg1:cdg1:cdg1::lkcjm-1784402387113-cfbd40220e41
    x-xss-protection 1; mode=block

    Meta Tags

    title="APIs | Nitric Documentation"
    charset="utf-8"
    name="viewport" content="width=device-width, initial-scale=1"
    name="description" content="Building HTTP APIs with Nitric"
    name="robots" content="index, follow"
    property="og:title" content="APIs | Nitric Documentation"
    property="og:description" content="Building HTTP APIs with Nitric"
    property="og:url" content="htt????/nitric.io/docs/apis"
    property="og:site_name" content="Nitric Docs"
    property="og:locale" content="en_US"
    property="og:image" content="htt????/nitric.io/docs/og?title=APIs&description=Building%20HTTP%20APIs%20with%20Nitric"
    property="og:image:alt" content="Nitric Docs"
    name="twitter:card" content="summary_large_image"
    name="twitter:title" content="APIs | Nitric Documentation"
    name="twitter:description" content="Building HTTP APIs with Nitric"
    name="twitter:image" content="htt????/nitric.io/docs/og?title=APIs&description=Building%20HTTP%20APIs%20with%20Nitric"
    name="twitter:image:alt" content="Nitric Docs"
    name="next-size-adjust"

    Load Info

    page size107468
    load time (s)0.675813
    redirect count1
    speed download159211
    server IP 76.76.21.21
    * all occurrences of the string "http://" have been changed to "htt???/"