Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
openapi: 3.2.0
info:
title: BorgLayer Domains API
version: 1.0.0
description: 'The BorgLayer API lets you — and AI agents, via the BorgLayer MCP connector —
search and register domains, transfer domains in, manage DNS, set registrant
details, and form US LLCs, all paid from a prepaid USDC account balance.
- **Base URL:** `https://api.borglayer.com/api/v1`
- **MCP connector:** `https://mcp.borglayer.com/mcp` (Streamable HTTP)
- **Auth:** `Authorization: Bearer blrk_…` on every request
## Getting started
1. Create a BorgLayer account and an API key (format `blrk_…`) in your
dashboard. Each key has **scopes** that limit what it can do and is bound
to your account''s prepaid USDC balance.
2. Call the API with `Authorization: Bearer blrk_…`, or add the MCP connector
in Claude (**Customize → Connectors → Add custom connector**) with URL
`https://mcp.borglayer.com/mcp`, Authentication **No sign-in**, and request
header `Authorization: Bearer blrk_…`.
3. Top up your prepaid balance in the dashboard. Read actions are free; actions
that cost money (register, transfer-in, formation) debit your balance.
## Money model
Actions that cost money debit your prepaid USDC balance. If the balance is too
low the API returns `402 insufficient_balance` and **nothing is charged**.
## Scopes
| Scope | Grants |
|-------|--------|
| `domains.read` | search, list your domains |
| `domains.register` | register a domain (debits balance) |
| `domains.transfer` | transfer a domain in (may debit balance) |
| `dns.read` | list DNS records |
| `dns.write` | add/delete DNS records |
| `registrant.read` | list registrant profiles |
| `registrant.write` | create/delete registrant profiles |
| `formation.read` | quote a formation, read order status |
| `formation.write` | create (file) a formation (debits balance) |
| `balance.read` | read your prepaid balance |
A `403` with `required scope: ` means your key lacks that scope.'
contact:
name: BorgLayer
url: https://borglayer.com
email: support@borglayer.com
servers:
- url: https://api.borglayer.com/api/v1
description: Production
security:
- ApiKey: []
tags:
- name: Domains
paths:
/domains:
get:
summary: List your domains
description: 'The domains registered on your account. Scope: `domains.read`.'
responses:
'200':
description: Your registered domains
tags:
- Domains
operationId: getDomains
x-operation-id-source: derived
/domains/{domain}/dns:
get:
summary: List DNS records
description: 'Scope: `dns.read`.'
parameters:
- name: domain
in: path
required: true
schema:
type: string
responses:
'200':
description: DNS records
tags:
- Domains
operationId: getDomainsByDomainDns
x-operation-id-source: derived
post:
summary: Add a DNS record
description: 'Scope: `dns.write`. Allowed types: A, AAAA, CNAME, MX, TXT, NS, SRV, CAA.'
parameters:
- name: domain
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DnsRecord'
responses:
'201':
description: Record created
tags:
- Domains
operationId: postDomainsByDomainDns
x-operation-id-source: derived
/domains/{domain}/dns/{recordId}:
delete:
summary: Delete a DNS record
description: 'Scope: `dns.write`. System-managed records cannot be deleted.'
parameters:
- name: domain
in: path
required: true
schema:
type: string
- name: recordId
in: path
required: true
schema:
type: string
responses:
'200':
description: Record deleted
tags:
- Domains
operationId: deleteDomainsByDomainDnsByRecordId
x-operation-id-source: derived
components:
schemas:
DnsRecord:
type: object
properties:
type:
type: string
enum:
- A
- AAAA
- CNAME
- MX
- TXT
- NS
- SRV
- CAA
name:
type: string
content:
type: string
ttl:
type: integer
priority:
type: integer
nullable: true
securitySchemes:
ApiKey:
type: http
scheme: bearer
bearerFormat: blrk_…