Skip to content

Scopes ​

A scope says what a token may do. API tokens and OAuth apps use the same scopes: you tick them when you create a token, and an app asks for them when it sends someone to InfraNest to connect.

Each area has a read scope and, where the API takes changes, a write scope. Write includes read. Whatever the scopes, a token never does what only a person signed in to the app may do. See What a token can never do.

ScopeAreaWhat it allows
domains.readDomains & ContactsRead domains, contacts and registrar details.
domains.writeDomains & ContactsTrack a domain, edit its notes and labels, archive it, and manage the contact book. Includes read.
dns.readDNSRead DNS zones and records.
dns.writeDNSCreate, change and delete records, undo a change, apply a template and sync a zone. Includes read.
cloud.readCloud InfrastructureRead servers, volumes, networks, firewalls and load balancers.
cloud.writeCloud InfrastructureChange InfraNest's own server records: labels, pricing, snooze and alert rules. Includes read.
monitoring.readMonitoringRead monitors and their results, incidents, maintenance windows, status pages and certificates.
monitoring.writeMonitoringChange monitors, incidents, maintenance windows, status page content, tags, custom fields and cost items. Includes read.
drop-catch.readDrop CatchRead watched domains.
drop-catch.writeDrop CatchNothing beyond read: watched domains are changed in the app.
members.readMembers & TeamsRead members and roles.
members.writeMembers & TeamsNothing beyond read: members and roles are changed in the app.
data.readData export & importExport your data.
data.writeData export & importNothing beyond export: importing is done in the app.
billing.readBillingRead the subscription and invoices. There is no write scope: billing changes are made in the app.
audit-log.readAudit LogRead the organization's audit log. There is no write scope.
*EverythingEvery scope above, read and write. Still never what only a person signed in to the app may do.
mcp:useAI assistantsUse the InfraNest MCP server. Grants nothing by itself: the other scopes decide what the assistant can read. OAuth only.

An app that asks for mcp:use and nothing else is asked for every read scope, because the MCP server only reads. The person connecting it still sees each scope, and gets only what their role allows.

Every endpoint in the API reference shows the scope it needs. A request without it answers scope_missing, naming the scope in required.