Version v1.0.0
| name | value |
|---|---|
| DB_HOST | database host (mysql/mariadb) |
| DB_PORT | database port (3306) |
| DB_NAME | database name |
| DB_USER | database connect user |
| DB_PASSWORD | database connect password |
| PDNS_API_KEY | PowerDNS Auth API Key |
| PDNS_API_URL | PowerDNS HTTP API URL (contain host, port ex: http://pdns:8081) |
| PDNS_NS | Nameserver addresses with comma splitted. (ns1.sh0rt.kr,ns2.sh0rt.kr) |
| Method | Path | Description |
|---|---|---|
| GET | /zones | Get all domains |
| POST | /zones | Create domain |
| GET | /zones/{zone_id}/dns_records | Get all records |
| POST | /zones/{zone_id}/dns_records | Add Record by ID |
| GET | /zones/{zone_id}/dns_records/{dns_record_id} | Get Record by ID |
| DELETE | /zones/{zone_id}/dns_records/{dns_record_id} | Remove Record by ID |
| PUT | /zones/{zone_id}/dns_records/{dns_record_id} | Update Record by ID |
| GET | /zones/{cfid} | Get domain |
| DELETE | /zones/{domain_id} | Delete domain |
| Name | Path | Description |
|---|---|---|
| DomainRequestDTO | #/components/schemas/DomainRequestDTO | Request DTO for Domain |
| ApiResponseDTO | #/components/schemas/ApiResponseDTO | |
| ErrorOrMessage | #/components/schemas/ErrorOrMessage | |
| ApiResponseDTODomainResponseDTO | #/components/schemas/ApiResponseDTODomainResponseDTO | |
| DomainResponseDTO | #/components/schemas/DomainResponseDTO | Response DTO for Domain |
| RecordRequestDTO | #/components/schemas/RecordRequestDTO | Request DTO for Record |
| ApiResponseDTORecordResponseDTO | #/components/schemas/ApiResponseDTORecordResponseDTO | |
| RecordResponseDTO | #/components/schemas/RecordResponseDTO | Response DTO for Record |
| ApiResponseDTOListDomainResponseDTO | #/components/schemas/ApiResponseDTOListDomainResponseDTO | |
| ApiResponseDTOListRecordResponseDTO | #/components/schemas/ApiResponseDTOListRecordResponseDTO | |
| ApiResponseDTODeleteResponseWithId | #/components/schemas/ApiResponseDTODeleteResponseWithId | |
| DeleteResponseWithId | #/components/schemas/DeleteResponseWithId | |
| api token | #/components/securitySchemes/api token |
application/json
{
success: boolean
errors: {
code: integer
message: string
}[]
messages:#/components/schemas/ErrorOrMessage[]
// Response DTO for Domain
result: {
// Domain CFID
id: string
// Domain name(TLD)
name: string
}[]
}
application/json
{
success: boolean
errors: {
code: integer
message: string
}[]
messages:#/components/schemas/ErrorOrMessage[]
result: {
}
}
// Request DTO for Domain
{
// Domain name(TLD)
name: string
}
application/json
{
success: boolean
errors: {
code: integer
message: string
}[]
messages:#/components/schemas/ErrorOrMessage[]
// Response DTO for Domain
result: {
// Domain CFID
id: string
// Domain name(TLD)
name: string
}
}
application/json
{
success: boolean
errors: {
code: integer
message: string
}[]
messages:#/components/schemas/ErrorOrMessage[]
result: {
}
}
application/json
{
success: boolean
errors: {
code: integer
message: string
}[]
messages:#/components/schemas/ErrorOrMessage[]
// Response DTO for Record
result: {
// Record ID
id: string
// Record type
type: string
// Record name
name: string
// Record content
content: string
// Zone(TLD) ID
zoneId: string
// Zone name(TLD)
zoneName: string
// Record creation time
createdOn: string
// Record modification time
modifiedOn: string
// Record priority
priority?: integer
// is proxyable: must false
proxiable: boolean
// is proxied: must false
proxied: boolean
// Record TTL
ttl: integer
// Record is locked: must false
locked: boolean
// Record comments
comment?: string
}[]
}
application/json
{
success: boolean
errors: {
code: integer
message: string
}[]
messages:#/components/schemas/ErrorOrMessage[]
result: {
}
}
// Request DTO for Record
{
// Record type
type: string
// Host name
name: string
// Record data
content: string
// TTL (Time to Live)
ttl: integer
// Priority
priority?: integer
// Proxied: cloudflare api compatibility
proxied: boolean
// comment
comment: string
}
application/json
{
success: boolean
errors: {
code: integer
message: string
}[]
messages:#/components/schemas/ErrorOrMessage[]
// Response DTO for Record
result: {
// Record ID
id: string
// Record type
type: string
// Record name
name: string
// Record content
content: string
// Zone(TLD) ID
zoneId: string
// Zone name(TLD)
zoneName: string
// Record creation time
createdOn: string
// Record modification time
modifiedOn: string
// Record priority
priority?: integer
// is proxyable: must false
proxiable: boolean
// is proxied: must false
proxied: boolean
// Record TTL
ttl: integer
// Record is locked: must false
locked: boolean
// Record comments
comment?: string
}
}
application/json
{
success: boolean
errors: {
code: integer
message: string
}[]
messages:#/components/schemas/ErrorOrMessage[]
result: {
}
}
application/json
{
success: boolean
errors: {
code: integer
message: string
}[]
messages:#/components/schemas/ErrorOrMessage[]
// Response DTO for Record
result: {
// Record ID
id: string
// Record type
type: string
// Record name
name: string
// Record content
content: string
// Zone(TLD) ID
zoneId: string
// Zone name(TLD)
zoneName: string
// Record creation time
createdOn: string
// Record modification time
modifiedOn: string
// Record priority
priority?: integer
// is proxyable: must false
proxiable: boolean
// is proxied: must false
proxied: boolean
// Record TTL
ttl: integer
// Record is locked: must false
locked: boolean
// Record comments
comment?: string
}
}
application/json
{
success: boolean
errors: {
code: integer
message: string
}[]
messages:#/components/schemas/ErrorOrMessage[]
result: {
}
}
application/json
{
success: boolean
errors: {
code: integer
message: string
}[]
messages:#/components/schemas/ErrorOrMessage[]
result: {
id: string
}
}
application/json
{
success: boolean
errors: {
code: integer
message: string
}[]
messages:#/components/schemas/ErrorOrMessage[]
result: {
}
}
// Request DTO for Record
{
// Record type
type: string
// Host name
name: string
// Record data
content: string
// TTL (Time to Live)
ttl: integer
// Priority
priority?: integer
// Proxied: cloudflare api compatibility
proxied: boolean
// comment
comment: string
}
application/json
{
success: boolean
errors: {
code: integer
message: string
}[]
messages:#/components/schemas/ErrorOrMessage[]
// Response DTO for Record
result: {
// Record ID
id: string
// Record type
type: string
// Record name
name: string
// Record content
content: string
// Zone(TLD) ID
zoneId: string
// Zone name(TLD)
zoneName: string
// Record creation time
createdOn: string
// Record modification time
modifiedOn: string
// Record priority
priority?: integer
// is proxyable: must false
proxiable: boolean
// is proxied: must false
proxied: boolean
// Record TTL
ttl: integer
// Record is locked: must false
locked: boolean
// Record comments
comment?: string
}
}
application/json
{
success: boolean
errors: {
code: integer
message: string
}[]
messages:#/components/schemas/ErrorOrMessage[]
result: {
}
}
application/json
{
success: boolean
errors: {
code: integer
message: string
}[]
messages:#/components/schemas/ErrorOrMessage[]
// Response DTO for Domain
result: {
// Domain CFID
id: string
// Domain name(TLD)
name: string
}
}
application/json
{
success: boolean
errors: {
code: integer
message: string
}[]
messages:#/components/schemas/ErrorOrMessage[]
result: {
}
}
application/json
{
success: boolean
errors: {
code: integer
message: string
}[]
messages:#/components/schemas/ErrorOrMessage[]
result: {
id: string
}
}
application/json
{
success: boolean
errors: {
code: integer
message: string
}[]
messages:#/components/schemas/ErrorOrMessage[]
result: {
}
}
// Request DTO for Domain
{
// Domain name(TLD)
name: string
}
{
success: boolean
errors: {
code: integer
message: string
}[]
messages:#/components/schemas/ErrorOrMessage[]
result: {
}
}
{
code: integer
message: string
}
{
success: boolean
errors: {
code: integer
message: string
}[]
messages:#/components/schemas/ErrorOrMessage[]
// Response DTO for Domain
result: {
// Domain CFID
id: string
// Domain name(TLD)
name: string
}
}
// Response DTO for Domain
{
// Domain CFID
id: string
// Domain name(TLD)
name: string
}
// Request DTO for Record
{
// Record type
type: string
// Host name
name: string
// Record data
content: string
// TTL (Time to Live)
ttl: integer
// Priority
priority?: integer
// Proxied: cloudflare api compatibility
proxied: boolean
// comment
comment: string
}
{
success: boolean
errors: {
code: integer
message: string
}[]
messages:#/components/schemas/ErrorOrMessage[]
// Response DTO for Record
result: {
// Record ID
id: string
// Record type
type: string
// Record name
name: string
// Record content
content: string
// Zone(TLD) ID
zoneId: string
// Zone name(TLD)
zoneName: string
// Record creation time
createdOn: string
// Record modification time
modifiedOn: string
// Record priority
priority?: integer
// is proxyable: must false
proxiable: boolean
// is proxied: must false
proxied: boolean
// Record TTL
ttl: integer
// Record is locked: must false
locked: boolean
// Record comments
comment?: string
}
}
// Response DTO for Record
{
// Record ID
id: string
// Record type
type: string
// Record name
name: string
// Record content
content: string
// Zone(TLD) ID
zoneId: string
// Zone name(TLD)
zoneName: string
// Record creation time
createdOn: string
// Record modification time
modifiedOn: string
// Record priority
priority?: integer
// is proxyable: must false
proxiable: boolean
// is proxied: must false
proxied: boolean
// Record TTL
ttl: integer
// Record is locked: must false
locked: boolean
// Record comments
comment?: string
}
{
success: boolean
errors: {
code: integer
message: string
}[]
messages:#/components/schemas/ErrorOrMessage[]
// Response DTO for Domain
result: {
// Domain CFID
id: string
// Domain name(TLD)
name: string
}[]
}
{
success: boolean
errors: {
code: integer
message: string
}[]
messages:#/components/schemas/ErrorOrMessage[]
// Response DTO for Record
result: {
// Record ID
id: string
// Record type
type: string
// Record name
name: string
// Record content
content: string
// Zone(TLD) ID
zoneId: string
// Zone name(TLD)
zoneName: string
// Record creation time
createdOn: string
// Record modification time
modifiedOn: string
// Record priority
priority?: integer
// is proxyable: must false
proxiable: boolean
// is proxied: must false
proxied: boolean
// Record TTL
ttl: integer
// Record is locked: must false
locked: boolean
// Record comments
comment?: string
}[]
}
{
success: boolean
errors: {
code: integer
message: string
}[]
messages:#/components/schemas/ErrorOrMessage[]
result: {
id: string
}
}
{
id: string
}
{
"type": "http",
"scheme": "bearer"
}
Content type
Image
Digest
sha256:ebc4aa279…
Size
92.5 MB
Last updated
over 1 year ago
docker pull dalbodeule/dnsapi