---
title: "Upload image to GFM NPO page"
method: POST
path: "/organizations/{organization_id}/gfm-npo-page/upload-image"
tags: ["GFM NPO Page"]
---

# Upload image to GFM NPO page

`POST /organizations/{organization_id}/gfm-npo-page/upload-image`

## Request

- Base URL: `https://pro.gofundme.com/api/2.0`
- URL: `https://pro.gofundme.com/api/2.0/organizations/{organization_id}/gfm-npo-page/upload-image`
- Auth: one of:
  - OAuth 2
    - Client credentials
    - Token URL: `/oauth2/auth`
  - OAuth 2
    - Password
    - Token URL: `/oauth2/auth`

Creates a presigned URL, uploads the file to S3, and finalizes the image in the GFM brand kit.

## Path parameters

- `organization_id` integer, required

## Request body `multipart/form-data`

- object
  - `photoType` 'CHARITY_LOGO' | 'CHARITY_FUNDRAISER_COVER_PHOTO' | 'PROFILE_BACKGROUND_IMAGE', required: Type of photo being uploaded
  - `file` string, binary, required: Image file to upload. Must be jpg, jpeg, png, gif, webp, heic or heif, max 5 MB.

## Response `200`

Image uploaded and finalized successfully

- object
  - `success` boolean
  - `data` object
    - `photoType` string
    - `url` string, url
    - `final_object_key` string

## Other responses

- `400`: Bad request - validation failed or missing mapping
- `403`: Forbidden - insufficient permissions
- `404`: Organization not found
- `422`: Validation failed
- `500`: Unexpected error during upload

---

[API](https://skmtc.dev/gofundme/apis/gofundme-pro-api.md) - [All operations](https://skmtc.dev/gofundme/apis/gofundme-pro-api/llms.txt) - [OpenAPI document](https://skmtc.dev/gofundme/apis/gofundme-pro-api/revisions/094a1e510fe9?raw)
