get/users/@me/harvest/{harvestId}

Get data harvest status

Retrieves detailed status information for a specific data harvest. Shows progress, completion status, and other metadata about the harvest request.

get_data_harvest_status

Parameters

NameInTypeDescription
harvestId*pathstringThe harvestId

Responses

200

Success

json
{
  "type": "object",
  "properties": {
    "harvest_id": {
      "type": "string",
      "pattern": "^(0|[1-9][0-9]*)$",
      "description": "Unique identifier for the harvest request"
    },
    "status": {
      "type": "string",
      "enum": [
        "pending",
        "processing",
        "completed",
        "failed"
      ],
      "x-enumNames": [
        "pending",
        "processing",
        "completed",
        "failed"
      ],
      "x-enumDescriptions": [
        "The harvest job is waiting to be processed",
        "The harvest job is currently being processed",
        "The harvest job has finished successfully",
        "The harvest job encountered an error and could not complete"
      ],
      "description": "Current status of the harvest request"
    },
    "created_at": {
      "type": "string",
      "description": "ISO 8601 timestamp when the harvest request was created"
    },
    "started_at": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "ISO 8601 timestamp when the harvest started, or null if pending"
    },
    "completed_at": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "ISO 8601 timestamp when the harvest completed, or null otherwise"
    },
    "failed_at": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "ISO 8601 timestamp when the harvest failed, or null otherwise"
    },
    "file_size": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Final file size of the downloaded data, expressed as a string, or null if not available"
    },
    "progress_percent": {
      "type": "number",
      "description": "Harvest progress as a percentage value between 0 and 100"
    },
    "progress_step": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Textual description of the current harvest step, if available"
    },
    "error_message": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Error message when the harvest fails, or null otherwise"
    },
    "download_url_expires_at": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "ISO 8601 timestamp when the download URL expires, or null if unavailable"
    },
    "expires_at": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "ISO 8601 timestamp when the harvest download expires, or null if unavailable"
    }
  },
  "required": [
    "harvest_id",
    "status",
    "created_at",
    "started_at",
    "completed_at",
    "failed_at",
    "file_size",
    "progress_percent",
    "progress_step",
    "error_message",
    "download_url_expires_at",
    "expires_at"
  ]
}
400

Bad Request - The request was malformed or contained invalid data

json
{
  "type": "object",
  "properties": {
    "code": {
      "$ref": "#/components/schemas/APIErrorCode"
    },
    "message": {
      "type": "string",
      "description": "Human-readable error message"
    },
    "errors": {
      "type": "array",
      "description": "Field-specific validation errors",
      "items": {
        "$ref": "#/components/schemas/ValidationErrorItem"
      }
    }
  },
  "required": [
    "code",
    "message"
  ]
}
401

Unauthorized - Authentication is required or the token is invalid

json
{
  "type": "object",
  "properties": {
    "code": {
      "$ref": "#/components/schemas/APIErrorCode"
    },
    "message": {
      "type": "string",
      "description": "Human-readable error message"
    },
    "errors": {
      "type": "array",
      "description": "Field-specific validation errors",
      "items": {
        "$ref": "#/components/schemas/ValidationErrorItem"
      }
    }
  },
  "required": [
    "code",
    "message"
  ]
}
403

Forbidden - You do not have permission to perform this action

json
{
  "type": "object",
  "properties": {
    "code": {
      "$ref": "#/components/schemas/APIErrorCode"
    },
    "message": {
      "type": "string",
      "description": "Human-readable error message"
    },
    "errors": {
      "type": "array",
      "description": "Field-specific validation errors",
      "items": {
        "$ref": "#/components/schemas/ValidationErrorItem"
      }
    }
  },
  "required": [
    "code",
    "message"
  ]
}
429

Too Many Requests - You are being rate limited

json
{
  "type": "object",
  "properties": {
    "code": {
      "type": "string",
      "enum": [
        "RATE_LIMITED"
      ]
    },
    "message": {
      "type": "string"
    },
    "retry_after": {
      "type": "number",
      "description": "Seconds to wait before retrying"
    },
    "global": {
      "type": "boolean",
      "description": "Whether this is a global rate limit"
    }
  },
  "required": [
    "code",
    "message",
    "retry_after"
  ]
}
500

Internal Server Error - An unexpected error occurred

json
{
  "type": "object",
  "properties": {
    "code": {
      "$ref": "#/components/schemas/APIErrorCode"
    },
    "message": {
      "type": "string",
      "description": "Human-readable error message"
    },
    "errors": {
      "type": "array",
      "description": "Field-specific validation errors",
      "items": {
        "$ref": "#/components/schemas/ValidationErrorItem"
      }
    }
  },
  "required": [
    "code",
    "message"
  ]
}