---
updatedAt: 2026-06-15T13:51:20.000Z
agentTools:
  siteIndex: https://developer.jamf.com/llms.txt
  projectIndex: https://developer.jamf.com/jamf-pro/llms.txt
---

# Export history object collection in specified format for specified Packages


Export history object collection in specified format for specified Packages


> 📋 **Required privilege:** Read Packages

# OpenAPI definition

```json
{
  "openapi": "3.0.1",
  "info": {
    "title": "Jamf Pro API",
    "termsOfService": "https://www.jamf.com/developer-resources/api-license-agreement",
    "version": "11.33.0"
  },
  "servers": [
    {
      "url": "https://yourServer.jamfcloud.com/api"
    }
  ],
  "x-readme": {
    "samples-languages": [
      "curl",
      "swift",
      "ruby",
      "python"
    ],
    "explorer-enabled": false
  },
  "security": [
    {
      "Bearer": []
    },
    {
      "ApiClient": []
    },
    {
      "BasicAuth": [
        "/v1/auth/token"
      ]
    }
  ],
  "paths": {
    "/v1/packages/{id}/history/export": {
      "post": {
        "tags": [
          "packages"
        ],
        "summary": "Export history object collection in specified format for specified Packages\n",
        "description": "Export history object collection in specified format for specified Packages\n\n\n> 📋 **Required privilege:** Read Packages",
        "parameters": [
          {
            "$ref": "#/components/parameters/export-fields"
          },
          {
            "$ref": "#/components/parameters/export-labels"
          },
          {
            "name": "id",
            "in": "path",
            "description": "Instance ID of package history note",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/page"
          },
          {
            "$ref": "#/components/parameters/page-size"
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorts results by one or more criteria, following the format property:asc/desc. Default sort is ID:asc. If using multiple criteria, separate with commas.",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "default": [
                "date:desc"
              ]
            }
          },
          {
            "name": "filter",
            "in": "query",
            "description": "Filters results. Use RSQL format for query. Allows for many fields, including ID, name, etc. Can be combined with paging and sorting. Default filter is an empty query and returns all results from the requested page.",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "default": ""
            }
          }
        ],
        "requestBody": {
          "description": "Optional. Can be used to override query parameters so that the URI does not exceed the 2,000 character limit.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExportParameters"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "Export successful",
            "content": {
              "text/csv": {
                "schema": {
                  "format": "binary",
                  "example": "id,username,date,note,details\n1,admin,2019-02-04 21:09:31,Packages update,Some details\n"
                }
              }
            }
          },
          "400": {
            "description": "Could not export. List may contain a non-existing column or a duplicate.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "503": {
            "description": "Export currently unavailable. All export-related resources are in use. Try again later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          }
        },
        "x-required-privileges": [
          "Read Packages"
        ],
        "x-action": true
      }
    }
  },
  "components": {
    "schemas": {
      "ApiError": {
        "type": "object",
        "properties": {
          "httpStatus": {
            "type": "integer",
            "description": "HTTP status of the response",
            "example": 400
          },
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ApiErrorCause"
            }
          }
        }
      },
      "ApiErrorCause": {
        "required": [
          "field"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "Error-specific code that can be used to identify localization string, etc.",
            "example": "8675309"
          },
          "field": {
            "type": "string",
            "description": "Name of the field that caused the error.",
            "example": "Name"
          },
          "description": {
            "type": "string",
            "description": "A general description of error for troubleshooting/debugging. Generally this text should not be displayed to a user; instead refer to errorCode and it's localized text",
            "example": "I've just picked up a fault in the AE35 unit. It's going to go 100% failure in 72 hours"
          },
          "id": {
            "type": "string",
            "description": "id of object with error. Optional.",
            "nullable": true,
            "example": "3"
          }
        }
      },
      "ExportField": {
        "type": "object",
        "properties": {
          "fieldName": {
            "type": "string",
            "description": "English name of the field to be exported.",
            "example": "id"
          },
          "fieldLabelOverride": {
            "type": "string",
            "description": "Name which should be used for the label in the response - can be in any language. When null the fieldName itself will be used as the label.",
            "nullable": true,
            "example": "identiteit"
          }
        },
        "description": "Field to be included in the export operation."
      },
      "ExportParameters": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "nullable": true,
            "example": 0,
            "default": 0
          },
          "pageSize": {
            "type": "integer",
            "nullable": true,
            "example": 100,
            "default": 100
          },
          "sort": {
            "type": "array",
            "description": "Sorting criteria in the format: [<property>[:asc/desc]. Default direction when not stated is ascending.",
            "nullable": true,
            "example": [
              "id:asc"
            ],
            "items": {
              "type": "string"
            },
            "default": [
              "id:desc"
            ]
          },
          "filter": {
            "type": "string",
            "nullable": true,
            "example": "id>=100"
          },
          "fields": {
            "type": "array",
            "description": "Used to change default order or ignore some of the fields. When null or empty array, all fields will be exported.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ExportField"
            }
          }
        }
      }
    },
    "parameters": {
      "page": {
        "name": "page",
        "in": "query",
        "required": false,
        "style": "form",
        "explode": true,
        "schema": {
          "type": "integer",
          "default": 0
        }
      },
      "page-size": {
        "name": "page-size",
        "in": "query",
        "required": false,
        "style": "form",
        "explode": true,
        "schema": {
          "type": "integer",
          "default": 100
        }
      },
      "export-fields": {
        "name": "export-fields",
        "in": "query",
        "description": "Export fields parameter, used to change default order or ignore some of the response properties. Default is empty array, which means that all fields of the response entity will be serialized. Example: export-fields=id,username",
        "required": false,
        "style": "form",
        "explode": true,
        "schema": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "default": []
        }
      },
      "export-labels": {
        "name": "export-labels",
        "in": "query",
        "description": "Export labels parameter, used to customize fieldnames/columns in the exported file. Default is empty array, which means that response properties names will be used. Number of the provided labels must match the number of export-fields Example: export-labels=identifier,name with matching: export-fields=id,username",
        "required": false,
        "style": "form",
        "explode": true,
        "schema": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "default": []
        }
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      },
      "BasicAuth": {
        "type": "http",
        "description": "Basic auth is used only for obtaining bearer tokens from the /v1/auth/token endpoint",
        "scheme": "basic"
      },
      "ApiClient": {
        "type": "oauth2",
        "description": "Jamf Pro API Roles and Clients provide a client ID and secret for obtaining access tokens using the OAuth2 client_credentials grant type",
        "flows": {
          "clientCredentials": {
            "tokenUrl": "/api/v1/oauth/token",
            "scopes": {}
          }
        }
      }
    }
  }
}
```