@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Twilio SendGrid Mail API
@base https://api.sendgrid.com
@version 1.0.0
@auth Bearer bearer
@endpoints 3
@toc mail(3)

@endpoint POST /v3/mail/batch
@optional {on-behalf-of: str}
@returns(201) {batch_id: str}
@errors {400, 401, 403, 404, 405, 500}

@endpoint GET /v3/mail/batch/{batch_id}
@optional {on-behalf-of: str}
@returns(200) {batch_id: str}
@errors {400, 401, 403, 405, 500}

@endpoint POST /v3/mail/send
@required {personalizations: [map{from: map, to!: [map], cc: [map], bcc: [map], subject: str, headers: map, substitutions: map, dynamic_template_data: map, custom_args: map, send_at: int}], from: map{email!: str(email), name: str}}
@optional {Content-Encoding: str, reply_to: map{email!: str(email), name: str}, reply_to_list: [map{email!: str(email), name: str}], subject: str, content: [map{type!: str, value!: str}], attachments: [map{content!: str, type: str, filename!: str, disposition: str, content_id: str}], template_id: str, headers: map, categories: [str], custom_args: str, send_at: int, batch_id: str, asm: map{group_id!: int, groups_to_display: [int]}, ip_pool_name: str, mail_settings: map{bypass_list_management: map, bypass_spam_management: map, bypass_bounce_management: map, bypass_unsubscribe_management: map, footer: map, sandbox_mode: map}, tracking_settings: map{click_tracking: map, open_tracking: map, subscription_tracking: map, ganalytics: map}}
@returns(202)
@errors {400, 401, 403, 404, 405, 413, 500}

@end
