@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Twilio - Voice
@base https://voice.twilio.com
@version 1.0.0
@auth Bearer basic
@endpoints 32
@hint download_for_search
@toc Archives(1), ByocTrunks(5), ConnectionPolicies(10), DialingPermissions(4), Settings(2), IpRecords(5), SourceIpMappings(5)

@group Archives
@endpoint DELETE /v1/Archives/{Date}/Calls/{Sid}
@required {Date: str(date), Sid: str}
@returns(204)

@endgroup

@group ByocTrunks
@endpoint POST /v1/ByocTrunks
@returns(201) {account_sid: str?, sid: str?, friendly_name: str?, voice_url: str(uri)?, voice_method: str(http-method)?, voice_fallback_url: str(uri)?, voice_fallback_method: str(http-method)?, status_callback_url: str(uri)?, status_callback_method: str(http-method)?, cnam_lookup_enabled: bool?, connection_policy_sid: str?, from_domain_sid: str?, date_created: str(date-time)?, date_updated: str(date-time)?, url: str(uri)?}

@endpoint GET /v1/ByocTrunks
@optional {PageSize: int(int64), Page: int, PageToken: str}
@returns(200) {byoc_trunks: [map], meta: map{first_page_url: str(uri), key: str, next_page_url: str(uri)?, page: int, page_size: int, previous_page_url: str(uri)?, url: str(uri)}}

@endpoint GET /v1/ByocTrunks/{Sid}
@required {Sid: str}
@returns(200) {account_sid: str?, sid: str?, friendly_name: str?, voice_url: str(uri)?, voice_method: str(http-method)?, voice_fallback_url: str(uri)?, voice_fallback_method: str(http-method)?, status_callback_url: str(uri)?, status_callback_method: str(http-method)?, cnam_lookup_enabled: bool?, connection_policy_sid: str?, from_domain_sid: str?, date_created: str(date-time)?, date_updated: str(date-time)?, url: str(uri)?}

@endpoint POST /v1/ByocTrunks/{Sid}
@required {Sid: str}
@returns(200) {account_sid: str?, sid: str?, friendly_name: str?, voice_url: str(uri)?, voice_method: str(http-method)?, voice_fallback_url: str(uri)?, voice_fallback_method: str(http-method)?, status_callback_url: str(uri)?, status_callback_method: str(http-method)?, cnam_lookup_enabled: bool?, connection_policy_sid: str?, from_domain_sid: str?, date_created: str(date-time)?, date_updated: str(date-time)?, url: str(uri)?}

@endpoint DELETE /v1/ByocTrunks/{Sid}
@required {Sid: str}
@returns(204)

@endgroup

@group ConnectionPolicies
@endpoint POST /v1/ConnectionPolicies
@returns(201) {account_sid: str?, sid: str?, friendly_name: str?, date_created: str(date-time)?, date_updated: str(date-time)?, url: str(uri)?, links: map?}

@endpoint GET /v1/ConnectionPolicies
@optional {PageSize: int(int64), Page: int, PageToken: str}
@returns(200) {connection_policies: [map], meta: map{first_page_url: str(uri), key: str, next_page_url: str(uri)?, page: int, page_size: int, previous_page_url: str(uri)?, url: str(uri)}}

@endpoint GET /v1/ConnectionPolicies/{Sid}
@required {Sid: str}
@returns(200) {account_sid: str?, sid: str?, friendly_name: str?, date_created: str(date-time)?, date_updated: str(date-time)?, url: str(uri)?, links: map?}

@endpoint POST /v1/ConnectionPolicies/{Sid}
@required {Sid: str}
@returns(200) {account_sid: str?, sid: str?, friendly_name: str?, date_created: str(date-time)?, date_updated: str(date-time)?, url: str(uri)?, links: map?}

@endpoint DELETE /v1/ConnectionPolicies/{Sid}
@required {Sid: str}
@returns(204)

@endpoint POST /v1/ConnectionPolicies/{ConnectionPolicySid}/Targets
@required {ConnectionPolicySid: str}
@returns(201) {account_sid: str?, connection_policy_sid: str?, sid: str?, friendly_name: str?, target: str(uri)?, priority: int, weight: int, enabled: bool?, date_created: str(date-time)?, date_updated: str(date-time)?, url: str(uri)?}

@endpoint GET /v1/ConnectionPolicies/{ConnectionPolicySid}/Targets
@required {ConnectionPolicySid: str}
@optional {PageSize: int(int64), Page: int, PageToken: str}
@returns(200) {targets: [map], meta: map{first_page_url: str(uri), key: str, next_page_url: str(uri)?, page: int, page_size: int, previous_page_url: str(uri)?, url: str(uri)}}

@endpoint GET /v1/ConnectionPolicies/{ConnectionPolicySid}/Targets/{Sid}
@required {ConnectionPolicySid: str, Sid: str}
@returns(200) {account_sid: str?, connection_policy_sid: str?, sid: str?, friendly_name: str?, target: str(uri)?, priority: int, weight: int, enabled: bool?, date_created: str(date-time)?, date_updated: str(date-time)?, url: str(uri)?}

