openapi: 3.0.1 info: title: VegaDNS API description: Manage your DNS records with the VegaDNS API version: 1.0.0 servers: - url: http://localhost:5000/1.0 - url: https://localhost:5000/1.0 security: - BasicAuth: [] - BearerToken: [] paths: /accounts: get: tags: - Accounts summary: List accounts parameters: - name: search in: query description: Search string to match first name, last name, or email schema: type: string responses: 200: description: OK content: {} post: tags: - Accounts summary: Create a new account requestBody: content: application/x-www-form-urlencoded: schema: required: - account_type - email - first_name - last_name properties: first_name: type: string description: First name last_name: type: string description: Last name email: type: string description: Email account account_type: type: string description: Account type, one of 'senior_admin' or 'user' phone: type: string description: Phone number password: type: string description: Account password required: true responses: 200: description: OK content: {} 400: description: On invalid or missing parameters content: {} /accounts/{account_id}: get: tags: - Accounts summary: Get an account by id parameters: - name: account_id in: path description: The account id required: true schema: type: integer responses: 200: description: OK content: {} put: tags: - Accounts summary: Update an account parameters: - name: account_id in: path description: The account id required: true schema: type: integer requestBody: content: application/x-www-form-urlencoded: schema: required: - account_type - email - first_name - last_name - status properties: first_name: type: string description: First name last_name: type: string description: Last name email: type: string description: Email account account_type: type: string description: Account type, one of 'senior_admin' or 'user' phone: type: string description: Phone number status: type: string description: Account status, either 'active' or 'inactive' password: type: string description: Account password required: true responses: 200: description: OK content: {} 400: description: On invalid or missing parameters content: {} /apikey/{apikey_id}: get: tags: - API Keys summary: Get a single API Key by ID parameters: - name: apikey_id in: path description: API Key ID required: true schema: type: integer responses: 200: description: OK content: {} 404: description: Not Found content: {} put: tags: - API Keys summary: Update the description of an API Key parameters: - name: apikey_id in: path description: API Key ID required: true schema: type: integer requestBody: content: application/x-www-form-urlencoded: schema: properties: description: type: string description: API Key Description responses: 200: description: OK content: {} delete: tags: - API Keys summary: Delete an API Key parameters: - name: apikey_id in: path description: API Key ID required: true schema: type: integer responses: 200: description: OK content: {} /apikeys: get: tags: - API Keys summary: | List API keys parameters: - name: account_ids in: query description: Comma separated list of account ids to filter by schema: type: string responses: 200: description: OK content: {} post: tags: - API Keys summary: Create a new API Key and Secret requestBody: content: application/x-www-form-urlencoded: schema: properties: apikey: type: string description: API Key Description account_id: type: integer description: Account ID to create the key for. Default is the account id of the logged in user. format: int32 responses: 201: description: OK content: {} /audit_logs: get: tags: - Audit Logs summary: List audit logs, optionally filtering by domain_ids parameters: - name: domain_ids in: query description: Comma delimited list of domain ids to filter by schema: type: string - name: search in: query description: Optional search string for the entry column schema: type: string - name: sort in: query description: Field to sort by, can be one of 'time', 'log_id', or 'domain_id' schema: type: string - name: page in: query description: Indicates the desired page schema: type: number - name: perpage in: query description: Indicates the number of items per page schema: type: number - name: order in: query description: Order the results, can be 'asc' or 'desc', defaults to 'asc' schema: type: string responses: 200: description: OK content: {} /default_records: get: tags: - Default Records summary: Get a list of default records parameters: - name: filter_record_type in: query description: Record type to filter on, can be one of 'A', 'AAAA', 'A+PTR', 'AAAA+PTR', 'NS', 'SOA', 'MX', 'PTR', 'CNAME', 'PTR', 'TXT', 'SPF' schema: type: string responses: 200: description: OK content: {} post: tags: - Default Records summary: Create a new default record. description: You can use the wildcard placeholder DOMAIN in the 'name' parameter for the domain's name later, i.e. www.DOMAIN would become www.example.com for domain example.com. requestBody: content: application/x-www-form-urlencoded: schema: required: - name - record_type - value properties: record_type: type: string description: Record type must be one of 'A', 'AAAA', 'A+PTR', 'AAAA+PTR', 'NS', 'SOA', 'MX', 'PTR', 'CNAME', 'PTR', 'TXT', 'SPF' name: type: string description: Record name, e.g. "www.example.com" value: type: string description: Record value, e.g. "192.168.1.1" ttl: type: string description: Time to live, defaults to 3600 for all record types but SOA, which has a default of 86400 distance: type: integer description: Record distance, only for MX and SRV record types, defaults to 0 format: int32 weight: type: integer description: Record weight, only for MX and SRV record types format: int32 port: type: integer description: Record port, only for SRV record type format: int32 email: type: string description: Contact address, used only for SOA record type nameserver: type: string description: Primary nameserver, e.g. ns1.example.com, used only for SOA record type refresh: type: integer description: Refresh in seconds, used only for SOA record type. Defaults to 16374. format: int32 retry: type: integer description: Retry in seconds, used only for SOA record type. Defaults to 2048. format: int32 expire: type: integer description: Expire in seconds, used only for SOA record type. Defaults to 1048576 format: int32 minimum: type: integer description: Minimum in seconds, used only for SOA record type. Defaults to 2560. format: int32 serial: type: string description: Serial number, used only for SOA record type required: true responses: 201: description: OK content: {} /default_records/{record_id}: get: tags: - Default Records summary: Get record by id parameters: - name: record_id in: path description: The record id required: true schema: type: integer responses: 200: description: OK content: {} put: tags: - Default Records summary: Modify a default record description: You can use the wildcard placeholder DOMAIN in the 'name' parameter for the domain's name later, i.e. www.DOMAIN would become www.example.com for domain example.com. parameters: - name: record_id in: path description: The record id required: true schema: type: integer requestBody: content: application/x-www-form-urlencoded: schema: required: - name - value properties: ttl: type: string description: Time to live, defaults to 3600 for all record types but SOA, which has a default of 86400 name: type: string description: Record name, e.g. "www.example.com" value: type: string description: Record value, e.g. "192.168.1.1" distance: type: integer description: Record distance, only for MX and SRV record types, defaults to 0 format: int32 weight: type: integer description: Record weight, only for MX and SRV record types format: int32 port: type: integer description: Record port, only for SRV record type format: int32 email: type: string description: Contact address, used only for SOA record type nameserver: type: string description: Primary nameserver, e.g. ns1.example.com, used only for SOA record type refresh: type: integer description: Refresh in seconds, used only for SOA record type. Defaults to 16374. format: int32 retry: type: integer description: Retry in seconds, used only for SOA record type. Defaults to 2048. format: int32 expire: type: integer description: Expire in seconds, used only for SOA record type. Defaults to 1048576 format: int32 minimum: type: integer description: Minimum in seconds, used only for SOA record type. Defaults to 2560. format: int32 serial: type: string description: Serial number, used only for SOA record type required: true responses: 200: description: OK content: {} delete: tags: - Default Records summary: Delete a default record by id parameters: - name: record_id in: path description: The record id required: true schema: type: integer responses: 200: description: OK content: {} /domaingroupmaps: get: tags: - Groups summary: List domain group maps description: Must include either group_id, domain_id, or both parameters: - name: group_id in: query description: Group ID schema: type: integer - name: domain_id in: query description: Domain ID schema: type: integer responses: 200: description: OK content: {} post: tags: - Groups summary: Create a domain group map requestBody: content: application/x-www-form-urlencoded: schema: required: - can_delete - can_read - can_write - domain_id - group_id properties: group_id: type: integer description: The group id format: int32 domain_id: type: integer description: The domain id format: int32 can_read: type: integer description: Whether a group has read access to a domain. 1 for true, 0 for false. format: int32 can_write: type: integer description: Whether a group has write access to a domain. 1 for true, 0 for false. format: int32 can_delete: type: integer description: Whether a group has delete access to a domain. 1 for true, 0 for false. format: int32 required: true responses: 201: description: OK content: {} /domaingroupmaps/{map_id}: get: tags: - Groups summary: List domain group maps description: Must include either group_id, domain_id, or both parameters: - name: map_id in: path description: The domain group map id required: true schema: type: integer responses: 200: description: OK content: {} put: tags: - Groups summary: Edit a domain group map parameters: - name: map_id in: path description: The domain group map id required: true schema: type: integer requestBody: content: application/x-www-form-urlencoded: schema: required: - can_delete - can_read - can_write - domain_id - group_id properties: group_id: type: integer description: The group id format: int32 domain_id: type: integer description: The domain id format: int32 can_read: type: integer description: Whether a group has read access to a domain. 1 for true, 0 for false. format: int32 can_write: type: integer description: Whether a group has write access to a domain. 1 for true, 0 for false. format: int32 can_delete: type: integer description: Whether a group has delete access to a domain. 1 for true, 0 for false. format: int32 required: true responses: 200: description: OK content: {} delete: tags: - Groups summary: Delete a domain group map parameters: - name: map_id in: path description: The domain group map id required: true schema: type: integer responses: 200: description: OK content: {} /domains: get: tags: - Domains summary: | List domains that you have at least read permission on. parameters: - name: page in: query description: Indicates the desired page schema: type: number - name: perpage in: query description: Indicates the number of items per page schema: type: number - name: sort in: query description: Sort the results by either 'name' or 'status' schema: type: string - name: order in: query description: Order the results, can be 'asc' or 'desc', defaults to 'asc' schema: type: string - name: search in: query description: Search string to match agains domain names schema: type: string - name: include_permissions in: query description: Whether to include domain permissions in the result schema: type: string responses: 200: description: OK content: {} post: tags: - Domains summary: Create a new domain requestBody: content: application/x-www-form-urlencoded: schema: required: - domain properties: domain: type: string description: The domain name to create required: true responses: 201: description: OK content: {} 400: description: Domain name is in valid or already in use content: {} /domains/{domain_id}: get: tags: - Domains summary: Get a single domain parameters: - name: domain_id in: path description: Domain id required: true schema: type: integer - name: include_permissions in: query description: Whether to include domain permissions in the result schema: type: string responses: 200: description: OK content: {} put: tags: - Domains summary: Modify a domain parameters: - name: domain_id in: path description: Domain id required: true schema: type: integer requestBody: content: application/x-www-form-urlencoded: schema: properties: owner_id: type: integer description: The account_id of the domain owner format: int32 status: type: string description: Use 'active' or 'inactive' to indicate the domain's status responses: 200: description: OK content: {} delete: tags: - Domains summary: Delete domain parameters: - name: domain_id in: path description: Domain id required: true schema: type: integer responses: 200: description: OK content: {} /domains/{domain_id}/create_default_soa: post: tags: - Domains summary: Creates an SOA record for the domain if one doesn't already exist, using the default SOA record parameters: - name: domain_id in: path description: Domain id required: true schema: type: integer responses: 201: description: OK content: {} /export/tinydns: get: tags: - Export summary: Export records in tinydns data file format responses: 200: description: OK content: {} /groupmembers: get: tags: - Groups summary: List accounts that are members of a group responses: 200: description: OK content: {} post: tags: - Groups summary: Add a member to a group requestBody: content: application/x-www-form-urlencoded: schema: required: - account_id - group_id properties: group_id: type: integer description: The group id format: int32 account_id: type: integer description: The account id format: int32 is_admin: type: integer description: Whether this account has admin privileges to administer the group. 1 for true, 0 for false. Defaults to 0. format: int32 required: true responses: 200: description: OK content: {} /groupmembers/{member_id}: get: tags: - Groups summary: Get an account member of a group by member id parameters: - name: member_id in: path description: The member id required: true schema: type: integer responses: 200: description: OK content: {} put: tags: - Groups summary: Modify an account's membership in group parameters: - name: member_id in: path description: The member id required: true schema: type: integer requestBody: content: application/x-www-form-urlencoded: schema: required: - is_admin properties: is_admin: type: integer description: Whether this account has admin privileges to administer the group. 1 for true, 0 for false. Defaults to 0. format: int32 required: true responses: 200: description: OK content: {} /groups: get: tags: - Groups summary: List groups responses: 200: description: OK content: {} post: tags: - Groups summary: Create group requestBody: content: application/x-www-form-urlencoded: schema: properties: name: type: string description: Group name responses: 201: description: OK content: {} /groups/{group_id}: get: tags: - Groups summary: Get group by id parameters: - name: group_id in: path description: The group id required: true schema: type: integer responses: 200: description: OK content: {} put: tags: - Groups summary: Modify group name parameters: - name: group_id in: path description: The group id required: true schema: type: integer requestBody: content: application/x-www-form-urlencoded: schema: properties: name: type: string description: Group name responses: 200: description: OK content: {} delete: tags: - Groups summary: Delete group parameters: - name: group_id in: path description: The group id required: true schema: type: integer responses: 200: description: OK content: {} /healthcheck: get: tags: - Utility summary: Monitoring endpoint to check health status responses: 200: description: OK content: {} /login: get: tags: - Cookie Auth summary: Check cookie authentication status description: Allows cookie based clients to check current login status. responses: 200: description: OK, logged in content: {} 401: description: Not logged in content: {} post: tags: - Cookie Auth summary: Log in description: Log in for cookie authentication via email/password. requestBody: content: application/x-www-form-urlencoded: schema: required: - email - password properties: email: type: string description: Email address password: type: string description: Password required: true responses: 200: description: OK content: {} 400: description: Invalid or missing parameters content: {} 401: description: Authentication failure content: {} /logout: post: tags: - Cookie Auth summary: Log out description: Log out of cookie authentication. responses: 200: description: OK, logged out content: {} /password_reset_tokens: post: tags: - Utility summary: Create a password reset token what will be emailed to the user responses: 200: description: OK content: {} 400: description: On invalid or missing email content: {} /password_reset_tokens/{token}: get: tags: - Utility summary: Check to see if a password token is valid parameters: - name: token in: path description: The password reset token required: true schema: type: string responses: 200: description: OK if token is currently valid content: {} 404: description: Token not found or expired content: {} put: tags: - Utility summary: Reset account password and delete token parameters: - name: token in: path description: The password reset token required: true schema: type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: password: type: string description: Account password responses: 200: description: OK content: {} /records: get: tags: - Records summary: Get a list of records for a domain parameters: - name: domain_id in: query description: The domain id required: true schema: type: integer - name: search_name in: query description: Search string for the record name schema: type: string - name: search_value in: query description: Search string for the record value schema: type: string - name: filter_record_type in: query description: Record type to filter on, can be one of 'A', 'AAAA', 'A+PTR', 'AAAA+PTR', 'NS', 'SOA', 'MX', 'PTR', 'CNAME', 'PTR', 'TXT', 'SPF' schema: type: string - name: sort in: query description: Sort the results by 'name', 'value', 'ttl', 'type', or 'distance' schema: type: string - name: order in: query description: Order the results, can be 'asc' or 'desc', defaults to 'asc' schema: type: string - name: page in: query description: Indicates the desired page schema: type: number - name: perpage in: query description: Indicates the number of items per page schema: type: number responses: 200: description: OK content: {} post: tags: - Records summary: Create a new record requestBody: content: application/x-www-form-urlencoded: schema: required: - domain_id - name - record_type - value properties: domain_id: type: integer description: The domain id format: int32 record_type: type: string description: Record type must be one of 'A', 'AAAA', 'A+PTR', 'AAAA+PTR', 'NS', 'SOA', 'MX', 'PTR', 'CNAME', 'PTR', 'TXT', 'SPF' name: type: string description: Record name, e.g. "www.example.com" value: type: string description: Record value, e.g. "192.168.1.1" ttl: type: string description: Time to live, defaults to 3600 for all record types but SOA, which has a default of 86400 distance: type: integer description: Record distance, only for MX and SRV record types, defaults to 0 format: int32 weight: type: integer description: Record weight, only for MX and SRV record types format: int32 port: type: integer description: Record port, only for SRV record type format: int32 email: type: string description: Contact address, used only for SOA record type nameserver: type: string description: Primary nameserver, e.g. ns1.example.com, used only for SOA record type refresh: type: integer description: Refresh in seconds, used only for SOA record type. Defaults to 16374. format: int32 retry: type: integer description: Retry in seconds, used only for SOA record type. Defaults to 2048. format: int32 expire: type: integer description: Expire in seconds, used only for SOA record type. Defaults to 1048576 format: int32 minimum: type: integer description: Minimum in seconds, used only for SOA record type. Defaults to 2560. format: int32 serial: type: string description: Serial number, used only for SOA record type required: true responses: 201: description: OK content: {} /records/{record_id}: get: tags: - Records summary: Get record by id parameters: - name: record_id in: path description: The record id required: true schema: type: integer responses: 200: description: OK content: {} put: tags: - Records summary: Modify a record parameters: - name: record_id in: path description: The record id required: true schema: type: integer requestBody: content: application/x-www-form-urlencoded: schema: required: - name - value properties: ttl: type: string description: Time to live, defaults to 3600 for all record types but SOA, which has a default of 86400 name: type: string description: Record name, e.g. "www.example.com" value: type: string description: Record value, e.g. "192.168.1.1" distance: type: integer description: Record distance, only for MX and SRV record types, defaults to 0 format: int32 weight: type: integer description: Record weight, only for MX and SRV record types format: int32 port: type: integer description: Record port, only for SRV record type format: int32 email: type: string description: Contact address, used only for SOA record type nameserver: type: string description: Primary nameserver, e.g. ns1.example.com, used only for SOA record type refresh: type: integer description: Refresh in seconds, used only for SOA record type. Defaults to 16374. format: int32 retry: type: integer description: Retry in seconds, used only for SOA record type. Defaults to 2048. format: int32 expire: type: integer description: Expire in seconds, used only for SOA record type. Defaults to 1048576 format: int32 minimum: type: integer description: Minimum in seconds, used only for SOA record type. Defaults to 2560. format: int32 serial: type: string description: Serial number, used only for SOA record type required: true responses: 200: description: OK content: {} delete: tags: - Records summary: Delete record parameters: - name: record_id in: path description: The record id required: true schema: type: integer responses: 200: description: OK content: {} /locations: get: tags: - Locations summary: List locations responses: 200: description: OK content: {} post: tags: - Locations summary: Add a location requestBody: content: application/x-www-form-urlencoded: schema: required: - location properties: location: type: string description: A unique two character identifer for a location location_description: type: string description: Optional location description required: true responses: 200: description: OK content: {} 400: description: Invalid parameter content: {} 403: description: Insufficient privileges, requires senior_admin account type content: {} /locations/{location_id}: get: tags: - Locations summary: Get a location by id parameters: - name: location_id in: path description: Location id required: true schema: type: integer responses: 200: description: OK content: {} put: tags: - Locations summary: Edit a location parameters: - name: location_id in: path description: Location id required: true schema: type: integer requestBody: content: application/x-www-form-urlencoded: schema: required: - location properties: location: type: string description: A unique two character identifer for a location location_description: type: string description: Optional location description required: true responses: 200: description: OK content: {} 400: description: Invalid parameter content: {} 403: description: Insufficient privileges, requires senior_admin account type content: {} delete: tags: - Locations summary: Delete a location parameters: - name: location_id in: path description: Location id required: true schema: type: integer responses: 200: description: OK content: {} 403: description: Insufficient privileges, requires senior_admin account type content: {} /location_prefixes: get: tags: - Locations summary: List prefixes in a location parameters: - name: location_id in: query description: Location id required: true schema: type: integer responses: 200: description: OK content: {} post: tags: - Locations summary: Add a location prefix requestBody: content: application/x-www-form-urlencoded: schema: required: - location_id - prefix - prefix_type properties: location_id: type: integer description: Location id format: int32 prefix_description: type: string description: Prefix description prefix_type: type: string description: Network type, either ipv4 or ipv6 prefix: type: string description: Network prefix, e.g. 192.168.1 required: true responses: 200: description: OK content: {} 400: description: Invalid parameter content: {} 403: description: Insufficient privileges, requires senior_admin account type content: {} /location_prefixes/{prefix_id}: get: tags: - Locations summary: Get a location prefix by id parameters: - name: prefix_id in: path description: Network prefix id required: true schema: type: integer responses: 200: description: OK content: {} put: tags: - Locations summary: Edit a location prefix parameters: - name: prefix_id in: path description: Network prefix id required: true schema: type: integer requestBody: content: application/x-www-form-urlencoded: schema: required: - prefix properties: prefix: type: string description: Network prefix, e.g. 192.168.1 prefix_description: type: string description: Prefix description required: true responses: 200: description: OK content: {} 400: description: Invalid parameter content: {} 403: description: Insufficient privileges, requires senior_admin account type content: {} delete: tags: - Locations summary: Delete a location network prefix parameters: - name: prefix_id in: path description: Network prefix id required: true schema: type: integer responses: 200: description: OK content: {} 403: description: Insufficient privileges, requires senior_admin account type content: {} /swagger: get: tags: - Utility summary: API documentation in Swagger format parameters: - name: baseUrl in: query description: Base url to use in swagger output, i.e. http://localhost:5000 schema: type: string responses: 200: description: OK content: {} /token: post: tags: - Utility summary: OAuth 2.0 client_credentials token endpoint requestBody: content: application/x-www-form-urlencoded: schema: required: - grant_type properties: grant_type: type: string description: OAuth flow, only "client_credentials" supported required: true responses: 200: description: OK content: {} /update-local-tinydns-data: get: tags: - Utility summary: Force update of local tinydns data description: Intended for testing only. This endpoint simply calls the local update-data.sh script to force tinydns to update its data file so that dns queries can be tested immediately. Used by integration tests. responses: 200: description: OK content: {} components: schemas: formData_accountEmailParam: type: string description: Email account formData_accountFirstNameParam: type: string description: First name formData_accountLastNameParam: type: string description: Last name formData_accountPasswordParam: type: string description: Account password formData_accountPhoneParam: type: string description: Phone number formData_accountStatusParam: type: string description: Account status, either 'active' or 'inactive' formData_accountTypeParam: type: string description: Account type, one of 'senior_admin' or 'user' formData_canDeleteParam: type: integer description: Whether a group has delete access to a domain. 1 for true, 0 for false. format: int32 formData_canReadParam: type: integer description: Whether a group has read access to a domain. 1 for true, 0 for false. format: int32 formData_canWriteParam: type: integer description: Whether a group has write access to a domain. 1 for true, 0 for false. format: int32 formData_distanceParam: type: integer description: Record distance, only for MX and SRV record types, defaults to 0 format: int32 formData_domainIdParam: type: integer description: The domain id format: int32 formData_emailSOAParam: type: string description: Contact address, used only for SOA record type formData_expireParam: type: integer description: Expire in seconds, used only for SOA record type. Defaults to 1048576 format: int32 formData_groupIdParam: type: integer description: The group id format: int32 formData_groupNameParam: type: string description: Group name formData_minimumParam: type: integer description: Minimum in seconds, used only for SOA record type. Defaults to 2560. format: int32 formData_nameserverParam: type: string description: Primary nameserver, e.g. ns1.example.com, used only for SOA record type formData_portParam: type: integer description: Record port, only for SRV record type format: int32 formData_recordNameParam: type: string description: Record name, e.g. "www.example.com" formData_recordValueParam: type: string description: Record value, e.g. "192.168.1.1" formData_refreshParam: type: integer description: Refresh in seconds, used only for SOA record type. Defaults to 16374. format: int32 formData_retryParam: type: integer description: Retry in seconds, used only for SOA record type. Defaults to 2048. format: int32 formData_serialParam: type: string description: Serial number, used only for SOA record type formData_ttlParam: type: string description: Time to live, defaults to 3600 for all record types but SOA, which has a default of 86400 formData_weightParam: type: integer description: Record weight, only for MX and SRV record types format: int32 formData_locationParam: type: string description: A unique two character identifer for a location formData_locationDescriptionParam: type: string description: Optional location description formData_locationIdParam: type: integer description: Location id format: int32 formData_prefixParam: type: string description: Network prefix, e.g. 192.168.1 formData_prefixDescriptionParam: type: string description: Prefix description formData_prefixTypeParam: type: string description: Network type, either ipv4 or ipv6 parameters: accountIdPathParam: name: account_id in: path description: The account id required: true schema: type: integer apiKeyIdPathParam: name: apikey_id in: path description: API Key ID required: true schema: type: integer domainGroupMapIdPathParam: name: map_id in: path description: The domain group map id required: true schema: type: integer groupIdPathParam: name: group_id in: path description: The group id required: true schema: type: integer groupMemberIdPathParam: name: member_id in: path description: The member id required: true schema: type: integer orderParam: name: order in: query description: Order the results, can be 'asc' or 'desc', defaults to 'asc' schema: type: string pageParam: name: page in: query description: Indicates the desired page schema: type: number passwordResetTokenInPathParam: name: token in: path description: The password reset token required: true schema: type: string perPageParam: name: perpage in: query description: Indicates the number of items per page schema: type: number recordIdParam: name: record_id in: path description: The record id required: true schema: type: integer locationIdPathParam: name: location_id in: path description: Location id required: true schema: type: integer prefixIdPathParam: name: prefix_id in: path description: Network prefix id required: true schema: type: integer securitySchemes: BasicAuth: type: http scheme: basic BearerToken: type: oauth2 flows: clientCredentials: tokenUrl: localhost:5000/1.0/token scopes: {}