@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Twilio - Messaging
@base https://messaging.twilio.com
@version 1.0.0
@auth Bearer basic
@endpoints 58
@hint download_for_search
@toc Services(33), a2p(8), Deactivations(1), LinkShortening(11), Tollfree(5)

@group Services
@endpoint POST /v1/Services/{ServiceSid}/AlphaSenders
@required {ServiceSid: str}
@returns(201) {sid: str?, account_sid: str?, service_sid: str?, date_created: str(date-time)?, date_updated: str(date-time)?, alpha_sender: str?, capabilities: [str]?, url: str(uri)?}

@endpoint GET /v1/Services/{ServiceSid}/AlphaSenders
@required {ServiceSid: str}
@optional {PageSize: int(int64), Page: int, PageToken: str}
@returns(200) {alpha_senders: [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/Services/{ServiceSid}/AlphaSenders/{Sid}
@required {ServiceSid: str, Sid: str}
@returns(200) {sid: str?, account_sid: str?, service_sid: str?, date_created: str(date-time)?, date_updated: str(date-time)?, alpha_sender: str?, capabilities: [str]?, url: str(uri)?}

@endpoint DELETE /v1/Services/{ServiceSid}/AlphaSenders/{Sid}
@required {ServiceSid: str, Sid: str}
@returns(204)

@endgroup

@group a2p
@endpoint POST /v1/a2p/BrandRegistrations/{BrandRegistrationSid}/SmsOtp
@required {BrandRegistrationSid: str}
@returns(201) {account_sid: str?, brand_registration_sid: str?}

@endpoint GET /v1/a2p/BrandRegistrations/{Sid}
@required {Sid: str}
@returns(200) {sid: str?, account_sid: str?, customer_profile_bundle_sid: str?, a2p_profile_bundle_sid: str?, date_created: str(date-time)?, date_updated: str(date-time)?, brand_type: str?, status: str, tcr_id: str?, failure_reason: str?, errors: [any]?, url: str(uri)?, brand_score: int?, brand_feedback: [str]?, identity_status: str, russell_3000: bool?, government_entity: bool?, tax_exempt_status: str?, skip_automatic_sec_vet: bool?, mock: bool?, links: map?}

@endpoint POST /v1/a2p/BrandRegistrations/{Sid}
@required {Sid: str}
@returns(202) {sid: str?, account_sid: str?, customer_profile_bundle_sid: str?, a2p_profile_bundle_sid: str?, date_created: str(date-time)?, date_updated: str(date-time)?, brand_type: str?, status: str, tcr_id: str?, failure_reason: str?, errors: [any]?, url: str(uri)?, brand_score: int?, brand_feedback: [str]?, identity_status: str, russell_3000: bool?, government_entity: bool?, tax_exempt_status: str?, skip_automatic_sec_vet: bool?, mock: bool?, links: map?}

@endpoint GET /v1/a2p/BrandRegistrations
@optional {PageSize: int(int64), Page: int, PageToken: str}
@returns(200) {data: [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/a2p/BrandRegistrations
@returns(201) {sid: str?, account_sid: str?, customer_profile_bundle_sid: str?, a2p_profile_bundle_sid: str?, date_created: str(date-time)?, date_updated: str(date-time)?, brand_type: str?, status: str, tcr_id: str?, failure_reason: str?, errors: [any]?, url: str(uri)?, brand_score: int?, brand_feedback: [str]?, identity_status: str, russell_3000: bool?, government_entity: bool?, tax_exempt_status: str?, skip_automatic_sec_vet: bool?, mock: bool?, links: map?}

@endpoint POST /v1/a2p/BrandRegistrations/{BrandSid}/Vettings
@required {BrandSid: str}
@returns(201) {account_sid: str?, brand_sid: str?, brand_vetting_sid: str?, date_updated: str(date-time)?, date_created: str(date-time)?, vetting_id: str?, vetting_class: str?, vetting_status: str?, vetting_provider: str, url: str(uri)?}
@returns(202) {account_sid: str?, brand_sid: str?, brand_vetting_sid: str?, date_updated: str(date-time)?, date_created: str(date-time)?, vetting_id: str?, vetting_class: str?, vetting_status: str?, vetting_provider: str, url: str(uri)?}

@endpoint GET /v1/a2p/BrandRegistrations/{BrandSid}/Vettings
@required {BrandSid: str}
@optional {VettingProvider: str}
@returns(200) {data: [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/a2p/BrandRegistrations/{BrandSid}/Vettings/{BrandVettingSid}
@required {BrandSid: str, BrandVettingSid: str}
@returns(200) {account_sid: str?, brand_sid: str?, brand_vetting_sid: str?, date_updated: str(date-time)?, date_created: str(date-time)?, vetting_id: str?, vetting_class: str?, vetting_status: str?, vetting_provider: str, url: str(uri)?}

@endgroup

@group Services
@endpoint GET /v1/Services/{MessagingServiceSid}/ChannelSenders
@required {MessagingServiceSid: str}
@optional {PageSize: int(int64), Page: int, PageToken: str}
@returns(200) {senders: [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/Services/{MessagingServiceSid}/ChannelSenders
@required {MessagingServiceSid: str}
@returns(201) {account_sid: str?, messaging_service_sid: str?, sid: str?, sender: str?, sender_type: str?, country_code: str?, date_created: str(date-time)?, date_updated: str(date-time)?, url: str(uri)?}

@endpoint GET /v1/Services/{MessagingServiceSid}/ChannelSenders/{Sid}
@required {MessagingServiceSid: str, Sid: str}
@returns(200) {account_sid: str?, messaging_service_sid: str?, sid: str?, sender: str?, sender_type: str?, country_code: str?, date_created: str(date-time)?, date_updated: str(date-time)?, url: str(uri)?}

@endpoint DELETE /v1/Services/{MessagingServiceSid}/ChannelSenders/{Sid}
@required {MessagingServiceSid: str, Sid: str}
@returns(204)

@endgroup

@group Deactivations
@endpoint GET /v1/Deactivations
@optional {Date: str(date)}
@errors {307}

@endgroup

@group Services
@endpoint POST /v1/Services/{ServiceSid}/DestinationAlphaSenders
@required {ServiceSid: str}
@returns(201) {sid: str?, account_sid: str?, service_sid: str?, date_created: str(date-time)?, date_updated: str(date-time)?, alpha_sender: str?, capabilities: [str]?, url: str(uri)?, iso_country_code: str?}

@endpoint GET /v1/Services/{ServiceSid}/DestinationAlphaSenders
@required {ServiceSid: str}
@optional {IsoCountryCode: str, PageSize: int(int64), Page: int, PageToken: str}
@returns(200) {alpha_senders: [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/Services/{ServiceSid}/DestinationAlphaSenders/{Sid}
@required {ServiceSid: str, Sid: str}
@returns(200) {sid: str?, account_sid: str?, service_sid: str?, date_created: str(date-time)?, date_updated: str(date-time)?, alpha_sender: str?, capabilities: [str]?, url: str(uri)?, iso_country_code: str?}

@endpoint DELETE /v1/Services/{ServiceSid}/DestinationAlphaSenders/{Sid}
@required {ServiceSid: str, Sid: str}
@returns(204)

@endgroup

@group LinkShortening
@endpoint POST /v1/LinkShortening/Domains/{DomainSid}/Certificate
@required {DomainSid: str}
@returns(200) {domain_sid: str?, date_updated: str(date-time)?, date_expires: str(date-time)?, date_created: str(date-time)?, domain_name: str(uri)?, certificate_sid: str?, url: str(uri)?, cert_in_validation: any?}
@returns(201) {domain_sid: str?, date_updated: str(date-time)?, date_expires: str(date-time)?, date_created: str(date-time)?, domain_name: str(uri)?, certificate_sid: str?, url: str(uri)?, cert_in_validation: any?}

@endpoint GET /v1/LinkShortening/Domains/{DomainSid}/Certificate
@required {DomainSid: str}
@returns(200) {domain_sid: str?, date_updated: str(date-time)?, date_expires: str(date-time)?, date_created: str(date-time)?, domain_name: str(uri)?, certificate_sid: str?, url: str(uri)?, cert_in_validation: any?}

@endpoint DELETE /v1/LinkShortening/Domains/{DomainSid}/Certificate
@required {DomainSid: str}
@returns(204)

@endpoint POST /v1/LinkShortening/Domains/{DomainSid}/Config
@required {DomainSid: str}
@returns(200) {domain_sid: str?, config_sid: str?, fallback_url: str(uri)?, callback_url: str(uri)?, continue_on_failure: bool?, date_created: str(date-time)?, date_updated: str(date-time)?, url: str(uri)?, disable_https: bool?}
@returns(201) {domain_sid: str?, config_sid: str?, fallback_url: str(uri)?, callback_url: str(uri)?, continue_on_failure: bool?, date_created: str(date-time)?, date_updated: str(date-time)?, url: str(uri)?, disable_https: bool?}

@endpoint GET /v1/LinkShortening/Domains/{DomainSid}/Config
@required {DomainSid: str}
@returns(200) {domain_sid: str?, config_sid: str?, fallback_url: str(uri)?, callback_url: str(uri)?, continue_on_failure: bool?, date_created: str(date-time)?, date_updated: str(date-time)?, url: str(uri)?, disable_https: bool?}

@endpoint GET /v1/LinkShortening/MessagingService/{MessagingServiceSid}/DomainConfig
@required {MessagingServiceSid: str}
@returns(200) {domain_sid: str?, config_sid: str?, messaging_service_sid: str?, fallback_url: str(uri)?, callback_url: str(uri)?, continue_on_failure: bool?, date_created: str(date-time)?, date_updated: str(date-time)?, url: str(uri)?}

@endpoint GET /v1/LinkShortening/Domains/{DomainSid}/ValidateDns
@required {DomainSid: str}
@returns(200) {domain_sid: str?, is_valid: bool?, reason: str?, url: str(uri)?}

@endgroup

@group Services
@endpoint POST /v1/Services/PreregisteredUsa2p
@returns(201) {sid: str?, account_sid: str?, campaign_id: str?, messaging_service_sid: str?, date_created: str(date-time)?}

@endgroup

@group LinkShortening
@endpoint POST /v1/LinkShortening/Domains/{DomainSid}/MessagingServices/{MessagingServiceSid}
@required {DomainSid: str, MessagingServiceSid: str}
@returns(201) {domain_sid: str?, messaging_service_sid: str?, url: str(uri)?}

@endpoint DELETE /v1/LinkShortening/Domains/{DomainSid}/MessagingServices/{MessagingServiceSid}
@required {DomainSid: str, MessagingServiceSid: str}
@returns(204)

@endpoint GET /v1/LinkShortening/MessagingServices/{MessagingServiceSid}/Domain
@required {MessagingServiceSid: str}
@returns(200) {domain_sid: str?, messaging_service_sid: str?, url: str(uri)?}

@endgroup

@group Services
@endpoint POST /v1/Services/{ServiceSid}/PhoneNumbers
@required {ServiceSid: str}
@returns(200) {sid: str?, account_sid: str?, service_sid: str?, date_created: str(date-time)?, date_updated: str(date-time)?, phone_number: str(phone-number)?, country_code: str?, capabilities: [str]?, url: str(uri)?}
@returns(201) {sid: str?, account_sid: str?, service_sid: str?, date_created: str(date-time)?, date_updated: str(date-time)?, phone_number: str(phone-number)?, country_code: str?, capabilities: [str]?, url: str(uri)?}

@endpoint GET /v1/Services/{ServiceSid}/PhoneNumbers
@required {ServiceSid: str}
@optional {PageSize: int(int64), Page: int, PageToken: str}
@returns(200) {phone_numbers: [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 DELETE /v1/Services/{ServiceSid}/PhoneNumbers/{Sid}
@required {ServiceSid: str, Sid: str}
@returns(204)

@endpoint GET /v1/Services/{ServiceSid}/PhoneNumbers/{Sid}
@required {ServiceSid: str, Sid: str}
@returns(200) {sid: str?, account_sid: str?, service_sid: str?, date_created: str(date-time)?, date_updated: str(date-time)?, phone_number: str(phone-number)?, country_code: str?, capabilities: [str]?, url: str(uri)?}

@endgroup

@group LinkShortening
@endpoint POST /v1/LinkShortening/Domains/{DomainSid}/RequestManagedCert
@required {DomainSid: str}
@returns(200) {domain_sid: str?, date_updated: str(date-time)?, date_created: str(date-time)?, date_expires: str(date-time)?, domain_name: str(uri)?, certificate_sid: str?, url: str(uri)?, managed: bool?, requesting: bool?}
@returns(201) {domain_sid: str?, date_updated: str(date-time)?, date_created: str(date-time)?, date_expires: str(date-time)?, domain_name: str(uri)?, certificate_sid: str?, url: str(uri)?, managed: bool?, requesting: bool?}

@endgroup

@group Services
@endpoint POST /v1/Services
@returns(201) {sid: str?, account_sid: str?, friendly_name: str?, date_created: str(date-time)?, date_updated: str(date-time)?, inbound_request_url: str(uri)?, inbound_method: str(http-method)?, fallback_url: str(uri)?, fallback_method: str(http-method)?, status_callback: str(uri)?, sticky_sender: bool?, mms_converter: bool?, smart_encoding: bool?, scan_message_content: str, fallback_to_long_code: bool?, area_code_geomatch: bool?, synchronous_validation: bool?, validity_period: int, url: str(uri)?, links: map?, usecase: str?, us_app_to_person_registered: bool?, use_inbound_webhook_on_number: bool?}

@endpoint GET /v1/Services
@optional {PageSize: int(int64), Page: int, PageToken: str}
@returns(200) {services: [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/Services/{Sid}
@required {Sid: str}
@returns(200) {sid: str?, account_sid: str?, friendly_name: str?, date_created: str(date-time)?, date_updated: str(date-time)?, inbound_request_url: str(uri)?, inbound_method: str(http-method)?, fallback_url: str(uri)?, fallback_method: str(http-method)?, status_callback: str(uri)?, sticky_sender: bool?, mms_converter: bool?, smart_encoding: bool?, scan_message_content: str, fallback_to_long_code: bool?, area_code_geomatch: bool?, synchronous_validation: bool?, validity_period: int, url: str(uri)?, links: map?, usecase: str?, us_app_to_person_registered: bool?, use_inbound_webhook_on_number: bool?}

@endpoint GET /v1/Services/{Sid}
@required {Sid: str}
@returns(200) {sid: str?, account_sid: str?, friendly_name: str?, date_created: str(date-time)?, date_updated: str(date-time)?, inbound_request_url: str(uri)?, inbound_method: str(http-method)?, fallback_url: str(uri)?, fallback_method: str(http-method)?, status_callback: str(uri)?, sticky_sender: bool?, mms_converter: bool?, smart_encoding: bool?, scan_message_content: str, fallback_to_long_code: bool?, area_code_geomatch: bool?, synchronous_validation: bool?, validity_period: int, url: str(uri)?, links: map?, usecase: str?, us_app_to_person_registered: bool?, use_inbound_webhook_on_number: bool?}

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

@endpoint POST /v1/Services/{ServiceSid}/ShortCodes
@required {ServiceSid: str}
@returns(200) {sid: str?, account_sid: str?, service_sid: str?, date_created: str(date-time)?, date_updated: str(date-time)?, short_code: str?, country_code: str?, capabilities: [str]?, url: str(uri)?}
@returns(201) {sid: str?, account_sid: str?, service_sid: str?, date_created: str(date-time)?, date_updated: str(date-time)?, short_code: str?, country_code: str?, capabilities: [str]?, url: str(uri)?}

@endpoint GET /v1/Services/{ServiceSid}/ShortCodes
@required {ServiceSid: str}
@optional {PageSize: int(int64), Page: int, PageToken: str}
@returns(200) {short_codes: [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 DELETE /v1/Services/{ServiceSid}/ShortCodes/{Sid}
@required {ServiceSid: str, Sid: str}
@returns(204)

@endpoint GET /v1/Services/{ServiceSid}/ShortCodes/{Sid}
@required {ServiceSid: str, Sid: str}
@returns(200) {sid: str?, account_sid: str?, service_sid: str?, date_created: str(date-time)?, date_updated: str(date-time)?, short_code: str?, country_code: str?, capabilities: [str]?, url: str(uri)?}

@endgroup

@group Tollfree
@endpoint GET /v1/Tollfree/Verifications/{Sid}
@required {Sid: str}
@returns(200) {sid: str?, account_sid: str?, customer_profile_sid: str?, trust_product_sid: str?, date_created: str(date-time)?, date_updated: str(date-time)?, regulated_item_sid: str?, business_name: str?, business_street_address: str?, business_street_address2: str?, business_city: str?, business_state_province_region: str?, business_postal_code: str?, business_country: str?, business_website: str?, business_contact_first_name: str?, business_contact_last_name: str?, business_contact_email: str?, business_contact_phone: str(phone-number)?, notification_email: str?, use_case_categories: [str]?, use_case_summary: str?, production_message_sample: str?, opt_in_image_urls: [str]?, opt_in_type: str, message_volume: str?, additional_information: str?, tollfree_phone_number_sid: str?, tollfree_phone_number: str(phone-number)?, status: str, url: str(uri)?, rejection_reason: str?, error_code: int?, edit_expiration: str(date-time)?, edit_allowed: bool?, business_registration_number: str?, business_registration_authority: str?, business_registration_country: str?, business_type: str?, business_registration_phone_number: str?, doing_business_as: str?, opt_in_confirmation_message: str?, help_message_sample: str?, privacy_policy_url: str(uri)?, terms_and_conditions_url: str(uri)?, age_gated_content: bool?, opt_in_keywords: [str]?, rejection_reasons: [any]?, resource_links: any?, external_reference_id: str?, vetting_id: str?, vetting_provider: str?, vetting_id_expiration: str(date-time)?}

@endpoint POST /v1/Tollfree/Verifications/{Sid}
@required {Sid: str}
@returns(202) {sid: str?, account_sid: str?, customer_profile_sid: str?, trust_product_sid: str?, date_created: str(date-time)?, date_updated: str(date-time)?, regulated_item_sid: str?, business_name: str?, business_street_address: str?, business_street_address2: str?, business_city: str?, business_state_province_region: str?, business_postal_code: str?, business_country: str?, business_website: str?, business_contact_first_name: str?, business_contact_last_name: str?, business_contact_email: str?, business_contact_phone: str(phone-number)?, notification_email: str?, use_case_categories: [str]?, use_case_summary: str?, production_message_sample: str?, opt_in_image_urls: [str]?, opt_in_type: str, message_volume: str?, additional_information: str?, tollfree_phone_number_sid: str?, tollfree_phone_number: str(phone-number)?, status: str, url: str(uri)?, rejection_reason: str?, error_code: int?, edit_expiration: str(date-time)?, edit_allowed: bool?, business_registration_number: str?, business_registration_authority: str?, business_registration_country: str?, business_type: str?, business_registration_phone_number: str?, doing_business_as: str?, opt_in_confirmation_message: str?, help_message_sample: str?, privacy_policy_url: str(uri)?, terms_and_conditions_url: str(uri)?, age_gated_content: bool?, opt_in_keywords: [str]?, rejection_reasons: [any]?, resource_links: any?, external_reference_id: str?, vetting_id: str?, vetting_provider: str?, vetting_id_expiration: str(date-time)?}

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

@endpoint GET /v1/Tollfree/Verifications
@optional {TollfreePhoneNumberSid: str, Status: str, ExternalReferenceId: str, IncludeSubAccounts: bool, PageSize: int(int64), Page: int, PageToken: str, TrustProductSid: [str]}
@returns(200) {verifications: [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/Tollfree/Verifications
@returns(201) {sid: str?, account_sid: str?, customer_profile_sid: str?, trust_product_sid: str?, date_created: str(date-time)?, date_updated: str(date-time)?, regulated_item_sid: str?, business_name: str?, business_street_address: str?, business_street_address2: str?, business_city: str?, business_state_province_region: str?, business_postal_code: str?, business_country: str?, business_website: str?, business_contact_first_name: str?, business_contact_last_name: str?, business_contact_email: str?, business_contact_phone: str(phone-number)?, notification_email: str?, use_case_categories: [str]?, use_case_summary: str?, production_message_sample: str?, opt_in_image_urls: [str]?, opt_in_type: str, message_volume: str?, additional_information: str?, tollfree_phone_number_sid: str?, tollfree_phone_number: str(phone-number)?, status: str, url: str(uri)?, rejection_reason: str?, error_code: int?, edit_expiration: str(date-time)?, edit_allowed: bool?, business_registration_number: str?, business_registration_authority: str?, business_registration_country: str?, business_type: str?, business_registration_phone_number: str?, doing_business_as: str?, opt_in_confirmation_message: str?, help_message_sample: str?, privacy_policy_url: str(uri)?, terms_and_conditions_url: str(uri)?, age_gated_content: bool?, opt_in_keywords: [str]?, rejection_reasons: [any]?, resource_links: any?, external_reference_id: str?, vetting_id: str?, vetting_provider: str?, vetting_id_expiration: str(date-time)?}

@endgroup

@group Services
@endpoint POST /v1/Services/{MessagingServiceSid}/Compliance/Usa2p
@required {MessagingServiceSid: str}
@optional {X-Twilio-Api-Version: str}
@returns(201)

@endpoint GET /v1/Services/{MessagingServiceSid}/Compliance/Usa2p
@required {MessagingServiceSid: str}
@optional {PageSize: int(int64), Page: int, PageToken: str, X-Twilio-Api-Version: str}
@returns(200) {compliance: [any], 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 DELETE /v1/Services/{MessagingServiceSid}/Compliance/Usa2p/{Sid}
@required {MessagingServiceSid: str, Sid: str}
@returns(204)

@endpoint GET /v1/Services/{MessagingServiceSid}/Compliance/Usa2p/{Sid}
@required {MessagingServiceSid: str, Sid: str}
@optional {X-Twilio-Api-Version: str}
@returns(200)

@endpoint POST /v1/Services/{MessagingServiceSid}/Compliance/Usa2p/{Sid}
@required {MessagingServiceSid: str, Sid: str}
@optional {X-Twilio-Api-Version: str}
@returns(200)

@endpoint GET /v1/Services/{MessagingServiceSid}/Compliance/Usa2p/Usecases
@required {MessagingServiceSid: str}
@optional {BrandRegistrationSid: str}
@returns(200) {us_app_to_person_usecases: [any]?}

@endpoint GET /v1/Services/Usecases
@returns(200) {usecases: [any]?}

@endgroup

@end