@endpoint POST /v1/ConnectionPolicies/{ConnectionPolicySid}/Targets/{Sid}
@required {ConnectionPolicySid: str, Sid: str}
@returns(200) {account_sid: str?, connection_policy_sid: str?, sid: str?, friendly_name: str?, target: str(uri)?, priority: int, weight: int, enabled: bool?, date_created: str(date-time)?, date_updated: str(date-time)?, url: str(uri)?}

@endpoint DELETE /v1/ConnectionPolicies/{ConnectionPolicySid}/Targets/{Sid}
@required {ConnectionPolicySid: str, Sid: str}
@returns(204)

@endgroup

@group DialingPermissions
@endpoint GET /v1/DialingPermissions/Countries/{IsoCode}
@required {IsoCode: str(iso-country-code)}
@returns(200) {iso_code: str(iso-country-code)?, name: str?, continent: str?, country_codes: [str]?, low_risk_numbers_enabled: bool?, high_risk_special_numbers_enabled: bool?, high_risk_tollfraud_numbers_enabled: bool?, url: str(uri)?, links: map?}

@endpoint GET /v1/DialingPermissions/Countries
@optional {IsoCode: str(iso-country-code), Continent: str, CountryCode: str, LowRiskNumbersEnabled: bool, HighRiskSpecialNumbersEnabled: bool, HighRiskTollfraudNumbersEnabled: bool, PageSize: int(int64), Page: int, PageToken: str}
@returns(200) {content: [map], meta: map{first_page_url: str(uri), key: str, next_page_url: str(uri)?, page: int, page_size: int, previous_page_url: str(uri)?, url: str(uri)}}

@endpoint POST /v1/DialingPermissions/BulkCountryUpdates
@returns(201) {update_count: int, update_request: str?}

@endpoint GET /v1/DialingPermissions/Countries/{IsoCode}/HighRiskSpecialPrefixes
@required {IsoCode: str(iso-country-code)}
@optional {PageSize: int(int64), Page: int, PageToken: str}
@returns(200) {content: [map], meta: map{first_page_url: str(uri), key: str, next_page_url: str(uri)?, page: int, page_size: int, previous_page_url: str(uri)?, url: str(uri)}}

@endgroup

@group Settings
@endpoint GET /v1/Settings
@returns(200) {dialing_permissions_inheritance: bool?, url: str(uri)?}

@endpoint POST /v1/Settings
@returns(202) {dialing_permissions_inheritance: bool?, url: str(uri)?}

@endgroup

@group IpRecords
@endpoint POST /v1/IpRecords
@returns(201) {account_sid: str?, sid: str?, friendly_name: str?, ip_address: str?, cidr_prefix_length: int, date_created: str(date-time)?, date_updated: str(date-time)?, url: str(uri)?}

@endpoint GET /v1/IpRecords
@optional {PageSize: int(int64), Page: int, PageToken: str}
@returns(200) {ip_records: [map], meta: map{first_page_url: str(uri), key: str, next_page_url: str(uri)?, page: int, page_size: int, previous_page_url: str(uri)?, url: str(uri)}}

@endpoint GET /v1/IpRecords/{Sid}
@required {Sid: str}
@returns(200) {account_sid: str?, sid: str?, friendly_name: str?, ip_address: str?, cidr_prefix_length: int, date_created: str(date-time)?, date_updated: str(date-time)?, url: str(uri)?}

@endpoint POST /v1/IpRecords/{Sid}
@required {Sid: str}
@returns(200) {account_sid: str?, sid: str?, friendly_name: str?, ip_address: str?, cidr_prefix_length: int, date_created: str(date-time)?, date_updated: str(date-time)?, url: str(uri)?}

@endpoint DELETE /v1/IpRecords/{Sid}
@required {Sid: str}
@returns(204)

@endgroup

@group SourceIpMappings
@endpoint POST /v1/SourceIpMappings
@returns(201) {sid: str?, ip_record_sid: str?, sip_domain_sid: str?, date_created: str(date-time)?, date_updated: str(date-time)?, url: str(uri)?}

@endpoint GET /v1/SourceIpMappings
@optional {PageSize: int(int64), Page: int, PageToken: str}
@returns(200) {source_ip_mappings: [map], meta: map{first_page_url: str(uri), key: str, next_page_url: str(uri)?, page: int, page_size: int, previous_page_url: str(uri)?, url: str(uri)}}

@endpoint GET /v1/SourceIpMappings/{Sid}
@required {Sid: str}
@returns(200) {sid: str?, ip_record_sid: str?, sip_domain_sid: str?, date_created: str(date-time)?, date_updated: str(date-time)?, url: str(uri)?}

@endpoint POST /v1/SourceIpMappings/{Sid}
@required {Sid: str}
@returns(200) {sid: str?, ip_record_sid: str?, sip_domain_sid: str?, date_created: str(date-time)?, date_updated: str(date-time)?, url: str(uri)?}

@endpoint DELETE /v1/SourceIpMappings/{Sid}
@required {Sid: str}
@returns(204)

@endgroup

@end
