components: examples: ErrorinternalServerError: value: Code: internalServerError Message: An unexpected application error. ErrornotFound: value: Code: notFound Message: not found parameters: Authorization: in: header name: Authorization required: true schema: type: string aliasDomain: in: query name: aliasDomain required: true schema: type: string date: in: query name: date schema: type: string dateFrom: in: query name: dateFrom required: true schema: type: string dateTo: in: query name: dateTo required: true schema: type: string days: in: query name: days schema: type: integer domainName: in: query name: domainName required: true schema: type: string filter: in: query name: filter required: true schema: type: string id: in: path name: id required: true schema: type: string responses: default: description: "" schemas: Alias: properties: aliasDomain: format: string type: string certificate: $ref: '#/components/schemas/SslCert' clientServiceId: format: UUIDShort type: string cnameCleanup: default: false format: boolean type: boolean cnameVerified: default: false format: boolean type: boolean created: format: dateTime type: string domainId: format: UUIDShort type: string id: format: UUIDShort type: string isCloudDnsZone: default: false format: boolean type: boolean lastCheck: format: dateTime type: string lastUpdate: format: dateTime type: string required: - id - created - lastUpdate - clientServiceId - lastCheck - domainId - aliasDomain type: object ClientLight: properties: companyName: format: string type: string id: format: UUIDShort type: string required: - id - companyName type: object ClientServiceDataItem: properties: dateFrom: format: dateTime type: string dateTill: format: dateTime type: string extraCost: format: decimal type: number fixCost: format: decimal type: number traffic: format: int64 type: string trafficOver: format: int64 type: string required: - dateFrom - dateTill - traffic - trafficOver - fixCost - extraCost type: object ClientServiceLight: properties: id: format: UUIDShort type: string name: format: string type: string required: - id - name type: object Country: properties: id: description: ISO3 country code. format: id type: string nameJsonObject: $ref: '#/components/schemas/CountryJsonObject' required: - id - nameJsonObject type: object CountryJsonObject: properties: cs: format: string type: string en: format: string type: string required: - en - cs type: object Domain: properties: client: $ref: '#/components/schemas/ClientLight' clientId: format: UUIDShort type: string clientService: $ref: '#/components/schemas/ClientServiceLight' clientServiceId: format: UUIDShort type: string created: format: dateTime type: string domainName: format: string type: string forceCache: format: boolean type: boolean forceCacheTime: format: int64 nullable: true type: string geoIpCountries: format: stringArray items: type: string nullable: true type: array geoIpMode: default: BLACKLIST enum: - BLACKLIST - WHITELIST format: string type: string id: format: UUIDShort type: string imgApiKey: format: string type: string imgApiSalt: format: string type: string lastUpdate: format: dateTime type: string locations: format: objectArray items: $ref: '#/components/schemas/LocationJsonObject' type: array proxyDomain: format: string type: string remoteLogDestination: format: string nullable: true type: string remoteLogType: default: SYSLOG enum: - SYSLOG - RABBIT_MQ - LOGGLY format: string nullable: true type: string status: default: ACTIVE enum: - ACTIVE - DISABLED - SUSPENDED_ACTIVE - SUSPENDED_DISABLED - DELETED format: string type: string webp: format: boolean type: boolean required: - id - domainName - proxyDomain - locations - forceCache - created - lastUpdate - clientServiceId - clientService - clientId - client - imgApiKey - imgApiSalt - webp type: object DomainDataItem: properties: dateFrom: format: dateTime type: string dateTill: format: dateTime type: string hits: format: int64 type: string miss: format: int64 type: string ratio: format: float type: number traffic: format: int64 type: string required: - dateFrom - dateTill - traffic - hits - miss - ratio type: object DomainLogItem: properties: date: format: dateTime type: string link: format: string type: string linkHtml: format: string type: string type: enum: - ACCESS - GOACCESS - ERROR format: string type: string required: - type - date - link - linkHtml type: object Error: format: error properties: code: type: string message: type: string Location: properties: id: description: Binary representation of location id. E.g. 0001 = 1, 0010 = 2, 0100 = 4, 1000 = 8 etc. (sequence is 1, 2, 4, 8, 16...) format: int64 type: string name: format: string type: string required: - id - name type: object LocationJsonObject: properties: id: format: int64 type: string name: format: string type: string required: - id - name type: object NodeTaskQueueConsolidated: properties: action: default: NODE_CONFIG enum: - NODE_CONFIG - DOMAIN_CONFIG - PURGE - WARM format: string type: string created: format: dateTime type: string domainId: format: UUIDShort nullable: true type: string id: format: UUIDShort type: string priority: format: int type: integer processGroupId: format: UUIDShort type: string progress: format: float type: number status: default: CREATED enum: - CREATED - PENDING - RUNNING - PAUSED - CANCELLED - FINISHED - FAILED format: string type: string taskDescription: format: text nullable: true type: string taskFinished: format: dateTime nullable: true type: string taskStarted: format: dateTime nullable: true type: string userFullName: format: string nullable: true type: string userId: format: UUIDShort nullable: true type: string required: - id - processGroupId - created - priority - progress type: object PricelistItemJsonObject: properties: currencyId: example: CZK format: string type: string id: format: UUIDShort type: string individual: default: false format: boolean type: boolean languageId: example: cz format: string type: string name: example: CDN Global Unlimited format: string type: string pricelistParams: format: objectArray items: $ref: '#/components/schemas/PricelistParamsJsonObject' type: array regularPeriod: format: string type: string regularPrice: format: float type: number tariffType: enum: - SIMPLE - RANGE format: string type: string trialDays: format: int type: integer required: - id - currencyId - languageId - name - tariffType - trialDays - regularPrice - regularPeriod - pricelistParams type: object PricelistParamsJsonObject: properties: incrementSize: format: float type: number invoiceItemSequence: format: int type: integer invoiceTextIncrement: example: Invoice item text increment format: string nullable: true type: string invoiceTextRegular: example: Invoice item text regular format: string nullable: true type: string limitFrom: format: float type: number limitTo: format: float nullable: true type: number metricId: enum: - CDN_DATA - CDN_DOMAINS - CDN_LOCALITY - MAILBOX_COUNT - MAILBOX_SIZE - MESSAGES format: string type: string minimumAmount: format: float type: number multiplierToBaseUnit: example: 1, 1000, 1000000 format: float type: number name: example: CDN data format: string type: string pricePerIncrement: format: float type: number unitId: enum: - B - kB - MB - GB - TB - PCS format: string type: string required: - name - limitFrom - incrementSize - pricePerIncrement - minimumAmount - unitId - multiplierToBaseUnit - invoiceItemSequence - metricId type: object RequestPostAlias: properties: aliasDomain: format: string type: string domainId: format: UUIDShort type: string required: - domainId - aliasDomain type: object RequestPostDomain: properties: backendDomain: format: string type: string cdnDomain: format: string type: string clientServiceId: format: UUIDShort type: string disabled: format: boolean type: boolean location: format: int64 type: string required: - clientServiceId - backendDomain - cdnDomain - location - disabled type: object RequestPostDomainIdPurge: properties: params: format: stringArray items: type: string type: array required: - params type: object RequestPostDomainIdWarm: properties: params: format: stringArray items: type: string type: array required: - params type: object RequestPutDomainId: properties: backendDomain: format: string type: string forceCache: format: boolean type: boolean forceCacheTime: format: int64 nullable: true type: string geoIpCountries: format: stringArray items: type: string nullable: true type: array geoIpMode: default: BLACKLIST enum: - BLACKLIST - WHITELIST format: string nullable: true type: string location: format: int64 type: string remoteLogDestination: format: string nullable: true type: string remoteLogType: default: SYSLOG enum: - SYSLOG - RABBIT_MQ - LOGGLY format: string nullable: true type: string webp: format: boolean type: boolean required: - backendDomain - location - forceCache - webp type: object ResponseAlias: properties: aliasDomain: format: string type: string certificate: $ref: '#/components/schemas/SslCert' clientServiceId: format: UUIDShort type: string cnameCleanup: default: false format: boolean type: boolean cnameVerified: default: false format: boolean type: boolean created: format: dateTime type: string domainId: format: UUIDShort type: string id: format: UUIDShort type: string isCloudDnsZone: default: false format: boolean type: boolean lastCheck: format: dateTime type: string lastUpdate: format: dateTime type: string required: - id - created - lastUpdate - clientServiceId - lastCheck - domainId - aliasDomain type: object ResponseClientService: properties: allowedLocations: format: objectArray items: $ref: '#/components/schemas/LocationJsonObject' type: array client: $ref: '#/components/schemas/ClientLight' clientId: format: UUIDShort type: string created: format: dateTime type: string domainLimit: default: "" format: int type: integer domainUsed: format: int type: integer id: format: UUIDShort type: string lastUpdate: format: dateTime type: string name: format: string type: string pricelistParams: $ref: '#/components/schemas/PricelistItemJsonObject' status: default: ACTIVE enum: - ACTIVE - SUSPENDED - DELETED format: string type: string trialEnds: format: dateTime type: string validFrom: format: dateTime type: string required: - id - clientId - name - created - lastUpdate - validFrom - trialEnds - domainUsed - pricelistParams - allowedLocations - client - domainLimit type: object ResponseClientServiceAggregatedData: properties: dateFrom: format: dateTime type: string dateTo: format: dateTime type: string hits: format: int64 type: string miss: format: int64 type: string traffic: format: int64 type: string required: - traffic - hits - miss - dateFrom - dateTo type: object ResponseClientServiceData: properties: data: format: objectArray items: $ref: '#/components/schemas/ClientServiceDataItem' type: array required: - data type: object ResponseClientServiceTrialTermination: properties: endOfTrial: format: dateTime type: string required: - endOfTrial type: object ResponseDomain: properties: client: $ref: '#/components/schemas/ClientLight' clientId: format: UUIDShort type: string clientService: $ref: '#/components/schemas/ClientServiceLight' clientServiceId: format: UUIDShort type: string created: format: dateTime type: string domainName: format: string type: string forceCache: format: boolean type: boolean forceCacheTime: format: int64 nullable: true type: string geoIpCountries: format: stringArray items: type: string nullable: true type: array geoIpMode: default: BLACKLIST enum: - BLACKLIST - WHITELIST format: string type: string id: format: UUIDShort type: string imgApiKey: format: string type: string imgApiSalt: format: string type: string lastUpdate: format: dateTime type: string locations: format: objectArray items: $ref: '#/components/schemas/LocationJsonObject' type: array proxyDomain: format: string type: string remoteLogDestination: format: string nullable: true type: string remoteLogType: default: SYSLOG enum: - SYSLOG - RABBIT_MQ - LOGGLY format: string nullable: true type: string status: default: ACTIVE enum: - ACTIVE - DISABLED - SUSPENDED_ACTIVE - SUSPENDED_DISABLED - DELETED format: string type: string webp: format: boolean type: boolean required: - id - domainName - proxyDomain - locations - forceCache - created - lastUpdate - clientServiceId - clientService - clientId - client - imgApiKey - imgApiSalt - webp type: object ResponseDomainAliasList: properties: items: format: objectArray items: $ref: '#/components/schemas/Alias' type: array required: - items type: object ResponseDomainData: properties: data: format: objectArray items: $ref: '#/components/schemas/DomainDataItem' type: array required: - data type: object ResponseDomainLog: properties: list: format: objectArray items: $ref: '#/components/schemas/DomainLogItem' type: array required: - list type: object ResponseDomainPurge: properties: purgeLinks: format: stringArray items: type: string type: array purgeTasks: format: objectArray items: $ref: '#/components/schemas/NodeTaskQueueConsolidated' type: array required: - purgeTasks - purgeLinks type: object ResponseDomainWarm: properties: maxWarmItems: format: int type: integer warmTasks: format: objectArray items: $ref: '#/components/schemas/NodeTaskQueueConsolidated' type: array required: - warmTasks - maxWarmItems type: object ResponseDomains: properties: domains: format: objectArray items: $ref: '#/components/schemas/Domain' type: array required: - domains type: object ResponseGetAliasChallenge: type: object ResponseProcessGroup: properties: processGroupId: format: UUIDShort nullable: true type: string type: object ResponseSettings: properties: countries: format: objectArray items: $ref: '#/components/schemas/Country' type: array geoIpMode: format: stringArray items: type: string type: array locations: format: objectArray items: $ref: '#/components/schemas/Location' type: array remoteLogType: format: stringArray items: type: string type: array required: - geoIpMode - remoteLogType - locations - countries type: object ResponseSoaTtl: properties: soaTtl: format: int type: integer required: - soaTtl type: object ResponseSuccess: properties: success: format: boolean type: boolean required: - success type: object SslCert: properties: expirationDate: format: dateTime nullable: true type: string id: format: UUIDShort type: string status: enum: - WAITING_FOR_CHALLENGE - CHALLENGE - ACTIVE - EXPIRED format: string type: string required: - id - status type: object info: contact: email: vyvoj@vshosting.cz description: OpenAPI 3.0.0 documentation for VSHosting s.r.o. project Cdn. license: name: VSHosting s.r.o. client licence url: http://www.vshosting.cz title: Cdn-public version: b351c05abd80d765db5d830240fecbd2 openapi: 3.0.0 paths: /api/public/alias: post: operationId: PostAlias parameters: - $ref: '#/components/parameters/Authorization' requestBody: content: application/json: schema: $ref: '#/components/schemas/RequestPostAlias' responses: "200": content: application/json: schema: $ref: '#/components/schemas/ResponseAlias' description: Success response tags: - Alias /api/public/alias/{id}: delete: operationId: DeleteAliasById parameters: - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/Authorization' responses: "200": content: application/json: schema: $ref: '#/components/schemas/ResponseSuccess' description: Success response tags: - Alias /api/public/alias/{id}/add-records: put: operationId: PutAliasByIdAddRecords parameters: - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/Authorization' responses: "200": content: application/json: schema: $ref: '#/components/schemas/ResponseSoaTtl' description: Success response tags: - Alias /api/public/alias/{id}/verify-records: put: operationId: PutAliasByIdVerifyRecords parameters: - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/Authorization' responses: "200": content: application/json: schema: $ref: '#/components/schemas/ResponseAlias' description: Success response tags: - Alias /api/public/alias/challenge: get: operationId: GetAliasChallenge parameters: - $ref: '#/components/parameters/aliasDomain' responses: "200": content: application/json: schema: $ref: '#/components/schemas/ResponseGetAliasChallenge' description: Success response "404": content: application/json: examples: notFound: $ref: '#/components/examples/ErrornotFound' schema: $ref: '#/components/schemas/Error' description: Error response "500": content: application/json: examples: internalServerError: $ref: '#/components/examples/ErrorinternalServerError' schema: $ref: '#/components/schemas/Error' description: Error response tags: - Alias /api/public/client-service/{id}: get: operationId: GetClientServiceById parameters: - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/Authorization' responses: "200": content: application/json: schema: $ref: '#/components/schemas/ResponseClientService' description: Success response tags: - ClientService /api/public/client-service/{id}/data: get: operationId: GetClientServiceByIdData parameters: - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/filter' - $ref: '#/components/parameters/days' - $ref: '#/components/parameters/date' - $ref: '#/components/parameters/Authorization' responses: "200": content: application/json: schema: $ref: '#/components/schemas/ResponseClientServiceData' description: Success response tags: - ClientService /api/public/client-service/{id}/data-aggregation: get: operationId: GetClientServiceByIdDataAggregation parameters: - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/dateFrom' - $ref: '#/components/parameters/dateTo' - $ref: '#/components/parameters/Authorization' responses: "200": content: application/json: schema: $ref: '#/components/schemas/ResponseClientServiceAggregatedData' description: Success response tags: - ClientService /api/public/client-service/{id}/domain-recent-deleted: get: operationId: GetClientServiceByIdDomainRecentDeleted parameters: - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/domainName' - $ref: '#/components/parameters/Authorization' responses: "200": content: application/json: schema: $ref: '#/components/schemas/ResponseDomain' description: Success response tags: - ClientService /api/public/client-service/{id}/domains: get: operationId: GetClientServiceByIdDomains parameters: - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/Authorization' responses: "200": content: application/json: schema: $ref: '#/components/schemas/ResponseDomains' description: Success response tags: - ClientService /api/public/client-service/{id}/trial-termination: put: operationId: PutClientServiceByIdTrialTermination parameters: - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/Authorization' responses: "200": content: application/json: schema: $ref: '#/components/schemas/ResponseClientServiceTrialTermination' description: Success response tags: - ClientService /api/public/domain: post: operationId: PostDomain parameters: - $ref: '#/components/parameters/Authorization' requestBody: content: application/json: schema: $ref: '#/components/schemas/RequestPostDomain' responses: "200": content: application/json: schema: $ref: '#/components/schemas/ResponseDomain' description: Success response tags: - Domain /api/public/domain/{id}: delete: operationId: DeleteDomainById parameters: - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/Authorization' responses: "200": content: application/json: schema: $ref: '#/components/schemas/ResponseSuccess' description: Success response tags: - Domain get: operationId: GetDomainById parameters: - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/Authorization' responses: "200": content: application/json: schema: $ref: '#/components/schemas/ResponseDomain' description: Success response tags: - Domain put: operationId: PutDomainById parameters: - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/Authorization' requestBody: content: application/json: schema: $ref: '#/components/schemas/RequestPutDomainId' responses: "200": content: application/json: schema: $ref: '#/components/schemas/ResponseDomain' description: Success response tags: - Domain /api/public/domain/{id}/activate: put: operationId: PutDomainByIdActivate parameters: - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/Authorization' responses: "200": content: application/json: schema: $ref: '#/components/schemas/ResponseSuccess' description: Success response tags: - Domain /api/public/domain/{id}/aliases: get: operationId: GetDomainByIdAliases parameters: - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/Authorization' responses: "200": content: application/json: schema: $ref: '#/components/schemas/ResponseDomainAliasList' description: Success response tags: - Domain /api/public/domain/{id}/data: get: operationId: GetDomainByIdData parameters: - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/filter' - $ref: '#/components/parameters/days' - $ref: '#/components/parameters/date' - $ref: '#/components/parameters/Authorization' responses: "200": content: application/json: schema: $ref: '#/components/schemas/ResponseDomainData' description: Success response tags: - Domain /api/public/domain/{id}/deactivate: put: operationId: PutDomainByIdDeactivate parameters: - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/Authorization' responses: "200": content: application/json: schema: $ref: '#/components/schemas/ResponseSuccess' description: Success response tags: - Domain /api/public/domain/{id}/log: get: operationId: GetDomainByIdLog parameters: - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/dateFrom' - $ref: '#/components/parameters/dateTo' - $ref: '#/components/parameters/Authorization' responses: "200": content: application/json: schema: $ref: '#/components/schemas/ResponseDomainLog' description: Success response tags: - Domain /api/public/domain/{id}/purge: get: operationId: GetDomainByIdPurge parameters: - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/Authorization' responses: "200": content: application/json: schema: $ref: '#/components/schemas/ResponseDomainPurge' description: Success response tags: - Domain post: operationId: PostDomainByIdPurge parameters: - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/Authorization' requestBody: content: application/json: schema: $ref: '#/components/schemas/RequestPostDomainIdPurge' responses: "200": content: application/json: schema: $ref: '#/components/schemas/ResponseProcessGroup' description: Success response tags: - Domain /api/public/domain/{id}/verify-records: put: operationId: PutDomainByIdVerifyRecords parameters: - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/Authorization' responses: "200": content: application/json: schema: $ref: '#/components/schemas/ResponseSuccess' description: Success response tags: - Domain /api/public/domain/{id}/warm: get: operationId: GetDomainByIdWarm parameters: - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/Authorization' responses: "200": content: application/json: schema: $ref: '#/components/schemas/ResponseDomainWarm' description: Success response tags: - Domain post: operationId: PostDomainByIdWarm parameters: - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/Authorization' requestBody: content: application/json: schema: $ref: '#/components/schemas/RequestPostDomainIdWarm' responses: "200": content: application/json: schema: $ref: '#/components/schemas/ResponseProcessGroup' description: Success response tags: - Domain /api/public/settings: get: operationId: GetSettings parameters: - $ref: '#/components/parameters/Authorization' responses: "200": content: application/json: schema: $ref: '#/components/schemas/ResponseSettings' description: Success response tags: - Settings tags: - name: Alias - name: ClientService - name: Domain - name: Settings