Domains
Domains and their DNS and certificates. Each operation lists its method and path, parameters, request body, responses and an example call.
/api/v1/clusters/{id}/tailnet-devicesAn API token, sent as Authorization: Bearer <token>. A token belongs to one organization and has the role it was created with, so it needs no X-Nebula-Organization header; if you send one, it must name the token's organization.
In: header
Path Parameters
Response Body
application/json
application/problem+json
curl -X GET "https://example.com/api/v1/clusters/string/tailnet-devices"{ "$schema": "https://example.com/TailnetDevicesBody.json", "adminUrl": "string", "devices": [ { "deviceId": "string", "hostname": "string", "name": "string", "orphanedAt": "2019-08-24T14:15:22Z", "reason": "string" } ]}/api/v1/domains/{id}An API token, sent as Authorization: Bearer <token>. A token belongs to one organization and has the role it was created with, so it needs no X-Nebula-Organization header; if you send one, it must name the token's organization.
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/problem+json
curl -X PATCH "https://example.com/api/v1/domains/string" \ -H "Content-Type: application/json" \ -d '{}'{ "$schema": "https://example.com/DomainBody.json", "certIssuer": "string", "certNotAfter": "2019-08-24T14:15:22Z", "certificate": { "attempts": 0, "issuedAt": "2019-08-24T14:15:22Z", "lastError": "string", "nextAttemptAt": "2019-08-24T14:15:22Z", "notAfter": "2019-08-24T14:15:22Z", "renewAfter": "2019-08-24T14:15:22Z" }, "certificateMethod": "string", "certificatePlaceholder": true, "checkedAt": "2019-08-24T14:15:22Z", "claimExpiresAt": "2019-08-24T14:15:22Z", "cloudflareZone": "string", "createdAt": "2019-08-24T14:15:22Z", "dnsProvider": "string", "dnsProxied": true, "dnsStatus": "string", "dnsSyncError": "string", "dnsSyncedAt": "2019-08-24T14:15:22Z", "edgeClusterId": "string", "environmentId": "string", "exposure": "string", "hostname": "string", "id": "string", "liveMessage": "string", "liveReportedAt": "2019-08-24T14:15:22Z", "liveState": "pending", "processId": "string", "recommendedTtlSeconds": 0, "serviceId": "string", "tailnetFqdn": "string", "tlsStatus": "string", "verificationRecordName": "string", "verificationRecordValue": "string", "verificationStatus": "string"}/api/v1/domains/{id}An API token, sent as Authorization: Bearer <token>. A token belongs to one organization and has the role it was created with, so it needs no X-Nebula-Organization header; if you send one, it must name the token's organization.
In: header
Path Parameters
Response Body
application/problem+json
curl -X DELETE "https://example.com/api/v1/domains/string"/api/v1/domains/{id}/certificate/renewAn API token, sent as Authorization: Bearer <token>. A token belongs to one organization and has the role it was created with, so it needs no X-Nebula-Organization header; if you send one, it must name the token's organization.
In: header
Path Parameters
Response Body
application/problem+json
curl -X POST "https://example.com/api/v1/domains/string/certificate/renew"/api/v1/domains/{id}/checkAn API token, sent as Authorization: Bearer <token>. A token belongs to one organization and has the role it was created with, so it needs no X-Nebula-Organization header; if you send one, it must name the token's organization.
In: header
Path Parameters
Response Body
application/json
application/problem+json
curl -X POST "https://example.com/api/v1/domains/string/check"{ "$schema": "https://example.com/CheckBody.json", "addresses": [ "string" ], "domain": { "$schema": "https://example.com/DomainBody.json", "certIssuer": "string", "certNotAfter": "2019-08-24T14:15:22Z", "certificate": { "attempts": 0, "issuedAt": "2019-08-24T14:15:22Z", "lastError": "string", "nextAttemptAt": "2019-08-24T14:15:22Z", "notAfter": "2019-08-24T14:15:22Z", "renewAfter": "2019-08-24T14:15:22Z" }, "certificateMethod": "string", "certificatePlaceholder": true, "checkedAt": "2019-08-24T14:15:22Z", "claimExpiresAt": "2019-08-24T14:15:22Z", "cloudflareZone": "string", "createdAt": "2019-08-24T14:15:22Z", "dnsProvider": "string", "dnsProxied": true, "dnsStatus": "string", "dnsSyncError": "string", "dnsSyncedAt": "2019-08-24T14:15:22Z", "edgeClusterId": "string", "environmentId": "string", "exposure": "string", "hostname": "string", "id": "string", "liveMessage": "string", "liveReportedAt": "2019-08-24T14:15:22Z", "liveState": "pending", "processId": "string", "recommendedTtlSeconds": 0, "serviceId": "string", "tailnetFqdn": "string", "tlsStatus": "string", "verificationRecordName": "string", "verificationRecordValue": "string", "verificationStatus": "string" }, "ingressIPs": [ "string" ], "nextAction": "string", "verificationNextAction": "string"}/api/v1/domains/{id}/dns/adoptAn API token, sent as Authorization: Bearer <token>. A token belongs to one organization and has the role it was created with, so it needs no X-Nebula-Organization header; if you send one, it must name the token's organization.
In: header
Path Parameters
Response Body
application/json
application/problem+json
curl -X POST "https://example.com/api/v1/domains/string/dns/adopt"{ "$schema": "https://example.com/DomainBody.json", "certIssuer": "string", "certNotAfter": "2019-08-24T14:15:22Z", "certificate": { "attempts": 0, "issuedAt": "2019-08-24T14:15:22Z", "lastError": "string", "nextAttemptAt": "2019-08-24T14:15:22Z", "notAfter": "2019-08-24T14:15:22Z", "renewAfter": "2019-08-24T14:15:22Z" }, "certificateMethod": "string", "certificatePlaceholder": true, "checkedAt": "2019-08-24T14:15:22Z", "claimExpiresAt": "2019-08-24T14:15:22Z", "cloudflareZone": "string", "createdAt": "2019-08-24T14:15:22Z", "dnsProvider": "string", "dnsProxied": true, "dnsStatus": "string", "dnsSyncError": "string", "dnsSyncedAt": "2019-08-24T14:15:22Z", "edgeClusterId": "string", "environmentId": "string", "exposure": "string", "hostname": "string", "id": "string", "liveMessage": "string", "liveReportedAt": "2019-08-24T14:15:22Z", "liveState": "pending", "processId": "string", "recommendedTtlSeconds": 0, "serviceId": "string", "tailnetFqdn": "string", "tlsStatus": "string", "verificationRecordName": "string", "verificationRecordValue": "string", "verificationStatus": "string"}/api/v1/environments/{id}/domainsAn API token, sent as Authorization: Bearer <token>. A token belongs to one organization and has the role it was created with, so it needs no X-Nebula-Organization header; if you send one, it must name the token's organization.
In: header
Path Parameters
Query Parameters
Opaque cursor from a previous response's nextCursor. Omit for the first page.
How many items to return.
int641 <= value <= 20050Response Body
application/json
application/problem+json
curl -X GET "https://example.com/api/v1/environments/string/domains"{ "$schema": "https://example.com/PageDomainBody.json", "items": [ { "$schema": "https://example.com/DomainBody.json", "certIssuer": "string", "certNotAfter": "2019-08-24T14:15:22Z", "certificate": { "attempts": 0, "issuedAt": "2019-08-24T14:15:22Z", "lastError": "string", "nextAttemptAt": "2019-08-24T14:15:22Z", "notAfter": "2019-08-24T14:15:22Z", "renewAfter": "2019-08-24T14:15:22Z" }, "certificateMethod": "string", "certificatePlaceholder": true, "checkedAt": "2019-08-24T14:15:22Z", "claimExpiresAt": "2019-08-24T14:15:22Z", "cloudflareZone": "string", "createdAt": "2019-08-24T14:15:22Z", "dnsProvider": "string", "dnsProxied": true, "dnsStatus": "string", "dnsSyncError": "string", "dnsSyncedAt": "2019-08-24T14:15:22Z", "edgeClusterId": "string", "environmentId": "string", "exposure": "string", "hostname": "string", "id": "string", "liveMessage": "string", "liveReportedAt": "2019-08-24T14:15:22Z", "liveState": "pending", "processId": "string", "recommendedTtlSeconds": 0, "serviceId": "string", "tailnetFqdn": "string", "tlsStatus": "string", "verificationRecordName": "string", "verificationRecordValue": "string", "verificationStatus": "string" } ], "nextCursor": "string"}/api/v1/environments/{id}/domainsAn API token, sent as Authorization: Bearer <token>. A token belongs to one organization and has the role it was created with, so it needs no X-Nebula-Organization header; if you send one, it must name the token's organization.
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/problem+json
curl -X POST "https://example.com/api/v1/environments/string/domains" \ -H "Content-Type: application/json" \ -d '{ "hostname": "string", "processId": "string", "serviceId": "string" }'{ "$schema": "https://example.com/DomainBody.json", "certIssuer": "string", "certNotAfter": "2019-08-24T14:15:22Z", "certificate": { "attempts": 0, "issuedAt": "2019-08-24T14:15:22Z", "lastError": "string", "nextAttemptAt": "2019-08-24T14:15:22Z", "notAfter": "2019-08-24T14:15:22Z", "renewAfter": "2019-08-24T14:15:22Z" }, "certificateMethod": "string", "certificatePlaceholder": true, "checkedAt": "2019-08-24T14:15:22Z", "claimExpiresAt": "2019-08-24T14:15:22Z", "cloudflareZone": "string", "createdAt": "2019-08-24T14:15:22Z", "dnsProvider": "string", "dnsProxied": true, "dnsStatus": "string", "dnsSyncError": "string", "dnsSyncedAt": "2019-08-24T14:15:22Z", "edgeClusterId": "string", "environmentId": "string", "exposure": "string", "hostname": "string", "id": "string", "liveMessage": "string", "liveReportedAt": "2019-08-24T14:15:22Z", "liveState": "pending", "processId": "string", "recommendedTtlSeconds": 0, "serviceId": "string", "tailnetFqdn": "string", "tlsStatus": "string", "verificationRecordName": "string", "verificationRecordValue": "string", "verificationStatus": "string"}Databases
Database services: templates, connections, queries, readers and point-in-time recovery. Each operation lists its method and path, parameters, request body, responses and an example call.
Git
Git connections to GitHub, Forgejo and GitLab, and the repositories and branches they can see. Each operation lists its method and path, parameters, request body, responses and an example call.