@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Twilio SendGrid Statistics API
@base https://api.sendgrid.com
@version 1.0.0
@auth Bearer bearer
@common_fields {on-behalf-of: str}
@endpoints 10
@toc browsers(1), categories(3), clients(2), devices(1), geo(1), mailbox_providers(1), stats(1)

@group browsers
@endpoint GET /v3/browsers/stats
@required {start_date: str}
@optional {browsers: str, limit: int, offset: int, aggregated_by: str, end_date: str}
@returns(200)

@endgroup

@group categories
@endpoint GET /v3/categories
@optional {limit: int=50, category: str, offset: int=0}
@returns(200)
@errors {400}

@endpoint GET /v3/categories/stats
@required {start_date: str, categories: str}
@optional {end_date: str, aggregated_by: str}
@returns(200)

@endpoint GET /v3/categories/stats/sums
@required {start_date: str}
@optional {sort_by_metric: str=delivered, sort_by_direction: str=desc, end_date: str, limit: int=5, offset: int=0, aggregated_by: str}
@returns(200) {date: str, stats: [map]}

@endgroup

@group clients
@endpoint GET /v3/clients/stats
@required {start_date: str}
@optional {end_date: str, aggregated_by: str}
@returns(200)

@endpoint GET /v3/clients/{client_type}/stats
@required {start_date: str}
@optional {end_date: str, aggregated_by: str}
@returns(200)

@endgroup

@group devices
@endpoint GET /v3/devices/stats
@required {start_date: str}
@optional {limit: int, offset: int, aggregated_by: str, end_date: str}
@returns(200)

@endgroup

@group geo
@endpoint GET /v3/geo/stats
@required {start_date: str}
@optional {country: str, limit: int, offset: int, aggregated_by: str, end_date: str}
@returns(200)

@endgroup

@group mailbox_providers
@endpoint GET /v3/mailbox_providers/stats
@required {start_date: str}
@optional {mailbox_providers: str, limit: int, offset: int, aggregated_by: str, end_date: str}
@returns(200)

@endgroup

@group stats
@endpoint GET /v3/stats
@required {start_date: str}
@optional {limit: int, offset: int, aggregated_by: str, end_date: str}
@returns(200)

@endgroup

@end
