---
title: Upload object | RunAPI
description: A one-hour multipart Upload reservation and its terminal File when completed.
url: https://runapi.ai/docs/api/protocol/uploads/object.md
canonical: https://runapi.ai/docs/api/protocol/uploads/object
locale: en
---

> HTML version: https://runapi.ai/docs/api/protocol/uploads/object
> Site index for agents: https://runapi.ai/llms.txt

# Upload object

A one-hour multipart Upload reservation and its terminal File when completed.

## Object fields

Stable fields shared by the resource's reusable object.

### Uploads

```json
{
  "bytes": {
    "description": "Declared final File size in bytes.",
    "required": true,
    "type": "integer"
  },
  "created_at": {
    "description": "Unix timestamp when the Upload was created.",
    "required": true,
    "type": "integer"
  },
  "expires_at": {
    "description": "Unix timestamp when an unfinished Upload expires.",
    "required": true,
    "type": "integer"
  },
  "file": {
    "description": "",
    "properties": {
      "bytes": {
        "description": "Stored File size in bytes.",
        "required": true,
        "type": "integer"
      },
      "created_at": {
        "description": "Unix timestamp when the File was created.",
        "required": true,
        "type": "integer"
      },
      "expires_at": {
        "description": "Optional Unix timestamp when the File expires.",
        "required": false,
        "type": "integer"
      },
      "filename": {
        "description": "Original File name.",
        "required": true,
        "type": "string"
      },
      "id": {
        "description": "RunAPI File ID.",
        "required": true,
        "type": "string"
      },
      "object": {
        "description": "Object type.",
        "required": true,
        "type": "string"
      },
      "purpose": {
        "description": "File purpose.",
        "enum": [
          "user_data",
          "batch",
          "batch_output"
        ],
        "required": true,
        "type": "string"
      }
    },
    "required": false,
    "type": "protocol_file"
  },
  "filename": {
    "description": "Filename for the completed File.",
    "required": true,
    "type": "string"
  },
  "id": {
    "description": "RunAPI Upload ID.",
    "required": true,
    "type": "string"
  },
  "object": {
    "description": "Object type.",
    "required": true,
    "type": "string"
  },
  "purpose": {
    "description": "File purpose.",
    "enum": [
      "user_data",
      "batch"
    ],
    "required": true,
    "type": "string"
  },
  "status": {
    "description": "Upload lifecycle status.",
    "enum": [
      "pending",
      "completed",
      "cancelled",
      "expired"
    ],
    "required": true,
    "type": "string"
  }
}
```

## Related reference

- [Uploads](https://runapi.ai/docs/api/protocol/uploads.md)
- [Create an Upload](https://runapi.ai/docs/api/protocol/uploads/create.md)
- [Add an Upload Part](https://runapi.ai/docs/api/protocol/uploads/add-part.md)
- [Complete an Upload](https://runapi.ai/docs/api/protocol/uploads/complete.md)
- [Cancel an Upload](https://runapi.ai/docs/api/protocol/uploads/cancel.md)

---

## More from RunAPI

- [Home](https://runapi.ai/.md)
- [Models](https://runapi.ai/models.md)
- [AI Video API Comparison](https://runapi.ai/ai-video-api-comparison.md)
- [OpenClaw Integration](https://runapi.ai/openclaw.md)
- [Best API for OpenClaw](https://runapi.ai/best-api-for-openclaw.md)
- [OpenClaw Image Generation](https://runapi.ai/openclaw-image-generation.md)
- [Hermes Agent Integration](https://runapi.ai/hermes-agent.md)
- [Pricing](https://runapi.ai/pricing.md)
- [Claude API Pricing](https://runapi.ai/claude-api-pricing.md)
- [ChatGPT API Pricing](https://runapi.ai/chatgpt-api-pricing.md)
- [OpenAI API Pricing](https://runapi.ai/openai-api-pricing.md)
- [Gemini API Pricing](https://runapi.ai/gemini-api-pricing.md)
- [Claude Code Pricing](https://runapi.ai/claude-code-pricing.md)
- [Claude Code API](https://runapi.ai/claude-code-api.md)
- [Claude Code vs Cursor](https://runapi.ai/claude-code-vs-cursor.md)
- [Claude Max vs API](https://runapi.ai/claude-max-vs-api.md)
- [Requesty Alternative](https://runapi.ai/requesty-alternative.md)
- [Docs](https://runapi.ai/docs/guides)
- [SDK](https://runapi.ai/sdk.md)
- [Skills](https://runapi.ai/skills.md)
- [MCP Server](https://runapi.ai/mcp.md)
- [CLI](https://runapi.ai/cli.md)
- [Feedback](https://runapi.ai/)
- [Contact](mailto:support@runapi.ai)
- [Terms](https://runapi.ai/terms.md)
- [Privacy](https://runapi.ai/privacy.md)
- [Site index for agents](https://runapi.ai/llms.txt)

Contact: contact@runapi.ai

## Structured data

```json
[
  {
    "@context": "https://schema.org",
    "inLanguage": "en",
    "@type": "WebSite",
    "name": "RunAPI",
    "url": "https://runapi.ai/",
    "potentialAction": {
      "@type": "SearchAction",
      "target": {
        "@type": "EntryPoint",
        "urlTemplate": "https://runapi.ai/models?q={search_term_string}"
      },
      "query-input": "required name=search_term_string"
    }
  },
  {
    "@context": "https://schema.org",
    "inLanguage": "en",
    "@type": "Organization",
    "name": "RunAPI",
    "url": "https://runapi.ai/",
    "logo": {
      "@type": "ImageObject",
      "url": "https://runapi.ai/icon.svg"
    },
    "sameAs": [
      "https://github.com/runapi-ai"
    ]
  },
  {
    "@context": "https://schema.org",
    "inLanguage": "en",
    "@type": "TechArticle",
    "headline": "Upload object",
    "description": "A one-hour multipart Upload reservation and its terminal File when completed.",
    "url": "https://runapi.ai/docs/api/protocol/uploads/object",
    "mainEntityOfPage": "https://runapi.ai/docs/api/protocol/uploads/object"
  }
]
```
