Skip to content

attachments

Attachments

Bases: FindableApiResource

Nylas Attachments API

The Nylas Attachments API allows you to get metadata ot, and download attachments from messages.

Source code in nylas/resources/attachments.py
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
class Attachments(
    FindableApiResource,
):
    """
    Nylas Attachments API

    The Nylas Attachments API allows you to get metadata ot, and download attachments from messages.
    """

    def find(
        self,
        identifier: str,
        attachment_id: str,
        query_params: FindAttachmentQueryParams,
        overrides: RequestOverrides = None,
    ) -> NylasResponse[Attachment]:
        """
        Return metadata of an attachment.

        Args:
            identifier: The identifier of the Grant to act upon.
            attachment_id: The id of the attachment to retrieve.
            query_params: The query parameters to include in the request.
            overrides: The request overrides to use for the request.

        Returns:
            The attachment metadata.
        """
        return super().find(
            path=f"/v3/grants/{identifier}/attachments/{attachment_id}",
            response_type=Attachment,
            query_params=query_params,
            overrides=overrides,
        )

    def download(
        self,
        identifier: str,
        attachment_id: str,
        query_params: FindAttachmentQueryParams,
        overrides: RequestOverrides = None,
    ) -> Response:
        """
        Download the attachment data.

        This function returns a raw response object to allow you the ability
        to stream the file contents. The response object should be closed
        after use to ensure the connection is closed.

        Args:
            identifier: The identifier of the Grant to act upon.
            attachment_id: The id of the attachment to download.
            query_params: The query parameters to include in the request.
            overrides: The request overrides to use for the request.

        Returns:
            The Response object containing the file data.

        Example:
            Here is an example of how to use this function when streaming:

            ```python
                response = execute_request_raw_response(url, method, stream=True)
                try:
                    for chunk in response.iter_content(chunk_size=8192):
                        if chunk:
                            # Process each chunk
                            pass
                finally:
                    response.close()  # Ensure the response is closed
            ```
        """
        return self._http_client._execute_download_request(
            path=f"/v3/grants/{identifier}/attachments/{attachment_id}/download",
            query_params=query_params,
            stream=True,
            overrides=overrides,
        )

    def download_bytes(
        self,
        identifier: str,
        attachment_id: str,
        query_params: FindAttachmentQueryParams,
        overrides: RequestOverrides = None,
    ) -> bytes:
        """
        Download the attachment as a byte array.

        Args:
            identifier: The identifier of the Grant to act upon.
            attachment_id: The id of the attachment to download.
            query_params: The query parameters to include in the request.
            overrides: The request overrides to use for the request.

        Returns:
            The raw file data.
        """
        return self._http_client._execute_download_request(
            path=f"/v3/grants/{identifier}/attachments/{attachment_id}/download",
            query_params=query_params,
            stream=False,
            overrides=overrides,
        )

download(identifier, attachment_id, query_params, overrides=None)

Download the attachment data.

This function returns a raw response object to allow you the ability to stream the file contents. The response object should be closed after use to ensure the connection is closed.

Parameters:

Name Type Description Default
identifier str

The identifier of the Grant to act upon.

required
attachment_id str

The id of the attachment to download.

required
query_params FindAttachmentQueryParams

The query parameters to include in the request.

required
overrides RequestOverrides

The request overrides to use for the request.

None

Returns:

Type Description
Response

The Response object containing the file data.

Example

Here is an example of how to use this function when streaming:

    response = execute_request_raw_response(url, method, stream=True)
    try:
        for chunk in response.iter_content(chunk_size=8192):
            if chunk:
                # Process each chunk
                pass
    finally:
        response.close()  # Ensure the response is closed
Source code in nylas/resources/attachments.py
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
def download(
    self,
    identifier: str,
    attachment_id: str,
    query_params: FindAttachmentQueryParams,
    overrides: RequestOverrides = None,
) -> Response:
    """
    Download the attachment data.

    This function returns a raw response object to allow you the ability
    to stream the file contents. The response object should be closed
    after use to ensure the connection is closed.

    Args:
        identifier: The identifier of the Grant to act upon.
        attachment_id: The id of the attachment to download.
        query_params: The query parameters to include in the request.
        overrides: The request overrides to use for the request.

    Returns:
        The Response object containing the file data.

    Example:
        Here is an example of how to use this function when streaming:

        ```python
            response = execute_request_raw_response(url, method, stream=True)
            try:
                for chunk in response.iter_content(chunk_size=8192):
                    if chunk:
                        # Process each chunk
                        pass
            finally:
                response.close()  # Ensure the response is closed
        ```
    """
    return self._http_client._execute_download_request(
        path=f"/v3/grants/{identifier}/attachments/{attachment_id}/download",
        query_params=query_params,
        stream=True,
        overrides=overrides,
    )

download_bytes(identifier, attachment_id, query_params, overrides=None)

Download the attachment as a byte array.

Parameters:

Name Type Description Default
identifier str

The identifier of the Grant to act upon.

required
attachment_id str

The id of the attachment to download.

required
query_params FindAttachmentQueryParams

The query parameters to include in the request.

required
overrides RequestOverrides

The request overrides to use for the request.

None

Returns:

Type Description
bytes

The raw file data.

Source code in nylas/resources/attachments.py
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
def download_bytes(
    self,
    identifier: str,
    attachment_id: str,
    query_params: FindAttachmentQueryParams,
    overrides: RequestOverrides = None,
) -> bytes:
    """
    Download the attachment as a byte array.

    Args:
        identifier: The identifier of the Grant to act upon.
        attachment_id: The id of the attachment to download.
        query_params: The query parameters to include in the request.
        overrides: The request overrides to use for the request.

    Returns:
        The raw file data.
    """
    return self._http_client._execute_download_request(
        path=f"/v3/grants/{identifier}/attachments/{attachment_id}/download",
        query_params=query_params,
        stream=False,
        overrides=overrides,
    )

find(identifier, attachment_id, query_params, overrides=None)

Return metadata of an attachment.

Parameters:

Name Type Description Default
identifier str

The identifier of the Grant to act upon.

required
attachment_id str

The id of the attachment to retrieve.

required
query_params FindAttachmentQueryParams

The query parameters to include in the request.

required
overrides RequestOverrides

The request overrides to use for the request.

None

Returns:

Type Description
Response[Attachment]

The attachment metadata.

Source code in nylas/resources/attachments.py
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
def find(
    self,
    identifier: str,
    attachment_id: str,
    query_params: FindAttachmentQueryParams,
    overrides: RequestOverrides = None,
) -> NylasResponse[Attachment]:
    """
    Return metadata of an attachment.

    Args:
        identifier: The identifier of the Grant to act upon.
        attachment_id: The id of the attachment to retrieve.
        query_params: The query parameters to include in the request.
        overrides: The request overrides to use for the request.

    Returns:
        The attachment metadata.
    """
    return super().find(
        path=f"/v3/grants/{identifier}/attachments/{attachment_id}",
        response_type=Attachment,
        query_params=query_params,
        overrides=overrides,
    )