getEmailAttachmentWithHttpInfo method

Future<Response> getEmailAttachmentWithHttpInfo(
  1. String messageId,
  2. String attachmentId, {
  3. String? accountId,
  4. String? xWorkspaceID,
})

Download an attachment.

Streams the attachment binary. Response Content-Type matches the attachment's declared MIME type; Content-Disposition sets the filename.

Note: This method returns the HTTP Response.

Parameters:

  • String messageId (required): Message id the attachment belongs to.

  • String attachmentId (required): Attachment id within the message.

  • String accountId: Connected-account row id. Selects which provider account this request targets when more than one is connected. Mutually exclusive with provider. If omitted on a list endpoint the call fans out across every connected account.

  • String xWorkspaceID: Workspace scope for unscoped tokens. Workspace-scoped PATs and OAuth tokens carry this implicitly; for session/JWT auth without a scoped PAT, pass it explicitly.

Implementation

Future<Response> getEmailAttachmentWithHttpInfo(String messageId, String attachmentId, { String? accountId, String? xWorkspaceID, }) async {
  // ignore: prefer_const_declarations
  final path = r'/v1/mail/attachment/{messageId}/{attachmentId}'
    .replaceAll('{messageId}', messageId)
    .replaceAll('{attachmentId}', attachmentId);

  // ignore: prefer_final_locals
  Object? postBody;

  final queryParams = <QueryParam>[];
  final headerParams = <String, String>{};
  final formParams = <String, String>{};

  if (accountId != null) {
    queryParams.addAll(_queryParams('', 'accountId', accountId));
  }

  if (xWorkspaceID != null) {
    headerParams[r'X-Workspace-ID'] = parameterToString(xWorkspaceID);
  }

  const contentTypes = <String>[];


  return apiClient.invokeAPI(
    path,
    'GET',
    queryParams,
    postBody,
    headerParams,
    formParams,
    contentTypes.isEmpty ? null : contentTypes.first,
  );
}