# Start building — your first qURL in one API call

> Quickstart for developers: turn any app, API, file, or private service into an identity-bound qURL. Pick your path, get a key, and make your first call.

Source: https://layerv.ai/start/

---

Quickstart

# Your first qURL™ in one API call.

Protect any app, API, file, or service and open a portal to it — an identity-bound qURL link that verifies the requester, works once, and expires on its own. Pick your path below — most developers are running in a few minutes.

[Get an API key](/qurl/dashboard/keys/)[Try it live first](/qurl/playground/)

Choose your path

## Where does your resource live?

Both paths end at the same `POST /v1/qurls` call — the only question is whether LayerV can already reach your resource.

Already has a URL

### Reachable by URL

A hosted app, a public API, a file, a SaaS endpoint — anything LayerV can already resolve.

- No infrastructure to run
- One API call
- Working in minutes
[Start the quickstart ↓](#create)

Private or local

### Not routable yet

An internal service, admin panel, database, localhost, or MCP server that isn’t on the public internet.

- Run a lightweight Connector beside it
- Stays off the public internet
- Then mint portal links the same way
[Open the Connector guide →](/docs/connectors/)

Create your first qURL

## Key → call → resolve

The full round trip for a resource that already has a URL.

1. 1  
### Get an API key  
Create a key in the dashboard with the `qurl:write` scope. No credit card — the free tier includes 500 qURLs a month.  
[Get an API key](/qurl/dashboard/keys/)
2. 2  
### Protect a URL, get a portal  
One `POST /v1/qurls` with a `target_url` and an expiry. You get back a `qurl_link` — a single-use, identity-bound portal to the resource.  
cURLNode.jsPythonCopy  
123456789  
`curl -X POST https://api.layerv.ai/v1/qurls \
  -H "Authorization: Bearer $LAYERV_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{  
    "target_url": "https://dashboard.internal.acme.com",  
    "label": "Alice from Acme",  
    "expires_in": "1h",  
    "one_time_use": true  
  }'`
3. 3  
### Share the portal link  
Hand the returned qURL to the approved person or agent. The portal opens once for a verified requester, then closes for good — nothing to rotate or revoke by hand.
4. 4  
### Resolve or revoke  
Agents redeem a link headlessly with `POST /v1/resolve` to get the real target. Kill any token early with `DELETE /v1/qurls/:id`.  
```  
curl -X POST https://api.layerv.ai/v1/resolve \
  -H "Authorization: Bearer $AGENT_TOKEN" \
  -d '{ "access_token": "at_97cp9ik_j-c0e0iyhyidna" }'  
# → { "target_url": "https://dashboard.internal.acme.com", "expires_in": 3600 }  
```

Where to next

## Go deeper

[API referenceEvery endpoint, parameter, and schema — with live request testing.](/docs/)[Connector guideExpose a private or local resource with a lightweight sidecar.](/docs/connectors/)[PlaygroundRun real calls against the sandbox — no key, no signup.](/qurl/playground/)

## Ready to build?

Grab a key and make your first identity-bound link. Free for your first 500 qURLs a month.

[Get an API key](/qurl/dashboard/keys/)[Read the API reference](/docs/)



---

*This markdown version is auto-generated from [https://layerv.ai/start/](https://layerv.ai/start/). For the full interactive experience, visit the HTML version.*

