add openapi.json, readme.md

This commit is contained in:
dalbodeule 2024-06-10 14:34:19 +09:00
parent 9297ddfd07
commit d70bb49a14
No known key found for this signature in database
GPG Key ID: EFA860D069C9FA65
2 changed files with 1685 additions and 0 deletions

884
README.md Normal file
View File

@ -0,0 +1,884 @@
# Cloudflare compatible PowerDNS API Server
> Version v1.0.0
## Path Table
| Method | Path | Description |
| --- | --- | --- |
| GET | [/zones](#getzones) | Get all domains |
| POST | [/zones](#postzones) | Create domain |
| GET | [/zones/{zone_id}/dns_records](#getzoneszone_iddns_records) | Get all records |
| POST | [/zones/{zone_id}/dns_records](#postzoneszone_iddns_records) | Add Record by ID |
| GET | [/zones/{zone_id}/dns_records/{dns_record_id}](#getzoneszone_iddns_recordsdns_record_id) | Get Record by ID |
| DELETE | [/zones/{zone_id}/dns_records/{dns_record_id}](#deletezoneszone_iddns_recordsdns_record_id) | Remove Record by ID |
| PUT | [/zones/{zone_id}/dns_records/{dns_record_id}](#putzoneszone_iddns_recordsdns_record_id) | Update Record by ID |
| GET | [/zones/{cfid}](#getzonescfid) | Get domain |
| DELETE | [/zones/{domain_id}](#deletezonesdomain_id) | Delete domain |
## Reference Table
| Name | Path | Description |
| --- | --- | --- |
| DomainRequestDTO | [#/components/schemas/DomainRequestDTO](#componentsschemasdomainrequestdto) | Request DTO for Domain |
| ApiResponseDTO | [#/components/schemas/ApiResponseDTO](#componentsschemasapiresponsedto) | |
| ErrorOrMessage | [#/components/schemas/ErrorOrMessage](#componentsschemaserrorormessage) | |
| ApiResponseDTODomainResponseDTO | [#/components/schemas/ApiResponseDTODomainResponseDTO](#componentsschemasapiresponsedtodomainresponsedto) | |
| DomainResponseDTO | [#/components/schemas/DomainResponseDTO](#componentsschemasdomainresponsedto) | Response DTO for Domain |
| RecordRequestDTO | [#/components/schemas/RecordRequestDTO](#componentsschemasrecordrequestdto) | Request DTO for Record |
| ApiResponseDTORecordResponseDTO | [#/components/schemas/ApiResponseDTORecordResponseDTO](#componentsschemasapiresponsedtorecordresponsedto) | |
| RecordResponseDTO | [#/components/schemas/RecordResponseDTO](#componentsschemasrecordresponsedto) | Response DTO for Record |
| ApiResponseDTOListDomainResponseDTO | [#/components/schemas/ApiResponseDTOListDomainResponseDTO](#componentsschemasapiresponsedtolistdomainresponsedto) | |
| ApiResponseDTOListRecordResponseDTO | [#/components/schemas/ApiResponseDTOListRecordResponseDTO](#componentsschemasapiresponsedtolistrecordresponsedto) | |
| ApiResponseDTODeleteResponseWithId | [#/components/schemas/ApiResponseDTODeleteResponseWithId](#componentsschemasapiresponsedtodeleteresponsewithid) | |
| DeleteResponseWithId | [#/components/schemas/DeleteResponseWithId](#componentsschemasdeleteresponsewithid) | |
| api token | [#/components/securitySchemes/api token](#componentssecurityschemesapi-token) | |
## Path Details
***
### [GET]/zones
- Summary
Get all domains
#### Responses
- 200 Returns all domains
`application/json`
```ts
{
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
}[]
}
```
- 404 Returns not found
`application/json`
```ts
{
success: boolean
errors: {
code: integer
message: string
}[]
messages:#/components/schemas/ErrorOrMessage[]
result: {
}
}
```
***
### [POST]/zones
- Summary
Create domain
#### RequestBody
- application/json
```ts
// Request DTO for Domain
{
// Domain name(TLD)
name: string
}
```
#### Responses
- 200 Created domain
`application/json`
```ts
{
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
}
}
```
- 400 Bad request
`application/json`
```ts
{
success: boolean
errors: {
code: integer
message: string
}[]
messages:#/components/schemas/ErrorOrMessage[]
result: {
}
}
```
***
### [GET]/zones/{zone_id}/dns_records
- Summary
Get all records
#### Responses
- 200 Return All Records
`application/json`
```ts
{
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
}[]
}
```
- 400 Bad request
`application/json`
```ts
{
success: boolean
errors: {
code: integer
message: string
}[]
messages:#/components/schemas/ErrorOrMessage[]
result: {
}
}
```
***
### [POST]/zones/{zone_id}/dns_records
- Summary
Add Record by ID
#### RequestBody
- application/json
```ts
// 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
}
```
#### Responses
- 200 Return Record
`application/json`
```ts
{
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
}
}
```
- 400 Bad request
`application/json`
```ts
{
success: boolean
errors: {
code: integer
message: string
}[]
messages:#/components/schemas/ErrorOrMessage[]
result: {
}
}
```
***
### [GET]/zones/{zone_id}/dns_records/{dns_record_id}
- Summary
Get Record by ID
#### Responses
- 200 Return Record
`application/json`
```ts
{
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
}
}
```
- 400 Bad request
`application/json`
```ts
{
success: boolean
errors: {
code: integer
message: string
}[]
messages:#/components/schemas/ErrorOrMessage[]
result: {
}
}
```
***
### [DELETE]/zones/{zone_id}/dns_records/{dns_record_id}
- Summary
Remove Record by ID
#### Responses
- 200 Return Record
`application/json`
```ts
{
success: boolean
errors: {
code: integer
message: string
}[]
messages:#/components/schemas/ErrorOrMessage[]
result: {
id: string
}
}
```
- 400 Bad request
`application/json`
```ts
{
success: boolean
errors: {
code: integer
message: string
}[]
messages:#/components/schemas/ErrorOrMessage[]
result: {
}
}
```
***
### [PUT]/zones/{zone_id}/dns_records/{dns_record_id}
- Summary
Update Record by ID
#### RequestBody
- application/json
```ts
// 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
}
```
#### Responses
- 200 Return Record
`application/json`
```ts
{
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
}
}
```
- 400 Bad request
`application/json`
```ts
{
success: boolean
errors: {
code: integer
message: string
}[]
messages:#/components/schemas/ErrorOrMessage[]
result: {
}
}
```
***
### [GET]/zones/{cfid}
- Summary
Get domain
#### Responses
- 200 Returns domain
`application/json`
```ts
{
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
}
}
```
- 404 Returns not found
`application/json`
```ts
{
success: boolean
errors: {
code: integer
message: string
}[]
messages:#/components/schemas/ErrorOrMessage[]
result: {
}
}
```
***
### [DELETE]/zones/{domain_id}
- Summary
Delete domain
#### Responses
- 200 Deleted domain
`application/json`
```ts
{
success: boolean
errors: {
code: integer
message: string
}[]
messages:#/components/schemas/ErrorOrMessage[]
result: {
id: string
}
}
```
- 400 Bad request
`application/json`
```ts
{
success: boolean
errors: {
code: integer
message: string
}[]
messages:#/components/schemas/ErrorOrMessage[]
result: {
}
}
```
## References
### #/components/schemas/DomainRequestDTO
```ts
// Request DTO for Domain
{
// Domain name(TLD)
name: string
}
```
### #/components/schemas/ApiResponseDTO
```ts
{
success: boolean
errors: {
code: integer
message: string
}[]
messages:#/components/schemas/ErrorOrMessage[]
result: {
}
}
```
### #/components/schemas/ErrorOrMessage
```ts
{
code: integer
message: string
}
```
### #/components/schemas/ApiResponseDTODomainResponseDTO
```ts
{
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
}
}
```
### #/components/schemas/DomainResponseDTO
```ts
// Response DTO for Domain
{
// Domain CFID
id: string
// Domain name(TLD)
name: string
}
```
### #/components/schemas/RecordRequestDTO
```ts
// 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
}
```
### #/components/schemas/ApiResponseDTORecordResponseDTO
```ts
{
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
}
}
```
### #/components/schemas/RecordResponseDTO
```ts
// 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
}
```
### #/components/schemas/ApiResponseDTOListDomainResponseDTO
```ts
{
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
}[]
}
```
### #/components/schemas/ApiResponseDTOListRecordResponseDTO
```ts
{
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
}[]
}
```
### #/components/schemas/ApiResponseDTODeleteResponseWithId
```ts
{
success: boolean
errors: {
code: integer
message: string
}[]
messages:#/components/schemas/ErrorOrMessage[]
result: {
id: string
}
}
```
### #/components/schemas/DeleteResponseWithId
```ts
{
id: string
}
```
### #/components/securitySchemes/api token
```ts
{
"type": "http",
"scheme": "bearer"
}
```

801
openapi.json Normal file
View File

@ -0,0 +1,801 @@
{
"openapi": "3.0.1",
"info": {
"title": "Cloudflare compatible PowerDNS API Server",
"version": "v1.0.0"
},
"servers": [
{
"url": "http://localhost:8080",
"description": "Generated server url"
}
],
"security": [
{
"api token": []
}
],
"paths": {
"/zones": {
"get": {
"tags": [
"domain"
],
"summary": "Get all domains",
"operationId": "allDomains",
"responses": {
"200": {
"description": "Returns all domains",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseDTOListDomainResponseDTO"
}
}
}
},
"404": {
"description": "Returns not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseDTO"
}
}
}
}
}
},
"post": {
"tags": [
"domain"
],
"summary": "Create domain",
"operationId": "createDomain",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DomainRequestDTO"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Created domain",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseDTODomainResponseDTO"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseDTO"
}
}
}
}
}
}
},
"/zones/{zone_id}/dns_records": {
"get": {
"tags": [
"record"
],
"summary": "Get all records",
"operationId": "allRecords",
"parameters": [
{
"name": "zone_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return All Records",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseDTOListRecordResponseDTO"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseDTO"
}
}
}
}
}
},
"post": {
"tags": [
"record"
],
"summary": "Add Record by ID",
"operationId": "createRecord",
"parameters": [
{
"name": "zone_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RecordRequestDTO"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Return Record",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseDTORecordResponseDTO"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseDTO"
}
}
}
}
}
}
},
"/zones/{zone_id}/dns_records/{dns_record_id}": {
"get": {
"tags": [
"record"
],
"summary": "Get Record by ID",
"operationId": "getRecordByCfid",
"parameters": [
{
"name": "zone_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "dns_record_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return Record",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseDTORecordResponseDTO"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseDTO"
}
}
}
}
}
},
"delete": {
"tags": [
"record"
],
"summary": "Remove Record by ID",
"operationId": "deleteRecord",
"parameters": [
{
"name": "zone_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "dns_record_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return Record",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseDTODeleteResponseWithId"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseDTO"
}
}
}
}
}
},
"put": {
"tags": [
"record"
],
"summary": "Update Record by ID",
"operationId": "updateRecord",
"parameters": [
{
"name": "zone_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "dns_record_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RecordRequestDTO"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Return Record",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseDTORecordResponseDTO"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseDTO"
}
}
}
}
}
}
},
"/zones/{cfid}": {
"get": {
"tags": [
"domain"
],
"summary": "Get domain",
"operationId": "getDomainByCfid",
"parameters": [
{
"name": "cfid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Returns domain",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseDTODomainResponseDTO"
}
}
}
},
"404": {
"description": "Returns not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseDTO"
}
}
}
}
}
}
},
"/zones/{domain_id}": {
"delete": {
"tags": [
"domain"
],
"summary": "Delete domain",
"operationId": "deleteDomain",
"parameters": [
{
"name": "domain_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Deleted domain",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseDTODeleteResponseWithId"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseDTO"
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"DomainRequestDTO": {
"required": [
"name"
],
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Domain name(TLD)",
"example": "example.com"
}
},
"description": "Request DTO for Domain"
},
"ApiResponseDTO": {
"required": [
"errors",
"messages",
"success"
],
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ErrorOrMessage"
}
},
"messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ErrorOrMessage"
}
},
"result": {
"type": "object"
}
}
},
"ErrorOrMessage": {
"required": [
"code",
"message"
],
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
}
}
},
"ApiResponseDTODomainResponseDTO": {
"required": [
"errors",
"messages",
"success"
],
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ErrorOrMessage"
}
},
"messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ErrorOrMessage"
}
},
"result": {
"$ref": "#/components/schemas/DomainResponseDTO"
}
}
},
"DomainResponseDTO": {
"required": [
"id",
"name"
],
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Domain CFID",
"example": "123e4567e89b12d3a456426655440000"
},
"name": {
"type": "string",
"description": "Domain name(TLD)",
"example": "example.com"
}
},
"description": "Response DTO for Domain"
},
"RecordRequestDTO": {
"required": [
"comment",
"content",
"name",
"proxied",
"ttl",
"type"
],
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "Record type",
"example": "A"
},
"name": {
"type": "string",
"description": "Host name",
"example": "www"
},
"content": {
"type": "string",
"description": "Record data",
"example": "192.0.2.1"
},
"ttl": {
"type": "integer",
"description": "TTL (Time to Live)",
"format": "int32",
"example": 3600
},
"priority": {
"type": "integer",
"description": "Priority",
"format": "int32",
"example": 0
},
"proxied": {
"type": "boolean",
"description": "Proxied: cloudflare api compatibility",
"example": false
},
"comment": {
"type": "string",
"description": "comment"
}
},
"description": "Request DTO for Record"
},
"ApiResponseDTORecordResponseDTO": {
"required": [
"errors",
"messages",
"success"
],
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ErrorOrMessage"
}
},
"messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ErrorOrMessage"
}
},
"result": {
"$ref": "#/components/schemas/RecordResponseDTO"
}
}
},
"RecordResponseDTO": {
"required": [
"content",
"createdOn",
"id",
"locked",
"modifiedOn",
"name",
"proxiable",
"proxied",
"ttl",
"type",
"zoneId",
"zoneName"
],
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Record ID",
"example": "123e4567e89b12d3a456426655440001"
},
"type": {
"type": "string",
"description": "Record type",
"example": "A"
},
"name": {
"type": "string",
"description": "Record name",
"example": "test"
},
"content": {
"type": "string",
"description": "Record content",
"example": "1.1.1.1"
},
"zoneId": {
"type": "string",
"description": "Zone(TLD) ID",
"example": "123e4567e89b12d3a456426655440001"
},
"zoneName": {
"type": "string",
"description": "Zone name(TLD)",
"example": "example.com"
},
"createdOn": {
"type": "string",
"description": "Record creation time",
"example": "2014-01-01T05:20:00.12345Z"
},
"modifiedOn": {
"type": "string",
"description": "Record modification time",
"example": "2014-01-01T05:20:00.12345Z"
},
"priority": {
"type": "integer",
"description": "Record priority",
"format": "int32",
"example": 0
},
"proxiable": {
"type": "boolean",
"description": "is proxyable: must false",
"example": false
},
"proxied": {
"type": "boolean",
"description": "is proxied: must false",
"example": false
},
"ttl": {
"type": "integer",
"description": "Record TTL",
"format": "int32",
"example": 300
},
"locked": {
"type": "boolean",
"description": "Record is locked: must false",
"example": false
},
"comment": {
"type": "string",
"description": "Record comments"
}
},
"description": "Response DTO for Record"
},
"ApiResponseDTOListDomainResponseDTO": {
"required": [
"errors",
"messages",
"success"
],
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ErrorOrMessage"
}
},
"messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ErrorOrMessage"
}
},
"result": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DomainResponseDTO"
}
}
}
},
"ApiResponseDTOListRecordResponseDTO": {
"required": [
"errors",
"messages",
"success"
],
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ErrorOrMessage"
}
},
"messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ErrorOrMessage"
}
},
"result": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RecordResponseDTO"
}
}
}
},
"ApiResponseDTODeleteResponseWithId": {
"required": [
"errors",
"messages",
"success"
],
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ErrorOrMessage"
}
},
"messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ErrorOrMessage"
}
},
"result": {
"$ref": "#/components/schemas/DeleteResponseWithId"
}
}
},
"DeleteResponseWithId": {
"required": [
"id"
],
"type": "object",
"properties": {
"id": {
"type": "string"
}
}
}
},
"securitySchemes": {
"api token": {
"type": "http",
"scheme": "bearer"
}
}
}
}