@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Twilio - Accounts
@base https://accounts.twilio.com
@version 1.0.0
@auth Bearer basic
@endpoints 20
@toc AuthTokens(3), Consents(1), Contacts(1), Credentials(10), Messaging(2), SafeList(3)

@group AuthTokens
@endpoint POST /v1/AuthTokens/Promote
@returns(200) {account_sid: str?, auth_token: str?, date_created: str(date-time)?, date_updated: str(date-time)?, url: str(uri)?}

@endgroup

@group Consents
@endpoint POST /v1/Consents/Bulk
@returns(201) {items: any?}

@endgroup

@group Contacts
@endpoint POST /v1/Contacts/Bulk
@returns(201) {items: any?}

@endgroup

@group Credentials
@endpoint GET /v1/Credentials/AWS
@optional {PageSize: int(int64), Page: int, PageToken: str}
@returns(200) {credentials: [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/Credentials/AWS
@returns(201) {sid: str?, account_sid: str?, friendly_name: str?, date_created: str(date-time)?, date_updated: str(date-time)?, url: str(uri)?}

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

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

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

@endpoint GET /v1/Credentials/PublicKeys
@optional {PageSize: int(int64), Page: int, PageToken: str}
@returns(200) {credentials: [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/Credentials/PublicKeys
@returns(201) {sid: str?, account_sid: str?, friendly_name: str?, date_created: str(date-time)?, date_updated: str(date-time)?, url: str(uri)?}

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

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

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

@endgroup

@group Messaging
@endpoint PATCH /v1/Messaging/GeoPermissions
@returns(200) {permissions: any?}

@endpoint GET /v1/Messaging/GeoPermissions
@optional {CountryCode: str}
@returns(200) {permissions: any?}

@endgroup

@group SafeList
@endpoint POST /v1/SafeList/Numbers
@returns(201) {sid: str?, phone_number: str?}

@endpoint GET /v1/SafeList/Numbers
@optional {PhoneNumber: str}
@returns(200) {sid: str?, phone_number: str?}

@endpoint DELETE /v1/SafeList/Numbers
@optional {PhoneNumber: str}
@returns(204)

@endgroup

@group AuthTokens
@endpoint POST /v1/AuthTokens/Secondary
@returns(201) {account_sid: str?, date_created: str(date-time)?, date_updated: str(date-time)?, secondary_auth_token: str?, url: str(uri)?}

@endpoint DELETE /v1/AuthTokens/Secondary
@returns(204)

@endgroup

@end
