---
name: "curl_mime_addpart"
section: "3"
platform: "macos"
package: "curl"
version: "166.0.0.0.1"
release: "macOS 26.5"
platforms: ["linux", "macos"]
url: "https://new.carta.tech/curl_mime_addpart"
---

# curl\_mime\_addpart(3)

append a new empty part to a mime structure

## NAME

curl\_mime\_addpart - append a new empty part to a mime structure

## SYNOPSIS

```
#include <curl/curl.h>
curl_mimepart *curl_mime_addpart(curl_mime *mime);
```

## DESCRIPTION

*[curl\_mime\_addpart(3)](/curl_mime_addpart/3.md)* creates and appends a new empty part to the given mime structure and returns a handle to it. The returned part handle can subsequently be populated using functions from the mime API.

*mime* is the handle of the mime structure in which the new part must be appended.

## EXAMPLE

```
int main(void)
{
  curl_mime *mime;
  curl_mimepart *part;
  CURL *curl = curl_easy_init();
  if(curl) {
    /* create a mime handle */
    mime = curl_mime_init(curl);
    /* add a part */
    part = curl_mime_addpart(mime);
    /* continue and set name + data to the part */
    curl_mime_data(part, "This is the field data", CURL_ZERO_TERMINATED);
    curl_mime_name(part, "data");
  }
}
```

## AVAILABILITY

As long as at least one of HTTP, SMTP or IMAP is enabled. Added in 7.56.0.

## RETURN VALUE

A mime part structure handle, or NULL upon failure.

## SEE ALSO

[**curl\_mime\_data**(3)](/curl_mime_data/3.md), [**curl\_mime\_data\_cb**(3)](/curl_mime_data_cb/3.md), [**curl\_mime\_encoder**(3)](/curl_mime_encoder/3.md), [**curl\_mime\_filedata**(3)](/curl_mime_filedata/3.md), [**curl\_mime\_filename**(3)](/curl_mime_filename/3.md), [**curl\_mime\_headers**(3)](/curl_mime_headers/3.md), [**curl\_mime\_init**(3)](/curl_mime_init/3.md), [**curl\_mime\_name**(3)](/curl_mime_name/3.md), [**curl\_mime\_subparts**(3)](/curl_mime_subparts/3.md), [**curl\_mime\_type**(3)](/curl_mime_type/3.md)
